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

首頁(yè) > 編程 > Delphi > 正文

Delphi編程技巧實(shí)例

2019-11-18 18:48:28
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Delphi作為一門(mén)新起的Windows編程語(yǔ)言,由于其集眾多的優(yōu)秀特性于一身,因而越來(lái)越得到廣大編程人員和發(fā)燒友的青睞。以下十則技巧涉及的面比較廣泛,希望能夠?qū)elphi的愛(ài)好者有所裨益。

1.類(lèi)似于vb.中的doevents功能。

  大家或許發(fā)現(xiàn),在Delphi中沒(méi)有類(lèi)似于vb.中的doevents函數(shù),這樣有的時(shí)候,我們將無(wú)法使Windows響應(yīng)多個(gè)同時(shí)發(fā)生的事件。其實(shí),在Delphi的applica??tion對(duì)象中包括類(lèi)似的一個(gè)方法:PRocessMessage,你可以通過(guò)調(diào)用application.ProcessMessage來(lái)完成象vb.中的doevents一樣的功能。

2.在Delphi中調(diào)用NetscapeNavigator。

  隨著Internet的火爆,有沒(méi)有想過(guò)在你的Delphi程序中啟動(dòng)Netscape瀏覽器,顯示出你指定的WWW地址的主頁(yè)。下面這個(gè)程序能夠完成這一功能。

  programNetscape;

  usesDDEMan;

  procedureGo??toURL(sURL:string);

  var

  dde:TDDEClientConv;

  begin

  dde:=TDDEClientConv.Create(nil);

  withddedo

  begin

  //specifythelocationofnetscape.exe

  ServiceApplication:=′c: s32program etscape.exe′;

  //activatetheNetscapeNavigator

  SetLink(′N(xiāo)etscape′,′WWW―Activate′);

  RequestData(′0xFFFFFFFF′);

  //gotothespecifiedURL

  SetLink(′N(xiāo)etscape′,′WWW―OpenURL′);

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

  CloseLink;

  end;

  dde.Free;

  end;

  begin

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

  end.

3.格式化整數(shù)輸出。

  比較大的數(shù)字在輸出時(shí)會(huì)顯得不易閱讀,在Delphi中顯示帶分節(jié)號(hào)的數(shù)字是相當(dāng)簡(jiǎn)單的一件事,如下即可:xxxxx.caption:ΚFormatFloat(′#′,524667500)。


4.在編譯時(shí)獲得提示。

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

  {$HINTON}

  procedureTform1.Button1Click(Sender:TObject);

  var

  X:integer;

  begin

  end;

  {$HINTOFF}

5.更改Windows95的墻紙。

  在Delphi中你可以很方便地更改墻紙,請(qǐng)參考以下的程序。

  procedureChangeIt;

  var

  Reg:TregIniFile;

  begin

  Reg:ΚTRegIniFile.Create(′ControlPanel′)

  Reg.WriteString(′desktop′,′Wallpaper′,
′c:pwin95forest.bmp′);

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

  Reg.Free;

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

  end;

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

  在Win95中有一項(xiàng)新的功能,就是可以獲得訪(fǎng)問(wèn)文件的最后日期。著名的CleanSweapforWin95軟件中就是靠這一功能來(lái)作為判斷某個(gè)文件是否被經(jīng)常訪(fǎng)問(wèn)的依據(jù)之一。在Delphi中,我們可以通過(guò)下面的程序來(lái)達(dá)到此功能。

  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()將會(huì)以Delphi的TdateTime格式返回你所指定的文件的最后訪(fǎng)問(wèn)日期。

7.豐富多彩的標(biāo)簽。

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

  RichEdit1.PlainText:ΚFalse;

  RichEdit1.Lines.LoadFromFile(′c: est.rtf′);

  8.如何防止Win95顯示嚴(yán)重錯(cuò)誤。

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

  var

  wOldError??Mode:Word;

  begin

  //tellwin??dowstoignorecriticalerrorsandsavecur??renterrormode

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

  try

  //codethatmightgenerateacriticalerrorgoeshere...

  finally

  //gobacktopreviouserrormode

  SetErrorMode(wOldErrorMode);

  end;

  end;

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

9.剛才用鼠標(biāo)擊了哪一個(gè)對(duì)象。

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

  

10.檢測(cè)CD-ROM或是其他磁盤(pán)是否有過(guò)變化。

  最簡(jiǎn)單的檢查CD-ROM或是磁盤(pán)是否有過(guò)變化的方法是檢查其volume號(hào)碼。你可以簡(jiǎn)單地運(yùn)用下面的函數(shù)來(lái)返回磁盤(pán)的volume系列號(hào)碼GetDiskVolSerialID(′E′),函數(shù)代碼如下:

  functionGetDiskVolSerialID(cDriveName:char):DWord;

  var

  dwTemp1,dwTemp2:DWord;

  begin

  GetVolumeInformation(PChar(cDriveName+′:′),Nil,0,ΝResult,dwTemp2,dwTemp2,Nil,0);

  end;


上一篇:截獲Delphi中的異常

下一篇:DELPHI下漢字輸入法的編程及使用

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門(mén)圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 免费看一级视频 | 日本a级一区 | sesee99| 27xxoo无遮挡动态视频 | 911精品影院在线观看 | 99精品国产在热久久婷婷 | 欧美雌雄另类xxxxx | 深夜免费视频 | 国产又粗又爽又深的免费视频 | 亚洲日本韩国精品 | 久久久成人999亚洲区美女 | 四虎久草 | 草人人 | 久久吊| 一级黄色毛片播放 | 一道本不卡一区 | 鲁丝片一区二区三区免费入口 | 国产成人羞羞视频在线 | 99精品电影 | 美女黄污视频 | 欧美一级特黄a | av免费在线免费观看 | 国产精品久久亚洲 | 国产亚洲精品久久久久久久软件 | 久久日韩在线 | 久久国产精品系列 | 精品国产一二区 | 国产精品成人亚洲一区二区 | 天天夜夜操操 | 综合97 | 成人免费国产 | 欧美成人一二三区 | 97porn| 精品一区二区三区欧美 | 免费一级高清毛片 | 国产精品99精品 | 国产精品久久久久久久av | 国产成人精品午夜 | 国产91一区二区三区 | 天天色人人爱 | 久久精品视频16 |