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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 23:08   #1
Jil
Новичок
Джуниор
 
Регистрация: 14.05.2013
Сообщений: 1
По умолчанию Из StringGrid в Массив (Arr[i,j])

Привет ребята. Прошу Вашей помощи.

Делаю лабораторную. Завтра показывать. Все получилось....Решил оптимизировать код программы, упростить....И уже 5 часов не могу вернуть как было. Если не затруднит посмотрите код.

Выдает ошибку при нажатии на кнопку: "" is not valid integer value. Однако если задать массив "равносторонний", например 5х5 или 14х14 - то как бы работает. В программе идет сдвиг на 1 строку и 1 столбец - так как они используются для нумерации строк и столбцов...что-то типа Excel.

Вложение: Проект с файлами.

Если можно подправьте в данном тексте программы. За ранее Благодарен.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  n,m,i,j:Integer;
  Arr:array of array of Integer;
  ExApp,ExBook,ExSheet:Variant;
  S,R,Col,Col1,Col2,Row,Row1,Row2:Integer;
  FileName:String;
  min,max,minj,minI,maxI,maxj:Integer;

////////////////////////////////////////////////////////////////////////////////

Begin
////////////////////////////////////////////////////////////////////////////////
Case RadioGroup1.ItemIndex Of

0: Begin
SetLength(Arr,StringGrid1.RowCount,StringGrid1.ColCount);
With StringGrid1 Do

Begin
    For i:=1 To RowCount-1 Do Begin
    For j:=1 To ColCount-1 Do Begin
    Cells[j,i]:=IntToStr(Random(1000000)-300000);
    Arr[i-1,j-1]:=StrToInt(Cells[j,i]);
End;
End;
End;
End;



////////////////////////////////////////////////////////////////////////////////

//Ручной ввод данных в массив с помощью StringGrid;
1: Begin

With StringGrid1 Do
Begin
   SetLength(Arr,RowCount,ColCount);
   For i:=1 To RowCount-1 Do Begin
   For j:=1 To ColCount-1 Do Begin
   Arr[i-1,j-1]:=StrToInt(Cells[j,i]);
End;
End;
End;
End;

////////////////////////////////////////////////////////////////////////////////
Весь текст программы не вместился. Но есть во вложении.
Вложения
Тип файла: zip project.zip (85.3 Кб, 8 просмотров)

Последний раз редактировалось Jil; 14.05.2013 в 23:11.
Jil вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
StringGrid + динамический массив Artsiom Помощь студентам 2 05.05.2013 09:46
Не выводит двумерный массив в stringgrid toha_master Общие вопросы Delphi 1 07.11.2012 20:13
массив через StringGrid Arisha_O Помощь студентам 5 25.01.2012 22:54
stringgrid, одномерный массив, Delphi danil04 Помощь студентам 2 11.06.2011 13:09
StringGrid и массив, непонятная ошибка Студент политеха Помощь студентам 4 06.06.2011 08:50