On-line: PSP, гостей 2. Всего: 3 [подробнее..]
АвторСообщение
администратор




Пост 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 должно быть нечто готовое.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 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)]

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4932
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.06.15 17:14. Заголовок: Да вариант , сенкс...


Да вариант , сенкс.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 350
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 21.06.15 18:36. Заголовок: Вариант, ежели точно..


Вариант, ежели точно уверен, что это файл

я в свою определялку файлов в клиборде воткнул и определение папок, кои отличал
от файлов наличием расширения. Все работало пока не попалась папка точками
Пришлось проверять на атрибут 16

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4935
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.06.15 18:42. Заголовок: fil Понял. Учту. Ес..


fil
Понял. Учту.
Есть вот такая фишка оказывается https://msdn.microsoft.com/ru-ru/library/system.io.path.getfilename%28v=vs.110%29.aspx
Но в сях не силен.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3289
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.06.15 08:02. Заголовок: Есть еще семейство ф..


Есть еще семейство функций из harbour rtl:

HB_FNAMEDIR
HB_FNAMENAME
HB_FNAMEEXT


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4939
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.06.15 08:09. Заголовок: Pasha Не знал , сен..


Pasha
Не знал , сенкс.
Тогда надо так HB_FNAMENAME(c)+HB_FNAMEEXT(c) , так как нет функции что бы
вернула имя+расширение

Упс , есть hb_FNameNameExt

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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])


Спасибо: 1 
ПрофильЦитата Ответить





Пост N: 3
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 23.06.15 08:18. Заголовок: Не обижайте чайника ..


Не обижайте чайника .... harbour rtl - что это и как подключить эти функии (HB_FNAMEDIR, ...)
Перерыл всю имеющуюся доку, нет таких ...

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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()


Специально подключать ни чего не нужно , все само подтянется.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 618
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет