AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Konvertiere ü zu ü - gibt es da was?
Thema durchsuchen
Ansicht
Themen-Optionen

Konvertiere ü zu ü - gibt es da was?

Ein Thema von taaktaak · begonnen am 3. Okt 2016 · letzter Beitrag vom 4. Okt 2016
Antwort Antwort
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#1

Konvertiere ü zu ü - gibt es da was?

  Alt 3. Okt 2016, 20:15
Moin, Moin.
Ich erhalte von einer anderen (alten) Anwendung Strings, die z.B. das in der Überschrift angeführte ü enthalten können (oder ö, oder ...). Die Strings möchte ich in meiner (Delphi7-)Anwendung natürlich möglichst korrekt anzeigen. Da das Grundthema mir bisher völlig fremd geblieben ist, helfe ich mit derzeit sehr stümperhaft mit einer Reihe von StringReplace() um z.B. ö in ö umzuwandeln.
Gibt es für Delphi7 auch eine fachmännische Lösung?
Ralph
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Konvertiere ü zu ü - gibt es da was?

  Alt 3. Okt 2016, 20:22
Unicode-Komponenten

http://www.delphipraxis.net/175267-d...ig-machen.html
Markus Kinzler

Geändert von mkinzler ( 3. Okt 2016 um 20:24 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

AW: Konvertiere ü zu ü - gibt es da was?

  Alt 3. Okt 2016, 21:14
Oder UTF8ToAnsi('ö'); wenn es denn tatsächlich UTF 8 sein sollte, was ich bei einer alten Anwendung bezweifle.

Alte Anwendungen könnten aber auch noch den OEM-Zeichensatz nutzen, dann wäre aber wohl eher sowas angesagt:
Delphi-Quellcode:
function OemToAnsi(const S: string): string;
begin
  SetLength(Result, Length(S));
  if S <> 'then OemToAnsiBuff(@S[1], @Result[1], Length(S));
end;

function AnsiToOem(const S: string): string;
begin
  SetLength(Result, Length(S));
  if S <> 'then AnsiToOemBuff(@S[1], @Result[1], Length(S));
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#4

AW: Konvertiere ü zu ü - gibt es da was?

  Alt 3. Okt 2016, 22:16
OEM ist och nur 'nen Single-Char-Zeichensatz und hier hat das ö zwei Zeichen, die stark nach UTF-8 ausshen ... Umlaute fangen da fast immer mit à an.

Sieht eher nach UTF-8 aus.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Konvertiere ü zu ü - gibt es da was?

  Alt 3. Okt 2016, 22:24
Es handelt sich bei der Sequenz ü tatsächlich um die ANSI-Darstellung einer UTF-8 Sequenz für das kleine ü.

ü entspricht Hex C3 BC oder binär 1100 0011 1011 1100. Die 110 leiten eine 2-Byte UTF-8 Sequenz ein, deren zweites Byte mit 10 beginnt. Die restlichen Bits verbleiben mit 00011 11 1100, was auf Bytes formatiert 00 1111 1100 oder Hex FC entspricht, also dem kleinen ü im Windows Zeichensatz 1252.

Mit UTF8ToAnsi solltest du bei Delphi 7 also auf dem richtigen Weg liegen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#6

AW: Konvertiere ü zu ü - gibt es da was?

  Alt 4. Okt 2016, 06:30
Moin, Moin.
Mit UTF8ToAnsi() werden alle bisher vorliegenden "Sonderfälle" korrekt umgewandelt; damit habe ich die erhoffte schnelle und unkomplizierte Lösung und kann mich wieder den mir wesentlichen Dingen zuwenden.
Vielen Dank für die Antworten.
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:26 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