Главная страница
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
2-1243941065
Franzy
2009-06-02 15:11
2009.08.09
В Delphi точно нет конструктора массивов?


15-1243715424
Юрий
2009-05-31 00:30
2009.08.09
С днем рождения ! 31 мая 2009 воскресенье


15-1244189127
scl20
2009-06-05 12:05
2009.08.09
Создание клиент-серверного приложения в Delphi


2-1245049095
DDR2
2009-06-15 10:58
2009.08.09
Найти все ссылки


15-1244700982
Рамиль
2009-06-11 10:16
2009.08.09
Бесплатные менеджеры проектов