文件管理 · 2022年8月17日

delphi判断文件大小|Delphi中

Ⅰ 怎么样得到文件的大小(DELPHI)

大概有这些方法可以获得文件大小FileSizeByName(需要引用IdGlobal单元)GetFileSizeFileSize(不能获得正在使用的文件大小)FileSeekTFileStream.Size下面是使用例子1。FileSizeByName(需要引用IdGlobal单元)beginifOpenDialog1.ExecutethenbeginShowMessage(IntToStr(FileSizeByName(OpenDialog1.Filename)));end;2。GetFileSizevarFileHandle:integer;beginifOpenDialog1.ExecutethenbeginFileHandle:=FileOpen(OpenDialog1.FileName,0);ShowMessage(IntToStr(GetFileSize(FileHandle,nil)));FileClose(FileHandle);end;3。FileSize(不能获得正在使用的文件大小)varf:file;beginifOpenDialog1.ExecutethenbeginAssignFile(f,OpenDialog1.FileName);Reset(f,1);ShowMessage(IntToStr(FileSize(f)));CloseFile(f);end;4。FileSeekvarFileHandle:integer;beginifOpenDialog1.ExecutethenbeginFileHandle:=FileOpen(OpenDialog1.FileName,0);ShowMessage(IntToStr(FileSeek(FileHandle,0,2)));FileClose(FileHandle);end;5。TFileStream.SizevarFS:TFileStream;beginifOpenDialog1.ExecutethenbeginFS:=TFileStream.Create(OpenDialog1.FileName,fmShareDenyNone);ShowMessage(IntToStr(FS.Size));FS.Free;end;另在IdGlobalProtocols中有个FileSizeByName()的函数。

Ⅱ delphi 如何获取文件的大小和类型

示例代码如下:

首先,uses 添加IdGlobalProtocols。

2.

functionTForm1.GetFileSizeStr(fName:string):string;varnSize:Integer;beginnSize:=FileSizeByName(fName);ifnSize>1073741824thenResult:=FormatFloat('###,##0.00G',nSize/1073741824)elseifnSize>1048576thenResult:=FormatFloat('###,##0.00M',nSize/1048576)elseifnSize>1024thenResult:=FormatFloat('###,##00K',nSize/1024)elseResult:=FormatFloat('###,#0B',nSize);ifLength(Result)>2thenifResult[1]='0'thenDelete(Result,1,1);end;procereTForm1.Button1Click(Sender:TObject);beginShowMessage('文件大小是:'+GetFileSizeStr('d: able.mdb'));end;

示例截图:

Ⅲ 网上找到一段delphi读取文件大小的代码,但是输出的memsize是int64位的整数,怎么转换呢如下

1、不是废话么,文件大小当然是以字节表示,难道谁还按K、G给你转换一下?201210 / 1024 = 196.494140625K。2、rmFilestream.Size是Int64,MemSize你自己定义的32位Integer,MemSize会自动取rmFilestream.Size的低32位,不用你管。

Ⅳ delphi中filesize问题

这里问题不在于声明,虽然textfile不会报错,但是得出来文件的大小并不是正确的,就是存在文件类型的问题。filesize本来就并不能对应任何的文件类型都能返回“真正”的文件大小,起码对于记录型文件就只能返回文件里面记录的数量,而不是文件的大小。给你贴一个函数吧:function TForm1.GetFSize(const FileName: string): LongInt;var SearchRec: TSearchRec;begin try if FindFirst(ExpandFileName(FileName), faAnyFile, SearchRec) = 0 then Result := SearchRec.Size else Result := -1; finally SysUtils.FindClose(SearchRec); end;end;

Ⅳ delphi 怎样判断Windows的DPI大小

思路一:对文件进行MD5加密,得到一个值,修改后的文件的MD5值肯定和原来的不一样思路二:如果是windows下的话,可以通过delphi获取文件的属性值,类似于我们在文件的上面点击右键,上面是有信息标识最后修改时间的,比较下就可以了。

Ⅵ delphi提取文件中的ICO图标的问题,保存到本地全部都是32* 32的,如何判断图标尺寸

