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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.10.2010, 10:45
Valentinich Valentinich вне форума
Прохожий
 
Регистрация: 26.09.2010
Сообщения: 22
Репутация: 10
По умолчанию В чёь ОШИБка ??

В чём ошибка, при нажатии выбивает ошибку и выбрасывает из программы (
Код:
var
i,j:integer; s:real;
begin
for i:=1 to 11 do
    begin s:=0;
    for j:=1 to 5 do
       begin
        s:=s+StrToInt(Form1.StringGrid1.Cells[i,j]);
       end;
      Form1.StringGrid1.Cells[i,6]:=FloatToStr(s/5);
    end;
end;
Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 12.10.2010 в 11:55.
Ответить с цитированием
  #2  
Старый 12.10.2010, 12:46
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

что за ошибка?
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.
Ответить с цитированием
  #3  
Старый 13.10.2010, 09:57
Valentinich Valentinich вне форума
Прохожий
 
Регистрация: 26.09.2010
Сообщения: 22
Репутация: 10
По умолчанию

сам немогу понять. просто пишет\ Project Project1.exe raised exception class EConvertError with message ''' is not a valid integer value'. Process Step or run to continue.
Ответить с цитированием
  #4  
Старый 13.10.2010, 10:07
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Где-то у тебя пустая строка (ячейка).
Ты пытаешься ее конвертировать в число. Естественно, ты получаешь сообщение об ошибке.
Ответить с цитированием
  #5  
Старый 13.10.2010, 11:35
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Воспользуйтесь функцией TryStrToInt что-бы обработать ошибку преобразования:
Код:
s:=s+TryStrToInt(Form1.StringGrid1.Cells[i,j],0);
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 13.10.2010, 17:40
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

не совсем верно,
Код:
  function TryStrToInt(const S: string; out Value: Integer): Boolean;
Ответить с цитированием
  #7  
Старый 13.10.2010, 17:50
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

или StrToIntDef:
Цитата:
StrToIntDef function
Converts a string that represents an integer (decimal or hex notation) to a number.

function StrToIntDef(const S: string; Default: Integer): Integer;

Description

StrToIntDef converts the string S, which represents an integer-type number in either decimal or hexadecimal notation, into a number. If S does not represent a valid number, StrToIntDef returns the number passed in Default.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter