学习DELPHI程序开发中的几则应用技巧
Delphi是一个全新的可视化编程环境,它为我们开发Windows应用程序提供了一个方便快捷的工具。它采用了微软视窗图形用户界面的许多先进功能和设计思想,采用了灵活的、可重用的完全面向对象语言,是当今世界上最快的编辑器和最先进的开发工具之一。对于广大程序开发人员来说,使用delphi开发应用软件无疑会大大提高编程效率。另外,DELPHI是一个开放的系统,只要灵活使用一些控件,就可以开发各种类型的系统,包括N-TIE程序、多线程程序、分布式计算程序(包括DCOM和CORBAR)、TCP程序、Web程序、ActiveX、中间件、Push程序,甚至你可以用它来编写汇编程序。下面是一些DELPHI开发应用的例子。
1。实现链接效果
这个效果意味着当鼠标指向一个字体时,这个字体会加下划线,鼠标指针会变成一个手指。按下后,浏览器或邮件编辑器将被打开。请按照以下步骤操作:
首先将Label1添加到窗体中,然后将以下代码添加到OnMouseMove事件中
程序TForm1。Label1MouseMove(发件人:TObjectshift:Tshiftstate;x,y:整数);
开始
标签1。Font.Style:=[fsbold,fs underline];
标签1。font . Color:= clYellow;
end;
然后在Form1的OnMouseMove事件中添加以下代码
程序TForm1。FormMouseMove(发件人:TObjectshift:Tshiftstate;x,y:整数);
开始
标签1。font . Style:=[fs bold];
标签1。font . Color:= cl maroon;
end;
程序TForm1。Label1Click(发件人:to object);
begin
shell execute(handle,nil,pchar('mailto:test@21cn.com '),nil,nil,SW _ show normal);
end;
然后设置Label1的鼠标指针。光标移动到光标处,你会看到这个效果。
2.获取计算机的身份信息。
获取计算机身份信息的功能是指通过程序设计可以自动获取计算机的名称和IP地址。要实现这个功能,可以使用DELPHI程序提供的TCP控件。下面是调用WINSOCK独立单元的功能代码,我们可以直接嵌入到自己的程序中。
使用Winsock
过程TForm1。FormCreate(发件人:to object);
var
wVersionRequested:WORD;
wsa data:tws adata;
开始
{ Create Winsock }
w version requested:= make word(1,1);
wsa startup(wVersionRequested,wsa data);
end;
过程TForm1。Button1Click(发件人:to object);
var p:phos tent;s:数组[0..128]的charp2:pchar;
开始
{获取计算机名}
GetHostName(@s,128);
p:= GetHostByName(@ s);
Memo1。lines.add(p^.h_name);
{获取机器的IP地址}
p2:= inet _ ntoa(pin addr(p . h _ addr _ list));
Memo1。lines . Add(p2);
end;
程序TForm1。FormDestroy(发送方:to object);
开始
{释放WinSock }
WSACleanup;
end
3.修改显示分辨率
Windows为我们提供了两个API函数,可以动态调整显示器的分辨率。它们是EnumDisplaySettings()和ChangeDisplaySettings()。下面的源代码实现了两种分辨率之间的转换,不需要重启电脑:
函数DynamicResolution(X,Y:word):BOOL;
var
lpDevMode:TDeviceMode;
begin
Result:= EnumDisplaySettings(nil,0,lpDevMode);
if Result then
begin
lpdevmode . DM fields:= DM _ pels width或DM _ PELSHEIGHT
lpdevmode . dmpelswidth:= X;
lpdevmode . dmpelsheight:= Y;
Result:= ChangeDisplaySettings(lpDevMode,0)= DISP _变化_成功;
end
end;
过程TForm1。Button1Click(发件人:to object);
begin
if dynamic resolution(640,480)then
show message(' Now is 640 * 480 ');
end;
过程TForm1。Button2Click(发送方:to object);
begin
if dynamic resolution(800,600)then
show message(' Now is 800 * 600 ');结束;
0条评论