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

Delphi編程技巧實例

編輯:Delphi
Delphi作為一門新起的Windows編程語言,由於其集眾多的優秀特性於一身,因而越來越得到廣大編程人員和發燒友的青睐。以下十則技巧涉及的面比較廣泛,希望能夠對Delphi的愛好者有所裨益。

1.類似於vb.中的doevents功能。

  大家或許發現,在Delphi中沒有類似於vb.中的doevents函數,這樣有的時候,我們將無法使Windows響應多個同時發生的事件。其實,在Delphi的application對象中包括類似的一個方法:ProcessMessage,你可以通過調用Application.ProcessMessage來完成象vb.中的doevents一樣的功能。

2.在Delphi中調用NetscapeNavigator。

  隨著Internet的火爆,有沒有想過在你的Delphi程序中啟動Netscape浏覽器,顯示出你指定的WWW地址的主頁。下面這個程序能夠完成這一功能。

  programNetscape;

  usesDDEMan;

  procedureGotoURL(sURL:string);

  var

  dde:TDDEClIEntConv;

  begin

  dde:=TDDEClIEntConv.Create(nil);

  withddedo

  begin

  //specifythelocationofnetscape.exe

  ServiceApplication:=′c:\ns32\program\netscape.exe′;

  //activatetheNetscapeNavigator

  SetLink(′Netscape′,′WWW—Activate′);

  RequestData(′0xFFFFFFFF′);

  //gotothespecifIEdURL

  SetLink(′Netscape′,′WWW—OpenURL′);

  RequestData(sURL+′,,0xFFFFFFFF,0x3,,,′);

  CloseLink;

  end;

  dde.Free;

  end;

  begin

  GotoURL(′http://www.yahoo.com/′);

  end.

3.格式化整數輸出。

  比較大的數字在輸出時會顯得不易閱讀,在Delphi中顯示帶分節號的數字是相當簡單的一件事,如下即可:xxxxx.caption:ΚFormatFloat(′#′,524667500)。


4.在編譯時獲得提示。

  在Delphi2.0中,編譯時,可以讓編譯器告訴你一些提示,比如哪些變量聲明了,卻從來沒有使用過。我們知道,可以通過菜單中的選項來控制是否要Delphi這樣做,但如果由於一些特殊需要,你只要在指定的代碼段需要Delphi這樣的提示,怎麼辦呢?請參考如下的程序。

  {$HINTON}

  procedureTform1.Button1Click(Sender:TObject);

  var

  X:integer;

  begin

  end;

  {$HINTOFF}

5.更改Windows95的牆紙。

  在Delphi中你可以很方便地更改牆紙,請參考以下的程序。

  procedureChangeIt;

  var

  Reg:TregIniFile;

  begin

  Reg:ΚTRegIniFile.Create(′ControlPanel′)


  Reg.WriteString(′desktop′,′Wallpaper′,
′c:\pwin95\forest.bmp′);

  Reg.WriteString(′desktop′,′TileWallpaper
′,′1′);

  Reg.Free;

  SystemParametersInfo(SPI—SETDESKWALLPAPER,0
,nil,SPIF—SENDWININICHANGE);

  end;

6.獲得最後使用文件的日期。

  在Win95中有一項新的功能,就是可以獲得訪問文件的最後日期。著名的CleanSweapforWin95軟件中就是靠這一功能來作為判斷某個文件是否被經常訪問的依據之一。在Delphi中,我們可以通過下面的程序來達到此功能。

  functionGetFileLastAccessTime(sFileName:string):TDateTime;

  var

  ffd:TWin32FindData;

  dft:DWord;

  lft:TFileTime;

  h:THandle;

  begin

  //getfileinformation

  h:ΚWindows.FindFirstFile(PChar(sFileName),ffd);

  if(INVALID—HANDLE—VALUEΙΛh)then

  begin

  //we′relookingforjustonefile,socloSEOur″find″

  Windows.FindClose(h);

  //converttheFILETIMEtolocalFILETIME

  FileTimeToLocalFileTime(ffd.ftLastAccessTime,lft);

  //convertFILETIMEtoDOStime

  FileTimeToDOSDateTime(lft,LongRec(dft).Hi,LongRec(dft).Lo);

  //finally,convertDOStimetoTDateTimeforuseinDelphi′snativedate/timefunctions

  Result:ΚFileDateToDateTime(dft);

  end;

  end;

  GetFileLastAccessTime()將會以Delphi的TdateTime格式返回你所指定的文件的最後訪問日期。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved