DELPHI技巧总结

第一类:减少耦合度


实例1:

Button1.Enable := CheckBox1.Checked;

实例2:

Button1.Visible := not Button1.Visible;

实例3:

Button1.Caption := ReturnCompareString(Button1.Caption, '更改(&U)', '返回(&B)');

{-------------------------------------------------------------------------------
  作者:      曾聪
  日期:      2013.12.18
  过程名:    ReturnCompareString
  功能:     传入原始(当前)字符串,比较字符串1和2,返回比较字符串其中1个
  参数:      sOriStr, sCompStr1, sCompStr2: string
  返回值:    string
  说明:      主要针对点击按钮自动变化按钮上显示的文字,类似的还有点击radiobutton按钮切换显示不同的label值
-------------------------------------------------------------------------------}
function ReturnCompareString(sOriStr, sCompStr1, sCompStr2: string): string;
begin
  if sOriStr = sCompStr1 then
    Result := sCompStr2
  else if sOriStr = sCompStr2 then
    Result := sCompStr1
  else
    Result := '';
end;


 实例4:

for I := 1 to ControlCount-1 do
  if (Controls[I] is TEdit) then        //模糊判断某一类型(不区分父类和子类)
//if (Controls[I].ClassType TEdit) then //精确判断某一类型(区分父类和子类)
    TEdit(Controls[I]).Clear;
//  (Controls[I] as TEdit).Clear; 等效

实例5:

sender:Tobject指的是创建实例的容器或者叫拥有者

procedure TForm1.Edit1Change(Sender: TObject);   
  begin   
    TEdit(Sender).Text := '文本框的内容';   
  end;

问:我自己写了一个过程,其中需要调用Button1Click(Sender:TObject),我没有什么能赋给Sender的,该怎么办?

答:直接调用Button1.Click即可 或Button1Click(Button1);

实例5:

首部 function DirectoryExists(const Directory: string): Boolean; $[SysUtils.pas
功能 返回目录名FileName是否有实体存在
说明 包括隐藏目录
参考 function Windows.GetFileAttributes
例子 CheckBox1.Checked := DirectoryExists(Edit1.Text);



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值