So geht es natürlich auch. Mit den Standard-Streams aus der
RTL wärst, du aber genauso gut weggekommen
Hier mal ein kleiner Auszug aus der TStream Klasse:
Delphi-Quellcode:
function ReadData(var Buffer: Char): Longint; overload;
function ReadData(var Buffer: Char; Count: Longint): Longint; overload;
function ReadData(var Buffer: Int8): Longint; overload;
function ReadData(var Buffer: Int8; Count: Longint): Longint; overload;
function ReadData(var Buffer: UInt8): Longint; overload;
function ReadData(var Buffer: UInt8; Count: Longint): Longint; overload;
function ReadData(var Buffer: Int16): Longint; overload;
function ReadData(var Buffer: Int16; Count: Longint): Longint; overload;
function ReadData(var Buffer: UInt16): Longint; overload;
function ReadData(var Buffer: UInt16; Count: Longint): Longint; overload;
function ReadData(var Buffer: Int32): Longint; overload;
function ReadData(var Buffer: Int32; Count: Longint): Longint; overload;
function ReadData(var Buffer: UInt32): Longint; overload;
function ReadData(var Buffer: UInt32; Count: Longint): Longint; overload;
function ReadData(var Buffer: Int64): Longint; overload;
function ReadData(var Buffer: Int64; Count: Longint): Longint; overload;
function ReadData(var Buffer: UInt64): Longint; overload;
function ReadData(var Buffer: UInt64; Count: Longint): Longint; overload;
function ReadData(var Buffer: Single): Longint; overload;
function ReadData(var Buffer: Single; Count: Longint): Longint; overload;
function ReadData(var Buffer: Double): Longint; overload;
function ReadData(var Buffer: Double; Count: Longint): Longint; overload;
function ReadData(var Buffer: Extended): Longint; overload;
function ReadData(var Buffer: Extended; Count: Longint): Longint; overload;
Aäquivalent dazu gibt es natürlich auch eine ganze Reihe an WriteData() Methoden. Als einziges das Lesen und Schreiben von ganzen Strings müsste man sich in diesem Falle selbst implementieren. Aber das ist ja jeweils eine Sache von 3-4 Zeilen Code, wenn man einfach die Länge des Strings vorwegschreibt und anschließend den eigentlichen Inhalt.