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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
3-1219391994
Меруерт
2008-08-22 11:59
2009.04.19
Телефонный справочник


2-1235826463
Nazarius
2009-02-28 16:07
2009.04.19
как в memo написать в определенную строчку


15-1235076565
Sergey Masloff
2009-02-19 23:49
2009.04.19
SOAP в Delphi. Что делать с зависонами


3-1219225831
AlexeyK
2008-08-20 13:50
2009.04.19
При сохранении созданой записи она исчезает


15-1234819801
Юрий
2009-02-17 00:30
2009.04.19
С днем рождения ! 17 февраля 2009 вторник