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

Вниз

передача массива в качестве параметра   Найти похожие ветки 

 
Vladimir   (2009-03-04 09:14) [0]

Доброго времени суток всем! Есть некая функция, которая должна в качестве возвращаемого параметра возвращать массив. Можно ли это сделать?


 
brother ©   (2009-03-04 09:19) [1]

да


 
MBo ©   (2009-03-04 09:20) [2]

да, можно, предварительно объявив тип массива.
А если сделать процедуру с массивом - var-параметром, то иногда это помогает избежать ошибок.


 
Vladimir   (2009-03-04 10:02) [3]

Спасибо конечно) но как это сделать?

есть тип TClientInfo = record в нем множество полей и есть массив PaidClients: array of TClientInfo

Есть функция LoadPaidClientsInfo, которая должна возвращать массив типа TClientInfo. как это реализовать?


 
Сергей М. ©   (2009-03-04 10:14) [4]

type
 TClientInfo = record
   i: Integer;
 end;
 TClientInfoArray = array of TClientInfo;

function LoadPaidClientsInfo(out InfoArray: TClientInfoArray): Boolean;
begin
 SetLength(InfoArray, 1);
 InfoArray[0].i := 5;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
 InfoArray: TClientInfoArray;
begin
 LoadPaidClientsInfo(InfoArray);
 ShowMessage(IntToStr(InfoArray[0].i));
end;


 
brother ©   (2009-03-04 10:15) [5]

> TClientInfo = record в нем множество полей и есть массив
> PaidClients: array of TClientInfo

это сам на себя?


 
brother ©   (2009-03-04 10:17) [6]

[4]
а я так понял:
type
TClientInfo = record
  i: Integer;
  PaidClients: array of TClientInfo;
end;


 
Vladimir   (2009-03-04 10:24) [7]


> это сам на себя?


не понял вас.


 
Vladimir   (2009-03-04 10:29) [8]


> [4]
> а я так понял:
> type
> TClientInfo = record
>   i: Integer;
>   PaidClients: array of TClientInfo;
> end;


нет, PaidClients находиться не внутри TClientInfo, а массив типа TClientInfo

type
TClientInfo = record
..................
end;

var
PaidClients: array of TClientInfo;


 
Сергей М. ©   (2009-03-04 10:30) [9]


> Vladimir   (04.03.09 10:24) [7]


Ну как ты написал, так тебя brother © и понял)


> есть тип TClientInfo = record в нем множество полей и есть массив PaidClients: array of TClientInfo


"и есть" воспринимается как "среди прочих в том числе есть"


 
brother ©   (2009-03-04 10:31) [10]

тогда [4] код переделай чуть и будет тебе счастье)


 
Vladimir   (2009-03-04 10:48) [11]

Да спасибо большое. Уже переделал. Все работает.


 
Плохиш ©   (2009-03-04 13:50) [12]

А книжку-какую всё-таки советую приобрести, а то тут немощным не часто подают...



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

Форум: "Начинающим";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.047 c
3-1219535721
aaaaa
2008-08-24 03:55
2009.04.19
вывести записи строкой


15-1234818834
AlexDan
2009-02-17 00:13
2009.04.19
Уравнения затухающих волн..


3-1217925347
Николай2008
2008-08-05 12:35
2009.04.19
SQL Server + копирование = connection string


3-1219735607
TNT
2008-08-26 11:26
2009.04.19
IBQuery и Filter


8-1192723012
hahol_64_rus
2007-10-18 19:56
2009.04.19
доступ к файлам





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский