Главная страница
    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.48 MB
Время: 0.005 c
15-1243996706
brother
2009-06-03 06:38
2009.08.09
сайт одноклассники хакнули?


15-1244012984
oldman
2009-06-03 11:09
2009.08.09
Internet Explorer 8.0 Windows XP (yandex edition)


11-1204892019
nikfel
2008-03-07 15:13
2009.08.09
Как определить Checked выбранного элемента в списке.


15-1244483958
User200902
2009-06-08 21:59
2009.08.09
Поиск лишних гиф и jpg


15-1244082212
alert2006
2009-06-04 06:23
2009.08.09
Помогите решить задачу





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский