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

Вниз

В Delphi точно нет конструктора массивов?   Найти похожие ветки 

 
Franzy   (2009-06-02 15:11) [0]

Запарился уже массивы поэлементно назначать. Знаю, что константу-массив можно объявлять (типа a: array [1..3] of byte = (1,2,3)). А есть ли аналогичные конструкторы для массивов-неконстант? В Фортране можно, например, писать x(5:7) = (/1,2,3/), и тогда 5,6 и 7 элементу массива х будут назначены значения, соответственно, 1, 2 и 3. В Дельфях есть что-нибудь подобное?


 
Palladin ©   (2009-06-02 15:14) [1]

точно


 
clickmaker ©   (2009-06-02 15:26) [2]

Разве что для вариантных массивов: VarArrayOf


 
MBo ©   (2009-06-02 15:32) [3]

процедуру с таким функционалом написать нетрудно


 
Лёша   (2009-06-02 15:54) [4]

Для динамических есть.

D: TIntegerDynArray;
...

D := TIntegerDynArray.Create(1, 2, 3);

Delphi 2007


 
Sapersky   (2009-06-02 21:01) [5]

Для открытых массивов (при передаче в процедуру) есть конструкторы.
Help/Object Pascal(Delphi) Reference/Procedures and functions/Calling procedures and functions/Open array constructors


 
Нат ©   (2009-06-03 02:25) [6]

Чтобы использовать заполненный таким образом массив вне процедуры, куда он передается, надо изрядно поломать голову


 
Германн ©   (2009-06-03 02:38) [7]


> Franzy   (02.06.09 15:11)
>
> Запарился уже массивы поэлементно назначать.

Лень матушка!

> MBo ©   (02.06.09 15:32) [3]
>
> процедуру с таким функционалом написать нетрудно
>

И даже очень не трудно. Но нужно "мозгами поворочить". И что-то самому сделать.


 
Sapersky   (2009-06-03 10:35) [8]

Чтобы использовать заполненный таким образом массив вне процедуры, куда он передается, надо изрядно поломать голову

Ну я думал, копировать его в другой (динамический, например) массив.
С т.з. производительности, конечно, не блестяще, тем более что открытый массив ещё предварительно заталкивается в стек, но для небольших объёмов (трудно представить себе задание вручную массива в тысячу элементов) приемлемо.


 
sniknik ©   (2009-06-03 10:47) [9]

> трудно представить себе задание вручную массива в тысячу элементов
реальность круче всего что можно себе представить...

http://delphimaster.net/view/2-1243356829/
> пишит что использовано слишком много констант (примерно так) это ошибка


 
Franzy   (2009-06-11 12:04) [10]

2Германн
Причем здесь лень? Согласитесь, что писать
x=(/10,2,7/)
гораздо удобнее, чем
x[1]:=10;
x[2]:=2;
x[3]:=7;


 
Palladin ©   (2009-06-11 12:16) [11]


> x[1]:=10;
> x[2]:=2;
> x[3]:=7;

Это - назначение констант. Которое так и оформляется:
Const
x: array [1..3] of byte = (1,2,3)

в чем проблемы?


 
Palladin ©   (2009-06-11 12:18) [12]

Хотя сдается мне что ты просто не знаешь Паскаля.

Type
 TAOf3B=Array [1..3] of byte;

Const
 a:TAOf3B = (1,2,3);

var
 x:TAOf3B;
begin
 x:=a;
end;


 
QAZ   (2009-06-11 12:29) [13]


> А есть ли аналогичные конструкторы для массивов-неконстант?
>  

это должна быть глобальная переменная



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

Текущий архив: 2009.08.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
15-1244484954
{RASkov}
2009-06-08 22:15
2009.08.09
Алгоритмы хеширования


11-1204867469
ILPU
2008-03-07 08:24
2009.08.09
Сохранение содержимого TreeView


15-1244383233
Nic
2009-06-07 18:00
2009.08.09
Мозговой штурм 3


11-1204994235
Blackman
2008-03-08 19:37
2009.08.09
[KOL-CE] Есть какие-нибудь библиотеки сжатия для KOL-CE?


2-1244551712
SkyN
2009-06-09 16:48
2009.08.09
Память, выделенная под объект, инициализируется нулями?