Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

Edit не принимает цифр   Найти похожие ветки 

 
dido   (2004-07-07 02:00) [0]

Вот кусок кода:
var
mzp_:real;
begin
 mzp_:=StrToFloat(Edit1.Text);
При вводе цифры в Edit появляется сообщение
"is not a valid floating point value".
В чем дело и как исправить?


 
Andy BitOff ©   (2004-07-07 02:06) [1]

А что в Edit"е?


 
AndrewVolkov ©   (2004-07-07 02:06) [2]

насколько я понимаю, для разделителя ты используешь не тот символ, который стоит у тебя в региональных настройках для разделения дробных числе. Запятая или точка.


 
Andy BitOff ©   (2004-07-07 02:09) [3]

Или я не правильно понимаю или одно из двух... Он написал: "При вводе цифры", т.е. одной цифры, не числа, не значения, а ЦИФРЫ.


 
AndrewVolkov ©   (2004-07-07 02:16) [4]

Из того что он дал, мне больше ничего на ум не приходит...
Да и влюбом случае проблема явно будет в этом...


 
GuAV ©   (2004-07-07 02:20) [5]

А может не тот Eidt? :)


 
MIGUR   (2004-07-07 02:27) [6]

Уменя была подобная проблема, при вводе цифр все нормальо но если ставлю число с десятичной точкой, то вылетает с ошибкой точно непомню но вроде с такойже.
Решил так:
DecimalSeparator := "."; //разделитеь дроби т.е точка или запятая
Попробуй поставь "." или "," должно получится.


 
Andy BitOff ©   (2004-07-07 02:28) [7]

Так, а он ни чего и не дал, кроме рабочего кода :)
------
Подскажите, у меня лабел не показывает.
begin
 Label1.Caption:="Вася";
end;


 
MIGUR   (2004-07-07 02:33) [8]

Что он у тебя непоказывает???


 
Andy BitOff ©   (2004-07-07 02:33) [9]

Ладно, чего-то я разошелся, извиняйте. Просто надо давать более поную информацию. Например:
Вот кусок кода:
var
mzp_:real;
begin
mzp_:=StrToFloat(Edit1.Text);
При вводе числа 123,434 в Edit появляется сообщение
"is not a valid floating point value".
В чем дело и как исправить?


 
Andy BitOff ©   (2004-07-07 02:34) [10]


>MIGUR   (07.07.04 02:33) [8]
>Что он у тебя непоказывает???

ВОТ ИМЕННО!!!


 
MIGUR   (2004-07-07 02:36) [11]

Теперь всё должно работать:
var
mzp_:real;
begin
DecimalSeparator := ",";
mzp_:=StrToFloat(Edit1.Text);
end;

ВСЁ OK!


 
Ega23 ©   (2004-07-07 09:26) [12]

MIGUR   (07.07.04 02:36) [11]

А теперь я в твой Edit число с точкой введу. :о)


 
_ALEXey_   (2004-07-07 10:52) [13]

Как исправить:
1. Использовать TMaskEdit;
2. Самому писАть функцию проверки формата числа;
3. Загнать конвертацию в Try...Except...


 
GEN   (2004-07-07 14:00) [14]

>MIGUR   (07.07.04 02:36)
>А теперь я в твой Edit число с точкой введу.

 Так разреши в Edit вводить только 0..9; ","; "-" - и никаких
проблем.


 
ssk ©   (2004-07-07 14:03) [15]

вот когда-то писал наследника. попробуй. это Edit для ввода целых и десятичных чисел. десятичный разделитель определяется автоматически. имеется функция размещения вводимого текста. также можно установить точность ввода после дес.разделителя.

www.ucad.pisem.net/sskeditflint.zip


 
Anatoly Podgoretsky ©   (2004-07-07 14:24) [16]

Подозреваю что это в обработчике OnChange


 
KADAN ©   (2004-07-07 14:29) [17]

а может это просто делается в событии  OnKeyDown и не надо было демагогию разводить?


 
KADAN ©   (2004-07-07 14:30) [18]

воветую перевести в OnChange


 
MacroDenS ©   (2004-07-07 14:36) [19]


Так разреши в Edit вводить только 0..9; ","; "-" - и никаких
проблем


Да и не забудь еще #8 (бэкспэйс), также при вводе лучше отслеживать нажатие знака "-", что бы он был в первой позиции.


 
Anatoly Podgoretsky ©   (2004-07-07 14:45) [20]

KADAN ©   (07.07.04 14:30) [18]
Наоборот советую убрать оттуда


 
MacroDenS ©   (2004-07-07 14:47) [21]

Работай через OnKeyPress


 
KADAN ©   (2004-07-07 15:04) [22]

Anatoly Podgoretsky ©   (07.07.04 14:45) [20]

Почему же? OnChange вызывается только после того как текст изменился. Я например использовал это для проверки правильности ввода числа в эдит (подозреваю что и здесь такая же ситуация) и включал/отключал btnOK. По мне, так очень удобно.


 
Anatoly Podgoretsky ©   (2004-07-07 15:23) [23]

KADAN ©   (07.07.04 15:04) [22]
И будет очень часто "is not a valid floating point value".


 
KADAN ©   (2004-07-07 15:40) [24]


> Anatoly Podgoretsky ©   (07.07.04 15:23) [23]


> И будет очень часто "is not a valid floating point value".

вот на еррор-то и отключается буттон... (в трай-ексепте)
либо Val если не охота с еррорами возиться :)


 
Anatoly Podgoretsky ©   (2004-07-07 16:08) [25]

KADAN ©   (07.07.04 15:40) [24]
Вот ты умеешь подавлять сообщение, а он явно нет, это конечно при условии что есть обработчики.



Страницы: 1 вся ветка

Текущий архив: 2004.07.18;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.026 c
3-1088078300
Эдик
2004-06-24 15:58
2004.07.18
Индексы в Local SQL


1-1088765919
Popovich A.
2004-07-02 14:58
2004.07.18
Вопросик по TImage


3-1087914032
TUser
2004-06-22 18:20
2004.07.18
FieldByName vs FieldValues


4-1086285194
Kair
2004-06-03 21:53
2004.07.18


11-1076769216
RA
2004-02-14 17:33
2004.07.18
Меня часто вспрашивают: "А зачем оно надо?".