麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

Delphi編程技巧十則

2019-11-18 18:57:31
字體:
來源:轉載
供稿:網友
Delphi作為一門新起的Windows編程語言,由于其集
眾多的優秀特性于一身,因而越來越得到廣大編程人員和
發燒友的青睞。以下十則技巧涉及的面比較廣泛,希望能
夠對Delphi的愛好者有所裨益。

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

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

  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ιne
tscape.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中
顯示帶分節號的數字是相當簡單的一件事,如下即可:xx
xxx.caption:ΚFormatFloat(′#′,524667500)。


  4.在編譯時獲得提示。

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

  {$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ιfor??est.bmp′);

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

  Reg.Free;

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

  end;

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

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

  functionGetFileLastaccessTime(sFileName:stri
ng):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″f
ind″

  Windows.FindClose(h);

  //converttheFILETIMEtolocalFILETIME

  FileTimeToLocalFileTime(ffd.ftLastAccessTime
,lft);

  //convertFILETIMEtoDOStime

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

  //finally,convertDOStimetoTDateTimeforusein
Delphi′snativedate/timefunctions

  Result:ΚFileDateToDateTime(dft);

  end;

  end;

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

  7.豐富多彩的標簽。

  我們已經不滿足于Delphi提供的簡單的標簽,能不能
在標簽中有不同的字體,有不同的顏色,以此來豐富我們
的表現能力。回答是肯定的,并且用不著第三方提供的控
件,我們只要巧妙的利用Delphi自己提供的TRichEdit就
可以了。首先將TRichEdit控件的邊框去除:RichEd??it1
.BorderStyle:ΚbsNone;同時設置只讀屬性為真:Rich
Ed??it1.ReadOnly:ΚTrue;然后,你利用write之類的
軟件制作好RichText格式的文本,通過以下語句就可以顯
示出來了:

  RichEdit1.PlainText:ΚFalse;

  RichEdit1.Lines.LoadFromFile(′c:ιtest.r
tf′);

  8.如何防止Win95顯示嚴重錯誤。

  不管你的程序如何反復調試,交給用戶之后,總有可
能發生你意想不到的錯誤,如何避免Win95顯示出白色的
窗口,告訴你的用戶發生了難堪的意外錯誤呢?我們可以
這樣做:

  var

  wOldError??Mode:Word;

  begin

  //tellwin??dowstoignorecriticalerrorsandsave
cur??renterrormode

  wOldError??Mode:ΚSetEr??rorMode(SEM―FAILCR
ITI??CALERRORS);

  try

  //codethatmightgenerateacriticalerrorgoesher
e...

  finally

  //gobacktopreviouserrormode

  SetErrorMode(wOldErrorMode);

  end;

  end;

  主要是利用SetErrorMode()來完成這一功能。

  9.剛才用鼠標擊了哪一個對象。

  在Win95中,鼠標的右鍵起到了很大的作用,但是,
由于歷史的原因,對于右鍵的使用即使在Delphi中,也還
不夠有效,下面的程序可以告訴你如何知道剛才鼠標右擊
的對象名稱。首先建立一個popmenu,然后以下的代碼就可
以告訴你剛才右擊的對象名稱:Popup??Menu1.PopupCom
ponent.ClassName。

  

  10.檢測CD-ROM或是其他磁盤是否有過變化。

  

  最簡單的檢查CD-ROM或是磁盤是否有過變化的方法
是檢查其volume號碼。你可以簡單地運用下面的函數來返
回磁盤的volume系列號碼GetDiskVolSerialID(′E′),
函數代碼如下:

  functionGetDiskVolSerialID(cDriveName:char)
:DWord;

  var

  dwTemp1,dwTemp2:DWord;

  begin

  GetVolumeInformation(PChar(cDriveName+′:
ι′),

  Nil,

  0,

  ΝResult,

  dwTemp2,

  dwTemp2,

  Nil,

  0);

  end;

上一篇:在DELPHI2.0/3.0中直接操作端口

下一篇:Delphi程序使用資源的釋放

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 国产99视频精品免视看9 | 在线高清中文字幕 | 泰剧19禁啪啪无遮挡 | 中文字幕网站在线 | 国产成人高潮免费观看精品 | 欧美精品一区自拍a毛片在线视频 | 国产一级毛片在线看 | 97人操 | 亚洲精品永久视频 | h色在线观看| 成人一级黄色 | 国产精品午夜性视频 | 午夜视频中文字幕 | 久久久久国产一区二区三区不卡 | 99视频在线观看视频 | 国产亚洲精品久久久久婷婷瑜伽 | 99精品热视频 | 亚洲精品aⅴ中文字幕乱码 欧美囗交 | 中文字幕综合在线观看 | 精品久久久91 | 请播放一级毛片 | 2019中文字幕在线播放 | 久综合 | 亚洲婷婷日日综合婷婷噜噜噜 | 精品一区二区三区欧美 | 国产精品久久久久久久午夜片 | 欧美第1页| 久久蜜桃精品一区二区三区综合网 | va视频在线| 免费成人 | 黄色网欧美 | 一级网站 | 成人免费网站在线观看 | av影院在线播放 | 特级黄色影院 | 国产一级性生活视频 | v11av在线视频成人 | 一级免费在线 | 性欧美xxxx极品摘花 | 黄色小视频免费在线观看 | 久久亚洲成人 |