![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Имеем вот такой код:
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
Classes, SysUtils;
Var
Lst: TStringList;
Example: String;
begin
Example := '\\root\subdir 1\subdir 1 1\subdir 1 1 1\filename.ext';
Lst := TStringList.Create;
// Вариант1
Lst.Delimiter := '\';
Lst.DelimitedText := Example;
WriteLn(Lst.Strings[Lst.Count - 2]);
// Вариант2
Lst.Text := StringReplace(Example,'\',#13,[rfReplaceAll]);
WriteLn(Lst.Strings[Lst.Count - 2]);
ReadLn;
Lst.Free;
end.Вопрос. Почему разный результат? |
|
#2
|
||||
|
||||
|
Пробелы не учитывает кажись
Цитата:
|
|
#3
|
||||
|
||||
|
Я в общем-то что-то подобное предполагал, но ведь это явный баг. Неужели никто не заметил до сих пор? Надо в XE проверить.
|
|
#4
|
||||
|
||||
|
И там то же самое
Цитата:
![]() |
|
#5
|
||||
|
||||
|
Вот кто-бы мне объяснил почему пробелы-то обязательно использовать как разделитель при пользовательском Delimited? Как-то не врублюсь в логику этого навязчивого сервиса.
|
|
#6
|
||||
|
||||
|
Наверное потому, что однажды созданное, переделывать не хочется.
|
|
#7
|
||||
|
||||
|
Цитата:
Код:
Lst.StrictDelimiter := True; |
| Этот пользователь сказал Спасибо ryderx34 за это полезное сообщение: | ||
Страдалецъ (05.03.2012)
| ||
|
#8
|
||||
|
||||
|
Все таки тут видать зависит версии Delphi. Хоть у меня и стоит 7-ка, но свойства StrictDelimiter у меня нет.
|
|
#9
|
||||
|
||||
|
Оно, вроде бы, в Delphi 2006 впервые появилось.
|