Zitat von
R2009:
Was mich stört ist:
Wieso wird der String in tedit (tedit.text ist nichts anderes als ein String) anders behandelt als ein normaler String.
Das ist doch Sch.... oder?
Also zur Speicherung der binären Daten hast Du jetzt einen Datentyp genommen, der auch alle binären Zeichen speichern kann (Delphi-String, array of Byte wäre auch gegangen etc.)
Zur Anzeige musst Du die Daten aber aufbereiten, also Zeichen 0-31 und 127 ersetzen (Parser). Den TEdit.Text wurde zwar in Delphi als String implementiert, ist aber eigentlich ein PChar (das eben keine #0 als Datenbestandteil aufnehmen kann). Das kann mit dem Standard TEdit auch nicht geändert werden, ist ja ein Windows-Objekt.
Der einfachste Weg wäre, zur Datenspeicherung/Übermittlung Deine funktionierende Lösung und zur Anzeige den String aufbereiten.
#0 = '<NUL>'
...
#127 = '<ESC>'