Delphi 文件操作集锦
- 格式:doc
- 大小:16.86 KB
- 文档页数:15
1.往Excel中插入图片用MsExcelWorkSheet.Pictures.Insert(ExtractFilePath(ParamStr(0))+'temp.jpg'); 可以放图片varExcelApp,MyWorkBook,MsExcelWorkSheet,Temple1:Variant;begintryExcelApp:=CreateOleObject('Excel.Application');MyWorkBook:=CreateOleobject('Excel.Sheet');MyWorkBook:=ExcelApp.WorkBooks.open(ExtractFilePath(ParamStr(0))+'testItemB ook.xls');MsExcelWorkSheet:=MyWorkBook.WorkSheets['3'];if not ADOQueryItemBook.IsEmpty thenbeginTblobfield(ADOQueryItemBook.FieldByName('pic')).SaveToFile(ExtractFilePath(ParamStr(0))+'temp.jpg');MsExcelWorkSheet.Pictures.Insert(ExtractFilePath(ParamStr(0))+'temp.jpg'); end;提供一些Excel的操作方法,希望有点用处吧。
一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObject( 'Excel.Application' );1) 显示当前窗口:ExcelApp.Visible := True;2) 更改 Excel 标题栏:ExcelApp.Caption := '应用程序调用 Microsoft Excel';3) 添加新工作簿:ExcelApp.WorkBooks.Add;4) 打开已存在的工作簿:ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );5) 设置第2个工作表为活动工作表:ExcelApp.WorkSheets[2].Activate;或ExcelApp.WorksSheets[ 'Sheet2' ].Activate;6) 给单元格赋值:ExcelApp.Cells[1,4].Value := '第一行第四列';7) 设置指定列的宽度(单位:字符个数),以第一列为例:ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米9) 在第8行之前插入分页符:ExcelApp.WorkSheets[1].Rows.PageBreak := 1;10) 在第8列之前删除分页符:ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;11) 指定边框线宽度:ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )12) 清除第一行第四列单元格公式:ExcelApp.ActiveSheet.Cells[1,4].ClearContents;13) 设置第一行字体属性:ExcelApp.ActiveSheet.Rows[1] := '隶书';ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;14) 进行页面设置:a.页眉:ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示';b.页脚:ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P页';c.页眉到顶端边距2cm:ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;d.页脚到底端边距3cm:ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;e.顶边距2cm:ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;f.底边距2cm:ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;g.左边距2cm:ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;h.右边距2cm:ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;i.页面水平居中:ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; j.页面垂直居中:ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035; k.打印单元格网线:ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;15) 拷贝操作:a.拷贝整个工作表:ed.Range.Copy;b.拷贝指定区域:ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;c.从A1位置开始粘贴:ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;d.从文件尾部开始粘贴:ExcelApp.ActiveSheet.Range.PasteSpecial;16) 插入一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Insert;b. ExcelApp.ActiveSheet.Columns[1].Insert;17) 删除一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Delete;b. ExcelApp.ActiveSheet.Columns[1].Delete;18) 打印预览工作表:ExcelApp.ActiveSheet.PrintPreview;19) 打印输出工作表:ExcelApp.ActiveSheet.PrintOut;20) 工作表保存:if not ExcelApp.ActiveWorkBook.Saved thenExcelApp.ActiveSheet.PrintPreview;21) 工作表另存为:ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );22) 放弃存盘:ExcelApp.ActiveWorkBook.Saved := True;23) 关闭工作簿:ExcelApp.WorkBooks.Close;24) 退出 Excel:ExcelApp.Quit;(二) 使用Delphi 控件方法在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
delphi文件的读取和写入概述:Delphi是一种高级编程语言,用于开发Windows应用程序。
在Delphi中,文件的读取和写入是常见的操作,可以通过使用内置的文件处理函数和过程来实现。
本文将详细介绍如何在Delphi中进行文件的读取和写入操作。
一、文件的读取在Delphi中,可以使用TFileStream类来读取文件的内容。
以下是读取文件的步骤:1. 创建TFileStream对象:使用TFileStream类的构造函数创建一个TFileStream对象。
构造函数需要两个参数,第一个参数是文件名,第二个参数是打开文件的模式。
模式可以是fmOpenRead(只读模式)或fmShareDenyNone(允许其他进程访问)。
2. 读取文件内容:调用TFileStream对象的Read方法来读取文件的内容。
Read方法需要两个参数,第一个参数是读取到的数据存放的缓冲区,第二个参数是要读取的字节数。
3. 关闭文件:使用TFileStream对象的Free方法来关闭文件。
示例代码如下:```delphivarFileStream: TFileStream;Buffer: array of Byte;ReadBytes: Integer;beginFileStream := TFileStream.Create('file.txt', fmOpenRead);SetLength(Buffer, FileStream.Size);ReadBytes := FileStream.Read(Buffer[0], FileStream.Size);FileStream.Free;// 处理读取到的文件内容// ...end;```二、文件的写入在Delphi中,可以使用TFileStream类来写入文件的内容。
以下是写入文件的步骤:1. 创建TFileStream对象:使用TFileStream类的构造函数创建一个TFileStream对象。
Delphi⽂件名操作常⽤函数Delphi⽂件名操作常⽤函数通过下⾯的函数,可以⽅便地对⽂件名进⾏操作:1. ExpandFileName将当前驱动器名(盘符)、路径名和指定的⽂件名合成⼀个绝对⽂件名。
函数原型如下:function ExpandFileName(const FileName: string): string;返回值为合成的绝对⽂件名。
2. ExpandUNCFileName获取⼀个以U N C格式的包括⽹络驱动器名的绝对⽂件名。
函数原型如下:function ExpandUNCFileName(const FileName: string): string;3. ExtractFileDir从绝对⽂件名中获取⽬录名。
函数原型如下:function ExtractFileDir(const FileName: string): string;4. ExtractFileDrive从绝对⽂件名中获取驱动器号(盘号)。
函数原型如下:function ExtractFileDrive(const FileName: string): string;5. ExtractFileExt从绝对⽂件名中获取⽂件名的扩展名。
函数原型如下:function ExtractFileExt(const FileName: string): string;6. ExtractFileName从绝对⽂件名中获取⽂件名。
函数原型如下:function ExtractFileName(const FileName: string): string;7. ExtractFilePath从绝对⽂件名中获取路径名。
函数原型如下:function ExtractFilePath(const FileName: string): string;8. ExtractRelativePath从绝对⽂件名中获取相对于某⼀个路径的相对路径名。
一、Delphi程序启动Word采用CreateOleObjects的方法来启动Word,调用VBA代码,具体实现过程为:首先使用GetActiveOleObject('Word.Application')判断当前内存中是否存在Word程序,如果存在,则直接连接,如果没有Word程序,则使用CreateOleObject('Word.Application')启动Word二、Delphi程序新建Word文稿格式:WordDocuments.Add(Template,NewTemplate,DocumentType,Visible)Template:使用模板的名称,NewTemplate:新建文档的类型,True表示为模板,False表示为文档DocumentType:文档类型,默认为空白文档Visible:打捞的窗口是否可见举例:Doc_Handle:=Word_Ole.Documents.Add(Template:='C:\Temlate.dot',NewTemplate:=False );三、Delphi程序打开Word文稿格式:WordDocuments.Open(FileName,ConfirmConversions,ReadOnly,PassWordDocument,PasswordTemplate,Revent,WritePasswordDocument,WritePassWordTemplate,Format,Encoding,Visible)FileName:文档名(包含路径)Confirmconversions:是否显示文件转换对话框ReadOnly:是否以只读方式打开文档AddToRecentFiles:是否将文件添加到"文件"菜单底部的最近使用文件列表中PassWordDocument:打开此文档时所需要的密码PasswordTemplate:打开此模板时所需要的密码Revert:如果文档已经,是否重新打开文档WritePasswordDocument:保存对文档更改时所需要的密码WritePasswordTemplate:保存对模板进行更改时所需要的密码Format:打开文档时所需使用的文件转换器Encoding:所使用的文档代码页Visible:打开文档的窗口是否可见举例:Doc_Handle:=Word_Ole.Documents.open(FileName:=Doc_File,ReadOnly:=False,AddToRecentFiles:=False);四、Delphi程序保存Word文稿格式:WordDocuments.SaveAs(FileName, FileFormat, LockComments, Password,AddToRecentFiles, WritePassword, ReadOnlyRecommended,EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter)FileName:文件名。
文件输入和输出下表列出了输入和输出例程:Procedure orfunctionDescriptionAppend打开存在的文本文件(用于对文件追加文本)。
AssignFile指定外部文件的文件名到文件变量。
BlockRead从无类型文件读出一个或多个记录。
BlockWrite向无类型文件写入一个或多个记录。
ChDir改变当前目录。
CloseFile关闭打开的文件。
Eof返回文件的文件结束(end-of-file)状态。
Eoln返回文本文件的行结束(end-of-line)状态。
Erase删除外部文件。
FilePos返回类型文件或无类型文件的当前位置。
FileSize返回文件的当前尺寸;不适用于文本文件。
Flush刷新输出文本文件的缓冲区。
GetDir返回指定驱动器的当前目录。
IOResult返回表示最后一次I/O函数执行状态的整数值。
MkDir创建子目录。
Read从文件读出一个或多个值到一个或多个变量。
Readln在文本文件中执行Read操作并跳至下一行行首。
Rename对外部文件重命名。
Reset打开存在的文件。
Rewrite创建并打开新文件。
RmDir删除空的子目录。
Seek从类型文件或无类型文件的当前位置移动到指定的分量;不适用于文本文件。
SeekEof返回文本文件的文件结束(end-of-file)状态。
SeekEoln返回文本文件的行结束(end-of-line)状态。
SetTextBuf指定输入/输出(I/O)缓冲区到文本文件。
Truncate在类型文件或无类型文件的当前位置截断文件。
Write向文件写入一个或多个值。
Writeln在文本文件中执行Write操作然后写入一个行结束(end-of-line)标记。
文件变量就是其类型是文件类型的任何变量。
在Object Pascal中,文件类型有三种:类型文件(typed)、文本文件(text)和无类型文件(untyped)。
文件类型的声明见文件类型。
Delphi中⽂件的操作FileOpenvariFileHandle : Integer;iFileLength : Integer;iBytesRead, i : Integer;Buffer : ^char;strPath : String;begin// 取得⽂件路径strPath := ExtractFilePath(Application.ExeName) + 'EventStep1.dat';// 读取⽂件内容iFileHandle := FileOpen(strPath,fmOpenRead);//fmopenread指的是⽂件以只读⽅式打开,还有其他更多的⽅式,如fmCreate等if iFileHandle <> -1then// 判断⽂件返回值,看打开是否正确beginiFileLength := FileSeek(iFileHandle,0,2);//得到⽂件的长度FileSeek(iFileHandle,0,0); // 游标指向起始GetMem(Buffer,(iFileLength+1));//buffer分配内存iBytesRead := FileRead(iFileHandle, Buffer, iFileLength); //读数据,写时可⽤FileWriteend;FileClose(iFileHandle);// 关闭⽂件end;在VC编程中,⽂件操作有较多的⽅式,⽐如使⽤API,C++的⽂件流,C的File⽂件操作以及使⽤MFC提供的封装类CFile等等, 其实在delphi中的⽂件操作也有很多的⽅式,这⾥我只想谈谈FileOpen操作⽂件的⽅式,话不多说,⽰例是最有说服⼒的:以上可以简单的说明怎样读取,当然要真正完全掌握这个⽅法,那就要靠⾃⼰多多专研了!。
Delphi文件操作变量的数据保存于内存中,随程序运行的结束而结束,若要使程序下次运行时能重复使用或给其他程序员使用,必须保存在文件中,Delphi存取文件的方式有4种,即传统的PASCAL方式、windows API文件句柄方式、VCL文件流方式、使用类方法方式。
使用类方法方式比较简单,其他三种方式一般的步骤为:(1) 声明文件类型变量;(2) 给文件类型变量指定文件名;(3) 通过文件类型变量打开并且读写文件,必要时进行文件定位;(4) 关闭文件。
1、PASCAL方式访问文件文件是由相同数据类型的数据元素组成的序列,文件可以分为三种类型:文本文件,类型文件,无类型文件。
文本文件中每个数据元素就是一个字符,占有一个字节,并以回车换行符(#13#10)表示每行的结束;类型文件中每个数据元素的数据类型可以是整数、实型记录型等;无类型文件中每个数据元素是一个字节的二进制数。
文件和数组在形式上有些类似,但实质上有诸多不同,主要表现为以下三个方面:(1)数组的元素个数一般是固定的,而文件的长度一般是不定的、随即的;(2)数组元素总是放于内存中,而文件往往存于外存中;(3)数组以“数组名[下标]”的形式访问数组中的任意一个元素,而文件则需要通过文件变量来访问。
1)类型文件例一、Button1按钮将记录数组XS[0..1]写入文件…Stu.dat‟,Button2将…Stu.dat‟读到记录变量X1,X2,然后用消息框输出。
TYPE Stu = RecordXh:integer;Xm:string[20];END;Procedure TForm1.Buttonclick(Sender:TObject);//记录数组写入文件Const xs:array[0..1] of Stu=((Xh:=405;xm:='张三'),(xh:=406,xm:='李四'));Var F:File of Stu;beginAssignFile(F,'Stu.dat');//关联文件ReWrite(F);//打开方式(写)Write(F,xs[0],xs[1]);//将数组写到文件CloseFile(F);end;procedure TForm1.Button2Click(Sender: TObject);VarF:File of Stu;x1,x2:Stu;beginAssignFile(F,'Stu.dat');ReSet(F); //打开方式(读)Read(F,x1,x2); //从文件中读到记录CloseFile(F);//关闭F指定文件showmessageFmt('%d,%s;%d,%s',[x1.xh,x1.xm,x2.xh,x2.xm]);end;2)文本文件例二、Button3将EDIT1指定库名写入文件'DBN.txt',Button4将DBN.txt读到变量DBN,然后用消息框输出。
关于的详细用法type_SHFILEOPSTRUCTA = packed recordWnd: HWND;wFunc: UINT;pFrom: PAnsiChar;pTo: PAnsiChar;fFlags: FILEOP_FLAGS;fAnyOperationsAborted: BOOL;hNameMappings: Pointer;lpszProgressTitle: PAnsiChar; { only used if FOF_SIMPLEPROGRESS }end;hwnd:用来显示操作状态的对话框句柄。
例中是form1的句柄wFunc:执行的操作。
可以是以下各值:(例中是FO_COPY)FO_COPY:拷贝pfrom域中指定的(目录,例中是'c:\a')到pto中指定的位置(例中为'c:\b')FO_DELET:删除pfrom中指定的文件. (pTo不用)FO_MOVE:移动PFrom中指定的文件到pto中指定的位置。
FO_RENAME:给PFrom中指定的。
pFrom:指定一个或多个源文件名的缓冲区地址。
多个名字必须用NULL分隔。
名字列表必须用两个NULL (nil,'\0')来结束。
pTo:目标文件或目录名缓冲区地址。
如果fFlags域指定FOF_MULTIDESTFILES,缓冲区可以包含多个目标文件名。
多个名字必须用NULL分隔。
名字列表必须用两个NULL(nil,'\0')fFlags :控制操作的标志,可以是以下各值组合:FOF_ALLOWUNDO:保留Undo信息,如果pFrom没有包含全的绝对的路径或文件名此值忽略。
FOF_CONFIRMMOUSE:没有实现.FOF_FILESONLY:只有文件名使用通配符时(*.*)才对文件操作。
FOF_MULTIDESTFILES: pTo域指一定了多个目标文件.(一个对就一个源文件) 而不是指定一个目录来存放所有源文件FOF_NOCONFIRMA TION:所有显示的对话框全部选择yes to allFOF_NOCONFIRMMKDIR: 如果需要创建一个新目录不确认。
Delphi 文件操作集锦Delphi 文件操作集锦时间:2011-5-26来源:yang 作者: peng点击: 11次Delphi 文件操作集锦unit Unit1; interface usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls; typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end; varForm1: TForm1; implementationuses activex,comobj,shlobj;{$R *.dfm} function ResolveLink(const ALinkfile: String): String;varlink: IShellLink;storage: IPersistFile;filedata: TWin32FindData;buf: Array[0..MAX_PATH] of Char;widepath: WideString;beginOleCheck(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, link)); OleCheck(link.QueryInterface(IPersistFile, storage)); widepath := ALinkFile;Result := ‘unable to resolve link‘;If Succeeded(storage.Load(@widepath[1], STGM_READ)) ThenIf Succeeded(link.Resolve(GetActiveWindow,SLR_NOUPDATE)) ThenIf Succeeded(link.GetPath(buf, sizeof(buf), filedata, SLGP_UNCPRIORITY)) ThenResult := buf;storage := nil;link:= nil;end; // 用法:procedure TForm1.Button1Click(Sender: TObject);beginShowMessage(ResolveLink(‘C:\delphi 7.lnk‘));end; end. 2006-2-16 19:23:20发表评语&raquo;&raquo;&raquo;2006-2-16 19:23:45 在Delphi中获取和修改文件的时间关键词:文件修改时间本文介绍了在Delphi中利用系统函数和Windows API函数调用来获取和修改文件的时间信息的方法。
熟悉Windows 95/98的朋友一定经常会用单击鼠标右键的方法来查看所选定的文件的属性信息。
在属性菜单中会列出该文件的创建时间、修改时间和访问时间。
这些信息常常是很有用的,它们的设置一般都是由操作系统(也就是由Dos/Windows等等)自动完成的,不会让用户轻易修改。
这里,我向大家介绍在Delphi中如何实现文件时间的获取和修改方法。
Delphi 中提供了很完备的Windows API函数的调用接口,可以方便的进行高级Windows编程。
利用Delphi中的FindFirst函数可以得到一个文件的属性记录,该记录中的FindData域中就记载了详细的文件时间信息。
然而遗憾的是,FindData中的时间信息是不能直接得到的。
因此,有人(编者按:很遗憾不知此人姓名)编写了一个转换函数来完成文件时间格式的转换。
下面给出了具体的实现方法,仅供参考:function CovFileDate(Fd:_FileTime):TDateTime;varTct:_SystemTime;Temp:_FileTime;beginFileTimeToLocalFileTime(Fd,Temp); FileTimeToSystemTime(Temp,Tct);CovFileDate:=SystemTimeToDateTime(Tct);end;有了上面的函数支持,我们就可以获取一个文件的时间信息了。
以下是一个简单的例子:procdeure GetFileTime(const Tf:string);{ 获取文件时间,Tf表示目标文件路径和名称}constModel=yyyy/mm/dd,hh:mm:ss; { 设定时间格式}varTp:TSearchRec; { 申明Tp为一个查找记录}T1,T2,T3:string;beginFindFirst(Tf,faAnyFile,Tp); { 查找目标文件}T1:=FormatDateTime(Model,CovFileDate(Tp.FindData.ftCreationTime)));T2:=FormatDateTime(Model,CovFileDate(Tp.FindData.ftLastWriteTime)));{ 返回文件的修改时间}T3:=FormatDateTime(Model,Now));{ 返回文件的当前访问时间}FindClose(Tp);end;设置文件的时间要复杂一些,这里介绍利用Delphi中的DataTimePicker组件来辅助完成这一复杂的操作。
下面的例子利用了四个DataTimePicker组件来完成文件创建时间和修改时间的设置。
注意:文件的访问时间用修改时间来代替。
使用下面的例子时,请在您的Form上添加四个DataTimePicker组件。
其中第一和第三个DataTimePicker 组件中的Kind设置为dtkDate,第二个和第四个DataTimePicker组件中的Kind设置为dtkTime. procedure SetFileDateTime(const Tf:string);{ 设置文件时间,Tf表示目标文件路径和名称}varDt1,Dt2:Integer;Fs:TFileStream;Fct,Flt:TFileTime;Dt1:=DateTimeToFileDate(Trunc(Form1.DateTimePicker1.Date) +Frac(Form1.DateTimePicker2.Time));Dt2:=DateTimeToFileDate(Trunc(Form1.DateTimePicker3.Date) +Frac(Form1.DateTimePicker4.Time));{ 转换用户输入在DataTimePicker中的信息}tryFS := TFileStream.Create(Tf, fmOpenReadWrite); tryif DosDateTimeToFileTime(LongRec(DT1).Hi, LongRec(DT1).Lo, Fct) and LocalFileTimeToFileTime(Fct, Fct) and DosDateTimeToFileTime(LongRec(DT2).Hi, LongRec(DT2).Lo, Flt) and LocalFileTimeToFileTime(Flt, Flt)then SetFileTime(FS.Handle,@Fct, @Flt, @Flt);{ 设置文件时间属性}finallyFS.Free;exceptMessageDlg(日期修改操作失败!,mtError, [mbOk], 0);{ 因为目标文件正在被使用等原因而导致失败}end;end;以上简单介绍了文件时间属性的修改方法,请注意:修改文件时间的范围是从公元1792年9月19日开始的,上限可以达到公元2999年或更高。
另外,请不要将此技术用于破坏他人文件等非正当途径。
2006-2-16 19:24:09 从快捷方式取得该快捷方式的指向文档关键词:快捷方式unit Unit1; interface usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls; typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end; varForm1: TForm1; implementationuses activex,comobj,shlobj;{$R *.dfm} function ResolveLink(const ALinkfile: String): String;varlink: IShellLink;storage: IPersistFile;filedata: TWin32FindData;buf: Array[0..MAX_PATH] of Char;widepath: WideString;beginOleCheck(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, link)); OleCheck(link.QueryInterface(IPersistFile, storage)); widepath := ALinkFile;Result := ‘unable to resolve link‘;If Succeeded(storage.Load(@widepath[1], STGM_READ)) ThenIf Succeeded(link.Resolve(GetActiveWindow,SLR_NOUPDATE)) ThenIf Succeeded(link.GetPath(buf, sizeof(buf), filedata, SLGP_UNCPRIORITY)) ThenResult := buf;storage := nil;link:= nil;end; // 用法:procedure TForm1.Button1Click(Sender: TObject);beginShowMessage(ResolveLink(‘C:\delphi 7.lnk‘));end; 2006-2-16 19:24:44 修改文件的扩展名关键词:扩展名ChangeFileExtvarfilename:String;beginfilename := ‘abcd.html‘;filename := ChangeFileExt(filename, ‘‘);Edit1.Text:=filename;end; 2006-2-16 19:25:32 如何读写文本文件关键词:读写文本文件下面源代码或许对你有些帮助: Procedure NewTxt;VarF : Textfile;BeginAssignFile(F, ‘c:\ek.txt‘); {将文件名与变量F 关联} ReWrite(F); {创建一个新的文件并命名为ek.txt} Writeln(F, ‘将您要写入的文本写入到一个 .txt 文件‘); Closefile(F); {关闭文件F}End; Procedure OpenTxt;VarF : Textfile;BeginAssignFile(F, ‘c:\ek.txt‘); {将文件名与变量F 关联} Append(F); {以编辑方式打开文件F }Writeln(F, ‘将您要写入的文本写入到一个 .txt 文件‘); Closefile(F); {关闭文件F}End; Procedure ReadTxt;VarF : Textfile;str : String;BeginAssignFile(F, ‘c:\ek.txt‘); {将文件名与变量F 关联} Reset(F); {打开并读取文件F }Readln(F, str);ShowMessage(‘文件有:‘ +str + ‘行。