Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-54853
sashas
2003-04-01 14:37
2003.04.17
Как мне приостановить программу на время.


1-54704
Ик сик
2003-04-03 15:19
2003.04.17
Как создать свой курсор


3-54520
Akhmadey
2003-03-31 05:39
2003.04.17
Не могу построить график


1-54644
SergeN
2003-04-08 12:45
2003.04.17
Позиция ProgressBar


3-54509
npAKTuk
2003-03-30 20:50
2003.04.17
Datasources




   Наверх