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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2010, 15:33   #1
Nezaam
Пользователь
 
Аватар для Nezaam
 
Регистрация: 10.05.2010
Сообщений: 14
По умолчанию Двойное нажатие клавиши Enter

Подскажите пожалуйста, как отследить двойное нажатие клавиши Enter в Edit? Т.е. вводим в Edit какой то текст, два раза нажимаем Enter - какое то действие.

P.S. Извиняюсь если такая тема уже была. Поиском не нашел.
Я только учусь...
Nezaam вне форума Ответить с цитированием
Старый 18.08.2010, 15:44   #2
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

Занеси время нажатия в переменную, потом проверяй это время, если задержка устраивает - выполняй то, что надо и обнуляй переменную.
ZaRDaK вне форума Ответить с цитированием
Старый 18.08.2010, 15:57   #3
GoodDA
фрилансер
Форумчанин
 
Аватар для GoodDA
 
Регистрация: 18.07.2008
Сообщений: 107
По умолчанию

Код:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);
  var Hour, Min, Sec, MSec: Word;
  tt:integer;
begin
  if key = 13 then
  begin
  DecodeTime(now, Hour, Min, Sec, MSec);
  tt:=min*60+Sec;
  if tt = tedit(Sender).Tag then
    begin
      memo1.Lines.add('DoubleEnter');
      tedit(Sender).Tag :=0;
    end else tedit(Sender).Tag :=tt;
  end;
end;
а еше лучше использовать не двойной ентер, а сочетание CTRL+ENTER

Последний раз редактировалось GoodDA; 18.08.2010 в 16:02.
GoodDA вне форума Ответить с цитированием
Старый 18.08.2010, 16:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ой ой... Может проще автору сгодится?
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then begin
   tag:=tag+1;
   if tag=2 then begin
    ShowMessage('два нажатия');
    tag:=0;
   end;
 end else tag:=0;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 tag:=0;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.08.2010, 17:00   #5
Nezaam
Пользователь
 
Аватар для Nezaam
 
Регистрация: 10.05.2010
Сообщений: 14
По умолчанию

ZaRDaK, GoodDA, Stilet, спасибо за помощь. Буду разбираться.
Я только учусь...
Nezaam вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как среагировать на нажатие Enter на форме Electron Общие вопросы C/C++ 4 24.06.2010 12:49
Нажатие Enter Screame Microsoft Office Excel 1 01.11.2009 17:02
Долгое нажатие клавиши в KeyDown как одно нажатие marina15056 Общие вопросы Delphi 7 16.08.2009 00:22
отловить нажатие клавиши в ячейке (до нажатия enter) loginrl103 Microsoft Office Excel 3 07.08.2009 15:10
Событие при нажатии клавиши Enter Inbox Общие вопросы Delphi 4 12.06.2007 14:18