Q1: Was bedeutet das: WriteLn (#$0b)
?Verwendung von # in Pascal
$0b
sollte hexadezimal wie 0x0b
, aber was ist mit dem Zeichen?
Q2:
x:=readkey;
if (x = #5) do...
Does #5
Mittelwert fünf? Was ist dann das Zeichen ?
Vielen Dank.
Q1: Was bedeutet das: WriteLn (#$0b)
?Verwendung von # in Pascal
$0b
sollte hexadezimal wie 0x0b
, aber was ist mit dem Zeichen?
Q2:
x:=readkey;
if (x = #5) do...
Does #5
Mittelwert fünf? Was ist dann das Zeichen ?
Vielen Dank.
Die #
vor einer Zahl, die eine Zeichen mit dem angegebenen Wert entspricht (beide Dezimal und Hexadezimalzahlen durch eine $
voran, werden akzeptiert). So ist #5
das gleiche wie chr(5)
oder CtrlE.
Ich musste ['chr'] (http://physinfo.ulb.ac.be/cit_courseware/pascal/pas036.htm) nach dieser Antwort suchen, um zu helfen, aber zumindest wusste ich es schau auf 'chr'. 'chr (65) = # 65 = 'A'' – DCShannon
Ah, Erinnerungen ...
#x
ist in der Tat das Äquivalent von chr(x)
, wie Greg Hewgill sagte.
Ich möchte eine kleine Info hinzufügen.
Erweiterte Tasten, dh die Pfeiltasten, senden Null und den Code des char:
ch := ReadKey;
if ch = #0 then
begin // extended key
ch := ReadKey; // <-- read again to get the actual code
end else ...
(Beachten Sie, dass in (auch nicht so) kürzlich durchgeführten Delphi und FPC Versionen größere Zahlen als 255 widechars sind, 16-Bit verwendet Basisentität eine Basis für UTF16-String-Typen) –