![]() |
2Er Komplement nach Signed Char umwandeln
Hallo Zusammen...
Von einer Hardware erhalte ich über den ComPort eine 2er Komplement Zahl. Diese liegt in einer integer Variabel (ist jedoch nur ein Byte gross!) Diese würde ich nun gerne Umwandeln und in einer Signed Char Variabel abspeichern so dass ich danach die Werte 127 - -128 habe. Wie kann man dies machen? Danke schonmal |
AW: 2Er Komplement nach Signed Char umwandeln
Kannst Du sie nicht einfach nach ShortInt casten? Oder habe ich Dich völlig falsch verstanden?
|
AW: 2Er Komplement nach Signed Char umwandeln
Zitat:
|
AW: 2Er Komplement nach Signed Char umwandeln
![]() |
AW: 2Er Komplement nach Signed Char umwandeln
ah sehr schön :)
Gibt es auch noch eine funktion um ein ShortInt mit vorzeichen in einem Label auszugeben? |
AW: 2Er Komplement nach Signed Char umwandeln
Wieso nicht einfach
Delphi-Quellcode:
:?:
DeinLabel.Caption := IntToStr(ShortIntValue);
|
AW: 2Er Komplement nach Signed Char umwandeln
Weil dann das Label nur Werte von 0 - 127 anzeigt... Jedoch das vorzeichen nicht.
|
AW: 2Er Komplement nach Signed Char umwandeln
Das Casten mit ShortInt scheint nicht zu funktionieren...
Ich weiss das die Hardware korrekte 2er Komplement Daten Sendet... (Sehe ich im Debugmodus) Nach dem ShortInt casting hat diese Variable jedoch nur den Wert von 0 - 127 |
AW: 2Er Komplement nach Signed Char umwandeln
Dann machst Du vielleicht etwas falsch. Ein kleiner Test bei mir (nur ein Button und ein Label auf der Form):
Delphi-Quellcode:
Klappt wunderbar.
procedure TForm1.Button1Click(Sender: TObject);
begin Label1.Caption := IntToStr(ShortInt(Random(256))); end; procedure TForm1.FormCreate(Sender: TObject); begin Randomize; end; |
AW: 2Er Komplement nach Signed Char umwandeln
Hat funktioniert... Besten Dank :)
Es lag am Datentyp bei der Sendenden Hardware :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:47 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 by Thomas Breitkreuz