Автор | Сообщение |
|
| |
Пост N: 4931
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.06.15 15:10. Заголовок: Выделить имя файла из пути
Наваял. Вроде работает. Кто шарит в регулярных выражениях , подскажите если где не прав c:="\123\222\345\$\222222ert.IDX" ? regexidx(c,"IDX") wait Func regexidx(a,b) local cRegExp:="([^.\\]+)\."+b local ret:="" if hb_Regexhas( cRegExp , a) ret:=hb_Regex( cRegExp,a,.f.)[1] endif return ret PS По идее в WIN API должно быть нечто готовое.
|
|
|
Ответов - 9
[только новые]
|
|
|
| постоянный участник
|
Пост N: 4289
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.06.15 16:54. Заголовок: Dima пишет: c:="..
Dima пишет: цитата: | c:="\123\222\345\$\222222ert.IDX" |
| Я бы сделал через aDim := HB_ATokens(c,"\",.F.,.F.) ? aDim[Len(aDim)]
|
|
|
|
| |
Пост N: 4932
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.06.15 17:14. Заголовок: Да вариант , сенкс...
Да вариант , сенкс.
|
|
|
|
| |
Пост N: 350
Зарегистрирован: 17.06.10
|
|
Отправлено: 21.06.15 18:36. Заголовок: Вариант, ежели точно..
Вариант, ежели точно уверен, что это файл я в свою определялку файлов в клиборде воткнул и определение папок, кои отличал от файлов наличием расширения. Все работало пока не попалась папка точками Пришлось проверять на атрибут 16
|
|
|
|
| |
Пост N: 4935
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.06.15 18:42. Заголовок: fil Понял. Учту. Ес..
|
|
|
|
| Администратор
|
Пост N: 3289
Зарегистрирован: 23.05.05
|
|
Отправлено: 22.06.15 08:02. Заголовок: Есть еще семейство ф..
Есть еще семейство функций из harbour rtl: HB_FNAMEDIR HB_FNAMENAME HB_FNAMEEXT
|
|
|
|
| |
Пост N: 4939
Зарегистрирован: 17.05.05
|
|
Отправлено: 22.06.15 08:09. Заголовок: Pasha Не знал , сен..
Pasha Не знал , сенкс. Тогда надо так HB_FNAMENAME(c)+HB_FNAMEEXT(c) , так как нет функции что бы вернула имя+расширение Упс , есть hb_FNameNameExt
|
|
|
|
| постоянный участник
|
Пост N: 653
Зарегистрирован: 17.02.12
|
|
Отправлено: 22.06.15 09:30. Заголовок: hb_fNameMerge(cFullF..
hb_fNameMerge(cFullFileName, @cPath, @cName, @cExt [, @cDrive]) cFullFileName := hb_fNameSplit(cPath, cName, cExt [, cDrive])
|
|
|
|
| |
Пост N: 3
Зарегистрирован: 18.06.15
|
|
Отправлено: 23.06.15 08:18. Заголовок: Не обижайте чайника ..
Не обижайте чайника .... harbour rtl - что это и как подключить эти функии (HB_FNAMEDIR, ...) Перерыл всю имеющуюся доку, нет таких ...
|
|
|
|
| |
Пост N: 4949
Зарегистрирован: 17.05.05
|
|
Отправлено: 23.06.15 08:44. Заголовок: ChangeLog.txt (HARBO..
ChangeLog.txt (HARBOUR) 2011-02-03 22:43 UTC+0100 Viktor Szakats (vszakats.net/harbour) * include/harbour.hbx * src/rtl/hbfilehi.prg * Renames in new path/fn handling functions. * HB_FNAMEDIRGET() -> HB_FNAMEDIR() * HB_FNAMENAMEGET() -> HB_FNAMENAME() * HB_FNAMENAMEEXTGET() -> HB_FNAMENAMEEXT() * HB_FNAMEEXTGET() -> HB_FNAMEEXT() * HB_FNAMEEXTDEF() -> HB_FNAMEEXTSETDEF() Специально подключать ни чего не нужно , все само подтянется.
|
|
|
|