Autor Beitrag
M.Mü
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68



BeitragVerfasst: Mi 28.09.05 09:41 
Hallo,

ich seh den Wald vor Bäumen nicht!

Was ist den die Umkehrung von chr, d.h die Konvertierung von Char nach Byte?

Sinn und Zweck ist unter anderem die hexadezimale Darstellung (stehend in einem StringGrid) in ein Byte zu konvertieren und für Berechnungen zu verwenden. Oder gibt es vielleicht schon Projekte und Ideen für das Darstellen und Einlesen von HEX-Zahlen?

Gruß M.Mü
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Mi 28.09.05 09:48 
ausblenden Delphi-Quelltext
1:
ord();					
turboPASCAL
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 193
Erhaltene Danke: 1

Win XP / Vischda
D6 PE / D2005 PE
BeitragVerfasst: Mi 28.09.05 11:03 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
var
  Value: Byte;
begin
  Value :=  StrToInt('$FF');
end;


Wäre auch eine einfache Möglichkeit einen Hex-Wert in ein Integer Typ (Byte) unzuwandeln.
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mi 28.09.05 12:08 
turboPascal das war gar nicht die frage.

die umkehrung von "chr" ist "ord"
aber genauso kann man für "chr" auch "char" nehmen (typcasten)
und für "ord" kann man "byte" nehmen, "integer" / "cardinal" / "dword" / "word"

um genau zu sein funktioniert das:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
var bla: byte;
begin
  bla := integer(char(dword(byte(ord(chr(cardinal('A')))))));
  form1.caption := chr(bla);

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Mi 28.09.05 13:31 
Um da noch was hinzuzufügen. Du kannst dafür auch SmallInt (Signed 16 Bit) und ShortInt (Signed 8 Bit) benutzen. Allerdings solltest du, wie bei allen Casts, darauf achten, dass das Vorzeichenbit unverschont bleibt.

ausblenden Delphi-Quelltext
1:
SmallInt(#$F0)					

ergibt wie zu erwarten 240 zurück wärend

ausblenden Delphi-Quelltext
1:
ShortInt(#$F0)					

aber -16 zurückgibt.

Byte ist auch 8 Bit aber Vorzeichenlos deswegen muss dabei auf so etwas nicht geachtet werden.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.