//判断文件是否存在 FileExists var f: string; begin f := 'c:\temp\test.txt'; if not FileExists(f) then begin //如果文件不存在 end; end;
//判断文件夹是否存在 DirectoryExists var dir: string; begin dir := 'c:\temp'; if not DirectoryExists(dir) then begin //如果文件夹不存在 end; end;
//删除文件 DeleteFile; Windows.DeleteFile var f: string; begin f := 'c:\temp\test.txt'; //DeleteFile(f); //返回 Boolean //或者用系统API: Windows.DeleteFile(PChar(f)); //返回 Boolean end;
//删除文件夹 RemoveDir; RemoveDirectory var dir: string; begin dir := 'c:\temp'; RemoveDir(dir); //返回 Boolean //或者用系统 API: RemoveDirectory(PChar(dir)); //返回 Boolean end;
//获取当前文件夹 GetCurrentDir var dir: string; begin dir := GetCurrentDir; ShowMessage(dir); //C:\Documents and Settings\wy\My Documents\RAD Studio\Projects end;
//设置当前文件夹 SetCurrentDir; ChDir; SetCurrentDirectory var dir: string; begin dir := 'c:\temp'; if SetCurrentDir(dir) then ShowMessage(GetCurrentDir); //c:\temp //或者 ChDir(dir); //无返回值 //也可以使用API: SetCurrentDirectory(PChar(Dir)); //返回 Boolean end;
//获取指定驱动器的当前路径名 GetDir var dir: string; b: Byte; begin b := 0; GetDir(b,dir); ShowMessage(dir); // //第一个参数: 1、2、3、4...分别对应: A、B、C、D... //0 是缺省驱动器 end;
//文件改名 RenameFile var OldName,NewName: string; begin OldName := 'c:\temp\Old.txt'; NewName := 'c:\temp\New.txt'; if RenameFile(OldName,NewName) then ShowMessage('改名成功!'); //也可以: SetCurrentDir('c:\temp'); OldName := 'Old.txt'; NewName := 'New.txt'; if RenameFile(OldName,NewName) then ShowMessage('改名成功!'); end;
//建立文件夹 CreateDir; CreateDirectory; ForceDirectories var dir: string; begin dir := 'c:\temp\delphi'; if not DirectoryExists(dir) then CreateDir(dir); //返回 Boolean //也可以直接用API: CreateDirectory(PChar(dir),nil); //返回 Boolean //如果缺少上层目录将自动补齐: dir := 'c:\temp\CodeGear\Delphi\2007\万一'; ForceDirectories(dir); //返回 Boolean end;
//删除空文件夹 RemoveDir; RemoveDirectory var dir: string; begin dir := 'c:\temp\delphi'; RemoveDir(dir); //返回 Boolean //也可以直接用API: RemoveDirectory(PChar(dir)); //返回 Boolean end;
//建立新文件 FileCreate var FileName: string; i: Integer; begin FileName := 'c:\temp\test.dat'; i := FileCreate(FileName); if i>0 then ShowMessage('新文件的句柄是: ' + IntToStr(i)) else ShowMessage('创建失败!'); end;
//获取当前文件的版本号 GetFileVersion var s: string; i: Integer; begin s := 'C:\WINDOWS\notepad.exe'; i := GetFileVersion(s); //如果没有版本号返回 -1 ShowMessage(IntToStr(i)); //327681 这是当前记事本的版本号(还应该再转换一下) end;
//获取磁盘空间 DiskSize; DiskFree var r: Real; s: string; begin r := DiskSize(3); //获取C:总空间, 单位是字节 r := r/1024/1024/1024; Str(r:0:2,s); //格式为保留两位小数的字符串 s := 'C盘总空间是: ' + s + ' GB'; ShowMessage(s); //xx.xx GB r := DiskFree(3); //获取C:可用空间 r := r/1024/1024/1024; Str(r:0:2,s); s := 'C盘可用空间是: ' + s + ' GB'; ShowMessage(s); //xx.xx GB end; //接 - 文件管理类函数(2)