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.
Na ja, WrapText kommt mit dem ' schon klar.
Wie schon von Uwe weiter oben deutlich gemacht, setzt WrapText keinen Break innerhalb von Quotes ( ' oder " ).
Jetzt stößt WrapText in "Deinem" Text auf ein Quote.
Da er innerhalb von Quotes kein Break setzen darf, sucht er das nächste Quote, in der Absicht den in ' stehenden Teil zu überspringen. Das wird dann aber bei "Deinen" Texten i.d.R. nicht gefunden.
Also nicht "WrapText kommt nicht klar" sondern "Du benutzt eine Funktion für etwas, für das sie nicht gemacht ist".
Vielleicht wäre es besser, ein eigenes WrapText zu verwenden, das Quotes nicht als Ein-/Ausleitung eines Textteils betrachtet sondern so behandelt, wie alle anderen Zeichen.
Zum Beispiel so:
(Auf die Schnelle getippt und nicht ausgiebig getestet).
Delphi-Quellcode:
FUNCTION WrapText(
const Line,BreakStr:
String;
const BreakChars:TSysCharSet;
MaxCol:Integer):
String;
var I,J,K,Len:Integer;
begin
Len:=Length(Line);
if Len<=MaxCol
then Exit(Line);
Result:='
';
I:=1;
J:=MaxCol;
repeat
K:=J;
while (J>I)
and not CharInSet(Line[J],BreakChars)
do Dec(J);
if J=I
then begin
J:=K;
while (J<Len)
and not CharInSet(Line[J],BreakChars)
do Inc(J);
end;
// J zeigt auf Break oder auf letztes Zeichen in Line
if Result<>'
'
then Result:=Result+BreakStr;
Result:=Result+Copy(Line,I,J-I+1);
I:=J+1;
Inc(J,MaxCol);
until J>=Len;
if I>Len
then Exit;
if Result<>'
'
then Result:=Result+BreakStr;
Result:=Result+Copy(Line,I,MaxInt);
end;