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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2017, 07:16   #1
alshad89
 
Регистрация: 07.05.2015
Сообщений: 5
По умолчанию '' is not valid floating point value где ошибка в коде

вот код
ar i,j,x,count:byte;
b1,b2,b3,b4:boolean;
str:string;
px,wx:real;
begin
str:='';
b1:=false; b2:=false; b3:=false; b4:=false; count:=0;
For i:=1 to StringGrid1.ColCount-1 do
For j:=1 to StringGrid1.RowCount-1 do
If (StringGrid1.Cells[i,j]='') Then b1:=true;
If b1 Then Showmessage('Не все поля таблицы заполнены!')


ошибка выходит после этого сообщения

Else Begin
For i:=1 to StringGrid1.ColCount-1 do
For j:=1 to StringGrid1.RowCount-1 do
Begin
If (Length(StringGrid1.Cells[i,j])>5) Then Begin b2:=true; StringGrid1.Cells[i,j]:=''; End;
End;
If b2 Then Showmessage('В таблицу внесено слищком большое число прироста прибыли предприятия')
Else
Begin
For i:=1 to StringGrid1.ColCount-1 do
For j:=1 to StringGrid1.RowCount-1 do
Begin
str:=StringGrid1.Cells[i,j];
For x:=1 to Length(str) do
If (str[x]=',') Then inc(count);
If ((count>1)or(str[1]=',')or(str[Length(str)]=',')) Then b3:=true;
str:=''; count:=0;
End;
If b3 Then Begin Showmessage('В таблице неверно расставлены запятые!'); End
Else Begin
j:=1;
Repeat
For i:=1 to StringGrid1.ColCount-2 do
If ((StrToFloat(StringGrid1.Cells[i,j]))>(StrToFloat (StringGrid1.Cells[i+1,j])))
Then b4:=true;
inc(j);
Until (j=StringGrid1.RowCount);
If b4 Then Begin Showmessage('Числовые данные в таблице заданы неверно!'); End
Else Begin

Button4.Enabled:=false;

StringGrid1.Enabled:=false;
End;
End;
End;
End;
alshad89 вне форума Ответить с цитированием
Старый 04.12.2017, 07:29   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
If ((StrToFloat(StringGrid1.Cells[i,j]))>(StrToFloat (StringGrid1.Cells[i+1,j])))
Вот здесь ошибка выходит, больше негде. Значения ячеек пустые, видимо, в момент конвертации во Float
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 04.12.2017, 07:49   #3
alshad89
 
Регистрация: 07.05.2015
Сообщений: 5
По умолчанию

да вроде б и не там посмотрем по компелятору сообщение об ошибке выходит после моего сообщения об ошибке не все поля заполненны а в строчке на которую вы мне укозали все равно решил попробывать исправить ошибку но не получилось
If ((StrToFloatDEF(StringGrid1.Cells[i,j],0))>(StrToFloatDEF (StringGrid1.Cells[i+1,j],0)))
alshad89 вне форума Ответить с цитированием
Старый 04.12.2017, 07:50   #4
alshad89
 
Регистрация: 07.05.2015
Сообщений: 5
По умолчанию

подскожите пожалуйста что это может быть а то завтро уже здавать курсовой проект а у меня такой косяк
alshad89 вне форума Ответить с цитированием
Старый 04.12.2017, 08:40   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
If b3 Then Begin Showmessage('В таблице неверно расставлены запятые!'); End
А что стоит в настройках системы для действительных чисел(точка или запятая) ?
Код:
DecimalSeparator:=','; // ДО использования StrToFloat
хотя нет.
Цитата:
'' is ...
Это все-таки пустая строка(ячейка).
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 04.12.2017 в 08:44.
evg_m вне форума Ответить с цитированием
Старый 04.12.2017, 08:52   #6
alshad89
 
Регистрация: 07.05.2015
Сообщений: 5
По умолчанию

вот и я не могу понять где именно возникает эта ошибка
alshad89 вне форума Ответить с цитированием
Старый 04.12.2017, 08:58   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Проверь в цикле каждую ячейку с помощью TryStrToFloat тогда и поймешь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.12.2017, 09:19   #8
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Дебаггер в помощь, что ещё сказать?

Скиньте архив с проектом. Может, и не в этом куске кода ошибка-то возникает...
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка '' is not a valid floating point value Edvix Помощь студентам 15 04.05.2015 21:26
ошибка в делфи is not a valid floating point value при нажатии на вкладку компонента Main.Menu Chhristophe Помощь студентам 2 16.01.2014 02:01
ошибка '' is not a valid floating point value(delphi 7) other2013 Помощь студентам 4 20.11.2013 00:59
Ошибка: is not a valid floating point value Toshibo Общие вопросы Delphi 4 26.05.2012 22:33
Ошибка is not a valid floating point value Gul'ka Общие вопросы Delphi 2 05.06.2011 02:58