Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
|
|
Konvertera uppräkningsbara typer till en sträng
|
Kategori: Strangar
Inlagt: 2004-11-18
Läst: 1491
Inlagt av: Staffan Berg
|
Beskrivning |
Som rubriken förtäljer konverterar detta exempel en uppräkningsbar typ till en sträng och vice versa. Se kommentarerna i koden som förtydligar vad som händer.
|
Kod |
// For demo purposes creating a dummy type type TSuit = (Hearts, Diamonds, Clubs, Spades); function SuitToString(Suit: TSuit): string ; begin Result := GetEnumName(TypeInfo(TSuit), Ord(Suit)); end; function StringToSuit(Suit: string ): TSuit; begin Result := TSuit(GetEnumValue(TypeInfo(TSuit), Suit)); end; //This function will convert an existing Delphi type function PositionToString(Position: TPosition): string ; begin Result := GetEnumName(TypeInfo(TPosition), Ord(Position)); end; //To use the function(*DS*)s above drop a TButton onto a form and //add the following code to its OnClick event handler. This will //show a series of messagebox(*DS*)s with converted types as string s. procedure TForm1.Button1Click(Sender: TObject); var s: TSuit; begin s := Hearts; ShowMessage(SuitToString(s)); s := Diamonds; ShowMessage(SuitToString(s)); s := Clubs; ShowMessage(SuitToString(s)); s := Spades; ShowMessage(SuitToString(s)); s := StringtoSuit((*DS*)Hearts(*DS*)); ShowMessage(SuitToString(s)); ShowMessage(PositionToString(Position)); end;
|
|
|