Entwickler-Ecke

Dateizugriff - String in Ordinalen Datentyp umwandeln?


Delphi7Noob - So 19.06.05 14:42
Titel: String in Ordinalen Datentyp umwandeln?
Hallo,

Ich muss eine Textdatei auslesen!
z.B. Stein1
Stein2
Stein3
Stein4

Das mache ich mit readln(...) und kriege so jeden einzelnen Stein als String ausgegeben.

Ausserdem habe ich folgenden Typ geschrieben.

Delphi-Quelltext
1:
2:
3:
type
  TStein = (Stein1,Stein2,Stein3,Stein4); 
  TArray = array [0..7,0..7of Tstein;


Mein Problem ist das ich nicht weiss wie ich den String, den ich aus der Textdatei erhalte, so umwandeln kann das er dem Ordinaltyp der Menge/Aufzählung TSteine entspricht und ich den dann in den Array schreiben kann.

Gibt es da Möglichkeiten oder muss ich mein ganzes schon geschriebenes Programm der Gegebenheit anpassen(Was viel Arbeit wäre :? )?

Wäre für jede Hilfe dankbar.

Viele Grüsse

Moderiert von user profile iconAXMD: Delphi-Tags hinzugefügt.


BenBE - So 19.06.05 14:53

Das kannst Du mit der Funktion EnumValueToStr in der OIncProcs.pas [http://cvs.sourceforge.net/viewcvs.py/omorphia/omorphia/library/source/OIncProcs.pas] des Omorphia-Projektes machen.

Der umgekehrte Weg geht dann so hier:

Delphi-Quelltext
1:
OrdValue := GetEnumNameValue(TypeInfo(TStein), 'Stein1');                    


P.S.: Dazu musst Du die Unit TypInfo von Delphi einbinden.


Delphi7Noob - So 19.06.05 14:57

Vielen Dank :) , werd das sofort mal testen.


Delphi7Noob - So 19.06.05 15:25

Getestet und läuft wunderbar!

Nur die Funktion heisst GetEnumValue.

Vielen Dank nochmal.