Вниз
Скачать: CL | DM;

Помогите!!!   Найти похожие ветки 

← →
Viginal   (2002-11-28 15:48) [0]

Народ помогите!!! у меня две комманды и нужно что бы когда нажимаешь на кнопку иполняется первая комманда а когда нажимаешь второй раз на копку исполняетяс вторая комманда!!! ( вообще то комманд много) но если знаете кто напишите пожайлуста очень надо!!!! буду очень юлагодарен!!!


← →
Song ©   (2002-11-28 15:51) [1]

Это никак нельзя... Сорри.. :-\


← →
[NIKEL] ©   (2002-11-28 15:52) [2]

ну если тока 2 команды - то достаточно какого-то глобального флага типа boolen Flag.
сделал 1 команду и ставишь флаг в true, при втором нажатии анализируешь Flag если он true то выполняешь 2 команду

а если больше команд, то лучше сделаю переменную типа enum


← →
Axis_of_Evil ©   (2002-11-28 15:53) [3]

Или свойство Tag у Button - Tag - номер следующей команды


← →
Song ©   (2002-11-28 15:56) [4]

Var Flag:Boolean=False;


Procedure TForm1.Button1Click(Sender:TObject);
Begin
IF Flag then dosecond else dofirst;
Flag:=not Flag;
End;


← →
}{enon ©   (2002-11-28 15:57) [5]

Не уверен, но по-моему так:

procedure TFormmain.KnopkaOnClick(...);
begin
Knopka.OnClick:=p1;
end;

procedure p1;
begin
Edit1.Text:="Выполнена первая команда";
Knopka.OnClick:=p2;
end;

procedure p2;
begin
Edit1.Text:="Выполнена вторая команда";
Knopka.OnClick:=p1;
end;

P.S. Сам не пробовал {сейчас у меня нет Delphi :-( }, гарантий не даю.


← →
vaneks   (2002-11-28 18:28) [6]

Axis_of_Evil прав! Его вариант самый лучший :) вот пример:

procedure TForm1.Button1.Click (Sender: TObject);
begin
case Button1.Tag of
0:
begin
Command0;
Inc(Button1.Tag); //Если несработает пиши Button1.Tag := Button1.Tag + 1;
end;
1:
begin
Command1;
Inc(Button1.Tag); //Если несработает пиши Button1.Tag := Button1.Tag + 1;
end;
2:
begin
Command2;
Inc(Button1.Tag); //Если несработает пиши Button1.Tag := Button1.Tag + 1;
end;

...

n:
begin
CommandN;
Inc(Button1.Tag); //Если несработает пиши Button1.Tag := Button1.Tag + 1;
end;
else
MessageDlg("Неизвестная команда!!!", mtError, [mbOK], 0);
end;


Или более универсальный вариант:

procedure TForm1.Button1.Click (Sender: TObject);
begin
With Sender as TButton do
begin
case Tag of
0:
begin
Command0;
Inc(Tag); //Если несработает пиши Tag := Tag + 1;
end;
1:
begin
Command1;
Inc(Tag); //Если несработает пиши .Tag := Tag + 1;
end;
2:
begin
Command2;
Inc(Tag); //Если несработает пиши Tag := Tag + 1;
end;

...

n:
begin
CommandN;
Inc(.Tag); //Если несработает пиши Tag := Tag + 1;
end;
else
MessageDlg("Неизвестная команда!!!", mtError, [mbOK], 0);
end;
end;


← →
vaneks   (2002-11-28 18:31) [7]

Вроде в моей писанине ошибок нет :) А если найдешь подскажи. Или компилятор будет ругаться тогда вместе поищим!!!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
4-28329
Алексей Ким
2002-10-23 18:05
2002.12.09
on top


1-28030
_Stealth
2002-11-29 19:24
2002.12.09
Как в TMEMO выделять текст разными цветами?


3-27885
Calm
2002-11-21 13:40
2002.12.09
Использование значения, возвращаемого процедурой


14-28267
VEG
2002-11-18 20:47
2002.12.09
Наш любимый чат...


1-28079
ЮРИЙ_К
2002-11-27 15:57
2002.12.09
TreeView и свойство AutoExpand ???




   Наверх