Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.08.09;
Скачать: [xml.tar.bz2];

Вниз

В 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.011 c
2-1244445645
Демон
2009-06-08 11:20
2009.08.09
Build with runtime packages


2-1244704948
lewka
2009-06-11 11:22
2009.08.09
Математика в Delphi


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


2-1244553876
ganzzz
2009-06-09 17:24
2009.08.09
Как из TList сделать TCollection


15-1244392962
Stan*
2009-06-07 20:42
2009.08.09
Посоветуйте компонент для мультиязыка, для D2009





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский