———————配置端—————————————–
uses Inifiles;
全局:
var Inifile:TInifile;
加载资源文件:
{$RClient.RES}
主要代码:
var File1,File2:TFileStream; Size:integer; Files:string; exe:tresourcestream; begin if(edit1.Text='')or(edit2.Text='')then begin Application.MessageBox('不能为空!','错误'); exit; end else begin exe:=tresourcestream.Create(hinstance,pchar('myexe'),'exe'); exe.SaveToFile(ExtractFilePath(paramstr(0))+'\Client.exe'); IniFile:=TIniFile.Create(ExtractFilePath(paramstr(0))+'\Config.ini'); IniFile.WriteString('配置','标题',edit1.Text); IniFile.WriteString('配置','任务栏',edit2.Text); IniFile.Free; Files:=ExtractFileDir(Application.ExeName) +'\Config.ini'; File1:=TFileStream.Create(ExtractFileDir(Application.ExeName)+ '\Client.exe',fmOpenWrite); File2:=TFilestream.Create(Files,fmOpenRead); try File1.Seek(0,soFromEnd); File1.CopyFrom(File2,0); Size:=File2.Size+SizeOf(Size); File1.WriteBuffer(Size,SizeOf(Size)); Application.MessageBox('客户端已经生成!','提示'); Finally File1.Free; File2.Free; exe.Free; DeleteFile(Files); end; end;
将config.ini写入Client.exe
——————————–客户端——————————
uses Inifiles;
var Inifile:Tinifile;//INI Files:string;//配置文件 Des:TFileStream;//资源 size:integer;//资源大小 FileMemo:TMemorystream;//文件内存流对象 begin Files:=ExtractFilePath(Application.ExeName)+'\Config.ini';//读取配置文件 FileMemo:=TMemoryStream.Create; Des:=TFileStream.Create(Application.ExeName,fmShareDenyNone); try des.Seek(-sizeof(size),soFromEnd); des.ReadBuffer(size,sizeof(size)); des.Seek(-Size,soFromEnd); FileMemo.CopyFrom(Des,size-sizeof(size)); FileMemo.SaveToFile(Files); finally FileMemo.Free; des.Free; Inifile:=Tinifile.Create(Files); form1.Caption:=Inifile.ReadString('配置','标题',''); application.Title:=Inifile.ReadString('配置','任务栏',''); IniFile.ReadSections(s); deletefile(files); Inifile.Free;
标签:delphi
发表评论