![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
передача массива в качестве параметра
Vladimir © (2009-03-04 09:14:00)Доброго времени суток всем! Есть некая функция, которая должна в качестве возвращаемого параметра возвращать массив. Можно ли это сделать?
Плохиш (2009-03-04 13:50:00) [1]А книжку-какую всё-таки советую приобрести, а то тут немощным не часто подают...
Vladimir (2009-03-04 10:48:00) [2]Да спасибо большое. Уже переделал. Все работает.
brother (2009-03-04 10:31:00) [3]тогда [4] код переделай чуть и будет тебе счастье)
Сергей М. (2009-03-04 10:30:00) [4]
> Vladimir (04.03.09 10:24) [7]
Ну как ты написал, так тебя brother © и понял)
> есть тип TClientInfo = record в нем множество полей и естьмассив PaidClients: array of TClientInfo
"и есть" воспринимается как "среди прочих в том числе есть"
Vladimir (2009-03-04 10:29:00) [5]
> [4]
> а я так понял:
> type
> TClientInfo = record
> i: Integer;
> PaidClients: array of TClientInfo;
> end;
нет, PaidClients находиться не внутри TClientInfo, а массив типа TClientInfo
type
TClientInfo = record
..................
end;
var
PaidClients: array of TClientInfo;
Vladimir (2009-03-04 10:24:00) [6]
> это сам на себя?
не понял вас.
brother (2009-03-04 10:17:00) [7][4]
а я так понял:
type
TClientInfo = record
i: Integer;
PaidClients: array of TClientInfo;
end;
brother (2009-03-04 10:15:00) [8]> TClientInfo = record в нем множество полей и есть массив
> PaidClients: array of TClientInfo
это сам на себя?
Сергей М. (2009-03-04 10:14:00) [9]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;
Vladimir (2009-03-04 10:02:00) [10]Спасибо конечно) но как это сделать?
есть тип TClientInfo = record в нем множество полей и есть массив PaidClients: array of TClientInfo
Есть функция LoadPaidClientsInfo, которая должна возвращать массив типа TClientInfo. как это реализовать?
MBo (2009-03-04 09:20:00) [11]да, можно, предварительно объявив тип массива.
А если сделать процедуру с массивом - var-параметром, то иногда это помогает избежать ошибок.
brother (2009-03-04 09:19:00) [12]да