![]() |
GPStatus als string
Ist wieder spät da klappt wieder gar nichts.
Wie kann ich den Status von GPStatus als Text ausgeben (string)
Delphi-Quellcode:
type
Status = ( Ok, GenericError, InvalidParameter ); TStatus = Status;
Delphi-Quellcode:
GpStatus = TStatus;
ohne die ganze type wieder zu parsen. gruss |
AW: GPStatus als string
Hallo,
das sollte über RTTI gehen ![]() Stichwort Enumeration Types |
AW: GPStatus als string
Zitat:
Die frage die da wäre unter D2010 anwendbar? gruss |
AW: GPStatus als string
Hallo,
ja, der Code läuft auch unter D2007, muss ich nachher mal raussuchen. |
AW: GPStatus als string
Zitat:
gruss |
AW: GPStatus als string
Oder ohne RTTI:
Delphi-Quellcode:
und dann einfach über:
Const
cStatus : Array[TStatus] of String = ( 'Ok', 'GenericError', 'InvalidParameter' );
Delphi-Quellcode:
darauf zugreifen.
cStatus[status]
Läuft unabhängig von der Delphi-Version und sauber internationalisiert werden :) |
AW: GPStatus als string
Zitat:
Aber dann ändere ich die GDIP_API Unit. Was bedeutet ich muss alle Funktionen die auf GPStatus zugreifen wieder ändern. Oder? gruss |
AW: GPStatus als string
Sollte in etwa so gehen:
Delphi-Quellcode:
GetEnumName(TypeInfo(TStatus), Integer(AStatus));
|
AW: GPStatus als string
Zitat:
Zitat:
gruss |
AW: GPStatus als string
TypInfo in den uses?
Delphi-Quellcode:
program RttiToString;
{$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.Rtti, System.TypInfo; type Status = ( Ok, GenericError, InvalidParameter ); TStatus = Status; var AStatus : TStatus; begin try AStatus := GenericError; Writeln( GetEnumName(TypeInfo(TStatus), Integer(AStatus)) ); except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; Readln; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz