|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Замена переносов на пробелы
Вот такой код:
Код:
function TForm1.DeleteLineBreaks(S: string): string; var Source, SourceEnd: PChar; begin Source := Pointer(S); SourceEnd := Source + Length(S); while Source < SourceEnd do begin case Source^ of #10: Source^ := #32; #13: Source^ := #32; end; Inc(Source); end; Result := S; end; На входе - поле мемо, в нем несколько строк. Функция вызывается с параметром DeleteLineBreaks(memo1.Lines.Text). |
#2
|
||||
|
||||
Обязательно использовать PChar? Со строками и StringReplace это делается в 4 строки кода... хоть и ни фига не оптимально...
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
глупый вопрос... а как?
|
#4
|
||||
|
||||
Код:
S:=StringReplace(S, #10#13, ' ', [rfReplaceAll]); Помогаю за Спасибо |
#5
|
|||
|
|||
Цитата:
Код:
Writeln(f, StringReplace(memo1.Lines.Text, #10#13, ' ', [rfReplaceAll])); |
#6
|
||||
|
||||
Код:
S:=StringReplace(S, #10#13, ' ', [rfReplaceAll]); S:=StringReplace(S, #13#10, ' ', [rfReplaceAll]); S:=StringReplace(S, #10, ' ', [rfReplaceAll]); S:=StringReplace(S, #13, ' ', [rfReplaceAll]); Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#7
|
|||
|
|||
Угу, а вот так в данном случае не проще:
Код:
function GetPlainText(AList : TStringList) : String; var I : Integer; begin Result := AList[0]; For I := 1 To AList.Count-1 Do Result := Result + ' ' + AList[i]; end; ... Writeln(f,GetPlainText(TStringList(Memo1.Lines))); |