你是想获得图标的话,建议使用专门的图标提取工具AWicons Pro ║ 软件介绍: ║ ║ Awicons 是一个搜索,创建,编辑,导入/导出,管理图标,光标,和小 ║ ║ 型图片的强力工具! ║ ║ 具体功能如下: ║ ║ 1.全面支持Windows XP的图标! ║ ║ 2.支持包括ico, cur, ani, png, gif, bmp, jpg在内的多种文件 ║ ║ 格式! ║ ║ 3.支持所有的颜色格式!包括mono, 16, 256, true-color, ║ ║ true-color with alpha! ║ ║ 4.最大可以创建128 x 128 大小的图标! ║ ║ 5.可以自动对硬盘里的图标,光标和图片进行扫描! ║ ║ 6.自带多种画笔,多种强力虑镜,使你的编辑 ║ ║ 创建更加轻松自如! ║ ║ 7.支持直接从dll,EXE文件中提取图标! ║ ║ 8.支持图标库!

Ⅶ 在DELPHI下怎么比较两个文件是否一样

比较两个文件是否一样,思路如下:1、先检查文件的大小,大小不一样通常文件也不会一样。2、打开文件,分别抽取开头、结尾以及中间部分内容,对比。3、打开文件,逐字节进行对比。4、使用 md5 快速简单判断一下。

Ⅷ 怎么在delphi中搜索TXT格式文件并把文件名,文件大小,路径存入数据库

你的问题的范围太大;1.TXT文件的搜索范围没有确定;2.存入什么数据库等等等都还没有说明;尽管别人可以帮你,可是都只能说明一些大概的方法,不可能把细节都帮你想好的。提供一些参考资料吧1.搜索文件的函数和代码procereGetDirsAndFiles(Path:String;Strings:TStrings;IncludePath:Boolean=True);//参数Path表示起始目录,如“c:\MyDir”;Strings用来存放搜索的结果;IncludePath指定返回结果是否包括路径,默认为TruevarF:TSearchRec;FileName,RFileName:String;begin//开始搜索ifFindFirst(Path+'\*.*',faAnyFile,F)=0thenrepeatFileName:=F.Name;//“.”和“..”两个内建文件夹对我们来说是毫无用处的,但是这个函数也找出来了if(FileName<>'.')and(FileName<>'..')thenbeginifIncludePaththenRFileName:=Path+'\'+FileNameelseRFileName:=FileName;//向字符串列表中添加搜索结果Strings.Add(RFileName);//如果是文件夹,则递归ifF.AttrandfaDirectory<>0then//指定新的起始目录GetDirsAndFiles(Path+'\'+F.Name,Strings);end;//直到搜索完成untilFindNext(F)<>0;//最后释放资源FindClose(F);end;2.获得文件大小varsr:TSearchRec;beginifFindFirst('c:\temp\test.dat',faAnyFile,sr)=0thensr.size就是指文件的大小。

Ⅸ delphi 判断文件大小并剪切到D盘

uses sysutils;var a:longint; f,fd:fileofbyte; x:byte;begin assign(f,'c:123.txt');reset(f); a:=filesize(f);reset(f); ifa>2000000thenbegin assign(fd,'d:123.txt');rewrite(fd); whilenoteof(f)dobeginread(f,x);write(fd,x);end; close(fd); end; close(f); ifa>2000000thenerase(f);end. {字节文件,复制速度较慢。要提高速度,可采用流式文件复制!}

Ⅹ Delphi中,如何获得文件大小

大概有这些方法可以获得文件大小 FileSizeByName(需要引用IdGlobal单元) GetFileSize FileSize(不能获得正在使用的文件大小) FileSeek TFileStream.Size 下面是使用例子 1。FileSizeByName(需要引用IdGlobal单元) begin if OpenDialog1.Execute then begin ShowMessage(IntToStr(FileSizeByName(OpenDialog1.Filename))); end; 2。GetFileSize var FileHandle:integer; begin if OpenDialog1.Execute then begin FileHandle := FileOpen(OpenDialog1.FileName, 0); ShowMessage(IntToStr(GetFileSize(FileHandle, nil))); FileClose(FileHandle); end; 3。FileSize(不能获得正在使用的文件大小) var f: file; begin if OpenDialog1.Execute then begin AssignFile(f, OpenDialog1.FileName); Reset(f, 1); ShowMessage(IntToStr(FileSize(f))); CloseFile(f); end; 4。FileSeek var FileHandle:integer; begin if OpenDialog1.Execute then begin FileHandle := FileOpen(OpenDialog1.FileName, 0); ShowMessage(IntToStr(FileSeek(FileHandle,0,2))); FileClose(FileHandle); end; 5。TFileStream.Size var FS: TFileStream; begin if OpenDialog1.Execute then begin FS := TFileStream.Create(OpenDialog1.FileName, fmShareDenyNone); ShowMessage(IntToStr(FS.Size)); FS.Free; end;另在IdGlobalProtocols中有个FileSizeByName()的函数。