Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизНужно опознать путь типа c: folder folder1 Найти похожие ветки
← →
Sirus (2004-12-08 14:02) [0]Нужно опознать путь типа c:\folder\folder1
в строке среди проце белиберды...
← →
Anatoly Podgoretsky © (2004-12-08 14:09) [1]POS
← →
Dolt © (2004-12-08 21:30) [2]А лучше RegExp
← →
Германн © (2004-12-09 01:40) [3]А вообще-то это очень не просто, если "среди проце белиберды...". И хуже всего два момента. Первое - пробелы в именах. Второе - отсутствие кавычек (ведь если прочее - белиберда, то и кавычек может не быть). А, если еще и поиск нужной строки среди "белиберды" производится не на том самом компе, где этот путь существует, то вообще тупик.
Было дело. Попытался несколько лет назад автоматизировать обработку "лог-файла", создаваемого некой программой. На другом компе, ес-сно. Сломался. :(
← →
Юрий Зотов © (2004-12-09 02:46) [4]Регулярные выражения, либо свой парсинг (что, можно сказать, одно и то же).
← →
Германн © (2004-12-09 03:23) [5]2 Юрий Зотов © (09.12.04 02:46) [4]
Если Вы это мне, то увы. Не получилось. :(
Не смог найти алгоритм формирования записей в том лог-файле. Увы разработчик сделал его двоичным, а не текстовым. :(
Поэтому то я и акцентировал внимание на словах автора на "белиберде", хотя может быть у автора другое понятие "белиберды".
← →
Sirus (2004-12-09 09:59) [6]Германн © (09.12.04 01:40) [3]
Вот как раз оно самое и есть...
Это строка из firebird.conf, т.е. мне надо получить возможные пути сохранения внешних таблиц Firebird...
AnyVariable = AnyParam c:\AnyFolder\Any Folder; d:\Any;Folder\Any_Folder # AnyComment
Вот из этой строки мне надо выбрать пути:
c:\AnyFolder\Any Folder
d:\Any;Folder\Any_Folder
← →
jack128 © (2004-12-09 10:14) [7]Sirus (09.12.04 9:59) [6]
firebird.conf
Хм. Грузишь файл в StringList, убираешь все что находится после символа #. Paths := StringList.Values["AnyVariable"]. А дальше все зависит от того, что такое AnyParam
← →
Sirus (2004-12-09 11:02) [8]Короче там разделителем путей стоит ";"
Так вот, некоторые юзеры умудряются создать папку примерно такого наименования: "Base;Files".
Так вот если попытаюсь найди конец одного пути по символам конца строки и символу ";",
то получаю в итоге путь: c:\Base вместо c:\Base;Files
← →
jack128 © (2004-12-09 11:26) [9]и что, сам FB коректно разбирает такие пути?
← →
jack128 © (2004-12-09 11:33) [10]А вообще мне нравятся пользователи, которые лапами лезут в конфиг сервера. Коли они такие продвинутые, то просто скажи им, что не создавали такие пути, должны понять.. Либо анализируй, если первые три символа после ";" - это "X:\" , где Х - буква диска, то это новый путь, иначе продолжение старого...
← →
Sirus (2004-12-10 11:10) [11]А если это начало белиберы... :)
А так проблема решена... Firebird сам тоже некорректно воспринимает пути типа c:\Base;Files\
Начало пути ":\" с одним символом до этой строки
Конец пути ";", "#", #0, #13
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.049 c