-
Forum: Programmieren allgemein
by DieDolly,
19. Jun 2019
Nicht die Datei macht ärger sondern einzelne Werte da drin. Beispiele stehen schon im ersten Beitrag.
Das Problem wurde aber schon gehoben. WrapText kam mit dem ' nicht klar. Schade, dass ich jetzt alle ' erst verdoppel muss, nur um sie danach wieder zu normalisieren.
-
Forum: Programmieren allgemein
by DieDolly,
18. Jun 2019
Verstehe ich nicht. Ein Escapezeichen gibt es nicht.
In welchem Zeichensatz das ' ist weiß ich nicht.
-
Forum: Programmieren allgemein
by DieDolly,
18. Jun 2019
Es können nun einmal nicht alle so perfekt sein wie du. Nun aber Ende im Gelände.
-
Forum: Programmieren allgemein
by DieDolly,
18. Jun 2019
Wieso fährst du mich denn jetzt so an?
Die Umbrüche existieren absichtlich nicht. Was denkst du, warum ich WrapText verwende.
MsgStr := StringReplace(MsgStr, #39, #39#39, );
MsgStr := WrapText(MsgStr, sLineBreak, , 75);
MsgStr := StringReplace(MsgStr, #39#39, #39, );
-
Forum: Programmieren allgemein
by DieDolly,
18. Jun 2019
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.
-
Forum: Programmieren allgemein
by DieDolly,
18. Jun 2019
Es sei n och erwähnt, dass ich CreateMessageDialog verwende.
MsgStr := WrapText(AText, sLineBreak, , 75);
MsgDlg := CreateMessageDialog(MsgStr, MsgDlgType, MsgDlgBtn, MsgDlgBtnDef);
Nach 75 Zeichen sollte eigentlich umgebrochen werden. Es wird aber eine ungefähr 135 Zeichen lange Zeile angezeigt.
Ohne irgendein ' im String wird auch richtig umgebrochen.
Wenn ich ein '' in die Datei...
-
Forum: Programmieren allgemein
by DieDolly,
18. Jun 2019
Du hast den Text ja auch hardcoded im Programm drin.
Ließ genau diesen aus einer Ini-Datei aus. Das Ergebnis sollte ein anderes sein.
-
Forum: Programmieren allgemein
by DieDolly,
18. Jun 2019
Das Ergebnis stimmt. Aber intern passiert irgendwas bzw passiert irgendwas nicht denn in einem Message Dialog wird die Zeile nicht mehr automatisch umgebrochen, wenn ein ' im String ist. Wenn ich den String hardcoded selbst reinschreibe und '' statt ' verwende klappt alles. Aber ein '' in der Ini-Datei bringt nicht das Resultat wie der hardcoded string.
Durch Leerzeichen ersetzen ist nicht...
-
Forum: Programmieren allgemein
by DieDolly,
18. Jun 2019
Hier ein Beispiel
function ReadValue(const AIniFile: TMemIniFile; const Section, Ident: string): string;
begin
Result := UTF8ToWideString(AIniFile.ReadString(Section, Ident, ''));
end;
LIni := TMemIniFile.Create(LanguageFile);
try
String123456 := ReadValue(LIni, 'section', 'ident');
-
Forum: Programmieren allgemein
by DieDolly,
18. Jun 2019
Genau genommen ist es eine INI-Datei. Dort stehen Worte und Sätze so drin, wie sie in der jeweiligen Sprache geschrieben werden. Also kein Escapen oder so.
\' und '''' in der INI-Datei, wie man es bei PHP zum Beispiel macht, habe ich schon versucht.
-
Forum: Programmieren allgemein
by DieDolly,
17. Jun 2019
Ich lese Text aus einer Datei, der dann in meinem Programm angezeigt wird.
Das klappt gut bis zu dem, Zeitpunkt, wenn ein zu ladener String einen Quote enthält wie er in England oder Frankreich benutzt wird
Ich kann das ins Programm laden und es gibt keinen Fehler. Aber ein so in eine Variable geschriebener Satz in einem MessageDlg erzeugt keinen Umbruch nach den Windows typischen 60...