Typ zmiennej zale?żny od innej

Typ zmiennej zale?żny od innej
JU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5046
0

Cześć. Mam taką sytuację:

Kopiuj
type
 TMojTyp = (mtInteger, mtString);

var
 mojTyp: TMojTyp;

I teraz w jakiejś procedurze chcę, żeby jedna ze zmiennych była typu w zależności od zmiennej mojTyp.
Jeśli chodzi o typy rekordowe to nie ma sprawy, bo: case..of
W moim przypadku również mógłbym zrobić tak:

Kopiuj
procedure procka;
var
 zmienna: Variant;
 innaZmienna: TFileStream;
begin
 case mojTyp of
  mtInteger: Integer(zmienna); //lub varToInt(zmienna)
  mtString: String(zmienna); //lub jak wyżej
 end;
//inne instrukcje
end;

Ale, czy można to zrobić jeszcze na poziomie deklaracji?</delphi>

migajek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 370
0

Obawiam sie ze jedynym rozwiazaniem jest zmienna Variant lub Pointer :/
Bo w koncu kompilator nie moze sprawdzic czy w runtime ktos nie zmieni wartosci :P

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.