Hallo,
in der Dokumentation zu Delphi steht, das char einen WideChar entspricht.
Aber: kann man denn nicht mehr Datentypen, die ein Byte groß sind deklarieren ?
Was ist denn, wenn man Seriale Anwendungen schreiben möchte, die einen älteren Touch haben, und immer nur zwei Bytes in einen Vorgang übertragen (was dann sicherlich bedeuten würde, das die zu übertragende Datenmenge zeitlich um den Faktor 2 sinkt ?).
Delphi-Quellcode:
type
QChar = class
private
ptr_cc: uint64;
public
constructor Create; overload;
constructor Create(c: Char); overload; // hier
constructor Create(c: Byte); overload;
constructor Create(c: AnsiChar); overload; // und da: entspricht Char
constructor Create(c: WideChar); overload; // und nu ? - kein Char, kein AnsiChar, nur Wide ?
constructor Create(c: DWORD); overload;
constructor Create(c: Word); overload;
destructor Destroy; override;
function isDigit: Boolean;
end;
AnsiChar ist der 1-Byte-Typ, das passt schon. Aber Overloads für Char, AnsiChar
und WideChar erscheint mir zuviel. Ich würde den für Char streichen und explizit für AnsiChar und WideChar überladen (denke ich
).