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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2013, 22:41   #1
X_ALONE_X
 
Регистрация: 24.08.2011
Сообщений: 8
По умолчанию Работа с компонентом Edit в Delphi

Вопрос.
На форме имеется компонент Edit. Необходимо сделать следующее: Вводим значение в Edit, нажимаем клавишу Enter и в этом же поле отображается результат. Далее снова нажимаем клавишу Enter и это поле очищается. Ну далее по новой, начинаем с ввода значения. Что нужно прописать, что бы при втором нажатии Enter, поле очистилось?
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  a: string;
begin
  case key of
    '0'..'9': ;
    #13:
      begin
        a:=edit1.Text;
        edit1.Text:=floattostr((strtofloat(a))*0.45);
        edit1.SetFocus;
      end;
    #8: ;
  else
    key:=chr(0);
  end;
end;
X_ALONE_X вне форума Ответить с цитированием
Старый 16.11.2013, 23:00   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Тебе нужно повесить какой-то внешний флаг - информацию о том, какой раз нажимается Энтер в Эдите. Большинство компонентов имеет поле Tag (наверно в Эдите тоже есть) который можешь задействовать как дополнительный критерий. То есть в метке #13 нужно ставить условие где бы программа могла определять - считать результат или очищать Эдит.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 16.11.2013, 23:04   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Создайте что-то типа логического триггера. Глобальную переменную
Код:
var
  Form1: TForm1;
  chet:Boolean;
// .....
procedure TForm1.FormCreate(Sender: TObject);
begin
 chet:=True;
end; 
// ...
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
// ...
 if chet 
   then  // вычисления
   else  edit1.Text:='';
 chet:=not chet;
type_Oleg вне форума Ответить с цитированием
Старый 16.11.2013, 23:04   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

интересен смысл сего бессмысленного занятия
eval вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с компонентом SringGrid (Delphi) McSullivan Помощь студентам 4 10.11.2012 23:11
Работа с компонентом Tmemo.(Delphi) ThreeKilo Помощь студентам 3 15.05.2012 22:48
Работа с компонентом Edit Fon_Blut Помощь студентам 2 17.05.2011 21:19
Работа с компонентом SevenZip (7zip) в Delphi Claster Помощь студентам 0 04.04.2011 13:16
[Delphi] Работа с компонентом TButton в режиме run-time Rydj Помощь студентам 17 29.01.2011 15:56