Delphi编程技巧实例

2016-01-29 14:16 21 1 收藏

Delphi编程技巧实例,Delphi编程技巧实例

【 tulaoshi.com - 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:ns32programnetscape.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:pwin95forest.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格式返回你所指定的文件的最后访问日期。

7.丰富多

来源:http://www.tulaoshi.com/n/20160129/1492888.html

延伸阅读
想不想另图片有另一番效果,使用下列语句实现吧,增加两个TImage图片框,分别为Image1、Image2,用Image1引入一张图片,按下按钮就可以在Image2上出现惊人的效果: procedure TForm1.Button1Click(Sender: TObject);beginImage2.Canvas.Brush.Style := bsCross;Image2.Canvas.CopyMode := cmMergeCopy;Image2.Canvas.Draw(0,0, Image...
标签: Web开发
前   1.什么是 XML?    首先,我想各位应该都已经大概知道什么是XML了。如果,你对什么是XML还没有一个概念的话,你可以看一些相关的材料,我就不多说了。      2.为什么要用XML?    首先,写的程序需要传送很多的数据结构,比如表格,目录树等等。要在以往,我想自己会去定义一个数...
控制Windows的桌面壁纸是一些看图工具常有的功能,要实现该功能是非常容易的,以下的程序使壁纸换为我们想要的图片,如果THEPCHAR为空,那么就取消壁纸,变为Win默认色彩;但这种方法只是暂时的,在WINDOWS重新启动后还是恢复原来的位图,所以要永久保留还需要对WIN.INI文件进行改写操作,才能保存住我们改动的图片不被替换。但这种暂时性...
在Delphi中使用TidIcmpClient控件可以非常简单的实现图形界面的Ping! 新建一个工程,命名为 PingGUI.dpr ,窗口命名为“frmPing”,加入如下组件:     lstReplies: TListBox;     ICMP: TIdIcmpClient;     Panel1: TPanel;     btnPing: TButton; &nbs...
SQL语言作为关系数据库管理系统中的一种通用的结构查询语言,已经被众多的数据库管理系统所采用,如ORACLE、Sybase、Informix等数据库管理系统,它们都支持SQL 语言。Delphi与使用SQL语言的数据库管理系统兼容,在使用Delphi开发数据库应用程序时,我们可以使用SQL语言编程,支持SQL编程是Delphi的一个重要特征,这也是体现Delphi作为一个...