Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigener Datentyp und nur bestimmte Werte (https://www.delphipraxis.net/131423-eigener-datentyp-und-nur-bestimmte-werte.html)

Keks 24. Mär 2009 18:37


Eigener Datentyp und nur bestimmte Werte
 
Wahrscheinlich sind das absolute Grundlagen, aber ich bin bislang irgendwie drumherumgekommen, denke aber nun, dass das häufig sinnvoll wäre, deshalb hoffe ich hier auf Hilfe...

Ich möchte eine eigene Prozedur beispielsweise so aufrufen:
Delphi-Quellcode:
myProcedure(tnKatze);
//[...]
procedure myProcedure(meinTier : TTierName);
begin
  if meinTier = tnHund then
  //..
  else if meinTier = tnKatze then
  //..
end;
Ich muss ja dann TTierName als Datentyp deklarieren. Aber wie lege ich dann die möglichen Werte (tnHund, tnKatze, ...) fest?

Sollte ja machbar sein, oder? Bitte ein kurzes Beispiel wie das geht. Danke!

mkinzler 24. Mär 2009 18:41

Re: Eigener Datentyp und nur bestimmte Werte
 
Kommt darauf an, ob du es nur als Aufzählung haben willst oder objektorientiert

Meflin 24. Mär 2009 18:50

Re: Eigener Datentyp und nur bestimmte Werte
 
Einfacherweise so:
Delphi-Quellcode:
TTierName = (tnHund, tnKatze, tnNasenbaer)
Und damit kannst dann schön arbeiten... z.B.
Delphi-Quellcode:
case MyVar of
  tnHund: ...
  tnKatze: ...
  else ...
end;
usw.

Keks 24. Mär 2009 20:05

Re: Eigener Datentyp und nur bestimmte Werte
 
@Meflin
Vielen Dank! Genau das meinte ich. :) *gemerkt*

@mkinzler
Ich nehme an, das Beispiel von Meflin ist dann eine Aufzählung. Und wie sehe das objektorientiert aus?

mkinzler 24. Mär 2009 20:17

Re: Eigener Datentyp und nur bestimmte Werte
 
Delphi-Quellcode:
type
  TTier = class
    //Allgemeine Eigenschaften und Methoden
    Name: String;
    ...
  end;

  TKatze = class( TTier)
    //Spezielle Eigenschaften und Methoden einer Katze
    ...
  end;

  THund = class( TTier)
    //Spezielle Eigenschaften und Methoden eines Hundes
    ...
  end;
...

Tier: TTier;
...

    if Tier is THund then ...

Keks 24. Mär 2009 21:35

Re: Eigener Datentyp und nur bestimmte Werte
 
Danke schön! :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz