![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сократить код
Bojo © (2012-05-24 12:25:00)Подскажите пожалуйста как сократить вот такой код
Var
Des:HWND;
a,b:PChar;
begin
if (checkBox1.Checked = true) and (checkBox2.Checked = true) then begin
a:= 0 ;
b:= 0;
Edit1.Text:=('Nil');
Edit2.Text:=('Nil');
Des:=FindWindow(a,b);
end;
if (checkBox1.Checked = False) and (checkBox2.Checked = False) then begin
Des:=FindWindow(Pchar(Edit1.Text),Pchar(Edit2.Text));
end;
if (checkBox1.Checked = true) and (checkBox2.Checked = False) then begin
a:= 0 ;
Edit1.Text:=('Nil');
Des:=FindWindow(a,Pchar(Edit2.Text));
end;
if (checkBox1.Checked = False) and (checkBox2.Checked = true) then begin
b:= 0 ;
Edit2.Text:=('Nil');
Des:=FindWindow(Pchar(Edit1.Text),b);
end;
Label1.Caption :=IntToStr(Des);
end;
или другие варианты
ProgRAMmer Dimonych (2012-05-24 14:35:00) [21]> [4] Bojo © (24.05.12 14:19)
> Требуется задание параметров FindWindow c помощью edit.
> Des:=FindWindow(Pchar(Edit1.Text),Pchar(Edit2.Text));
> Если 1-й параметр Pchar(Edit1.Text) вводить через edit ;
>
> а 2-й требуется задать nil , то запись Pchar(Edit2.Text)
> не подойдет.По этому поставил CheckBox если Checked то
> Pchar(Edit1.Text) = 0
Все три варианта попробовал?
Bojo (2012-05-24 14:27:00) [22]А если расписывать FinwindowEx ... то код будет порядком больше ...
Bojo (2012-05-24 14:19:00) [23]Требуется задание параметров FindWindow c помощью edit.
Des:=FindWindow(Pchar(Edit1.Text),Pchar(Edit2.Text));
Если 1-й параметрPchar(Edit1.Text)вводить через edit ;
а 2-й требуется задать nil , то записьPchar(Edit2.Text)не подойдет.По этому поставил CheckBox если Checked то Pchar(Edit1.Text) = 0
Leonid Troyanovsky (2012-05-24 13:29:00) [24]
> Bojo © (24.05.12 12:25)
Des:=FindWindow(Pointer(Edit1.Text),Pointer(Edit2.Text));
--
Regards, LVT.
oldman (2012-05-24 12:40:00) [25]if checkBox1.Checked then begin
a:= 0 ;
Edit1.Text:=('Nil');
if checkBox2.Checked then begin
b:= 0;
Edit2.Text:=('Nil');
Des:=FindWindow(a,b); end;
else Des:=FindWindow(a,Pchar(Edit2.Text));
end
else
if checkBox2.Checked then begin
b:= 0 ;
Edit2.Text:=('Nil');
Des:=FindWindow(Pchar(Edit1.Text),b);
end;
else Des:=FindWindow(Pchar(Edit1.Text),Pchar(Edit2.Text));
end;
ProgRAMmer Dimonych (2012-05-24 12:39:00) [26]Так лучше?
Var
Des : HWND;
a, b : PChar;
begin
if checkBox1.Checked then
begin
a := nil;
Edit1.Text := 'Nil';
end
else
a := PChar(Edit1.Text);
if checkBox2.Checked then
begin
b := nil;
Edit2.Text := 'Nil';
end
else
b := PChar(Edit2.Text);
Des := FindWindow(a, b);
Label1.Caption := IntToStr(Des);
end;