欧美特黄不卡,涩涩视频在线,成人国产精品一区二区网站,亚洲一区二区三区欧美

當前位置:雨林木風下載站 > 技術開發(fā)教程 > 詳細頁面

DELPHI程序開發(fā)中的幾則應用技巧

DELPHI程序開發(fā)中的幾則應用技巧

更新時間:2022-05-09 文章作者:未知 信息來源:網絡 閱讀次數:

delphi是全新的可視化編程環(huán)境,為我們提供了一種方便、快捷的windows應用程序開發(fā)工具。它使用了microsoft windows圖形用戶界面的許多先進特性和設計思想,采用了彈性可重復利用的完整的面向對象程序語言(object-oriented language)、當今世界上最快的編輯器、最為領先的開發(fā)工具之一。對于廣大的程序開發(fā)人員來講,使用delphi開發(fā)應用軟件,無疑會大大地提高編程效率。另外DELPHI是一個開放系統(tǒng),只要靈活使用一些控件,即可開發(fā)出各種類型的系統(tǒng),不論N-Tie程序、多線程程序、分布計算程序(包括DCOM和CORBAR)、TCP程序、Web程序、ActiveX、中間件、推程序(Push),甚至你可以用它來寫匯編程序。下面筆者就列舉幾則DELPHI的開發(fā)應用事例。

1、實現鏈接效果

該效果是表示當鼠標指向某字體,該字體就出現下劃線,鼠標指針變?yōu)橐恢种福聪潞缶痛蜷_瀏覽器或郵件編寫器的功能,請按下列辦法做:

先在一個窗體中加入一個Label1,在OnMouseMove事件里加入下列代碼

procedure TForm1.Label1MouseMove(Sender: TObject;shift:Tshiftstate;x,y:integer);
begin
Label1.Font.Style:=[fsbold,fsunderline];
Label1.Font.Color:=clYellow;
end;


接著在Form1的OnMouseMove事件里加入下列代碼

procedure TForm1.FormMouseMove(Sender: TObject;shift:Tshiftstate;x,y:integer);
begin
Label1.Font.Style:=[fsbold];
Label1.Font.Color :=clmaroon;
end;

procedure TForm1.Label1Click(Sender: TObject);
begin
Shellexecute(handle,nil,pchar('mailto:test@21cn.com'),nil,nil,sw_shownormal);
end;


再將Label1.Cursor的鼠標指針設為crHandPoint,那么就有這種效果了。

2、獲取計算機的身份信息

獲取計算機的身份信息功能表示通過程序設計,達到自動獲取機器的名字和IP地址的目的。要實現這個功能,我們可以使用DELPHI程序提供的TCP控件來完成。下面是一個調用了WINSOCK的獨立單元的一段功能代碼,我們可以把它直接嵌入到自己的程序中去。

uses Winsock;
procedure TForm1.FormCreate(Sender: TObject);
var
wVersionRequested : WORD;
wsaData : TWSAData;
begin

{創(chuàng)建 WinSock}
wVersionRequested := MAKEWORD(1, 1);
WSAStartup(wVersionRequested, wsaData);
end;
procedure TForm1.Button1Click(Sender: TObject);
var p : PHostEnt; s : array[0..128] of char; p2 : pchar;
begin

{得到計算機名稱}
GetHostName(@s,128);
p:=GetHostByName(@s);
Memo1.Lines.Add(p^.h_Name);

{得到機器IP地址}
p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
Memo1.Lines.Add(p2);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin

{釋放 WinSock}
WSACleanup;
end

3、修改顯示分辨率

Windows提供給我們兩個API函數,可以動態(tài)調整顯示器的分辨率,他們是EnumDisplaySettings() 和ChangeDisplaySettings(),下面的這個源代碼實現了在兩中分辨率之間的變換,并且可以不用重新啟動計算機:

function DynamicResolution(X, Y: word): BOOL;
var
lpDevMode: TDeviceMode;
begin
Result := EnumDisplaySettings(nil, 0, lpDevMode);
if Result then
begin
lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
lpDevMode.dmPelsWidth := X;
lpDevMode.dmPelsHeight := Y;
Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
end
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if DynamicResolution(640, 480) then
ShowMessage('Now is 640*480');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if DynamicResolution(800, 600) then
ShowMessage('Now is 800*600'); end; 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 温宿县| 涪陵区| 汶川县| 南溪县| 甘孜县| 青阳县| 蓬溪县| 醴陵市| 阿合奇县| 黑龙江省| 铁力市| 卢氏县| 平阳县| 利辛县| 河曲县| 河间市| 富源县| 巴彦淖尔市| 盐山县| 景东| 福清市| 韩城市| 武穴市| 微山县| 石柱| 延庆县| 和静县| 千阳县| 延吉市| 莫力| 招远市| 富蕴县| 徐州市| 扶余县| 永宁县| 巴楚县| 阳曲县| 安丘市| 东乌珠穆沁旗| 万盛区| 高碑店市|