六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

窗體的創(chuàng)建時(shí)機(jī)及緩沖的思想在ini文件中的應(yīng)用

[摘要]1 窗體建立的時(shí)機(jī)問(wèn)題由于窗體屬于比較占系統(tǒng)內(nèi)存的對(duì)象,所以在應(yīng)用程序中何時(shí)建立窗體就變得比較重要。窗體的建立時(shí)機(jī)有一下幾種:(1)、在主窗體建立時(shí)自動(dòng)建立窗體(2)、在需要的時(shí)候才建立窗體,然后窗體關(guān)閉時(shí)也不銷毀窗體(3)、在需要的時(shí)候才建立窗體、然后窗體關(guān)閉時(shí)銷毀窗體第一種方式是delphi默...
1 窗體建立的時(shí)機(jī)問(wèn)題
由于窗體屬于比較占系統(tǒng)內(nèi)存的對(duì)象,所以在應(yīng)用程序中何時(shí)建立窗體就變得比較重要。
窗體的建立時(shí)機(jī)有一下幾種:
(1)、在主窗體建立時(shí)自動(dòng)建立窗體
(2)、在需要的時(shí)候才建立窗體,然后窗體關(guān)閉時(shí)也不銷毀窗體
(3)、在需要的時(shí)候才建立窗體、然后窗體關(guān)閉時(shí)銷毀窗體
第一種方式是delphi默認(rèn)的實(shí)現(xiàn)方式,但是除了主窗體之外的其他窗體如果不是在每次使用應(yīng)用程序的時(shí)候都一定用到,那么就不要讓窗體自動(dòng)建立。不要讓窗體自動(dòng)建立的方法是:點(diǎn)擊主菜單中“project”-“option”,然后在彈出的對(duì)話框中將你不想自動(dòng)建立的窗體名從Auo-create forms中拖到Available forms中去。
第二種方式適用于每次使用應(yīng)用程序的時(shí)候不一定都用到,但是一旦用到那么以后會(huì)用到多次,例如數(shù)據(jù)庫(kù)程序中的“數(shù)據(jù)查找”對(duì)話框、網(wǎng)頁(yè)制作軟件中的“設(shè)定文字超連接”對(duì)話框。
示例代碼:
在主窗體的  private 部分加入
    FHouseTypeFrm: THouseTypeDlg;//THouseTypeDlg是自定義的一個(gè)窗體類
在您激活窗體的地方加入
  if not Assigned(FHouseTypeFrm) then
    FHouseTypeFrm := THouseTypeDlg.Create(self);
  FHouseTypeFrm.ShowModal;

第三種方式適用于一般情況下不會(huì)用到,即使用到也不會(huì)在程序中多次調(diào)用。例如“關(guān)于”對(duì)話框,“系統(tǒng)設(shè)置”對(duì)話框等。
示例代碼:

var
  FUserManageFrm: TUserManageForm;//TUserManageForm是自定義的一個(gè)窗體類
begin
  FUserManageFrm := TUserManageForm.Create(nil);
  FUserManageFrm.SetCurrentUserName(FUsername);
  FUserManageFrm.ShowModal;
  FreeAndNil(FUserManageFrm);
end;

2 緩沖的思想在ini文件中的應(yīng)用

下列代碼是我們?cè)谟胕ni文件讀寫(xiě)系統(tǒng)配置常用的方法:
procedure TConfigMgr.SetDBBackupFileName(AValue: string);
begin
    FIniFile.WriteString('DBBackup', 'DBFileName', AValue);
end;

function TConfigMgr.GetDBBackupFileName: string;
begin
    result := FIniFile.ReadString('DBBackup', 'DBFileName',
      FRootPath + 'DBBackup.mdf');
end;

因?yàn)樽x寫(xiě)磁盤文件是比較占用系統(tǒng)資源的操作,所以能夠不讀寫(xiě)硬盤就不讀寫(xiě),可以學(xué)習(xí)操作系統(tǒng)中緩沖區(qū)的概念來(lái)改進(jìn)配置文件的讀寫(xiě)。如果在讀取系統(tǒng)配置之前已經(jīng)讀取過(guò)了那么只要返回上次讀取的值就可以了,不用再去讀硬盤;在向配置文件前將配置的值與上次的值比較,如果相同就沒(méi)有必要寫(xiě)配置文件了。

type
  TConfigMgr = class
  private
    FIniFileName: string;
    FIniFile: TIniFile;
    FRootPath: string;
    FFormerDBBackupFileName: string;
    procedure SetDBBackupFileName(AValue: string);
    function GetDBBackupFileName: string;
  public
   ……
  published
    property DBBackupFileName: string read GetDBBackupFileName write SetDBBackupFileName;
  end;

implementation
……
procedure TConfigMgr.SetDBBackupFileName(AValue: string);
begin
  if FFormerDBBackupFileName <> AValue then
  begin
    FIniFile.WriteString('DBBackup', 'DBFileName', AValue);
    FFormerDBBackupFileName := AValue;
  end;
end;

function TConfigMgr.GetDBBackupFileName: string;
begin
  if FFormerDBBackupFileName <> '' then
    result := FFormerDBBackupFileName
  else
    result := FIniFile.ReadString('DBBackup', 'DBFileName',
      FRootPath + 'DBBackup.mdf');
end;


主站蜘蛛池模板: 深夜国产一区二区三区在线看 | 视频一区在线观看 | 四虎精品国产一区二区三区 | 日韩视频专区 | 亚洲国产天堂久久综合226 | 色综合久久中文 | 四虎国产精品永久地址51 | 天堂8中文在线bt | 四虎必出精品亚洲高清 | 婷婷在线视频 | 四虎精品成人免费视频 | 青青在线视频 | 亚洲视频网站在线观看 | 亚洲va欧美va国产va天堂 | 外国毛片视频 | 日日干夜夜操s8 | 婷婷亚洲五月 | 亚洲精品有码在线观看 | 欧美一区二区三区精品 | 午夜在线播放免费人成无 | 天天躁日日2018躁狠狠躁 | 午夜天堂在线 | 青青在线国产视频 | 日韩高清性爽一级毛片免费 | 日韩美毛片| 青青青国产在线手机免费观看 | 亚洲成在人线影视天堂网 | 午夜精品福利在线 | 性欧美一级 | 亚洲欧美中文日韩在线v日本 | 青青久在线视频免费观看 | 亚洲 另类色区 欧美日韩 | 日日摸日日添夜夜爽97 | 日本一区二区视频在线 | 欧美一区二区影院 | 色老成人精品视频在线观看 | 五月婷婷社区 | 日韩一区精品 | 色综合天天综合网国产成人 | 色噜噜狠狠一区二区三区 | 四虎影院永久在线 |