Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.11.2009, 22:40
Михалыч Михалыч вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 142
Репутация: 15
По умолчанию Кнопка

Как сделать так чтобы при клике на одну и туже кнопку при первом клике выполнялось одно действие, а при повторном другое.
Ответить с цитированием
  #2  
Старый 02.11.2009, 22:45
Redstason Redstason вне форума
Новичок
 
Регистрация: 24.02.2007
Сообщения: 57
Репутация: 10
По умолчанию

в программе объявить флаг какой-то. и с каждым вызовом OnClick изменять его значение
Ответить с цитированием
  #3  
Старый 02.11.2009, 22:59
Михалыч Михалыч вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 142
Репутация: 15
По умолчанию

а с примером
Ответить с цитированием
  #4  
Старый 02.11.2009, 23:15
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Код:
  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  
Старый 02.11.2009, 23:53
Redstason Redstason вне форума
Новичок
 
Регистрация: 24.02.2007
Сообщения: 57
Репутация: 10
По умолчанию

Код:
var
 flag:integer;

procedure TFrmDataEnter.Button1Click(Sender: TObject);
begin
 if flag=1 then
  ...
 if flag=2 then
  ...
Inc(flag);
end;
Ответить с цитированием
  #6  
Старый 03.11.2009, 00:17
Михалыч Михалыч вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 142
Репутация: 15
По умолчанию

что за процедура procedure TFrmDataEnter.Button1Click(Sender: TObject);
Ответить с цитированием
  #7  
Старый 03.11.2009, 00:20
Михалыч Михалыч вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 142
Репутация: 15
По умолчанию

Вот что мне примерно нужно. Есть кнопка, 2 едита и 1 label. Кнопка имеет надпись Сложение, при нажатии на нее происходит сложение данных в едитах и вывод суммы в Label. Кнопка меняет надпись на Вычитание. Далее по аналогии.
Ответить с цитированием
  #8  
Старый 03.11.2009, 08:01
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Все равно используй флаги, т.е. булевы переменые...после клика по кнопке флаг меняется с false на true (к примеру)...затем можно в OnPaint формы прописать типа, если false то кнопка плюс, если true то кнопка минус...и то же в обработчике нажатия если false то процедура плюса, если true то процедура минуса...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #9  
Старый 03.11.2009, 12:15
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Так устроит?
Код:
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  
Старый 03.11.2009, 20:57
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию 1

Попроще можно сделать так:
Цитата:
Var
Flag: Boolean = True;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Flag Then Button1.Caption:= 'Сложение.'
Else Button1.Caption:= 'Вычитание.';
Flag := NOT(Flag);
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:37.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025