Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сократить код


Страницы:   1 2

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;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо