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

Dinamic array vs Open array   Найти похожие ветки 

← →
id_privin ©   (2002-07-17 15:47) [0]

есть переменная

names : array of string;

и процедура

set_names(list : array of string);
begin
names := list;
end;


Компилятор говотит что так делать нельзя, подскажите как сделать тоже самое не присваивая в цикле каждый элемент каждому.

Спасибо.


← →
Skier ©   (2002-07-17 15:49) [1]

>id_privin


Type
TStringArray = array of string;

var
names : TStringArray;

set_names(list : TStringArray);
begin
names := list;
end;




← →
id_privin ©   (2002-07-17 15:56) [2]

Хочеться чтоб можно было так

set_names(["aaa","bbb"]);

> Skier
По предложенному он скажет Ordinal type required


← →
Skier ©   (2002-07-17 16:04) [3]

>id_privin

set_names(["aaa","bbb"]) - Так нельзя будет сделать :(




← →
saxon ©   (2002-07-17 16:17) [4]

так наверное кривовато но работает

Type
TStringArray = array of string;

var
names : TStringArray;

procedure set_names(list : TStringArray);
begin
names := list;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
set_names(VarArrayOf(["as"]));
end;



← →
Eugene Lachinov ©   (2002-07-17 16:24) [5]

>saxon
Супер, Delphi вызывает DynArrayFromVariant


← →
id_privin ©   (2002-07-17 16:34) [6]

Ну неужели Delphi не умееет делать это нормально, по человечески?


← →
Skier ©   (2002-07-17 16:38) [7]

>id_privin
Ищи другой способ...Так как ты хочешь сделать - это изврат.
Тогда уж лучше через TStringList...(?)


← →
id_privin ©   (2002-07-17 16:50) [8]

Изврат это когда просто хочеться присвоить один массив другому, и попутно еще что-то сделать, да???????????????
Ну не понял тогда я Дельфу


← →
Skier ©   (2002-07-17 16:55) [9]

>id_privin
Статические массивы можешь присваивать сколько угодно,
если, конечно, они одинакого объявлены (и значения будут
копироваться).

С динамическими сложнее :
если пишешь A := B, где A и B динамические массивы, то
на самом деле ты присваиваешь адрес массива...



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

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



Память: 0.46 MB
Время: 0.009 c
1-95423
Juliet
2002-07-16 13:06
2002.07.29
Как определить версию Word


14-95503
Cranium
2002-07-01 13:43
2002.07.29
Почему код D5 не работает без установленных делфей


1-95363
Loco
2002-07-14 16:05
2002.07.29
Исключения


1-95289
Leny
2002-07-17 10:16
2002.07.29
Рисунок в StringGrid


4-95629
Voland!
2002-05-21 03:29
2002.07.29
Снова про Крысу!!!




   Наверх