![]() |
|
#1
|
|||
|
|||
![]() Как сделать так чтобы при клике на одну и туже кнопку при первом клике выполнялось одно действие, а при повторном другое.
|
#2
|
|||
|
|||
![]() в программе объявить флаг какой-то. и с каждым вызовом OnClick изменять его значение
|
#3
|
|||
|
|||
![]() а с примером
![]() |
#4
|
|||
|
|||
![]() Код:
i:integer; procedure TForm1.FormCreate(Sender: TObject); begin i:=0; end; procedure TForm1.Button1Click(Sender: TObject); begin i:=i+1; case i of 1:ShowMessage ('1 клик'); 2:ShowMessage ('2 клика'); 3:ShowMessage ('3 клика'); end; end; |
#5
|
|||
|
|||
![]() Код:
var flag:integer; procedure TFrmDataEnter.Button1Click(Sender: TObject); begin if flag=1 then ... if flag=2 then ... Inc(flag); end; |
#6
|
|||
|
|||
![]() что за процедура procedure TFrmDataEnter.Button1Click(Sender: TObject);
|
#7
|
|||
|
|||
![]() Вот что мне примерно нужно. Есть кнопка, 2 едита и 1 label. Кнопка имеет надпись Сложение, при нажатии на нее происходит сложение данных в едитах и вывод суммы в Label. Кнопка меняет надпись на Вычитание. Далее по аналогии.
|
#8
|
||||
|
||||
![]() Все равно используй флаги, т.е. булевы переменые...после клика по кнопке флаг меняется с false на true (к примеру)...затем можно в OnPaint формы прописать типа, если false то кнопка плюс, если true то кнопка минус...и то же в обработчике нажатия если false то процедура плюса, если true то процедура минуса...
В начале был Бит, потом Байт и только потом появилось Слово... |
#9
|
||||
|
||||
![]() Так устроит?
Код:
Type TOperation = (opAdd,opSub,opDiv,opMul); Var Operation: TOperation; procedure TForm1.Button1Click(Sender: TObject); begin case Operation of opMul: Label1.Caption := 'Умножение'; opDiv: Label1.Caption := 'Деление'; opSub: Label1.Caption := 'Вычитание'; opAdd: Label1.Caption := 'Сложение'; end; Inc(Operation); if Operation > opMul then Operation := opAdd; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#10
|
||||
|
||||
![]() Попроще можно сделать так:
Цитата:
|