




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Delphi例程文件管理例程(115)// 2010-05-21 11:55来源: 发表评论(0)1.AssignFile 过程关联一个外部文件名到一个文件变量上。单元System语法procedure AssignFile(var F; FileName: string);描述调用AssignFile来初始化Delphi代码中的文件变量。F是一个任何文件类型的文件变量。FileName是一个字符串类型的表达式,或者,如果扩展的语法激活的话,是PChar类型的表达式。调用AssignFile之后,F就和外部文件关联起来直到F被关闭。所有在文件变量F上的更多的操作都会操作在名为Filename的外部文件上。当FileName参数为空时,AssignFile会将F和标准输入或标准输出文件关联起来。如果赋予一个空名字,在调用了Reset(F)之后,F将引用标准输入文件,而在调用了Rewrite(F)之后,F将引用标准输出文件。不要在已经打开的文件变量上使用AssignFile。注意:为了避免范围冲突,AssignFile 代替了在早期版本的Delphi产品中可用的Assign过程。然而为了向后兼容Assign仍然是可用的。示例var F: TextFile; S: string;begin if OpenDialog1.Execute then Display Open dialog box begin AssignFile(F, OpenDialog1.FileName); File selected in dialog Reset(F); Readln(F, S); Read first line of file Edit1.Text := S; Put string in a TEdit control CloseFile(F); end;end;2.ChDir 过程改变当前目录单元System语法procedure ChDir(const S: string); overload;procedure ChDir(P: PChar); overload;描述ChDir 会将当前目录改变为由S或P指定的路径。如果这个操作失败,异常EInOutError将会引发。在Windows上,路径可以包含驱动器指示符(drive specifier),而这将导致当前的驱动盘同时改变。示例begin $I- Change to directory specified in Edit1 ChDir(Edit1.Text); if IOResult 0 then MessageDlg(Cannot find directory, mtWarning, mbOk, 0);end;3.CloseFile 过程终止文件变量和外部磁盘文件之间的关联单元System语法procedure CloseFile(var F);描述由于命名冲突,CloseFile代替了Close过程。使用CloseFile过程而不是Close来终止文件变量和外部磁盘文件之间的关联。F是一个使用Reset,Rewrite或Append打开的任何文件类型的文件变量。和F关联的外部文件会完全地更新然后关闭并释放文件句柄便于重用。4.CreateDir 函数 创建一个新目录单元SysUtils语法描述CreateDir 创建一个新目录。如果新目录成功创建,则返回值为true,或者如果出现错误则返回值为false。示例下面的例子会创建目录C:temp,如果目录不存在的话。uses FileCtrl;procedure TForm1.Button1Click(Sender: TObject);begin if not DirectoryExists(c:temp) then if not CreateDir(C:temp) then raise Exception.Create(Cannot create c:temp);end;5.DeleteFile 函数从删除一个磁盘文件单元SysUtils语法描述DeleteFile 删除磁盘上由 FileName 命名的文件。如果文件不能被删除或者文件不存在,函数将返回false。示例if FileExists(FileName) then if MessageDlg(Do you really want to delete + ExtractFileName(FileName) + ?), mtConfirmation, mbYes, mbNo, 0, mbNo) = IDYes then DeleteFile(FileName);6.DirectoryExists 函数确定指定的目录是否存在单元SysUtils语法描述调用 DirectoryExists 来确定由Directory参数指定的目录是否存在。如果目录存在,函数返回true。如果目录不存在,函数返回false。如果输入的是全称路径名(full path name),DirectoryExists 会沿着指定的路径查找目录。否则Directory参数会被认为是当前目录的相对路径。FileCtrl 单元(仅用于Windows) 同样包含一个 DirectoryExists 函数。然而,FileCtrl 版本是不赞成的,SysUtils 版本是首选的,即使代码不需要跨平台(However, the FileCtrl version is deprecated, and the SysUtils version preferred, even if the code does not need to be cross-platform)。7.DiskFree 函数返回指定盘符上空闲的字节数单元SysUtils语法描述DiskFree 返回指定驱动盘的空闲字节数,其中 0 = 当前盘, 1 = A, 2 = B,等等。如果驱动盘数字无效,DiskFree 返回-1。注意:DiskFree 仅在Windows上可用。示例var S: string; AmtFree: Int64; Total: Int64;begin AmtFree := DiskFree(0); Total := DiskSize(0); S := IntToStr(AmtFree div Total) + percent of the space on drive 0 is free: (AmtFree div 1024) + Kbytes free. ; Label1.Caption := S;end;8.DiskSize 函数返回指定盘符的字节大小单元SysUtils语法描述DiskSize 返回指定驱动盘的字节大小,其中 0 = 当前盘,1 = A, 2 = B, 等等。如果驱动盘数字无效,DiskSize返回-1。注意:DiskSize 仅在Windows上可用。9.文件模式常量(File mode constants)文件模式常量用于打开和关闭磁盘文件单元System语法const fmClosed = $D7B0; / closed fileconst fmInput = $D7B1; / reset file (TTextRec)const fmOutput = $D7B2; / rewritten file (TTextRec)const fmInOut = $D7B3; / reset or rewritten file (TFileRec)const fmCRLF = $8 / DOS-style EoL and EoF markers (TTextRec)const fmMask = $D7B3; / mask out fmCRLF flag (TTextRec)描述当打开和关闭磁盘文件时,使用文件模式常量。这些常量主要用在这样的Delphi代码中,TFileRec和TTextRec的Mode字段包含 这些值中的某个值(These constants are used primarily in Delphi code, where the Mode field of TFileRec and TTextRec contain one of these values.)。10.文件名称常量(File name constants)文件名称常量用于以平台中立的方式表达文件名称。单元SysUtils语法 constPathDelim = $IFDEF MSWINDOWS ; $ELSE /; $ENDIFDriveDelim = $IFDEF MSWINDOWS :; $ELSE ; $ENDIFPathSep = $IFDEF MSWINDOWS ; $ELSE :; $ENDIF描述文件名称常量指定了在Windows和Linux中不同的的定界符和分隔符(delimiter and separator)。11.文件打开模式常量(File open mode constants)打开打开模式常量用于控制对文件或流的访问模式。单元SysUtils语法On Windows: const fmCreate = $FFFF; fmOpenRead = $0000; fmOpenWrite = $0001; fmOpenReadWrite = $0002; fmShareCompat = $0000 platform; fmShareExclusive = $0010; fmShareDenyWrite = $0020; fmShareDenyRead = $0030 platform; fmShareDenyNone = $0040;On Linux: const fmOpenRead = O_RDONLY; fmOpenWrite = O_WRONLY; fmOpenReadWrite = O_RDWR; fmShareExclusive = $0010; fmShareDenyWrite = $0020; fmShareDenyNone = $0030;描述当文件或流被打开时,文件打开模式常量用于控制文件或流能够如何共享。TFileStream构造函数有一个Mode参数,你能够设置为这些常量中的一个:ConstantDefinitionfmCreate如果文件存在,那么将打开用于写访问,否则会创建新文件。其他的常量都声明在 SysUtils 单元,而这个常量声明在 Classes 单元中fmOpenRead仅以读访问方式打开fmOpenWrite仅以写访问方式打开fmOpenReadWrite以读写访问方式打开fmShareCompat和FCB打开的方法兼容。不要在跨平台应用程序中使用这个模式fmShareExclusive读写访问被拒绝fmShareDenyWrite写访问被拒绝fmShareDenyRead读访问被拒绝。不要在跨平台应用程序中使用这个模式fmShareDenyNone允许其他代码进行完全的访问12.FileAccessRights 变量当应用程序被调用时指向特殊的命令行参数。单元System语法var FileAccessRights: Integer platform;描述在 Windows 中,FileAccessRights 变量被忽略。在 Linux 中,每个文件都有一组许可位(permission bits)控制着对文件的访问。当创建新文件时,FileAccessRights 指定了一组默认的许可标记来使用。当你没有显式指定要使用的许可位时,FileCreate 方法使用 FileAccessRights 来设置它创建的文件的访问权力。13.FileAge 函数返回文件的OS时间戳(Returns the OS timestamp of a file.)单元SysUtils语法描述调用 FileAge 来获得由 FileNameto 指定的文件的 OS 时间戳。返回值可以使用 FileDateToDateTime函数转换为TDateTime对象。如果文件不存在返回值为 -1。在Linux中,-1 是一个有效的时间戳。可使用 FileExists 核实文件不存在。示例下面的代码将一个文件的属性读入一组变量中,并在文件属性对话框中设置检查框以表现当前的属性,然后执行对话框。如果用户改变并接受对话框的设置,代码将设置文件属性以匹配改变的设置:procedure TFMForm.Properties1Click(Sender: TObject);var Attributes, NewAttributes: Word;begin with FileAttrForm do begin FileDirName.Caption := FileList.ItemsFileList.ItemIndex; set box caption PathName.Caption := FileList.Directory; show directory name ChangeDate.Caption := DateTimeToStr(FileDateToDateTime(FileAge(FileList.FileName); Attributes := FileGetAttr(FileDirName.Caption); read file attributes ReadOnly.Checked := (Attributes and SysUtils.faReadOnly) = faReadOnly; Archive.Checked := (Attributes and faArchive) = faArchive; System.Checked := (Attributes and faSysFile) = faSysFile; Hidden.Checked := (Attributes and faHidden) = faHidden; if ShowModal id_Cancel then execute dialog box begin NewAttributes := Attributes; start with original attributes if ReadOnly.Checked then NewAttributes := NewAttributes or SysUtils.faReadOnly else NewAttributes := NewAttributes and not SysUtils.faReadOnly; if Archive.Checked then NewAttributes := NewAttributes or faArchive else NewAttributes := NewAttributes and not faArchive; if System.Checked then NewAttributes := NewAttributes or faSysFile else NewAttributes := NewAttributes and not faSysFile; if Hidden.Checked then NewAttributes := NewAttributes or faHidden else NewAttributes := NewAttributes and not faHidden; if NewAttributes Attributes then if anything changed. FileSetAttr(FileDirName.Caption, NewAttributes); .write the new values end; end;end;14.FileClose 过程关闭指定的文件单元SysUtils语法procedure FileClose(Handle: Integer);描述FileClose 关闭给定文件句柄的文件。句柄在文件使用FileOpen或FileCreate打开时获得。当和Delphi语言的文件变量一起使用时,应使用 CloseFile 过程代替。示例下面的例子使用了一个按钮,一个字符串栅格和一个保存对话框在窗体上。单击按钮后,用户将被提示输入文件名。当用户单OK后,字符串栅格的内容将被写到指定的文件中。附加的信息同样被写到文件中,以便文件能够使用FileRead函数容易地读取。procedure TForm1.Button1Click(Sender: TObject);var BackupName: string; FileHandle: Integer; StringLen: Integer; X: Integer; Y: Integer;begin if SaveDialog1.Execute then begin if FileExists(SaveDialog1.FileName) then begin BackupName := ExtractFileName(SaveDialog1.FileName); BackupName := ChangeFileExt(BackupName, .BAK); if not RenameFile(SaveDialog1.FileName, BackupName) then raise Exception.Create(Unable to create backup file.); end; FileHandle := FileCreate(Sav
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑工程技术中级面试题及解析
- 2025年物联网高级职位面试技巧与模拟题
- 世界地图教学课件
- 2025年酒店管理实习生求职面试指南与模拟题集
- 电击伤急诊科处理
- 电催员基础知识培训课件
- 2025年初入金融行业人员面试模拟题及答案解析
- 血透护理教案
- 护理专业毕业论文范文
- 门脉高压病人护理
- 学校病媒生物防制培训
- 华为任职资格体系
- 急性心肌炎诊断和治疗
- 2025-2030中国浮动生产存储和卸载(FPSO)行业市场现状供需分析及投资评估规划分析研究报告
- 教师选聘笔试题目及答案
- 2023中国铁建投资集团有限公司公开招聘笔试参考题库附带答案详解
- 云南省怒江傈僳族自治州本年度(2025)小学一年级数学部编版质量测试(下学期)试卷及答案
- 监理文件档案资料整编及管理细则
- 小学二年级家庭教育指导
- CJJ1-2025城镇道路工程施工与质量验收规范
- 室内装饰装修安全技术交底模板
评论
0/150
提交评论