![]() |
AW: Xe2: Probleme mit Umwandlung von Char zu Byte
Zitat:
![]() Das ist "unsere". Die anderen sind rechts auf der Seite verlinkt. |
AW: XE2: Probleme mit Umwandlung von Char zu Byte
Danke!
|
AW: Xe2: Probleme mit Umwandlung von Char zu Byte
Zitat:
Schaut nicht ![]() |
AW: Xe2: Probleme mit Umwandlung von Char zu Byte
Zitat:
Ach ja: Zumindest bei einigen Hardwareschnittstellen, die wir verwenden, sind die DOS-Codepages allgegenwärtig. Und die Hardware ist aktuell wohlgemerkt. |
AW: XE2: Probleme mit Umwandlung von Char zu Byte
Hab nicht alles nichst gelesen, aber ...
Das Modul ist und bleibt weiterhin ANSI, also mußt du auch bei ANSI bleiben ... zumindestens bei den Schnittstellen. ANSI-Funktionen ... siehe Unit AnsiStrings Es muß auch nicht sein, daß die Zeichen dieses Modul überhaupt mit einer bekannten CodePage im PC übereinstimmen. Oftmals wurde quasi eine "eigenständige" Kodierung verwendet. Welches Modul eigentlich? (hab hier auf die Schnelle nirgends was dazu gefungen) Es sollte dazu ja ein Datenblatt geben, wo bestimmt/vermutlich eine Zeichentabelle aufgeführt ist. |
AW: XE2: Probleme mit Umwandlung von Char zu Byte
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ja es gibt eine Doku über das Modul und darin gibt es auch eine Zeichentabelle. Ich hab die mal angehängt. |
AW: XE2: Probleme mit Umwandlung von Char zu Byte
Wenn ich mich nicht verschaut habe, dann sind das 8 Bit -> 1 Byte -> Ansi.
|
AW: XE2: Probleme mit Umwandlung von Char zu Byte
Zitat:
D.h. du wirst sowieso deine eigene Mapping-Tabelle implementieren müssen. |
AW: XE2: Probleme mit Umwandlung von Char zu Byte
Zitat:
|
AW: XE2: Probleme mit Umwandlung von Char zu Byte
Zitat:
Wie dem auch sei: Deklariere am besten einfach ein solches Array:
Delphi-Quellcode:
Dabei schreibst du ausgehend von der Original-Codepage die Zeichen hin, die an der Stelle in der LCD-Matrix stehen.
const
CharMappings: array[AnsiChar] of AnsiChar = ( #1, #2, #3, ... ); Dann brauchst du nämlich nichts prüfen, sondern kannst einfach das machen:
Delphi-Quellcode:
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.
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz