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

Вниз

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

 
Демонов Е.В. ©   (2003-04-08 16:04) [0]

Редко возникала у меня нвдобность в использовании констант- но вот возникла и .....

Код

type
TParam=record
ParamName:Char;
Value:String;
end;

TParamArray=Array [1..3] of TParam;

Const

Params:TParamArray=((ParamName:"p";Value:""),(ParamName:"m";Value:"*.*"),(ParamName:"f";Value:"-"));

Все работает, но вот если
TParamArray=Array of TParam;
То компилятор ругается . как ?????????


 
Skier ©   (2003-04-08 16:08) [1]

>Демонов Е.В.

> как ?????????

Никак ! Энто будет динамический массив.
Можешь его проинциализировать в цикле...
for ii := Low(ParamArray) to High(ParamArray) do bla-bla-bla...


 
MityaP ©   (2003-04-08 16:17) [2]

Для динамического массиво нельзя задать константу...
Если надо, что бы при запуске проги, динамический массив содержал нужное, объяви переменную Params и добавь секцию Initialization в конце модуля (перед end.), например так:

unit MyParams;

interface
type
TParamArray = Array of TParam;
var
Params: TParamArray;

implementation

procedure AddParametr(AParamName, AValue: string);
begin
SetLength(Params, Length(Params) + 1);
Params[Length(Params) - 1].ParamName := AParamName;
Params[Length(Params) - 1].Value := AValue;
end;

initialization
SetLength(Params, 0);
AddParametr("p", "");
AddParametr("m", "*.*");
AddParametr("f", "-");
//Секция initialization выполняется при первом обращении
// к модулю... То есть во время создания Application
end.


 
Palladin ©   (2003-04-08 16:27) [3]

динамический массив в const это нонсес....



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
4-54950
Волков Михаил
2003-02-18 11:52
2003.04.17
Управление процессами


8-54758
Explorer
2002-12-24 07:29
2003.04.17
Обработка голосовой почты


1-54737
spogi
2003-04-04 00:41
2003.04.17
конкретный символ в TMemo ...


1-54685
Ska
2003-04-04 16:53
2003.04.17
TChart


1-54662
Furyous
2003-04-03 08:18
2003.04.17
Проблема с эдитами.