Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Funktion "nichts" zurückgeben (https://www.delphipraxis.net/37984-funktion-nichts-zurueckgeben.html)

Pseudemys Nelsoni 13. Jan 2005 10:27


Funktion "nichts" zurückgeben
 
Tag,

ich hatte mal ein thema erstellt, finds aber nichtmehr, deswegen schreib ichs mal neu...

Wie gebe ich einer funktion "nichts" zurück? eigentlich ja mit NIL, aber in diesem fall geht das nicht... Sagen wir mal ich habe folgendes:

Delphi-Quellcode:
TMyType = (hi, hallo);

...

function StrToTMyType(const str: string): TMyType;
begin
  if str = 'hi' then result := hi
  else if str = 'hallo' then result := hallo;
  // und wenn es nun nichts der gleichen ist, was dann?
end;
was geb ich dort zurück wenn nichts der 2bedingungen zutrifft?

Shaman 13. Jan 2005 10:31

Re: Funktion "nichts" zurückgeben
 
Hoi

Definier halt deinen Typ anders:
Delphi-Quellcode:
TMyType = (nichts, hi, hallo);
Gruss
Shaman

Pseudemys Nelsoni 13. Jan 2005 10:34

Re: Funktion "nichts" zurückgeben
 
hallo shaman,

daran habe ich auch schon gedacht, die frage ist nur, würde borland das auch so machen? also jedem aufzählungstyp ein "fehlerwert" hinzufügen?

Steve 13. Jan 2005 10:38

Re: Funktion "nichts" zurückgeben
 
Hi,

wieso Borland? Da kannste Dich doch selber drum kümmern :)
Delphi-Quellcode:
TMyType = (nichts, hi, hallo);

...

function StrToTMyType(const str: string): TMyType;
begin
  result := nichts; // <<-- Defaultwert
  if str = 'hi' then result := hi
  else if str = 'hallo' then result := hallo;
end;
Gruß
Stephan :dance:

Tyrael Y. 13. Jan 2005 10:40

Re: Funktion "nichts" zurückgeben
 
Bei Aufzählungstypen ist es üblich einen Wert für nicht definiert zu haben.

Dieser ist dann überlicherweise Unknown, NotDefined, usw. mit einem Präfix davor.

z.B cbUnknown, tsUnknown, usw.


mfg

Pseudemys Nelsoni 13. Jan 2005 10:50

Re: Funktion "nichts" zurückgeben
 
@Steve: ich habe ja nicht danach gefragt ob borland das schon irgendwo definiert hat ;) es ging mir vielmehr darum, ob es der richtige weg ist. das es funktioniert ist logisch ;)

@Tyrael: genau was ich wissen wollte ;)


Danke euch allen

dizzy 13. Jan 2005 13:05

Re: Funktion "nichts" zurückgeben
 
Mach ich auch immer so...


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 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