亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? delphidata.txt

?? 制作用于日期時間型字段的DELPHI數據感知控件 用DELPHI開發C/S應用方便而快速
?? TXT
字號:
制作用于日期時間型字段的DELPHI數據感知控件
用DELPHI開發C/S應用方便而快速,因為它擁有大量易于使用的數據訪問和數據感知控件。然而萬事總是難以完美,DELPHI的DBEdit控件用于輸入日期時間型字段卻很不方便,為了改善這一缺點,我開發了一個DBDateTime數據感知控件,大大方便了時間和日期的輸入。
創建一個構件時,最重要的一步是選擇正確的父類,這樣可以減少代碼的編寫。DELPHI的構件庫中已有一個TDateTimePicker構件,可以以下拉日歷或利用SpinButton遞增、遞減的方式方便地輸入和改變日期、時間,但它沒有數據感知的能力。因此,我們可以以它為父類,派生出一個新的控件,加上能與數據集通信的數據感知功能。
數據感知控件通過DataLink對象與DataSource進行交互,所以為控件增加數據感知能力需要創建一個TDataLink(或其派生類)對象作為控件的成員,并為控件創建公開的DataField和DataSource屬性;然后需響應TDataLink對象的OnDataChange和OnUpdateData事件。下面是控件的主要源代碼,并帶有相應的注釋:
{定義從TDateTimePicker派生的TDBDateTime類。注意,在單元接口的Uses中應加入DB,DBCTRLS引用}type
TDBDateTime=class(TDateTimePicker)
private
FDataLink:TFieldDataLink;
//TFieldDataLink是TDataLink的派生類,處理單個字段與DataSource的交互procedureDataChange(sender:Tobject);
//當DataSet的記錄改變(如瀏覽記錄)時觸發OnDataChange事件,DataChange將作為該事件的事件處理句柄procedureUpdateData(sender:Tobject);
//更新DataSet前觸發OnUpdateData事件,UpdateData將作為該事件的事件處理句柄functionGetDataSource:TDataSource;
procedureSetdataSource(value:TDataSource);
FunctionGetDataField:String;
procedureSetdataField(Value:String);
procedureCMexit(varMessage:TCMExit);message CM_EXIT;//當控件失去焦點時觸發CM_EXIT消息protected
procedureChange;override;//控件中日期、時間改變時觸發OnChange事件procedureNotification(AComponent:TComponent;
Operation:Toperation);override;
//當某一控件從FORM上移走時DELPHI的IDE調用該方法通知其它控件public
constructorCreate(AOwner:Tcomponent);override;
destructorDestroy;override;
published
propertyDataSource:TDataSourcereadGetDataSource
writeSetDataSource;//為控件增加DataSource屬性,使它能與DataSource構件連接propertyDataField:StringreadGetDataField
writeSetDataField;
end;//為控件增加DataField屬性,使它指向代表某一字段的TField對象procedureRegister;//注冊構件implementation
procedureTDBDateTime.CMExit;
begin
try
FDataLink.UpdateRecord;
//控件失去焦點時更新DataSet,這將觸發OnUpdateData事件except
Setfocus;
raise;
end;
DoExit;
end;
constructorTDBDateTime.Create(Aowner:Tcomponent);
begin
inheritedCreate(Aowner);
//創建DataLink對象,掛接OnDataChange、OnUpdateData事件處理句柄FDataLink:=TFieldDataLInk.Create;
FDataLink.OnDataChange:=DataChange;
FDataLink.OnUpdateData:=Updatedata;
end;
DestructorTDBDateTime.Destroy;
begin
FDataLink.OnDataChange:=nil;
FDataLink.OnUpdateData:=nil;
FDataLink.Free;
inheritedDestroy;
end;
functionTDBDateTime.GetdataSource:TdataSource;
begin
result:=FDataLink.DataSource;
end;
ProcedureTDBDateTime.SetDataSource(Value:TDataSource);
begin
FDataLink.DataSource:=Value;
end;
functionTDBDateTime.GetDatafield:String;
begin
result:=FDataLink.FieldName;
end;
procedureTDBDateTime.SetDataField(value:String);
begin
FdataLink.FieldName:=value;
end;
procedureTDBDateTime.DataChange(Sender:Tobject);
begin
DateTime:=now;
//若控件連了活動的DataSet則數據集變動時控件顯示當前記錄的相應字段值ifFDataLink.Field nilthen
ifFDataLink.Field.Text ''then
DateTime:=FDatalink.Field.AsDateTime;
end;
ProcedureTDBDateTime.UpdateData(sender:Tobject);
begin
FDatalink.Field.AsDateTime:=DateTime;
//用控件中的日期、時間更新相應字段end;
procedureTDBDateTime.Change;
begin
//當用戶改變了控件中的內容時將DataSet置為編輯狀態FDataLink.Modified;
ifnotFDataLink.Editingthen
FdataLink.Edit;
inheritedChange;
end;
procedureTDBDateTime.Notification(AComponent:
TComponent;Operation:TOperation);
begin
inheritedNotification(Acomponent
Operation);
//當與控件相連的TdataSource
被刪除時將控件的DataSource屬性置為空if(Operation=opRemove)and(FDataLink nil)
and(AComponent=Datasource)then
DataSource:=nil;
end;
procedureRegister;
begin
RegisterComponents('DataControls'
[TDBDateTime]);//控件注冊后安裝于DataControls頁end;
end.
本控件安裝后能以下拉日歷和遞增遞減方式改變數據庫的日期時間型字段,并能以長、短兩種格式顯示日期,方便實用。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一二三四区在线| 亚洲卡通欧美制服中文| 精品国产免费人成在线观看| 欧美人狂配大交3d怪物一区| 欧美日韩不卡视频| 久久综合狠狠综合久久综合88| 亚洲一区在线看| 亚洲欧美日韩中文播放| 自拍偷自拍亚洲精品播放| 亚洲国产精品传媒在线观看| 国产精品嫩草影院av蜜臀| 国产精品免费久久| 亚洲乱码日产精品bd| 亚洲欧美经典视频| 一区二区三区四区乱视频| 亚洲一级二级三级| 欧美aⅴ一区二区三区视频| 国产伦精品一区二区三区免费迷 | 毛片不卡一区二区| 午夜不卡av免费| 免费观看日韩电影| 久久黄色级2电影| 国产精品99久久久久久似苏梦涵| 国产很黄免费观看久久| 99精品国产91久久久久久| 国产精品三级av在线播放| 欧美精品一区二区三区久久久| 精品少妇一区二区三区日产乱码 | 欧美精品在欧美一区二区少妇| 欧美一区二区三区啪啪| 欧美精品一区二区三区蜜桃视频| 中文字幕不卡在线观看| 亚洲一区二区三区四区不卡| 老司机一区二区| 成人丝袜视频网| 欧美视频在线观看一区二区| 欧美一级理论性理论a| 国产精品毛片久久久久久久| 亚洲成人黄色影院| 国产成人aaa| 欧美日韩视频在线观看一区二区三区 | 青娱乐精品在线视频| 国产精品一区专区| 欧美日韩一级视频| 欧美精品一区二区久久婷婷| 亚洲免费毛片网站| 麻豆国产91在线播放| 99国产精品视频免费观看| 日韩视频免费观看高清完整版在线观看| 久久久久国产精品麻豆| 亚洲综合一区二区| 粉嫩13p一区二区三区| 欧美日韩美女一区二区| 国产欧美视频一区二区| 五月天网站亚洲| 99精品黄色片免费大全| 国产精品九色蝌蚪自拍| 精品国产免费一区二区三区四区| 欧美极品少妇xxxxⅹ高跟鞋| 午夜一区二区三区在线观看| 福利电影一区二区三区| 欧美高清激情brazzers| 中文字幕一区二区三区不卡在线| 奇米一区二区三区| 日本韩国一区二区三区视频| 久久精品男人天堂av| 天天色 色综合| 91欧美一区二区| 久久这里只有精品视频网| 亚洲高清免费观看| 99精品久久只有精品| 久久久精品一品道一区| 青青草国产精品97视觉盛宴| 色婷婷综合久久久| 国产精品毛片大码女人| 国产黄人亚洲片| 欧美精品一区在线观看| 青青草91视频| 欧美久久久一区| 一区二区三区欧美| 99热精品国产| 欧美国产精品v| 国产馆精品极品| 精品乱码亚洲一区二区不卡| 午夜精品久久久久| 欧美艳星brazzers| 亚洲日本中文字幕区| av影院午夜一区| 欧美国产日本视频| 国产综合一区二区| 精品国产免费视频| 国内欧美视频一区二区| 欧美精品一区视频| 国产一区二区视频在线播放| 欧美电影免费提供在线观看| 日本欧美加勒比视频| 欧美一区二区三区在线视频| 亚欧色一区w666天堂| 欧美酷刑日本凌虐凌虐| 亚洲图片欧美色图| 欧美性极品少妇| 天天色综合天天| 欧美男生操女生| 午夜不卡av在线| 欧美一区二区三区在线看| 日本va欧美va瓶| 精品99久久久久久| 国产一区欧美日韩| 欧美激情在线免费观看| 成人精品免费视频| 亚洲人妖av一区二区| 色婷婷久久久亚洲一区二区三区| 亚洲精品视频在线看| 在线精品亚洲一区二区不卡| 一级精品视频在线观看宜春院| 在线观看欧美日本| 亚洲成人动漫精品| 日韩欧美你懂的| 国产乱色国产精品免费视频| 中文字幕欧美激情| 97精品超碰一区二区三区| 一级中文字幕一区二区| 69av一区二区三区| 国产资源精品在线观看| 国产欧美综合在线观看第十页| jizz一区二区| 亚洲成人免费av| 久久免费偷拍视频| 99久久夜色精品国产网站| 亚洲一二三专区| 精品国产自在久精品国产| 国产精品 欧美精品| 亚洲天堂精品视频| 欧美老人xxxx18| 国产成人亚洲精品青草天美 | 久久国产视频网| 久久久91精品国产一区二区精品| 91麻豆国产自产在线观看| 天天综合网天天综合色| 国产成人av影院| 久久99久久99| 国产成人综合在线观看| 韩国一区二区三区| 成人妖精视频yjsp地址| 欧美性淫爽ww久久久久无| 日本一区二区视频在线| 欧洲国内综合视频| 极品少妇一区二区三区精品视频| 欧美国产1区2区| 欧美日韩一区二区在线观看视频| 久久精品国产99国产精品| 中文在线一区二区| 欧美一区二区三区精品| 成人av在线资源| 美女性感视频久久| 亚洲激情图片小说视频| 欧美成人伊人久久综合网| 91在线视频在线| 精品一区二区三区免费播放| 亚洲激情校园春色| 久久嫩草精品久久久精品一| 欧美性大战久久久久久久蜜臀| 国产一区高清在线| 午夜精品视频在线观看| 国产精品伦一区| 日韩精品中文字幕在线不卡尤物| 91在线观看一区二区| 激情综合网最新| 99re成人精品视频| 亚洲激情五月婷婷| 久久精品亚洲乱码伦伦中文| 欧美日韩国产成人在线91| 波多野结衣中文一区| 久久激情综合网| 日韩va亚洲va欧美va久久| 亚洲欧美另类综合偷拍| 中文字幕av免费专区久久| 欧美tk丨vk视频| 在线电影国产精品| 91久久精品一区二区三| eeuss鲁片一区二区三区在线看| 激情文学综合网| 免费在线观看视频一区| 亚洲va欧美va国产va天堂影院| 亚洲欧美日韩国产中文在线| 久久精品亚洲国产奇米99| 日韩女优av电影在线观看| 欧美日韩免费观看一区二区三区 | 国产丶欧美丶日本不卡视频| 青青草91视频| 日韩电影免费一区| 一卡二卡三卡日韩欧美| 亚洲精品视频观看| 亚洲欧洲国产日本综合| 国产欧美一二三区| 国产三区在线成人av| 久久久久国产精品麻豆| 久久无码av三级| 亚洲精品一区二区三区精华液 | 日韩片之四级片|