亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

Delphi之快速設(shè)計(程序設(shè)計篇)

2019-11-18 18:55:40
字體:
供稿:網(wǎng)友
  • *本文涉及的所有代碼均在WinNt 4、Delphi4 C/S下正確運行通過。
    由于Delphi采用了真正的完全面向?qū)ο蠓椒?、當今世界最快的編譯器以及領(lǐng)先的數(shù)據(jù)庫技術(shù),特別是她對Windows API的完全兼容,出色的代碼自動生成能力……人們已經(jīng)看到,在短短的幾年當中,Delphi已在眾多的開發(fā)工具中脫穎而出!正是Delphi的諸多優(yōu)秀品質(zhì),使程序員能在很短的時間內(nèi)開發(fā)出極具專業(yè)水準的運用軟件,而所做的工作卻是相當?shù)纳伲?BR>正所謂Let's us make better!我們應(yīng)怎樣充分利用Delphi的優(yōu)勢來更加快速地進行程序設(shè)計程序呢?
    一、充分利用代碼完全共享(句檳):
    我們這樣做的目的不僅僅是為了“偷懶”,這也是優(yōu)化程序代碼的一種方法。當然,首先要考慮的是能不能共享(這很簡單,看看是否包含在該事件的下拉集合中),其次是要注意的是共享后有沒有“麻煩”,因為正確是第一步,在保證正確的情況下才有必要去追求優(yōu)化!
    比如:我們在用戶刪除數(shù)據(jù)前給出一確認消息:
    PRocedure TForm1.Table1BeforeDelete(DataSet: TDataSet);
    begin
    //確認刪除記錄
    if MessageBox(handle,'確實要刪除當前記錄嗎?','確認',MB_IconQuestion+MB_YesNo)=IDNO then
    Abort;
    end;
    那么,你只要愿意讓用戶在刪除數(shù)據(jù)記錄前進行確認均可在TDataSet.BeforeDelete事件(Table2的BeforeDelete,Table3的BeforeDelete……)中完全共享這段代碼。好運不會天天有,在有的時候就不這么直接、簡單了……
  • 二、充分利用Delphi的強制轉(zhuǎn)換:
    “As”這個單詞不僅僅在英語中用處極大,在Delphi中亦然!當我們想為數(shù)個“同類”組件共享代碼時,即可發(fā)揮她的巨大作用:我們只需為其中一個組件編寫代碼即可。
    比如:想讓一組文本編輯框在得到輸入焦點時背景顏色變?yōu)椴枭?,失去焦點是恢復(fù)系統(tǒng)顏色,我們可以如此共享代碼(讓每個文本編輯框的事件公用以下代碼):
    procedure TForm1.Edit1Enter(Sender: TObject);
    begin
    (Sender as TEdit).color:=ClTeal; //得到輸入焦點
    end;

    procedure TForm1.Edit1Exit(Sender: TObject);
    begin
    (Sender as TEdit).color:=ClWindow; //失去輸入焦點
    end;
  • 三、不起眼的Tag屬性:
    上面的例子似乎有點太特殊了,萬一我只對其中某些組件特別關(guān)照怎么辦?仍以上面的為例,比如其中有兩個文本輸入框需要輸入數(shù)字,為引用戶注意,得到焦點時顏色變?yōu)樘m色,但我仍然然不想為每個組件分別寫代碼。
    要解決這個問題可利用組件的Tag屬性,先為要特別處理的組件分配非零、不等的Tag(必須說明的Delphi不會檢查Tag值是否相等,設(shè)計時自己掌握);然后如下編寫代碼,就可依然實現(xiàn)共享:
    procedure TForm1.Edit1Enter(Sender: TObject);
    begin
    case (Sender as TEdit).Tag of
    10,20:(Sender as TEdit).Color:=clBlue //輸入數(shù)字的文本框
    else
    (Sender as TEdit).Color:=clTeal; //其余文本框
    end;
    end;
  • 四、充分利用Delphi的CodeInsight技術(shù):
    (以下言論均假設(shè)在Delphi的默認條件之下)
    1、利用Self關(guān)鍵字:
    也許有人以為我搞錯了!其實,這里要向大家介紹的是筆者(因記性太差)“慣犯”的又一“伎倆”。在有的時候,我們可能記不準組件的確切名字(Name)了,這時你要是再返回窗體表格去確認一遍的話(大多數(shù)的朋友應(yīng)該是這樣的)未免有點太對不起時間了,此時你要是利用Self就特別省力,因為Self在Delphi中是顯式地引用該組件所在的窗體,因此,我們可以輸入Self后加一逗點以此激活Delphi的Code Completion,此時系統(tǒng)會立即為你顯示一包含該窗體所有組件及窗體本身屬性的下拉列表,你從中選擇所需組件即可。這樣,就避免了來回切換窗體表格的這一工作量。
    2、利用代碼補缺(Code Completion):
    我們現(xiàn)在再也沒有必要讓自己去記憶太多的參數(shù)細節(jié)了,因為有了Delphi的代碼補缺功能。在具體解釋之前,還要羅嗦一點,Delphi的Code Completion默認的快捷鍵會與我們已用的某些快捷鍵沖突(如Ctrl+Space就與我們打開、關(guān)閉漢字輸入法的快捷鍵沖突),因此請先解決這個問題。
    當然,Code Completion一般會自動激活,但是不要以為就萬事大吉了,本人認為Delphi的此項技術(shù)應(yīng)向VB學習,此言怎講?舉例來說吧:當你輸入StrToint(edit1.后,Delphi不會自動顯示edit1的屬性,此時你就將用Ctrl+Space來激活Code Completion,特別是嵌套很深的時候,Delphi似乎也糊涂了。
    3、利用代碼參數(shù)(Code Parameters):
    激活快捷鍵是Ctrl+Shift+Space。這項功能也是Delphi自動實現(xiàn)的,正如上述所言,當我們來回切或是光標移走時,這項功能也就隨之消失了,當我們需要確認該函數(shù)的具體參數(shù)時即可以此快捷鍵打開。
    4、利用代碼模板(Code Templates):   
    這項技術(shù)再次體現(xiàn)了Inprise公司Delphi開發(fā)組的工程師們高超的技術(shù)及處處為用戶著想的高尚品德?。ㄖ皇遣幌M俾牭接钟腥吮晃④浲谧叩南ⅲ?BR>激活快捷鍵是Ctrl+J。此項功能實現(xiàn)機制與代碼補缺的差不多,只是她不是自動的,當然最另令人激動的一面是用戶可以定義自己的模板。比如筆者定義的一個模板:快捷-〉“msg”;代碼-〉“MessageboxMessageBox(
    handle,'|',',MB_Icon...+MB_...);”,只要一輸入msg然后按Ctrl+J整個代碼“脫穎而出”,并把光標幫我移到我該補充輸入的地方,簡直爽呆了!
    注意:如果你為自己定義了很多可愛的模板舍不得丟掉的話,不妨把...Delphi4Bin目錄下的Delphi32.dci文件備份,重新安裝Delphi后以此文件覆蓋即可。
  • 五、能偷懶時就偷懶:
    這個話題本不應(yīng)該寫在這里,但還是忍不住……
    1、能利用對象觀察器直接設(shè)置且不會影響程序正常運行的就沒有必要去寫代碼:
    由于這個話題涉及面太廣,此處僅舉一例說明:比如要在Delphi4中實現(xiàn)在狀態(tài)欄上的自動提示,又沒有太“苛
    刻”的條件時,我們沒有必要再像以前一樣,先定義一個過程(ShowMyHint(...)),然后在程序初始化的地方
    把她賦值給Tapplication的OnHin事件。因為只需將狀態(tài)條的AutoHint屬性設(shè)為True即可!當然,她似乎只能在
    第一個Panel上顯示(這就是沒有太“苛刻”的條件時)。當然,怪我羅嗦,有的朋友居然不知道Delphi的Hint
    屬性由兩部分組成,此處不是說話之地,感興趣請到筆者的個人主頁上去遛遛www.zg169.net/~delphiok(剛開
    張,東西還不多)。
    2、節(jié)省代碼:
    能夠少寫代碼就沒有必要多寫代碼,能夠精煉就不要冗余:
    比如,以下的兩段代碼實現(xiàn)的功能完全相同,你喜歡用哪段?
    代碼段一:
    if ToolButton1.Down=true then
    begin
    Dbgrid1.show;
    DelBtn.Enabled:=true;
    end
    else
    begin
    Dbgrid1.Hide;
    DelBtn.Enabled:=false;
    end;
    代碼段二:
    Dbgrid1.Visible:=ToolButton1.Down;
    DelBtn.Enabled:=ToolButton1.Down;
    因此,我們寫完程序后,不要僅僅追求程序調(diào)通,不妨也給程序代碼炸炸油。
    3、節(jié)省變量:
    有的程序員在不需要變量的地方定義了變量,在需要變量的地方定義了多余的變量,我個人認為這都不是好的
    習慣,特別是動不動就定義全局變量更是值得商榷。有的讀者可能認為我是一個守財奴,現(xiàn)在的處理器速度都
    什么年代了……但我只簡單的給你展示一段代碼你就明白了:
    procedure TForm1.Button1Click(Sender: TObject);
    Var s1,s2:String;
    begin
    s1:=Inputbox('數(shù)據(jù)','請輸入用戶姓名',');
    if s1<>' then
    begin
    Btn_Name.Enabled:=True;
    s2:=Inputbox('數(shù)據(jù)','請輸入用戶住址',');
    if s2<>' then
    Btn_Adress.Enabled:=True;
    end;
    end;
  • 當然,本文的這些小例子僅僅從側(cè)面表述了筆者的一些個人觀點,要充分體現(xiàn)Delphi的高效性,這些還遠遠不夠!限于篇幅,關(guān)于數(shù)據(jù)庫以及其他高級話題在這里均未涉及,特別是數(shù)據(jù)庫編程方面,Delphi提供了相當?shù)撵`活性!當然,萬變不離其宗,只要隨時注意Delphi是完全面向?qū)ο蟮?,有對象就考慮其屬性、事件、方法、繼承、引用等等。

  • 上一篇:Delphi實用編程經(jīng)驗二則

    下一篇:從delphi6,kylix看borland的未來發(fā)展

    發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    學習交流
    熱門圖片

    新聞熱點

    疑難解答

    圖片精選

    網(wǎng)友關(guān)注

    亚洲精品一区二区三区福利| 在线观看一区欧美| 希岛爱理一区二区三区av高清| 91久久久久久久久久久| 久久视频免费在线观看| 亚洲精品成人无码毛片| 欧美一级二级视频| 麻豆成人av在线| 欧美日韩一区二区三区在线观看免| 大胆欧美人体视频| 台湾av在线二三区观看| 午夜剧场成人观在线视频免费观看| 日韩一级片免费| 欧美成人精品一区二区三区| 日韩成人伦理电影在线观看| 亚洲第一成人网站| 亚洲人午夜精品免费| 无码人妻久久一区二区三区| 国产福利免费在线观看| 日韩精品人妻中文字幕有码| 欧美久久九九| 色视频在线观看在线播放| 精品99视频| 香港日本韩国三级网站| 蜜桃av噜噜一区二区三区小说| 久久久噜久噜久久综合| 日韩精品视频一区二区在线观看| 国产精品午夜一区二区三区| 国产精品久久午夜夜伦鲁鲁| 麻豆一区二区99久久久久| 久久亚洲一区二区三区四区五区高| 亚洲天天在线日亚洲洲精| 欧美视频免费| 日韩一区精品| 自拍亚洲国产| 欧美日韩国产一二| 日本免费色视频| 欧美日韩久久不卡| 人人妻人人玩人人澡人人爽| 欧美日韩国内自拍| 欧美精品乱人伦久久久久久| 亚洲欧美小说国产图片| 日韩一级特黄| 日韩漫画puputoon| 亚洲精品午夜久久久久久久| 无码人妻久久一区二区三区蜜桃| 亚洲最新av| 538任你躁在线精品视频网站| 中文字幕免费一区二区三区| 日韩欧美第一区| 亚洲国产精品二区| 久久伊人成人网| jizzjizz丝袜老师| 一本岛在线视频| 一区二区三区在线视频看| 一级久久久久久| 欧美壮男野外gaytube| 农村老熟妇乱子伦视频| 亚洲福利视频一区二区| 国产精品午夜一区二区| 三级电影在线看| 波多野结衣家庭教师在线| 女人被狂躁到高潮视频免费网站| 亚洲成熟少妇视频在线观看| 婷婷在线视频观看| 国产精品久久久久精| 天天想你在线观看完整版电影免费| 日b视频在线观看| 亚洲国产精品国自产拍av秋霞| 中文字幕一区二区人妻| 亚洲免费久久| 日本xxxwww免费视频| 91视频8mav| 男人的天堂在线播放| 美女黄色在线网站大全| 欧美夫妻性生活| 黄色网址免费看| 欧美伊人久久| 精品无码国产污污污免费网站| 日韩国产精品亚洲а∨天堂免| 丰满少妇乱子伦精品看片| 影音先锋国产在线| 国产美女主播在线| 北条麻妃亚洲一区| 亚洲中文字幕无码中文字| 天美av一区二区三区久久| 日韩精选在线| 成人爽a毛片免费啪啪红桃视频| 国产成人综合网站| 青青操国产视频| 国产91足控脚交在线观看| 国产精品99精品一区二区三区∴| 插我舔内射18免费视频| 国产午夜精品美女毛片视频| 国产又粗又猛又爽又黄91精品| 亚洲综合好骚| 96精品久久久久中文字幕| 亚洲国产人成综合网站| 六月丁香婷婷在线| 国产对白国语对白| 国产精品美女www| 精品国产一区二区三区不卡| 成人黄色av片| 欧美 日本 国产| www日韩tube| 精品人妻人人做人人爽夜夜爽| 国产精品yjizz视频网一二区| 一本久久精品一区二区| 一区二区三区四区在线不卡高清| 欧美不卡一二三| 欧美aⅴ99久久黑人专区| 精品毛片网大全| 九九热中文字幕| 午夜私人影院久久久久| 国产成人精品免费视| 日韩电影一区| 麻豆国产va免费精品高清在线| 日本aa大片在线播放免费看| 欧美一级片在线| 日本一二区免费| 亚洲成人精品一区二区三区| 本网站久久精品| 日韩一区网站| 欧美视频一二三区| 精品亚洲一区二区三区在线播放| 最新黄色网址在线观看| 欧美精品一区二区三区在线看午夜| 美女网站在线免费欧美精品| 91久久国产综合久久91猫猫| 欧美婷婷在线| 欧美日本亚洲视频| 国产露脸无套对白在线播放| 99久久99视频只有精品| 精品久久久久久无码国产| 国产一区欧美| 亚洲欧美一区二区三区极速播放| 日韩亚洲欧美视频| 国产一区二区三区在线视频| 亚洲人免费短视频| 欧美国产日韩在线视频| 国产成人av网址| 国产一区二区三区不卡av| 天天综合网天天做天天受| 波多野结衣视频观看| 91在线国产电影| 美女永久在线网站| 精品久久久久久亚洲国产300| 国产精品电影一区二区| 大桥未久av一区二区三区| 欧美精品麻豆| 久久综合伊人| 欧美日韩一区二区视频在线| 国产成人无码精品久久久久| 亚洲激情自拍| 91xxx在线观看| 国产丝袜欧美中文另类| 久草福利资源在线观看| 亚洲区综合中文字幕日日| 国产超碰精品在线观看| 2色视频网站| 欧美国产日韩一二三区| 欧美一区视频| 欧美日韩免费| 婷婷综合久久中文字幕蜜桃三电影| 欧美男女性生活在线直播观看| 国产一区二区三区视频在线播放| 亚洲欧美偷拍一区| 中文字幕亚洲精品| 丰满少妇久久久久久久| 亚洲人吸女人奶水| 综合网插菊花| 丁香六月激情婷婷| 日日夜夜天堂| 搜成人激情视频| 青青草97国产精品免费观看| 粉嫩av一区二区三区免费野| 黄色网址电影| 校园春色 亚洲| 黄色录像特级片| 欧美另类99xxxxx| 久久国产欧美| 国产精品yjizz视频网| 97在线超碰| 这里只有精品在线观看| 欧美在线观看一区| 蜜臀久久99精品久久久久久宅男| 九一亚洲精品| 蜜桃网站在线观看| 四虎av网址| freesex欧美| 日本高清视频免费观看| 日韩精品国产一区二区| 忘忧草精品久久久久久久高清| 深夜福利视频在线免费观看| 麻豆一区二区三区视频| 免费一级suv好看的国产网站| 伦理一区二区三区| 亚洲已满18点击进入在线看片| 全部免费的黄色毛片| 欧洲大片精品免费永久看nba| 久久久亚洲国产天美传媒修理工| 久久伦理中文字幕| 久久av在线看| 无码内射中文字幕岛国片| 欧美成人精品一区二区| 国产人与zoxxxx另类91| 亚洲综合国产精品| 蜜臀av性久久久久蜜臀aⅴ| 黄色免费成人| 久色乳综合思思在线视频| 精品欧美一区二区三区免费观看| 免费观看成年在线视频网站| 亚洲欧洲一区二区天堂久久| 欧美va在线播放| 国产一区日韩| 女主播福利一区| 精品国产二区三区| 五月天福利视频| 免费黄色网网址| 97色伦图片97综合影院| 欧美日本黄色片| 欧美一区二区三区四区高清| 免费高清在线| 一级片在线免费看| 理论片在线不卡免费观看| 免费av福利| 成品网站w灬+源码1| 亚洲精品国产精品国产自| www.桃色.com| 波多野结衣中文字幕在线播放| 国产黄色免费在线观看| av伊人久久| 波多野在线播放| 国产+成+人+亚洲欧洲自线| 粉嫩一区二区三区在线观看| 色94色欧美sute亚洲线路一久| 国产精品1区二区.| 在线观看你懂的视频| 成人免费淫片95视频观看网站| 中文字幕日韩av电影| 国产一区亚洲二区三区| 丁香婷婷深情五月亚洲| 国产日产精品一区二区三区的介绍| 亚洲精品视频一二三| 伊人春色在线观看| 欧美理论片在线播放| 成人国产亚洲精品a区天堂华泰| 最近中文字幕在线观看| 亚洲精品乱码久久久久久动漫| 国产日韩在线亚洲字幕中文| 免费在线视频一区| 日本美女久久久| 精品国产一区二区三区久久久蜜臀| www中文字幕在线观看| 你懂的一区二区| 波多野结衣在线一区二区| 亚洲va欧美va人人爽成人影院| 亚洲成a天堂v人片| 久久久99爱| 久久综合给合| 成人在线免费观看视频网站| av天堂永久资源网| 日韩av在线发布| 好男人官网在线观看| 国产精品午夜福利| 都市激情久久| 日本最新高清不卡中文字幕| 强开小嫩苞一区二区三区视频| 亚洲二区在线视频| 国产精品久久久久国产a级| 国产成+人+综合+亚洲欧美丁香花| 久草精品视频在线观看| 精品视频在线你懂得| 国产日产欧美一区| 国产精品对白刺激久久久| 欧美日韩爆操| 日韩三级久久久| 精品人妻一区二区三区视频| 影音先锋在线中文| 中文在线视频| 99热在线成人| 99精品视频在线观看| 久久国产一区二区三区| 77777_亚洲午夜久久多人| 国产精品国产三级国产aⅴ无密码| 国产成人自拍高清视频在线免费播放| 无码人妻少妇伦在线电影| 超碰在线最新| 国产免费看av| 亚洲色婷婷综合开心网| 任你操在线观看| 91视频论坛| 国产精品爽黄69天堂a| 亚洲乱码日产精品bd在线观看| 91性感美女视频| youjizz久久| 精品裸体舞一区二区三区| 黄色网址大全在线观看| 自拍视频一区二区| 四虎免费av| 在线看一级片| 亚洲天堂中文字幕在线观看| 久久精品国产久精国产思思| 僵尸再翻生在线观看免费国语| 亚洲一级二级片| 亚洲天堂视频网| 欧美色成人综合| 亚洲国产91视频| 天天色天天爽| 免费永久在线观看黄网| 国产一卡二卡3卡4卡四卡在线| 久久天堂影院| jlzzjlzz国产精品久久| 亚洲国产精品久久久久久6q| 中文字幕av一区| 亚洲天堂网2018| 制服丝袜一区二区三区| 麻豆亚洲av熟女国产一区二| 三级理论午夜在线观看| 熟女熟妇伦久久影院毛片一区二区| 国产香蕉免费精品视频| 欧美激情视频二区| 四虎影院在线播放| 天海翼一区二区三区四区在线观看| 欧美性猛交xxxxbbbb| 成人av午夜影院| 在线观看xxxx| 精品少妇一区二区30p|