Перенос слов в TMemo с плюсом (+) - PullRequest
2 голосов
/ 02 июля 2011

В моей строке есть плюс (+) символ.

Например, строка

__ VIEWSTATE = / wEPDwULLTIwMTY5NDMyMDAPZBYCZg9kFgICAQ9kFgxmD2QWAmYPFgIeC18hSXRlbUNvdW50AgMWBgIBD2QWAmYPFQEiPG5vYnI + PHNwYW4 + 0JLRhdC + 0LQ8L3NwYW4 + PC9ub2JyPmQCAw9kFgJmDxUBTDxub2JyPjxhIGhyZWY9J3NpZ251cC5hc3B4JyB0YXJnZXQ9J19zZWxmJz7QoNC10LPQuNGB0YLRgNCw0YbQuNGPPC9hPjwvbm9icj5kAgUPZBYCZg8VAUk8bm9icj48YSBocmVmPSdhYm91dC5hc3B4JyB0YXJnZXQ9J19zZWxmJz7QmNC90YTQvtGA0LzQsNGG0LjRjzwvYT48L25vYnI + ZAICD2QWBAIBDxYCHwACBRYKZg9kFgJmDxUBHjxsaT48Yj7QmtC

Теперь я добавляю строку в memo1 и получаю это:

WTF

Delphi вставляет новую строку в случайных местах. Я пытаюсь удалить все разрывы строк:

viewstate:=StringReplace(viewstate, #10#13, ' ', [rfReplaceAll]);
viewstate:=StringReplace(viewstate, #13#10, ' ', [rfReplaceAll]);
viewstate:=StringReplace(viewstate, #10, ' ', [rfReplaceAll]);
viewstate:=StringReplace(viewstate, #13, ' ', [rfReplaceAll]);

Но это не результат. Что это?

P.S. Я из России, извините за плохой английский.

Ответы [ 2 ]

6 голосов
/ 02 июля 2011

Delphi не добавляет разрывы строк. В заметку добавляются визуальные программные разрывы в символах-разделителях (например, +). Установите для свойства WordWrap памятки значение false, и это должно решить проблему.

1 голос
/ 04 июля 2011

Просто для справки: для переноса текста на определенный символ вы можете использовать функцию

WrapText() в блоке SysUtils.pas.

function WrapText(const Line, BreakStr: string; const BreakChars: TSysCharSet;
  MaxCol: Integer): string;

Например:

sOutput := WrapText(sInput,#13#10,['+'],100);
...