Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-28087
Dr. Web
2002-11-28 11:20
2002.12.09
исходники компонентов Dream Scripter и Dream controls для Delphi6


1-28036
Smithson
2002-11-29 11:10
2002.12.09
Как сменить наследника у фрейма с .dfm-файлом


7-28325
Tony'c
2002-09-28 19:59
2002.12.09
Как программно включить удалённый компутер


4-28351
Stenkz
2002-10-22 06:47
2002.12.09
Вопрос - Kак преобразовать String в Pchar и обратно???


3-27878
Anics
2002-11-21 08:50
2002.12.09
Не работает INSERT





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский