|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Странность поведения TStringList
Имеем вот такой код:
Код:
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
|
||||
|
||||
Наверное потому, что однажды созданное, переделывать не хочется.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#7
|
||||
|
||||
Цитата:
Код:
Lst.StrictDelimiter := True; |
Этот пользователь сказал Спасибо ryderx34 за это полезное сообщение: | ||
Страдалецъ (05.03.2012)
|
#8
|
||||
|
||||
Все таки тут видать зависит версии Delphi. Хоть у меня и стоит 7-ка, но свойства StrictDelimiter у меня нет.
|
#9
|
||||
|
||||
Оно, вроде бы, в Delphi 2006 впервые появилось.
|