AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Delphi XE/XE2 Probleme mit UTF-8 Editor
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi XE/XE2 Probleme mit UTF-8 Editor

Ein Thema von Mavarik · begonnen am 14. Sep 2011 · letzter Beitrag vom 14. Sep 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#11

AW: Delphi XE/XE2 Probleme mit UTF-8 Editor

  Alt 14. Sep 2011, 15:05
So erzeugt z.B. der Text "ûHallöle" die Byte-Folge "DC C8 81 93 93 6A 93 85", was auf einem IBM-Großrechner-Terminal dann auch korrekt als "ûHallöle" dargestellt wird.
Ich glaube, möchte er nicht, dass ein Û dargestellt wird, sondern es als Escapezeichen benutzten:
DoPrinter('Û011<-Das ist eine Umschaltsequenz für den Printer'); Eigentlich steht da nach EBCDIC (DOS Zeichensatz) #219+'011'... Das 219er war halt der Ersatz für z.B. ESC Sequenzen an Nadeldrucker...
Das hardcoden solcher Strings ist imho nicht das Gelbe vom Ei (ein printer.doDasWasDieSequenzTut() wäre wohl netter, damit wäre der Drucker auch besser austauschbar.).

Aber wenn du darauf baust, müsste sich doch eigentlich eine Ansi-Codierung (und damit die richtige Bytesequenz) erzwingen lassen

Es geht ja nicht um ein Verhalten zur Laufzeit... Das AnsiString() bringt daher nix, da beim abspeichern der *.pas Files de Zeichen schon konvertiert werden...
Wie das im Code gespeichert wird ist doch egal. Hauptsache zur Laufzeit stimmt es. Selbst wenn du es zur Laufzeit zu Ansi umcodieren müsstest.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.

Geändert von BUG (14. Sep 2011 um 15:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Delphi XE/XE2 Probleme mit UTF-8 Editor

  Alt 14. Sep 2011, 17:05
Also!

Danke für Eure Ideen... Soweit.

Kannst du denn nicht definieren das die entsprechende Quelldatei nicht UTF8 gespeichert wird? da gabs doch mal was ...
Das wäre ne Idee... Wo?

Wobei die Umwandlung von Unicode/UTF-8 nach ANSI vom jeweiligen System abhängt, also von dessen Standard-Codepage. Und somit ist soeine Umwandlung nicht immer Bytegenau möglich, wenn die Umwandlung erst auf den Zielsystem (zur Laufzeit) geschieht.
Somit keine Lösung ich werde warscheinlich alle Anweisungen umbauen..

Beispiel : PrintStr(#219+'011 Text '+#219+'001'); usw..

Ich glaube, möchte er nicht, dass ein Û dargestellt wird, sondern es als Escapezeichen benutzten:

Das hardcoden solcher Strings ist imho nicht das Gelbe vom Ei (ein printer.doDasWasDieSequenzTut() wäre wohl netter, damit wäre der Drucker auch besser austauschbar.).

Aber wenn du darauf baust, müsste sich doch eigentlich eine Ansi-Codierung (und damit die richtige Bytesequenz) erzwingen lassen
Damit der Printer austauschbar ist werden alle Sequenzen so konvertiert. #219 für jetzt kommt ne Umschalt-Ssequenz und dann 3 Zahlen für was...

(Der Code ist 20 Jahr alt... Nix Canvas.... Direkt-Copy an den Printerport... Am Windows vorbei Hardcoded EPSON ESC/2 Befehle... usw...

Mittlerweile gibtes einen Emulator der die Sequenzen wieder Umsetzt in einen Canvas-Printer...

Was ich nicht nachvollziehen kann ist der große Block unter #219. Laut EBCDIC-Tabelle Codepage 1141 entspricht #219 einem "û" (Unicode-#00FB).
Schöne Tabellen.... Mach mal nen CMD auf und tippe <ALT festhalten>219<Alt loslassen>

Es geht um den "alten" DOS Zeichensatz...

Aber abgesehen von meinem "Printer-Problem" habt Ihr diese Probleme nicht? Non-Ascii Zeichen in String-Konstaten?
Kaum zu glauben...

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Delphi XE/XE2 Probleme mit UTF-8 Editor

  Alt 14. Sep 2011, 17:09
Kannst du denn nicht definieren das die entsprechende Quelldatei nicht UTF8 gespeichert wird? da gabs doch mal was ...
Das wäre ne Idee... Wo?
Im Texteditor, Kontextmenu, Eintrag "Dateiformat". Dort auf ANSI stellen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#14

AW: Delphi XE/XE2 Probleme mit UTF-8 Editor

  Alt 14. Sep 2011, 17:16
Im Texteditor, Kontextmenu, Eintrag "Dateiformat". Dort auf ANSI stellen.
Danke!!!! Das war die Lösung.... Funktioniert!

Jetzt muss ich "nur" noch Delphi/GXperts abgewöhnen das um zu stellen...

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#15

AW: Delphi XE/XE2 Probleme mit UTF-8 Editor

  Alt 14. Sep 2011, 17:26
Schöne Tabellen.... Mach mal nen CMD auf und tippe <ALT festhalten>219<Alt loslassen>

Es geht um den "alten" DOS Zeichensatz...
Und warum schreibst du dann EBCDIC? Das hat doch mit dem IBM-DOS-Zeichensatz gar nichts zu tun. EBCDIC wird doch nur auf IBM-Großrechnern verwendet.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz