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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2013, 19:13   #1
Climber-18
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 31
По умолчанию Компилируеться нормально, но при выводе результата выдаёт ошибку.

Ошибка при работе такова "'Is not a valid integer value'. Уже весь код перекапал немогу найти в чём проблеме.
Вот процедура с которой работать нужно.
Код:
procedure TForm8.rb1Click(Sender: TObject);
var
  i,j:Integer;  min:Integer; s:Integer;
begin
s:=0;
for i:=0 to str-1 do begin
   min:=StrToInt(form8.StringGrid2.Cells[i,0]);

  for j:=1 to stl-1 do  begin
  if  StrToInt(form8.StringGrid2.Cells[i,j])<min

   then Min:= StrToInt(Form8.StringGrid2.Cells [i,j]);
   end;
   s:=s+min;
  end;
  Label3.Caption:=IntToStr(s);

  end;

Последний раз редактировалось Climber-18; 30.01.2013 в 19:17.
Climber-18 вне форума Ответить с цитированием
Старый 30.01.2013, 19:18   #2
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

ну так вводите в StringGrid integer, а вводите что-то в стиле 1,4 наверн.
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 30.01.2013, 19:25   #3
Climber-18
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 31
По умолчанию

Цитата:
Сообщение от kventin_zhuk Посмотреть сообщение
ну так вводите в StringGrid integer, а вводите что-то в стиле 1,4 наверн.
Нет, я ввожу именно целые числа.
Climber-18 вне форума Ответить с цитированием
Старый 30.01.2013, 19:35   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

А клетки с пустыми значениями в СтрингГриде есть?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 30.01.2013, 19:37   #5
Climber-18
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
А клетки с пустыми значениями в СтрингГриде есть?
Нет, заполняю все.
Climber-18 вне форума Ответить с цитированием
Старый 30.01.2013, 19:43   #6
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Вы выходите за границы ячеек StringGrid. Это 100 %. А , т.к преобразуете результат в integer - возникает not valid integer value. У вас даже индексы разные, i - с нуля, j - с единицы. И что за переменная str, чтобы получить количество строк/ столбцов используется StringGrid1.ColCount / RowCount.
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 30.01.2013, 19:50   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Вы выходите за границы ячеек StringGrid. Это 100 %. А , т.к преобразуете результат в integer - возникает not valid integer value. У вас даже индексы разные, i - с нуля, j - с единицы. И что за переменная str, чтобы получить количество строк/ столбцов используется StringGrid1.ColCount / RowCount.
Да, похоже, это единственно верное объяснение. И возможно, что Вы перепутали строки со столбцами: в стринггриде в скобках сначала идет номер столбца, потом номер строки - отсюда и вышеописанный косяк.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 30.01.2013, 20:14   #8
Climber-18
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 31
По умолчанию

Цитата:
Сообщение от kventin_zhuk Посмотреть сообщение
Вы выходите за границы ячеек StringGrid. Это 100 %. А , т.к преобразуете результат в integer - возникает not valid integer value. У вас даже индексы разные, i - с нуля, j - с единицы. И что за переменная str, чтобы получить количество строк/ столбцов используется StringGrid1.ColCount / RowCount.
str-это строки, а stl-это столбцы. Мне сдесь нужна сумма минимальных элементов в каждом столбце, а не кол-во строк/ столбцов .
Climber-18 вне форума Ответить с цитированием
Старый 30.01.2013, 20:22   #9
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
str-это строки, а stl-это столбцы. Мне сдесь нужна сумма минимальных элементов в каждом столбце, а не кол-во строк/ столбцов .
Ну так Вам и пытаются объяснить, что то, что у Вас хранится в str и stl легко можно получить из свойств самого грида без ввода дополнительных переменных.

И ДА! Вы таки перепутали строки и столбцы, как я говорил!

Должно быть StringGrid1.Cells[j,i];
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 30.01.2013, 20:32   #10
Climber-18
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Ну так Вам и пытаются объяснить, что то, что у Вас хранится в str и stl легко можно получить из свойств самого грида без ввода дополнительных переменных.

И ДА! Вы таки перепутали строки и столбцы, как я говорил!

Должно быть StringGrid1.Cells[j,i];
Всёравно, та же ошибка(
Climber-18 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выдаёт ошибку, при попытке нахождения математического ожидания! GreyF Общие вопросы C/C++ 2 27.11.2012 10:59
Программа на Delphi выдаёт ошибку при записи в файл cezer Помощь студентам 0 05.06.2012 21:35
при попытке запустить >java ImageViewer выдаёт ошибку TDrive Общие вопросы по Java, Java SE, Kotlin 7 18.08.2011 21:52
SetLength для массива при компиляции выдаёт ошибку Gausse Общие вопросы Delphi 3 20.04.2011 15:35
выдаёт ошибку хотя компилируеться нормально supra89kren Общие вопросы C/C++ 1 29.03.2010 05:02