Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: IdTelnet - Empfangene Daten anzeigen

  Alt 28. Okt 2014, 20:39
Im Unicode Zeichensatz gibt es für die nichtdruckbaren Steuerzeichen #$00 - #$1F recht nette Ersatzzeichen:
http://en.wikipedia.org/wiki/Unicode_control_characters
Natürlich muss der verwendete Font diese Zeichen enthalten sonst werden die nicht angezeigt.
Der Font sollte ein monospaced Font sein.

Du benötigst also eine Funktion, die ein Byte in ein Unicodezeichen transformiert:
Delphi-Quellcode:
function Byte2Unicodechar(b:System.Byte):char;
begin
   if(b >=0 and b < 32)
   begin
      // Umsetzung nach U+240x
      return chr(b + $2400); // ungetestet da keine aktuelle Delphiversion vorh.
   end
   else
   begin
      // direkt byte -> char
      return chr(b);
   end;
end
Dann noch eine zweite Funktion die ein TArray<System.Byte> in einen String übersetzt und dabei obige Funktion benützt.
Das ist im Prinzip nur eine For-Schleife.
Im Ergebnisstring dann noch in Blöcke von 32 Zeichen unterteilen und zeilenweise in ein TMemo schreiben.
fork me on Github

Geändert von sx2008 (28. Okt 2014 um 20:44 Uhr)
  Mit Zitat antworten Zitat