Вниз
Скачать: CL | DM;

Как создать в цикле Array Of Const?   Найти похожие ветки 

← →
IGray   (2008-01-21 04:27) [0]

Hi! Есть процедура с параметром типа Array Of Const и мне нужно в цикле создать массив вариантов подходящий для передачи в эту процедуру.

Что-то типа:
создать массив нулевого размера (вероятно типа array of TVarRec?)
for бла-бла-бла begin
 увеличить размер массива на элемент
 заполнить последний элемент значением типа Variant
end;

Поделитесь примерчиком плииз!
Сорри если торможу мрачно..
Заранее спасибо!


← →
KilkennyCat ©   (2008-01-21 05:50) [1]


> увеличить размер массива на элемент

SetLength(array, length(array) + 1);

> заполнить последний элемент значением типа Variant

array[high(array)] := ....


← →
Рамиль ©   (2008-01-21 10:31) [2]


> IGray   (21.01.08 04:27)  

Вы думаете перевыделение памяти такая быстрая операция?
Оцените массив, выделите чуть больше памяти, потом обрежте.


← →
KilkennyCat ©   (2008-01-21 10:35) [3]


> Рамиль ©   (21.01.08 10:31) [2]

> Оцените массив,


да он уже на самом деле оценен. его ж передавать будут таким, чтоб подошел.


← →
Рамиль ©   (2008-01-21 11:47) [4]


> да он уже на самом деле оценен. его ж передавать будут таким,
>  чтоб подошел.

А зачем тогда в цикле увеличивать?


← →
KilkennyCat ©   (2008-01-21 12:02) [5]

хз - тз...


← →
Плохиш ©   (2008-01-21 12:21) [6]


> Как создать в цикле Array Of Const?
>
> IGray   (21.01.08 04:27)


var
   varSearch:  Variant;
...
     varSearch := VarArrayCreate( [0, myCount], varVariant );
     for lCount := 0 to myCount do
       varSearch[lCount] := Random(myCount);
     MyProc(Variant(varSearch));
...


← →
Leonid Troyanovsky ©   (2008-01-21 13:15) [7]


> Плохиш ©   (21.01.08 12:21) [6]

> > Как создать в цикле Array Of Const?

> var
>    varSearch:  Variant;

Это ж не array of TVarRec.
Ему, видимо, нужен a[i].VType := vtVаriant; a[i].VVariant := @v;

--
Regards, LVT.


← →
oxffff ©   (2008-01-21 13:46) [8]


> Leonid Troyanovsky ©   (21.01.08 13:15) [7]


Это embedded Variant array в Array Of Const.
:)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
15-1219820202
Denis__
2008-08-27 10:56
2008.10.19
МГУ ВМК Языки программирования


9-1173732968
Mr.Vlad
2007-03-12 23:56
2008.10.19
3ds max


1-1200888950
VladSel
2008-01-21 07:15
2008.10.19
Размер выделенной памяти для массива


15-1219989599
oldman
2008-08-29 09:59
2008.10.19
Доступ к старым данным


2-1220950600
Ivolg
2008-09-09 12:56
2008.10.19
HTTP 1.1 400 Bad Request




   Наверх