科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Delphi 小技巧两则

Delphi 小技巧两则

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍了Delphi的 小技巧两则.

作者:佚名 来源:逸仙时空 2007年11月2日

关键字: Delphi 技巧

  • 评论
  • 分享微博
  • 分享邮件
最近在研究类及类方法时发现一些很有趣的用法,这里挑出两则最有用的与大家分享。 
 一、访问保护属性

  众所周知,delphi的对象有private、protected和public三个级别的访问控制。而delphi有一个奇怪的规则,就是在同一个unit里的对象可以互相访问对方的protected 级别属性!
  利用这个特性,我们可以轻松访问任意对象的protected级别属性。虽然这样不是很符合面向对象编程的封装的思想,但有时的确是非常有用的。比如在使用TDBGrid时,我们对如何获得其Row和Col非常头疼,其实在TDBGrid中,Row和Col都是protected级别的属性,我们只要在需要使用这两个属性的unit的interface里声明  

  TFakeGrid = class(TDBGrid);  

  然后就可以使用TFakeGrid(ADBGrid).Row和TFakeGrid(ADBGrid).Col 轻松访问了,这个规则对protected里的方法同样适用。  



二、类方法的使用类方法(Class methods)是一类特殊的方法,它们在声明时要以class开头 

   type 

 TFigure = class 

 public  ...

  class procedure GetInfo(var Info: TFigureInfo);

virtual; 

 ... 

 end;  

  实现时也以class开头 

 class procedure TFigure.GetInfo(var Info: TFigureInfo); 

 begin

  ...

  end; 

 (具体意义请自行查看帮助)   

  乍一看好象平时没有遇到过这个东东,也没有看到过谁用过这个东东,好象这个东东也没有什么大作用,其实不然……  比如我们有时为输入密码或其他常用数据专门做一个form,但由于其代码都在form定义的unit里面,所以在使用时仅仅需要几行代码,比如

  with TfrmPassword.Create(nil)

do  

try

  ShowModal; 

 finally 

 Free; 

 end;  

  虽然这样的代码已经很简洁,但如果写个十七八个还是很讨厌的。利用类方法可以使其更简洁!

一行足以……  

TfrmPassword = class(TForm) 

 ...  

public

  { Public declarations }  

class f tion Execute: TModalResult;  

end; 

 ...

  class function TfrmPassword.Execute:

TModalResult; 

 begin

  with TfrmPassword.Create(nil)

do 

 try  

 Result := ShowModal; 

 finally

  Release; //注意此处必须为release不能为free! 



 end; 

 end; 

 然后只用一行  

  TfrmPassword.Execute;    

即可直接完成调用……是否很爽^_^

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    闂傚倷绶¢崣搴ㄥ窗閺囩偐鏋庨柕蹇嬪灪婵ジ鏌曡箛瀣偓鏍綖閿燂拷

    濠电姷顣介埀顒€鍟块埀顒€缍婇幃妯诲緞閹邦剛鐣洪梺闈浥堥弲婊勬叏濠婂牊鍋ㄦい鏍ㄧ〒閹藉啴鏌熼悜鈺傛珚鐎规洘宀稿畷鍫曞煛閸屾粍娈搁梻浣筋嚃閸ㄤ即宕㈤弽顐ュС闁挎稑瀚崰鍡樸亜閵堝懎濮┑鈽嗗亝濠㈡ê螞濡ゅ懏鍋傛繛鍡樻尭鐎氬鏌嶈閸撶喎顕i渚婄矗濞撴埃鍋撻柣娑欐崌閺屾稑鈹戦崨顕呮▊缂備焦顨呴惌鍌炵嵁鎼淬劌鐒垫い鎺戝鐎氬銇勯弽銊ф噥缂佽妫濋弻鐔碱敇瑜嶉悘鑼磼鏉堛劎绠為柡灞芥喘閺佹劙宕熼鐘虫緰闂佽崵濮抽梽宥夊垂閽樺)锝夊礋椤栨稑娈滈梺纭呮硾椤洟鍩€椤掆偓閿曪妇妲愰弮鍫濈闁绘劕寮Δ鍛厸闁割偒鍋勯悘锕傛煕鐎n偆澧紒鍌涘笧閹瑰嫰鎼圭憴鍕靛晥闂備礁鎼€氱兘宕归柆宥呯;鐎广儱顦伴崕宥夋煕閺囥劌澧ù鐘趁湁闁挎繂妫楅埢鏇㈡煃瑜滈崜姘跺蓟閵娧勵偨闁绘劕顕埢鏇㈡倵閿濆倹娅囨い蹇涗憾閺屾洟宕遍鐔奉伓

    重磅专题
    往期文章
    最新文章