程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi使用INI保存程序配置信息

Delphi使用INI保存程序配置信息

編輯:Delphi

Delphi使用INI保存程序配置信息,INI文件作為配置文件簡單好用,本代碼使用INI記錄上次打開窗口的時間、上次打開窗口的位置坐標以及窗口的長寬是多少,當然,INI文件的用途遠不只這些,這僅是一個初級入門的例子,代碼如下:

vIEw source print? 01 unit Unit1; 02 interface 03 uses 04   Windows, Messages,IniFiles, SysUtils, Variants, Classes, Graphics, Controls, Forms, 05   Dialogs, StdCtrls; 06 type 07   TForm1 = class(TForm) 08     LabelTime: TLabel; 09     Label2: TLabel; 10     LabelLocation: TLabel; 11     Label4: TLabel; 12     LabelSize: TLabel; 13     Label6: TLabel; 14     procedure FormClose(Sender: TObject; var Action: TCloseAction); 15     procedure FormCreate(Sender: TObject); 16   private 17     { Private declarations } 18   public 19     { Public declarations } 20   end; 21 var 22   Form1: TForm1; 23 implementation 24 {$R *.dfm} 25 //程序啟動的時候讀取相關信息 26 procedure TForm1.FormCreate(Sender: TObject); 27 var 28   FileName:string; 29   MyIniFile:TIniFile; 30   QuitTime:TDateTime; 31   FormLeft,FormTop,FormWidth,FormHeight:Integer; 32 begin 33   FileName:=ExtractFilePath(Paramstr(0))+'MyConfig.ini'; 34   if not FileExists(FileName) then 35     //如果配置文件不存在則退出處理過程 36     exit; 37   MyIniFile:=TIniFile.Create(FileName); 38   try 39     QuitTime:=MyIniFile.ReadDateTime('程序運行情況','上次退出時間',Now); 40     //如果有這個值的話 41     if QuitTime<>Now then 42       LabelTime.Caption:=DateTimeToStr(QuitTime) 43     else 44       LabelTime.Caption:='INI文件損壞'; 45     FormLeft:=MyIniFile.ReadInteger('窗體樣式','X坐標',99999); 46     FormTop:=MyIniFile.ReadInteger('窗體樣式','Y坐標',99999); 47     //如果有這個值的話 48     if (FormLeft<>99999 and (FormTop<>99999then 49       begin 50         Form1.Left:=FormLeft; 51         Form1.Top:=FormTop; 52         LabelLocation.Caption:='('+IntToStr(FormLeft)+','+IntToStr(FormTop)+')'; 53       end 54     else 55       LabelLocation.Caption:='INI文件損壞'; 56     FormWidth:=MyIniFile.ReadInteger('窗體樣式','窗體寬',99999); 57     FormHeight:=MyIniFile.ReadInteger('窗體樣式','窗體高',99999); 58     //如果有這個值的話 59     if (FormWidth<>99999 and (FormHeight<>99999then 60       begin 61         Form1.Width:=FormWidth; 62         Form1.Height:=FormHeight; 63         LabelSize.Caption:='('+IntToStr(FormWidth)+','+IntToStr(FormHeight)+')'; 64       end 65     else 66       LabelSize.Caption:='INI文件損壞'; 67   finally 68     //確保釋放掉INI文件 69     MyIniFile.Free; 70   end;//End try 71 end; 72 //程序關閉的時候記錄相關信息 73 procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); 74 var 75   FileName:string; 76   MyIniFile:TIniFile; 77 begin 78   FileName:=ExtractFilePath(Paramstr(0))+'MyConfig.ini'; 79   MyIniFile:=TIniFile.Create(FileName); 80   try 81     MyIniFile.WriteDateTime('程序運行情況','上次退出時間',Now); 82     MyIniFile.WriteInteger('窗體樣式','X坐標',Form1.Left); 83     MyIniFile.WriteInteger('窗體樣式','Y坐標',Form1.Top); 84     MyIniFile.WriteInteger('窗體樣式','窗體寬',Form1.Width); 85     MyIniFile.WriteInteger('窗體樣式','窗體高',Form1.Height); 86   finally 87     //確保釋放掉INI文件 88     MyIniFile.Free; 89   end; 90 end; 91 end.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved