Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Внизкак в конце строки удалить символ перевода стоки? Найти похожие ветки
← →
Smirnoff (2004-04-30 18:14) [0]если таковой имеется...
должна же быть какая то функция...
← →
Fay © (2004-04-30 18:16) [1]Можно так...
s := StringReplace(s, #13#10, "", [rfReplaceALl])
← →
Smirnoff (2004-04-30 18:22) [2]to Fay
спасибо большое. очень срочно надо было. выручил! :)
← →
Fay © (2004-04-30 18:25) [3]Не за что. Благодарности лучше выражать деньгами. Даже если Вы просто потратите их на книжки и клавиатуру с работающей F1. 8)
← →
SergP © (2004-04-30 18:39) [4]
> Fay © (30.04.04 18:16) [1]
но ведь вопрошающий хотел:
> как в конце строки ...
← →
Юрий Зотов © (2004-04-30 18:41) [5]Посмотрите еще TrimRight. Если в конце строки нет пробелов, то это будет лучше (потому что быстрее). А если точно известно, что #13#10 в конце строки обязательно есть, то самое лучшее - это SetLength(S, Length(S) - 2).
А вот этот способ вообще универсальный (и тоже сравнительно быстрый). Он не зависит от того, присутствуют ли символы CR и LF в паре, или есть только один из них:
while S[Length(S)] in [ #10, #13] do
SetLength(S, Length(S) - 1);
← →
Fay © (2004-04-30 18:45) [6]Честно говоря, я был уверен, что речь идет о последней строке какого-нибудь потомка TStrings.
Каюсь.
← →
WebErr © (2004-04-30 18:48) [7]
> Юрий Зотов © (30.04.04 18:41) [5]
Клёво, вот только с NullTerminated string не прокатит!
Там пока вычислишь длину строки может много времени пройти... ;)
← →
Fay © (2004-04-30 18:51) [8]WebErr © (30.04.04 18:48) [7]
А что, String у нас уже не "NullTerminated" ?
← →
ламер © (2004-04-30 18:56) [9]Fay © (30.04.04 18:51) [8]
а что, String таки NullTerminated?
← →
Fay © (2004-04-30 18:57) [10]F1
← →
WebErr © (2004-04-30 18:57) [11]
> Fay © (30.04.04 18:51) [8]
Нет - они 0-индекс теминэйтед! :))))
← →
WebErr © (2004-04-30 18:58) [12]
> Fay © (30.04.04 18:57) [10]
String + F1 :))))
← →
Fay © (2004-04-30 19:13) [13]var
s : String;
begin
s := "WebErr";
ShowMessage(Char(Byte(PChar(@s[1])[6])+$30));
end;
← →
Smirnoff (2004-04-30 19:13) [14]Fay писал
Честно говоря, я был уверен, что речь идет о последней строке какого-нибудь потомка TStrings.
-----------
да
Memo1.Lines.Strings[i]
просто надо было каждую строчку обрезать, так как каждая строка - имя файла
← →
ламер © (2004-04-30 19:27) [15]Fay © (30.04.04 19:13) [13]
т.е. ты сначала приводишь String (который совсем не NullTerminated) к PChar (который является NullTerminated), а потом показываешь, что в конце дописывается 0? :)
← →
Anatoly Podgoretsky © (2004-04-30 19:48) [16]Memo1.Lines.Strings[i] не ограничивается CRLF, если только для этого не предпринять особые меры.
← →
Fay © (2004-04-30 20:52) [17]2ламер © (30.04.04 19:27) [15]
Посмотрите внимательно - я привожу не строку, а адрес первого символа строки. Если Вам так проще, тоvar
s : String;
begin
s := "WebErr";
ShowMessage(Char(PByte(Integer(Pointer(@s[1]))+6)^+$30));
end;
← →
Юрий Зотов © (2004-04-30 21:05) [18]> WebErr © (30.04.04 18:48) [7]
> Клёво, вот только с NullTerminated string не прокатит!
Прокатит.
> Там пока вычислишь длину строки может много времени
> пройти... ;)
Речь идет о Delphi, поэтому Вы ОЧЕНЬ сильно заблуждаетесь. В Delphi длина ASCIIZ-строки вычисляется мгновенно (собственно, она даже и не вычисляется вовсе).
← →
Юрий Зотов © (2004-04-30 21:12) [19]> ламер
> WebErr
Зря спорите.
← →
Anatoly Podgoretsky © (2004-04-30 21:14) [20]Юрий Зотов © (30.04.04 21:12) [19]
Зря спорит только один
← →
Юрий Зотов © (2004-04-30 21:25) [21]> Anatoly Podgoretsky © (30.04.04 21:14) [20]
И зовут его Янус?
:о)
← →
Johnmen © (2004-05-01 03:43) [22]Вообще замечаю, что WebErr © и Goida © спорят много, но задор явно и многократно превышают знания....
:)
← →
Anatoly Podgoretsky © (2004-05-01 10:22) [23]У обоих
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.034 c