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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2014, 20:25   #1
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию Испраивть ошибку

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['0'..'9']) = False then begin
Key:=Chr(0);
exit;
end;
WindSpeed;
end;
Если в edit содержатся буквы то не чего не делать, а если вводят цифры то выполнять процедуру WindSpeed; что я делаю не так?
UKRtortik вне форума Ответить с цитированием
Старый 03.04.2014, 20:36   #2
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию

возможно с самой процедурой проблема. Если ввожу буквы не чего не происходит а если цифры то ошибка.

Код:
procedure TForm1.WindSpeed;
var v,v1:real;
begin
v:=StrToFloat(edit1.text);
v1:=v*3.6;
label3.Caption:=floattostr(v)+' м/с - это = '+FloatToStr(v1)+' км/час';
end;
UKRtortik вне форума Ответить с цитированием
Старый 03.04.2014, 20:53   #3
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Когда вводится первая цифра в пустой эдит, то функция выполняется еще до того как эта первая цифра окажется в эдите.
Функцию WindSpeed логичнее перенести в Edit1.OnChange
northener вне форума Ответить с цитированием
Старый 03.04.2014, 20:56   #4
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Когда вводится первая цифра в пустой эдит, то функция выполняется еще до того как эта первая цифра окажется в эдите.
Функцию WindSpeed логичнее перенести в Edit1.OnChange
спасибо!!!
UKRtortik вне форума Ответить с цитированием
Старый 03.04.2014, 20:57   #5
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Ввод не числовых символов лучше блокировать через свойство NumbrsOnly Edit'а или используйте MaskEdit

Последний раз редактировалось Streletz; 03.04.2014 в 21:08.
Streletz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку - StrToFloat выдаёт ошибку EConvertError для ячеек StringGrid (Delphi) Artsiom Помощь студентам 10 18.12.2013 14:10
выдает ошибку ошибку Andrey770 Паскаль, Turbo Pascal, PascalABC.NET 5 14.03.2011 13:58
Исправте ошибку dimon305 Помощь студентам 0 18.05.2010 21:23
Найдите ошибку *natali* Помощь студентам 3 08.11.2009 17:30
Выдаёт ошибку: acos DOMAIN error,полсе нажатия окей,ещё одну ошибку pow OWERFLAW ERROR prikolist Общие вопросы C/C++ 4 10.04.2009 20:27