Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизОбъявления типа. (типа объявление :))) Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c