六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

使用Delphi完成支持窗體的自定義函數(shù)

[摘要]在利用Delphi發(fā)開應用時,我們可以引用大量的控件,象VCL,OCX,也可以引用開發(fā)環(huán)境中提供的大量函數(shù),如ShowMessage,Application.MessageBox等,正是這些資源極大...
在利用Delphi發(fā)開應用時,我們可以引用大量的控件,象VCL,OCX,也可以引用開發(fā)環(huán)境中提供的大量函數(shù),如ShowMessage,Application.MessageBox等,正是這些資源極大的提高了應用的開發(fā)效率,但是,在具體的開發(fā)過程中,會產(chǎn)生這樣一種需求,即如何將參數(shù)傳遞給窗體,最終用戶操作窗體后返回具體值,應用程序再要根據(jù)此返回值作進一步的處理,就象Application.MessageBox一樣工作。對此,筆者經(jīng)過實踐,終于通過自定義函數(shù)的形式找到了實現(xiàn)方法。下面讓我們以實現(xiàn)類似Application.MessageBox功能的函數(shù)實例,看看如何定義支持窗體的自定義函數(shù)。

---- 第一步,建立函數(shù)的操作窗體;

---- 在Delphi建立一空白窗體(form),然后加入如下控件,兩個按鈕Button與一個標簽Label。

Button1: TButton; Label1: TLabel; Button2: TButton;
---- 第二步,建立輸出函數(shù);
---- 此函數(shù)為其他窗體具體調(diào)用的格式,我們就通過此函數(shù)來傳遞參數(shù)及返回窗體的操作結(jié)果。其形式為:

---- function ShowMsg(btn1, btn2, msg, titleMsg: string): Integer;

---- 其中,btn1,btn2準備接收兩個按鈕的標題,msg為顯示的提示信息,titleMsg為窗體的標明,并且,此函數(shù)的返回值為integer.

---- 注意:此聲明必須放在implementation語句之前,使其對外可見。

---- 第三步,實現(xiàn)輸出函數(shù);

---- 具體代碼如下:

function
ShowMsg(btn1, btn2, msg, titleMsg: string): Integer; var frmshowMsg:
TfrmShowMsg; begin frmShowMsg := TfrmShowMsg.Create(Application); //建立自定義函數(shù)使用的窗體
with frmShowMsg do try button1.Caption := btn1; button2.Caption := btn2;
Label1.Caption := msg; Caption := titleMsg; if ShowModal=mrOK then//顯示窗體
result:=1 else result:=2; finally Free;//清除不再使用的窗體 end; end;
---- 作為例子,只是最簡單的功能實現(xiàn)。
---- 最后一步,刪除建立此窗體時生成的代碼;

var frmShowMsg:TfrmShowMsg;
---- 下面讓我們看看如何使用上面實現(xiàn)的自定義函數(shù)。
---- 建立一個應用,通過delphi->File->New Application即可。

---- 然后,在此應用中加入剛才實現(xiàn)的單元文件。此時我們需要在Project Options中設定frmShowMsg為可用的窗體。用一個按鈕測試一下這個自定義函數(shù)ShowMsg。showMsg('正確','取消','真的退出程序嗎?','確認');

---- 運行,就可以看到支持窗體的自定義函數(shù)了,效果與Delphi中Application.MessageBox差不多。

---- 掌握此種實現(xiàn)方法后,我們就可以繼續(xù)構(gòu)造出需多類似的通用函數(shù),以完成不同的功能,如支持數(shù)據(jù)瀏覽的自定義函數(shù),查看任意數(shù)據(jù)表等等。

---- 最后附完整的此自定義函數(shù)的程序清單:

unit udfForm;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type TfrmShowMsg = class(TForm)  
Button1: TButton;
Label1: TLabel;
Button2: TButton;
private
{ Private declarations }
public
{ Public declarations }  
end;  
function ShowMsg(btn1, btn2, msg, titleMsg: string): Integer;
implementation  
{$R *.DFM}
function ShowMsg(btn1, btn2, msg, titleMsg: string): Integer;
var  
frmshowMsg: TfrmShowMsg;  
begin
frmShowMsg := TfrmShowMsg.Create(Application);
with frmShowMsg do
try
button1.Caption := btn1;
button2.Caption := btn2;  
Label1.Caption := msg;
Caption := titleMsg;  
if ShowModal=mrOK
then result:=1
else result:=2;
finally Free;
end;
end;
end. 


主站蜘蛛池模板: 日韩欧美在线播放 | 午夜影院私人 | 在线观看国产黄色 | 性网站视频 | 四虎影院免费看 | 日韩大片 | 日本aa网站 | 伊人电院网 | 日本大片免a费观看在线 | 天堂在线最新版资源www | 日韩一级在线 | 四虎成人免费 | 三级亚洲 | 夜夜艹日日艹 | 亚洲综合免费视频 | 日本卡一卡2卡3卡4精品卡网站 | 四虎影视在线免费观看 | 日韩欧美亚洲乱码中文字幕 | 欧美在线播放视频 | 色视在线| 日韩免费高清 | 日韩大片免费观看视频播放 | 又粗又硬又大又爽免费观看 | 日韩3级| 日本高清在线视频www色下载 | 亚洲男人的天堂网站 | 综合精品 | 亚洲国产成人影院播放 | 青青草免费在线观看 | 亚洲无线乱码高清在线观看一区 | 日本a黄色片 | 四虎影院黄色 | 色姣姣狠狠撩综合网 | 日本在线观看网址 | 一区二区免费 | 综合激情文学 | 日本三级网站在线线观看 | 日日拍夜夜嗷嗷叫狠狠 | 日本天天射 | 热久久综合网 | 亚洲www在线观看 |