Thema: Delphi StrToChar???????

Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#20
  Alt 17. Jan 2003, 20:51
Zitat von Hansa:
Ja, so ist das. Der Compiler setzt das Zeichen in seinen Ascii-Wert (oder sonstwas zurück)
Der Compiler setzt gar nichts zurück. Wenn der Compiler es nicht verhindern würde, dann könntest Du folgendes tun
Delphi-Quellcode:
var
  B: Byte;
  C: Char;
...
B := 65;
C := 'A';
if B = C then
  ...
Der Lauf würde True ergeben, nur der Compiler erlaubt den Vergleich nicht!
Delphi-Quellcode:
var
  B: Byte;
  C: Char;
...
B := 65;
C := 'A';
asm
  Mov AL, B
  Mov AH, C
  CMP AL, AH
  JNZ @@OOPS
  ...
@@OOPS:
Das würde ohne Probleme gehen und True ergeben. Intern sind Byte und Char IDENTISCH.

Zitat von Hansa:
D.h., da werden die Funktionen ORD, CHR usw. automatisch aufgerufen, um uns die Arbeit zu ersparen.
Schlußfolgerung aus oben. Der Compiler macht GAR NICHTS.

Zitat von Hansa:
Denn dadurch kommen auch Rundungsdifferenzen etc. zustande.
Byte Ganzzahln wie Byte und Integer dies sind, kommt es nicht zu Rundungsfehlern!
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat