Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как вырезать имя файла из полного пути? / 25 сообщений из 41, страница 1 из 2
07.08.2003, 10:51
    #32229715
Albert Gor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Ну типа

Код: plaintext
1.
? GetFileName( "C:\MyFolder\MyBase.mdb" )
 "MyBase.mdb" 
...
Рейтинг: 0 / 0
07.08.2003, 10:55
    #32229724
Осел
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Найти в строке последний "\" и взять то, что после него
...
Рейтинг: 0 / 0
07.08.2003, 10:56
    #32229727
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Интересно, а зачем миру нужны программисты? ;)

Дык возьми и напиши функцию, ищущую последний слэш,
а потом вырезай остаток (имяфайла) себе.
Подсказки: есть хорошие функции
Instr
Mid, Right
...
Рейтинг: 0 / 0
07.08.2003, 11:00
    #32229736
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Есть еще интересная функция Split
А также из Гетца набор функций по работе с файлами
...
Рейтинг: 0 / 0
07.08.2003, 11:07
    #32229745
VIG
VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
ну почему все так любят усложнять
smyfile = Dir(full_file_name)
...
Рейтинг: 0 / 0
07.08.2003, 11:45
    #32229799
Albert Gor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
2 VIG
Спасибо.
...
Рейтинг: 0 / 0
07.08.2003, 12:30
    #32229857
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Позволю чебе заметить, что вариант VIG'а работает только при условии, что файл существует.
...
Рейтинг: 0 / 0
07.08.2003, 12:31
    #32229860
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Тьфу. Позволю себе... И далее по тексту. А если не существует, то выдастся пустой стринг.
...
Рейтинг: 0 / 0
07.08.2003, 12:52
    #32229893
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Поддерживаю ВС!
Если уж писать функцию, которая на входе получает полный путь текстом,
так она должна его и обрабатывать, а не лезть проверять его валидность ;)))
...
Рейтинг: 0 / 0
07.08.2003, 12:58
    #32229903
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Incold>...А также из Гетца набор функций по работе с файлами...
-----

Кстати, при всем уважении к двухтомнику и непререкаемом авторитете этого автора, мне не удалось получить от его процедур работы с файлами вида adhFullPath, adhFileExists правильной работы.
Одно из двух - или дядька перемудрил или ручоночки у меня кривые. Но на всяк случай предупреждаю: кто не спрятался - я не виноват.
...
Рейтинг: 0 / 0
07.08.2003, 13:00
    #32229906
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
2 Лифчик
Я этими функциями не пользовался.
Посмотрел, как устроено и написал свое.
...
Рейтинг: 0 / 0
07.08.2003, 13:11
    #32229924
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Дык и я тоже - проще, но для моих целей вполне достаточно. М.б. опечатки вкрадываются в издания?
А вообще - свою голову пора иметь. Набить ее шишками и двигаться вперед и вглубь к полной победе над аксесом и виндоуз в целом
...
Рейтинг: 0 / 0
08.08.2003, 15:42
    #32231376
PaulB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Это я подсмотрел в примере у Ю. Шермана highprog.com
...
Рейтинг: 0 / 0
08.08.2003, 17:39
    #32231551
Как вырезать имя файла из полного пути?
Можно еще и CreateObject использовать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Public Function myFile()

Dim objFS As Object
Dim myObj As Variant

' 1 . OPREDELIT IMYA TEKUSHEGO FAILA

Set objFS = CreateObject( "Scripting.FileSystemObject" )

Set myObj = objFS.getfile(CurrentDb.Name)

myFile = myObj.Name

Set objFS = Nothing
Set myObj = Nothing


End Function
...
Рейтинг: 0 / 0
08.08.2003, 18:36
    #32231608
progist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Если я не ошибаюсь (далеко все-таки от своего экземпляря Гетца) он использует в своих функциях вычленения имени файла из пути функцию VB InStrRev()
Так вот у етой функции есть баг: если явно не установить последний аргумент функции ' Compare ', то этот параметр конфликтует с Болгарской сортировкой
и если поддержка болгарского яз. на машине не установлена - возникает ошибка #5: "invalid procedure call or argument".
Стоит поставить этот аргумент явно (vbBinaryCompare) - и функция начинает работать
...
Рейтинг: 0 / 0
09.08.2003, 00:48
    #32231756
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
> Set objFS = Nothing
> Set myObj = Nothing

Наверно, в обратном порядке? А если в таком, то вторая строчка уже не нужна...
...
Рейтинг: 0 / 0
09.08.2003, 01:09
    #32231760
Как вырезать имя файла из полного пути?
Саныч, ну стыдно мне, ужас как стыдно. Но почему в обратном порядке? Выходит что при изничтожении переменных типа Object все последующие переменные основаные на них изничтожаются автоматом? Не знал, выходит я как партизан из анекдота после войны поезда так и взрываю...
...
Рейтинг: 0 / 0
09.08.2003, 08:38
    #32231790
progist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Вообще-то рекомендуется все Object - переменные уничтожать по возрастанию
В VB это не помешает.
Видели, в VB.Net создали сборщика мусора. Он проверяет все переменные, и если некая уже не нужна - убивает ее
...
Рейтинг: 0 / 0
09.08.2003, 09:04
    #32231801
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
>Вообще-то рекомендуется все Object - переменные уничтожать по возрастанию
Progist, а по возрастанию это как? Можно подробней? Если где-то читал в нете, то дай плиз ссылочку.
Как я понимаю, то переменные в принципе должны уничтожаться по принципу "Первая создана - последней уничтожена". Пральна понимаю?
...
Рейтинг: 0 / 0
09.08.2003, 09:41
    #32231807
progist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
set db = ...
set rst = db.....

set rst = nothing
set db = nothing
...
Рейтинг: 0 / 0
09.08.2003, 09:48
    #32231809
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
"Первая создана - последней уничтожена"...
Слушай, а информацию где почерпнул? Без всяких приколов, где на такие рекомендации натыкался?
...
Рейтинг: 0 / 0
09.08.2003, 10:26
    #32231812
progist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
2нуф-Нуф
тебе скучно в субботу?
или "безо всяких приколов" на этом форуме уже нельзя общаться?
сам-то посмотри что спрашиваешь. Это что, уничтожение объектных переменных из разряда "секреты мастеров"? Это же классика VB, и "натыкался" я в каждой 2-й (если не 1-й) книжке по VB.
...
Рейтинг: 0 / 0
09.08.2003, 11:26
    #32231821
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Упс... progist, не гони коней! Чего ты? Лично я нигде еще не натыкался на то, в какой последовательности необходимо уничтожать объектные переменные. Заметь, что не уничтожение объектных переменных вообще, а ПОСЛЕДОВАТЕЛЬНОСТЬ! Вот и спросил.
Хотя, не надо замечать... Сорри... Я не хотел тебя задеть/обидеть/оскарбить/отвлечь/разозлить/расстроить/вывести_из_себя/заставить_начать_хамить/что-то_еще_если_забыл_перечислить...
Я боше не буду... //делает выводы, чтобы не попасть так еще раз...
...
Рейтинг: 0 / 0
09.08.2003, 11:45
    #32231824
progist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Сам посуди, чуть-чуть задумайся, если уничтожается объект верхнего уровня,
например Database, то уничтожение объекта Recordset, который находится в Database приведет к ошибке
Ты же сам все правильно написал :
< "Первая создана - последней уничтожена"
Я написал это другими словами
Суть вопроса была здесь:

Хамский Шкет:
< Саныч, ну стыдно мне, ужас как стыдно. Но почему в обратном порядке? Выходит что при изничтожении переменных типа Object все последующие переменные основаные на них изничтожаются автоматом? Не знал, выходит я как партизан из анекдота после войны поезда так и взрываю...

Так вот, я только напомнил, что есть неписанное правило в VB:
-если чего сам создал, то сам и уничтож
т. е. ХШ правильно делает, что уничтожает руками объекты, но лучше это делать последовательно, как ты сказал (или как я - одно и тоже)
Кроме того есть еще масса вещей, учитывая которые приложение VB ( или VBA)работает стабильнее (в частности известная ошибка когда не закрывается окно Аксесс) например, после использ-ния On error resume next жэелательно очистить объект Error (err.number = 0 или .Clear)
и другие вещи, массу кода увеличивающие, но количество глюков уменьшающие.

Просто пора подрасти уже, вопросы в профессиональных топиках задавать не
ради очередного выступления, а по делу, профессионалы понимают друг друга с полуслова, а ты вроди не чайник...
...
Рейтинг: 0 / 0
09.08.2003, 12:46
    #32231836
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вырезать имя файла из полного пути?
Так я у прогиста не понял, ошибка ли написать:

Код: plaintext
1.
2.
3.
4.
set db = ... 
set rst = db..... 

set db = nothing
set rst = nothing 

и если да, то какая - компилятора, рантайм?
А еще в одном месте он пишет, что в книгах по VB через одну про это встречается, а в другом - про неписанные правила говорит. Неувязочка какая-то. И с понтами. Правда я чайник и к моему мнению можно не прислушиваться, а сразу на х.. посылать
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как вырезать имя файла из полного пути? / 25 сообщений из 41, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]