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

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

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

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

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

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

не могу найти пустую переменную в проверке на пустую переменную как бы породоксально это не звучало!!
вот код
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('Не все поля таблицы заполнены!')
помогите пожалуйста
alshad89 вне форума Ответить с цитированием
Старый 28.11.2017, 08:50   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А если пробел там?
Код:
For i:=1 to StringGrid1.ColCount-1 do begin
  For j:=1 to StringGrid1.RowCount-1 do begin
    b1:=Trim(StringGrid1.Cells[i,j])='';
    if b1 then Break;
  end;
  if b1 then Break;
end;
If b1 Then Showmessage('Не все поля таблицы заполнены!')
Или так если в функции
Код:
Result:=False;
For i:=1 to StringGrid1.ColCount-1 do
  For j:=1 to StringGrid1.RowCount-1 do
    if Trim(StringGrid1.Cells[i,j])='' then begin
      Showmessage('Не все поля таблицы заполнены!');
      Exit;
    end;
Result:=True;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.11.2017, 08:51   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Это сообщение про not a valid floating point value не относится к этому фрагменту кода. Потому что здесь нет никаких floating point value.
Эта ошибка бывает там, где что-то типа StrToFloat(...
type_Oleg вне форума Ответить с цитированием
Старый 28.11.2017, 09:26   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от alshad89 Посмотреть сообщение
не могу найти пустую переменную в проверке на пустую переменную
Про trim() вам правильно подсказали. Нужно обрезать ячейку перед проверкой (и, кстати, в рабочем цикле перед преобразованием trim() тоже будет полезен).
Но это не панацея.
Всё дело в том, что сообщение "not a valid floating point value", возникающее при StrToFloat() может быть вызвано не только пустой ячейкой, но и ячейкой, в которой, с точки зрения функции, не корректное представление вещественного числа (например, знаки табуляции, или текст, или число с неверным десятичным разделителем и т.д.). Поэтому, лучше контролировать содержимое ячейки перед StrToFloat. Ещё полезно использовать обработку исключений и "ловить" подобные ситуации.


Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Эта ошибка бывает там, где что-то типа StrToFloat(
Олег, так TC это понимает и пытается сделать защиту и корректно сообщить пользователю о том, что он не прав.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.11.2017, 10:17   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Или вспомнить про TryStrToFloat
p51x вне форума Ответить с цитированием
Старый 28.11.2017, 11:06   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Или вспомнить про TryStrToFloat
да, да, точно!

Хотел упомянуть об этом в своём сообщении, но упустил.
Спасибо.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi+'' is not a valid floating point value prog1995 Помощь студентам 2 11.06.2016 22:40
ошибка '' is not a valid floating point value Edvix Помощь студентам 15 04.05.2015 21:26
Ошибка is not a valid floating point value Gul'ka Общие вопросы Delphi 2 05.06.2011 02:58
is not a valid floating point value nexzis Помощь студентам 3 22.11.2010 13:55
s not a valid floating point value prod87 Помощь студентам 1 02.12.2009 20:57