![]() |
Typconvertierung
Hallo Leute!
Ich habe ne Frage! Ich habe folgende Funktionen.
Delphi-Quellcode:
AbstractData ist eine Variable vom Typ Variant . Mit der setData() tu ich den Ordinalwert eines Char newvalue in AbstractData zuweisen.
function TDataChar.getData: Char;
var aLongint: Longint; begin aLongint := Self.AbstractData; Result := char(aLongint); end; (******************************************************************************* * *******************************************************************************) procedure TDataChar.setData(newvalue: Char); begin Self.AbstractData := Ord(newvalue); end; Mit getData() möchte ich wieder den Ordinalwert von newvalue , in den charZeichen umwandeln, so das ich wieder das Zeichen zur weiterverbeitung benutzen kann. Ich hab das wie oben gemacht. doch char(aLongInt) funktioniert irgendwie nicht. Kann einer vielleicht helfen? Danke |
Re: Typconvertierung
Hi!
Was heißt, es funktioniert nicht? Kommen Fehlermeldungen? Ciao Frederic |
Re: Typconvertierung
Die Funktion heißt Chr!
|
Re: Typconvertierung
Typecasting kann man nur mit Datentypen machen, die gleich groß sind und die selbe Speicherdarstellung (also Ganzzahl bzw. Fließkommazahl) haben.
|
Re: Typconvertierung
Zitat:
Delphi-Quellcode:
var
i: Integer; begin i := 567840003; ShowMessage(InttoStr(Byte(i))); //gibt 3 end; Zitat:
|
Re: Typconvertierung
Zitat:
"You can cast any variable to any type, provided their sizes are the same and you do not mix integers with reals." Du hast einfach drei Bytes von deinem Integer abgeschnitten, so eine Art Bitmaske also. |
Re: Typconvertierung
Die Delphi-Hilfe sagt, dass Casts möglich sind, wenn die Typen gleich groß sind. Sie sagt aber nicht, dass es nicht möglich ist, wenn die Typen nicht gleich groß sind ;)
Klar schneid ich was ab, trotzdem ist es ein gültiger Cast. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 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