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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.05.2015, 13:02
Edvix Edvix вне форума
Прохожий
 
Регистрация: 04.05.2015
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Ошибка "is not a valid floating pointing value"

Код:
Type    osoba=record
   pib: string[15];
   stat: string[1];
   vik, rik, stazh ,rist: integer;
   date:string[10];
   rozmpensii: real;
   dnr:string[10];
 
 end;
var f:file of osoba;    //файл записів
z: osoba;   //запис
namefile: string;   //ім'я файла
nbtn2: integer;
 
 
procedure TForm1.Button9Click(Sender: TObject);
 var    i,rik_1: integer;
      qwer,qwer1, q: real;
begin
 rik_1:=StrToInt(Edit7.text);
 i:=0;
 reset(f);  //Відкрити файл
 seek(f,0); //Перевести покажчик на початок файла
 //Підпис стовпців компонента StringGrid3
 with StringGrid3 do
  begin
   cells[0,0]:='Прізвище';
   cells[1,0]:='Стать';
   cells[2,0]:='Дата народження';
   cells[3,0]:='Рік виходу на пенсію';
   cells[4,0]:='Трудовий стаж';
   cells[5,0]:='Розмір пенсії';
  end;
  StringGrid3.Show; //Компоненти видимі
  //Пошук даних за критерієм і виведення результату на екран
 
  while not eof (f) do
   begin
    read(f,z);
    with z do
     if rik_1=z.rik  then
       begin
         i:=i+1;
         StringGrid3.Cells[0,i]:=z.pib;
         StringGrid3.Cells[1,i]:=z.stat;
         StringGrid3.Cells[2,i]:=z.date;
         StringGrid3.Cells[3,i]:=IntToStr(z.rik);
         StringGrid3.Cells[4,i]:=IntToStr(z.stazh);
         StringGrid3.Cells[5,i]:=FloatToStr(z.rozmpensii) ;
       end;
     if z.stat='Ч' then
         begin
           for i:=1 to (stringGrid3.rowcount-1) do
            begin
              z.rozmpensii:=z.rozmpensii+strtofloat(stringgrid3.cells[5,i]);
            end;
           qwer:=z.rozmpensii/( stringGrid3.rowcount-1);
           Label17.Caption:='Середній розмір пенсії чоловіків складає: '+floattostr(qwer);
         end ;
     if z.stat='Ж' then
         begin
            for i:=1 to (stringGrid3.rowcount-1) do
            begin
              z.rozmpensii:=z.rozmpensii+strtofloat(stringgrid3.cells[5,i]);
            end;
           qwer1:=z.rozmpensii/( stringGrid3.rowcount-1);
           Label18.Caption:='Середній розмір пенсії жінок складає: '+floattostr(qwer1);
         end;
 
  CloseFile(f);
  Button10.Show;
  end;
 
end;
MAD: теги.

Программа компилируется,но выскакивает такое сообщение,в чем ошибка?

Последний раз редактировалось M.A.D.M.A.N., 04.05.2015 в 13:36.
Ответить с цитированием
  #2  
Старый 04.05.2015, 19:56
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Видимо, где-то ты пытаешься конвертировать пустую строку в число с плавающей точкой. В твоем коде, представленном выше (кстати, предупреждение за неправильное оформление), таких мест 2 (стоки 55 и 64).
Переписать можно так:
Код:
z.rozmpensii:=z.rozmpensii+ifthen(stringgrid3.cells[5,i]='',0,strtofloat(stringgrid3.cells[5,i]));

ЗЫ. Вообще, этот блок кода нехорошо написан. 2 if'а, а разница только в выводе в соотв. лейбл.
Ответить с цитированием
  #3  
Старый 04.05.2015, 20:42
Edvix Edvix вне форума
Прохожий
 
Регистрация: 04.05.2015
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

помоги мне сделать правильно,я уже бьюсь над этим 4 часа и ничего не выходит
Вложения
Тип файла: rar 2.rar (313.4 Кбайт, 1 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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