Процедуры в Delphi

компьютеры программирование программы Delphi делфи

Вопрос конечно глупый, но все же
Есть процедура

procedure ReadTabl;
var i:Integer;
begin ;
Ap:= CreateOleObject('Excel.Application');
Ap.Workbooks.Open('tabl.xlsx',0,true);
for i:= 0 to 3 do
ar[i]:=Ap.Cells[i+1,2];
end;

Теперь собственно как сделать в "procedure TForm1.btn1Click(Sender: TObject);" (по нажатию кнопки)
что бы полученный массив записывался в stringgrid?

Примечание:
Так как раз и не попробовал)
Компилируется нормально, однако теперь во время работы процедуры ReadTabl выскакивает ошибка. Если бы вы могли помочь, я бы очень был благодарен и наконец то пошел спать)

procedure ReadTabl;
var i:Integer;
begin

Ap:= CreateOleObject('Excel.Application');
Ap.Workbooks.Open('C:/Ex/tabl.xlsx',0,true);
for i:= 0 to 3 do
ar[i]:=Ap.Cells[i+1,2];
Ap.Application.Quit;

end;

Примечание:
Собственно ошибка
Project Procject1.exe raised exceptoin class EAccessViolation with message 'Access violation at address 004042E4 in module 'Project1.exe'. Write of address 00000000'. Process stopped. Use Step or Run to continue.

http://rghost.ru/46006727/image.png

Примечание:
ругается на
ar[i]:=Ap.Cells[i+2,2]
так как ar: array of string попробовал
ar[i]:=IntToStr(Ap.Cells[i+2,2])
Теперь стало ругаться на
for i:= 0 to 3 do
в procedure TForm1.btn1Click
Ответы:
TForm1.btn1Click(Sender: TObject);
begin
  // вызываем процедуру чтения
  ReadTabl;
 
  // побольше клеточек, чтобы не вылезти за пределы таблицы
  myStringGrid.RowCount = 5;


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.