Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.356 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: XE2: Probleme mit Umwandlung von Char zu Byte

  Alt 23. Jan 2012, 10:05
D.h. du wirst sowieso deine eigene Mapping-Tabelle implementieren müssen.
Das hab ich ja soweit getan...
Wobei ich das "hoch 3" nicht an der Stelle finde, an der es nach deinem Array hätte sein müssen.

Wie dem auch sei:
Deklariere am besten einfach ein solches Array:
Delphi-Quellcode:
const
  CharMappings: array[AnsiChar] of AnsiChar = (
    #1, #2, #3, ...
  );
Dabei schreibst du ausgehend von der Original-Codepage die Zeichen hin, die an der Stelle in der LCD-Matrix stehen.

Dann brauchst du nämlich nichts prüfen, sondern kannst einfach das machen:
Delphi-Quellcode:
var
  i, j: Integer;
  AnsiText: AnsiString;
begin
  {...}

  AnsiText := AnsiString(Text);
  //Sonderzeichen auslesen
  for i := 1 to Length(Text) do
    AnsiText[i] := CharMappings[AnsiText[i]];

  {...}
end;
Das mag nicht die optimalste Lösung sein, aber ich denke es ist die übersichtlichste. Denn die Originalzeichen lassen sich so sehr gut als Kommentar jeweils dazuschreiben.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat