Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2013, 13:03   #1
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
Вопрос Обработка OnKeyPress

Код:
if key=VK_SPACE then
  begin
    inc(i);
    setlength(Point,i);
    GetCursorPos(Point[i-1]);
    if flagmemo2=false
    then
    begin
    Memo2.Lines.Add('--------------------1--------------------');
    flagmemo2:=true;
    end;
    Memo2.Lines.Add('(X=' + IntToStr(Point[i-1].X)+ ',Y='+ IntToStr(Point[i-1].Y)+')');
    Label6.Caption:='Кол-во                '+IntToStr(count+1);
    count:=count+1;
   end;
Подскажите как сделать чтобы каждые 3 нажатия на кнопку выбивало строчку типа этой
Код:
Memo2.Lines.Add('--------------------1--------------------');
только не "1", а порядковый номер.

И общий такой вопрос который не дает мне покоя. Как сделать чтобы при нажатии на одну выполнялись разные действия. Типа как в плеерах. 1 раз нажал на пробел - пауза, второй раз нажал на пробел - плей
Praud вне форума Ответить с цитированием
Старый 24.08.2013, 13:08   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Что-то в таком духе, Button1.Tag не обязательно, любой другой счетчик и не обязательно в Button1Click
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Tag:=Button1.Tag+1;
  if Button1.Tag=3 then begin
    //чет делаем
    Button1.Tag:=0;
  end;
end;
Разные действия в зависимости от значения счетчика выполнять
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.08.2013, 13:39   #3
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Button1.Tag - конкретно для кнопки, хорошо. А как сделать на клавиши?
Нельзя же к примеру сделать VK_SPACE.Tag. И как выкручиваться?
Praud вне форума Ответить с цитированием
Старый 24.08.2013, 13:48   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

любой другой счетчик означает любую переменную, например в Private формы
Код:
if key=VK_SPACE then begin
  Inc(MyVariable);
  if MyVariable=3 then begin
    ... 
    MyVariable:=0;
  end;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 24.08.2013 в 13:50.
Аватар вне форума Ответить с цитированием
Старый 24.08.2013, 13:57   #5
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Общий смысл понятен, спасибо
Praud вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OnKeyPress ... Vova777 Общие вопросы Delphi 31 18.10.2015 12:10
onkeypress WerDinG Помощь студентам 0 18.11.2011 21:28
Обработка события Onkeypress в дополнительном модуле vedro-compota Общие вопросы Delphi 2 01.05.2010 15:29
OnKeyPress aurora_87 Общие вопросы C/C++ 3 15.01.2010 12:06