Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.11.2013, 18:54
axer axer вне форума
Прохожий
 
Регистрация: 20.11.2013
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
Восклицание '30.4' is not avalid floating point value

Проблема возникает в следующем событии...
Код:
procedure TForm2.Edit10Click(Sender: TObject);
var
zp:real;
begin
zp:=(strtofloat(edit4.text)-( strtofloat(Edit6.Text)*strtofloat(Edit9.Text) ) *0.2;
Edit10.Text:=floattostr(zp);
end;
Админ: Пользуемся тегами для оформления кода!

На моем компьютере, на котором программа писалась, все работает хорошо, ошибок не возникает.
На других компьютерах, протестировал на 3ех, возникает эта ошибка.
Пожалуйста помогите, не понимаю из-за чего...
Запятую не ввожу (вообще через keypress запретил), поля Edit не пустые.

Последний раз редактировалось Admin, 20.11.2013 в 20:16.
Ответить с цитированием
  #2  
Старый 20.11.2013, 19:06
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

DecimalSeparator если запятая запрещена и десятичным разделителем в программе считается точка, то на всякий случай (судя по ошибке тут как раз такой случай) необходимо присвоить значение '.' (символ "точка"), не на каждой ОС умолчательным является английский язык
__________________
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard
Ответить с цитированием
Этот пользователь сказал Спасибо cotseec за это полезное сообщение:
axer (20.11.2013)
  #3  
Старый 20.11.2013, 19:07
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от axer
Проблема возникает в следующем событии...
procedure TForm2.Edit10Click(Sender: TObject);
var
zp:real;
begin
zp:=(strtofloat(edit4.text)-( strtofloat(Edit6.Text)*strtofloat(Edit9.Text) ) *0.2;
Edit10.Text:=floattostr(zp);
end;

На моем компьютере, на котором программа писалась, все работает хорошо, ошибок не возникает.
На других компьютерах, протестировал на 3ех, возникает эта ошибка.
Пожалуйста помогите, не понимаю из-за чего...
Запятую не ввожу (вообще через keypress запретил), поля Edit не пустые.
У тебя скорее всего в одном из Edit'ов участвующих в вычислении есть число 30.4, а разделителем целой и дробной части в настройках тех Windows'ов где не работает скорее всего запятая, а на твоём компьютере точка.
Чтобы у себя в программе использовать точку даже если в настройках Windows'а указан другой разделитель выполни такую команду:
Код:
DecimalSeparator:='.';
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
axer (20.11.2013)
  #4  
Старый 20.11.2013, 20:03
axer axer вне форума
Прохожий
 
Регистрация: 20.11.2013
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от cotseec
DecimalSeparator если запятая запрещена и десятичным разделителем в программе считается точка, то на всякий случай (судя по ошибке тут как раз такой случай) необходимо присвоить значение '.' (символ "точка"), не на каждой ОС умолчательным является английский язык

спасибо, помогло!!)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:38.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter