Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];

Вниз

Как в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
14-12876
Ajax
2003-04-14 16:15
2003.05.05
StretchBlt


1-12750
Beglec
2003-04-20 08:13
2003.05.05
MDI Форма


4-12960
Neep
2003-03-04 11:33
2003.05.05
Как создать на API PopUP меню


1-12728
Rise
2003-04-23 11:36
2003.05.05
Событие OnClick


3-12667
Arm79
2003-04-09 19:43
2003.05.05
отчеты с помощью Rave





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский