delphi中,如何读取一个目录中的所有文件?在线等……

delphi中,如何读取一个目录中的所有文件?在线等……,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

现需读取目信颂前录:“c:\history data”文件夹中所有文件(该文件夹中,只包含.txt和.done文件),需对每个文件进行处理。

另,求将文件转换目录的函数(比如将c:\history data的文件转移到d:\history中)

解析:

procedure FileSearch(PathName:string)

var

F : TSearchRec

Found : Boolean

begin

ChDir(PathName)

Found := (FindFirst('*.*', faAnyFile, F) = 0)

while Found do

begin

if (F.Name = '.') or (F.Name = '..') then

begin

Found := (FindNext(F) = 0)

Continue

end

if (F.Attr and faDirectory)>0 then

begin

Application.ProcessMessages

FileSearch(F.Name)

end

插滑清入你的代码,F.Name就是文樱盯件名,GetCurrentDir可以得到当前目录

Found := (FindNext(F) = 0)

end

FindClose(F)

ChDir('..\')

end

转换目录可以用MoveFile,查一下帮助

示例代码如下:

首先,uses 添加 IdGlobalProtocols。

 2.

function TForm1.GetFileSizeStr(fName:string):string

var nSize: Integer

begin

  滚缓nSize := FileSizeByName(fName)

  if nSize > 1073741824 then

    Result := FormatFloat('###,##0.00G', nSize / 1073741824)

  else if nSize > 1048576 then

    Result := FormatFloat('###,##0.00M', nSize / 1048576)

  else if nSize 大宽模> 1024 then

    Result := FormatFloat('###,##00K', nSize / 1024)

  else

    Result := FormatFloat('###,#0B', nSize)

  if Length(Result) > 2 then

 巧梁   if Result[1] = '0' then

      Delete(Result, 1, 1)

end

procedure TForm1.Button1Click(Sender: TObject)

begin

  ShowMessage('文件大小是: ' + GetFileSizeStr('d:\table.mdb'))

end

示例截图:

db是dbase

数据库文件

,直接用记事本就可以打开,打开后可以悉局唤看见里面的内容,但排列不规律,你必须得知道读取数据的方法才可以正确读取,(比如第一个字段要读取多少个字节,或者第一个字段需要从哪个位置开始读),如果使用程序读取的话,直接使睁凯腊银用文件名.db就可以了.

可以用DBASE数据库打开,也可以用DELPHI等第三方开发工具!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12232776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存