Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужно опознать путь типа c:\folder\folder1 [D5, D6, Win95/98, Win2k, WinXP]


Sirus ©   (2004-12-08 14:02:00) 

Нужно опознать путь типа c:\folder\folder1
в строке среди проце белиберды...


Sirus   (2004-12-10 11:10:00) [1]

А если это начало белиберы... :)
А так проблема решена... Firebird сам тоже некорректно воспринимает пути типа c:\Base;Files\
Начало пути ':\' с одним символом до этой строки
Конец пути ';', '#', #0, #13


jack128   (2004-12-09 11:33:00) [2]

А вообще мне нравятся пользователи, которые лапами лезут в конфиг сервера. Коли они такие продвинутые, то просто скажи им, что не создавали такие пути, должны понять.. Либо анализируй, если первые три символа после ';' - это 'X:\' , где Х - буква диска, то это новый путь, иначе продолжение старого...


jack128   (2004-12-09 11:26:00) [3]

и что, сам FB коректно разбирает такие пути?


Sirus   (2004-12-09 11:02:00) [4]

Короче там разделителем путей стоит ";"
Так вот, некоторые юзеры умудряются создать папку примерно такого наименования: "Base;Files".
Так вот если попытаюсь найди конец одного пути по символам конца строки и символу ";",
то получаю в итоге путь: c:\Base вместо c:\Base;Files


jack128   (2004-12-09 10:14:00) [5]

Sirus   (09.12.04 9:59) [6]
firebird.conf


Хм. Грузишь файл в StringList, убираешь все что находится после символа #.  Paths := StringList.Values['AnyVariable']. А дальше все зависит от того, что такое AnyParam


Sirus   (2004-12-09 09:59:00) [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


Германн   (2004-12-09 03:23:00) [7]

2 Юрий Зотов ©   (09.12.04 02:46) [4]
Если Вы это мне, то увы. Не получилось. :(
Не смог найти алгоритм формирования записей в том лог-файле. Увы разработчик сделал его двоичным, а не текстовым. :(
Поэтому то я и акцентировал внимание на словах автора на "белиберде", хотя может быть у автора другое понятие "белиберды".


Юрий Зотов   (2004-12-09 02:46:00) [8]

Регулярные выражения, либо свой парсинг (что, можно сказать, одно и то же).


Германн   (2004-12-09 01:40:00) [9]

А вообще-то это очень не просто, если "среди проце белиберды...". И хуже всего два момента. Первое - пробелы в именах. Второе - отсутствие кавычек (ведь если прочее - белиберда, то и кавычек может не быть). А, если еще и поиск нужной строки среди "белиберды" производится не на том самом компе, где этот путь существует, то вообще тупик.

Было дело. Попытался несколько лет назад автоматизировать обработку "лог-файла", создаваемого некой программой. На другом компе, ес-сно. Сломался. :(


Dolt   (2004-12-08 21:30:00) [10]

А лучше RegExp


Anatoly Podgoretsky   (2004-12-08 14:09:00) [11]

POS


Наверх

Титульная страница Поиск, карта сайта Написать письмо