Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 831

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Нужна помощь по одному вопросу, не работает вот такая процедура, ругается видимо на перевод, ошибка вылезает в рантайме: is not a valid integer value в таблице находятся цифры от -50 до 50. Заранее благодарен.

Приложение:
  1. procedure TForm1.Button2Click(Sender: TObject);
  2. var i,j,max:integer;
  3. begin
  4. i:=1;
  5. max:=strtoint(StringGrid1.cells[i,1]);
  6. for j:=2 to StringGrid1.RowCount do begin
  7. if max<strtoint(StringGrid1.cells[i,j]) then max:=strtoint(StringGrid1.cells[i,j])
  8. end;
  9. max:=strtoint(StringGrid1.cells[i,1]);
  10. Button1.Caption:=inttostr(max);
  11.  
  12. end;


fff Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: fff (статус: Посетитель)
Вопрос отправлен: 24 мая 2009, 09:52
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 24 мая 2009, 10:53; участников в обсуждении: 3.
Dron

Dron (статус: Студент), 24 мая 2009, 10:07 [#1]:

В StringGrid нумерация строк и столбцов начинается с нуля. Думаю, ваша проблема в этом.
С уважением.
Ozz

Ozz (статус: Посетитель), 24 мая 2009, 10:20 [#2]:

Не только, у него в коде выводится значение max:=strtoint(StringGrid1.cells[i,1]);
т.е. первой ячейки, т.к. i тоже равно 1. Из кода вообще мало понятно чего надобно, но вроде вот как надо
max:=0;
i:=1;
for j:=1 to StringGrid1.RowCount-1 do begin
if max<strtoint(StringGrid1.cells[i,j]) then max:=strtoint(StringGrid1.cells[i,j])
end;
Button1.Caption:=inttostr(max);
fff

fff (статус: Посетитель), 24 мая 2009, 10:27 [#3]:

Да спасибо большое, это просто пробный вариант кода, потому как ниодин не работал.... Теперь я понял в чем была моя ошибка -1 не поставил))) всем спасибо, щас посмотрим как в целом заработает..
Ozz

Ozz (статус: Посетитель), 24 мая 2009, 10:37 [#4]:

Вот я только не помню, в StringGrid'е вроде нумерация ячеек идет [j,i], т.е. сначала столбец, а потом строка...
fff

fff (статус: Посетитель), 24 мая 2009, 10:38 [#5]:

Млин подскажите ещё один вопросик как заменить максимальное число, которое мы незнаем на 0
fff

fff (статус: Посетитель), 24 мая 2009, 10:40 [#6]:

procedure TForm1.Button2Click(Sender: TObject);
var i,j,max:integer;
begin
max:=strtoint(StringGrid1.cells[1,1]);
for i:=1 to StringGrid1.colcount-1 do begin
for j:=1 to StringGrid1.rowCount-1 do begin
if max<strtoint(StringGrid1.cells[j,i]) then max:=strtoint(StringGrid1.cells[j,i])


end;
fff

fff (статус: Посетитель), 24 мая 2009, 10:53 [#7]:

Простите я уже сам сделал)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 4 апреля 2020, 06:30
Выполнено за 0.02 сек.
Рейтинг@Mail.ru