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

Вниз

Объявления типа. (типа объявление :)))   Найти похожие ветки 

 
Andy BitOff ©   (2004-08-09 12:58) [0]

Как правильно объявить примерно такой тип:


type
 TIndicationsS = ("aa","bbbb","e");

 TIndicationsN = ("01","15","32");

 TIndicationsSN = Record
   IndicationsString: TIndicationsS;
   IndicationsNumber: TIndicationsN;
 end;

 TIndications = TIndicationsSN;

 
Если что-то не понятно, а я думаю так и будет, потому что непонятно объяснил :) то предоставлю любую информацию по этому вопросу, просто не знаю что еще написать.


 
Smithson ©   (2004-08-09 13:00) [1]

Так и правильно.


 
Думкин ©   (2004-08-09 13:00) [2]


> TIndicationsS = ("aa","bbbb","e");

Это как?


 
Smithson ©   (2004-08-09 13:03) [3]

На самом деле, если тебе нужны множества из произвольного количества строк - то никак.
А если набор строк ограничен, то создаешь соответсвующие им константы в множестве и пользуешься ими.


 
Andy BitOff ©   (2004-08-09 13:07) [4]

Да, количество строк ограничено и не подлежит изменению - const


 
Goorus ©   (2004-08-09 13:12) [5]

TIndicationsS = ("aa","bbbb","e");

Это ты хочешь задать допустимые принимаемые значения?
Тогда правильно будет так

type
 TIndicationsS = (aa, bbbb, e);

const
 CIndicationsS:array[TIndicationsS]of String = ("aa", "bbbb", "e");

// использование

var is:TIndicationsS;
...
ShowMessage( CIndicationsS[is] );

Другого способа я не знаю.


 
Andy BitOff ©   (2004-08-09 13:13) [6]

const
 TIndicationsS = ["aa","bbbb","e"];

Но такое объявление, тоже не катит.


 
Думкин ©   (2004-08-09 13:19) [7]

type
 TIndicationsS = (aa,bbbb,e);
 TIndicationsN = (s01,s15,s32);

 TIndicationsSN = class
  private
   function GetIndicationsN(n: TIndicationsN): integer;
   function GetIndicationsS(n: TIndicationsS): string;
  public
   property IndicationsString[n : TIndicationsS] : string read GetIndicationsS;
   property IndicationsNumber[n : TIndicationsN] : integer read GetIndicationsN;
 end;

TIndications = TIndicationsSN;

  var
   TIndicationsS_Value : array[TIndicationsS] of string = ("aa","bbbb","e");
   TIndicationsN_Value : array[TIndicationsN] of integer = (01,15,32);

{ TIndicationsSN }

function TIndicationsSN.GetIndicationsN(n: TIndicationsN): integer;
begin
    Result := TIndicationsN_Value[n]
end;

function TIndicationsSN.GetIndicationsS(n: TIndicationsS): string;
begin
    Result := TIndicationsS_Value[n]
end;


Хотя весело. :)


 
GuAV ©   (2004-08-09 13:20) [8]


> const
>  CIndicationsS:array[TIndicationsS]of String = ("aa", "bbbb",
> "e");

см TypInfo.GetEnumName



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

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

Наверх




Память: 0.48 MB
Время: 0.039 c
3-1090845068
TAN_K
2004-07-26 16:31
2004.08.22
Размер поля - IBExpert


14-1091507426
AlexMIx
2004-08-03 08:30
2004.08.22
Цены на программы.


1-1091900535
Александр22
2004-08-07 21:42
2004.08.22
TDateTimePicker


3-1091195242
Dysan
2004-07-30 17:47
2004.08.22
Ошибка при загрузке библиотеки


1-1091776704
race1
2004-08-06 11:18
2004.08.22
файл для чтения