问题描述:
现需读取目信颂前录:“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):stringvar 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等第三方开发工具!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)