Я создал простой проект, содержащий 3 TEdit, 1 TButton и 3 строковой и логической переменных. Как я создаю процедуру или функцию для установки Button.Enable: = True, когда каждое значение в TEdit было изменено. Необходимо сократить кодирование путем создания процедуры или функции вместо кода ниже.
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
btnSave: TButton;
procedure FormCreate(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
private
{ Private declarations }
public
strWelcome, strTo, strThailand: String;
modify1, modify2, modify3 : Boolean;
{ Public declarations }
end;
При создании формы я передаю значение из 3 строк в 3 TEdit.Text и устанавливаю для переменной модификации значение False.
procedure TForm1.FormCreate(Sender: TObject);
begin
strWelcome := 'Welcome';
strTo := 'To';
strThailand:= 'Thailand';
modify1 := false;
modify2 := false;
modify3 := false;
Edit1.text := strWelcome;
Edit2.text := strTo;
Edit3.text := strThailand;
end;
Один выход из 3 TEdit назначается Edit1Exit (отправитель: TObject); для проверки текстового значения все равно равно начальному значению или нет? Если некоторые из TEdit.Text были изменены, btnSave будет включен.
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if Edit1.Text = strWelcome then
modify1 := False
else
modify1 := True;
if Edit2.Text = strTo then
modify2 := False
else
modify2 := True;
if Edit3.Text = strThailand then
modify3 := False
else
modify3 := True;
btnSave.Enabled := modify1 or modify2 or modify3;
end;
Любая идея создать процедуру или функцию, чтобы уменьшить приведенный выше код. :)