![]() |
AW: Text aus Datei laden, Single Quote Problem
Es sei n och erwähnt, dass ich CreateMessageDialog verwende.
Delphi-Quellcode:
Nach 75 Zeichen sollte eigentlich umgebrochen werden. Es wird aber eine ungefähr 135 Zeichen lange Zeile angezeigt.
MsgStr := WrapText(AText, sLineBreak, ['.', ' ', #9, '-'], 75);
MsgDlg := CreateMessageDialog(MsgStr, MsgDlgType, MsgDlgBtn, MsgDlgBtnDef); Ohne irgendein ' im String wird auch richtig umgebrochen. Wenn ich ein '' in die Datei schreibe wird korrekt umgebrochen. Aber dann wird auch ein '' angezeigt. Mit StringReplace das '' durch ' austauschen führt zum ursprünglichen Problem. |
AW: Text aus Datei laden, Single Quote Problem
Könnte es mit deiner Umwandlung (UTF8ToWideString) zu tun haben?
|
AW: Text aus Datei laden, Single Quote Problem
Der Kommentar zu WrapText in System.SysUtils sagt aber auch:
Zitat:
|
AW: Text aus Datei laden, Single Quote Problem
Ich habe gehofft es liegt daran. Aber daran liegt es leider nicht.
Das scheint irgendein tiefliegenderes Problem mit dem CreateMessageDialog zu sein. Von CreateMessageDialog kann ich leider nicht weg. Wenn ich die Single Quotes verdopplte, dann wird korrekt umgebrochen. Aber dann sehe ich im Resultat auch doppelte Quotes. |
AW: Text aus Datei laden, Single Quote Problem
Zitat:
Delphi-Quellcode:
und nirgendwo anders.
WrapText
Also, entweder vor dem WrapText die Quotes verdoppeln und danach wieder das Verdoppeln rückgängig machen oder eine andere WrapText verwenden/schreiben. Schaust du dir eigentlich niemals an, was du in die Funktionsaufrufe übergibst? Dann wäre dir sofort aufgefallen, dass die Umbrüche beim Aufruf von CreateMessageDialog fehlen und es also daran nicht liegen kann. |
AW: Text aus Datei laden, Single Quote Problem
Zitat:
Zitat:
Delphi-Quellcode:
Das dauert zum Glück nicht einmal 1 Millisekunde bei mir. Ich hatte mit dem Schlimmsten gerechnet. Ist zwar umständlich aber funktioniert.
MsgStr := StringReplace(MsgStr, #39, #39#39, [rfReplaceAll]);
MsgStr := WrapText(MsgStr, sLineBreak, ['.', ' ', #9, '-'], 75); MsgStr := StringReplace(MsgStr, #39#39, #39, [rfReplaceAll]); |
AW: Text aus Datei laden, Single Quote Problem
Zitat:
Du willst vor dem Aufruf von
Delphi-Quellcode:
aktiv Zeilenumbrüche mit
CreateMessageDialog
Delphi-Quellcode:
in den Text hineinbringen.
WrapText
Du vermisst Zeilenumbrüche im MessageDialog. Und da kommst du nicht auf die Idee, zu schauen, was bei
Delphi-Quellcode:
denn so herauskommt, also dem Dingen, was da Zeilenumbrüche reinbringen soll?
WrapText
Das lässt mich nur etwas den Kopf schütteln. |
AW: Text aus Datei laden, Single Quote Problem
Es können nun einmal nicht alle so perfekt sein wie du. Nun aber Ende im Gelände.
|
AW: Text aus Datei laden, Single Quote Problem
Zitat:
1) Was ist denn der Hex-Wert des Zeichens? im verwendeten Zeichensatz! 2) Welche(s) Zeichen (Hex-Wert)/Zeichensatz verhindert den angestrebten Umbruch? 3) Gibt es ein Escape-Zeichen? Ok ist ganz schön korinthenkackerisch, aber exakt! Und bei der teilweise kreativen Darstellung von Zeichen durch verschiedene Fonts absolut notwendig. Gruß K-H |
AW: Text aus Datei laden, Single Quote Problem
Zitat:
In welchem Zeichensatz das ' ist weiß ich nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:51 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 by Thomas Breitkreuz