Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.05;
Скачать: CL | DM;

Вниз

Как в Pascal сделать чтобы ф-ция возвращала массив?   Найти похожие ветки 

 
новый   (2003-04-22 14:36) [0]

Извините, за вопрос, я только начал учить ....
Пишу

function My(i:integer):array of string;
begin
...
Result[1] := ...
Result[2] := ...
end;

ругается, что нельзя так....


 
MBo ©   (2003-04-22 14:37) [1]

сначала объяви тип
type ...
а его уже используй для объявления ф-ции


 
sashas ©   (2003-04-22 14:38) [2]

Стадлартный вопрос, с которым все сталкиваются. Чтобы не создавать себе проблем пусть функция возвращает и получает не массив, а указатель на него. Все станет быстрее и оптимальнее.


 
новый   (2003-04-22 14:40) [3]

что-то типа такого?
type Myarray : array[1..2] of string;

function my(i:integer):myarray;


 
Skier ©   (2003-04-22 14:41) [4]

>новый
1) type
TStringArray = array of string;

function My(i:integer) : TStringArray;
begin
...
Result[1] := ... //НЕ ЗАБУДЬ ЧТО МАССИВ ИНД-СЯ С НУЛЯ !!!
Result[2] := ...
end;

2) procedure My(i:integer; AList : TStrings); //(c) Mbo
begin
if Assigned(AList) then begin
//заполняешь AList...
end; //if
end;


 
Foxtrot ©   (2003-04-22 14:45) [5]

Если обстоятельства особо не требуют, то можно просто обойтись процедурой, а не функцией.

var procedure MyProc (var A: array of Byte);


 
Palladin ©   (2003-04-22 15:20) [6]

ну var в начале лишний явно


 
evvcom ©   (2003-04-22 15:20) [7]

Также не надо забывать, что надо установить длину (размер) динамического массива процедурой SetLength(DynArray, NewLength); а только после этого можно обращаться через индексы к элементам for i:=0 to NewLength - 1 do // или High(DynArray)
DynArray[i] := "кое-какой string";



Страницы: 1 вся ветка

Текущий архив: 2003.05.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-12767
exo
2003-04-22 04:52
2003.05.05
button


3-12650
sapsi
2003-04-08 13:49
2003.05.05
Потеря связей в таблицах


7-12948
Yozch_
2003-03-12 23:11
2003.05.05
Как получить изображение со сканера (через TWAIN)


1-12785
sagchat
2003-04-21 17:39
2003.05.05
Шифрование текстовых файлов


1-12787
I.Ru.Ru
2003-04-22 10:50
2003.05.05
Как сохранить отчет QuickReport в формате doc?