|
Вопрос # 2 831/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Нужна помощь по одному вопросу, не работает вот такая процедура, ругается видимо на перевод, ошибка вылезает в рантайме: is not a valid integer value в таблице находятся цифры от -50 до 50. Заранее благодарен.
Приложение: Переключить в обычный режим- procedure TForm1.Button2Click(Sender: TObject);
- var i,j,max:integer;
- begin
- i:=1;
- max:=strtoint(StringGrid1.cells[i,1]);
- for j:=2 to StringGrid1.RowCount do begin
- if max<strtoint(StringGrid1.cells[i,j]) then max:=strtoint(StringGrid1.cells[i,j])
- end;
- max:=strtoint(StringGrid1.cells[i,1]);
- Button1.Caption:=inttostr(max);
-
- end;
 |
Вопрос задал: fff (статус: Посетитель)
Вопрос отправлен: 24 мая 2009, 09:52
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 24 мая 2009, 10:53; участников в обсуждении: 3.
|
Dron (статус: Студент), 24 мая 2009, 10:07 [#1]:
В StringGrid нумерация строк и столбцов начинается с нуля. Думаю, ваша проблема в этом.
С уважением.
|
|
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 (статус: Посетитель), 24 мая 2009, 10:27 [#3]:
Да спасибо большое, это просто пробный вариант кода, потому как ниодин не работал.... Теперь я понял в чем была моя ошибка -1 не поставил))) всем спасибо, щас посмотрим как в целом заработает..
|
|
Ozz (статус: Посетитель), 24 мая 2009, 10:37 [#4]:
Вот я только не помню, в StringGrid'е вроде нумерация ячеек идет [j,i], т.е. сначала столбец, а потом строка...
|
|
fff (статус: Посетитель), 24 мая 2009, 10:38 [#5]:
Млин подскажите ещё один вопросик как заменить максимальное число, которое мы незнаем на 0
|
|
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 (статус: Посетитель), 24 мая 2009, 10:53 [#7]:
Простите я уже сам сделал)
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|