第一类:减少耦合度
实例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);