Rozmiar zmiennej typu wyliczeniowego

0

Mam w programie typ wyliczeniowy:

type TEventCode=(
NOCODE,
SPIKE1,
SPIKE2,
REWARD,
{duzo}
BAR_EXTRA,
START_EYE_DATA,
END_EYE_DATA);

w sumie nieco ponad 100 nazw. I potem jest powiedzmy:

var
x:TEventCode;

Rozmiar zmiennej X to 1, bo Delphi wsadza to w Byte. Pytanie brzmi: czy (i jak) mozna zmusic Delphi zeby zmienna X miala rozmiar SmallInt?

--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

nie mogłeś wyjść z czymś łatwiejszym :]

wątpię aby było to to ale:

type TEventCode=object

public
NOCODE,
SPIKE1,
SPIKE2,
REWARD,
BAR_EXTRA,
START_EYE_DATA,
END_EYE_DATA : smallint;
end;

0

No nie o to chodzi. Bo typ wyliczeniowy moze byc traktowany jako liczba. Czyli w moim programie moge zrobic:

Label1.Caption:=IntToStr(NOCODE)+IntToStr(REWARD);

co da 03.

Moge tez z liczby (np 2) uzyskac nazwe (SPIKE2) choc to jest juz dosc zawiklane.

--
Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

Wykorzystaj rzutowanie:
y:TEventCode;
x : SmalInt;

x := SmalInt(y);--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

Pomoc do Delphi po polsku. http://www.4programmers.net/forum/index.php?action=show&id=21335&c=2

Oficjalny kanał IRC serwisu 4programers:
serwer: warszawa.ircnet.pl sieć: POLNet kanał: #4programmers.net

0

Na to sam wpadlem, gdzie trzeba to rzutuje. Ale myslalem ze moze sie da jakos inaczej.--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

1 użytkowników online, w tym zalogowanych: 0, gości: 1