Вниз
Скачать: 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.011 c
1-54553
LyzD
2003-03-30 16:13
2003.04.17
Достать иконку из файла рессурсов....


14-54836
Rol
2003-04-01 09:44
2003.04.17
С Днём Математика!


3-54532
Kazanova
2003-04-01 10:08
2003.04.17
Помогите новичку разобраться!!!


14-54867
BJValentine
2003-04-01 11:06
2003.04.17
Delphi 5 & Delphi 7


7-54908
[Bio]z
2003-02-26 00:57
2003.04.17
Как установить системную дату?




   Наверх