powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / путь к файлу
6 сообщений из 6, страница 1 из 1
путь к файлу
    #34552337
nerv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим имеем в переменной путь
C:\MytmpDir\Project\file0.txt

Нужно получить папку, то есть
C:\MytmpDir\Project

и имя файла без расширения,
то есть file0

Подскажите как это сделать на VB
...
Рейтинг: 0 / 0
путь к файлу
    #34552457
nerv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получилось у самого:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  L = StrReverse(Me!MemoFileName)
  F = Left(L, InStr(L, "\") -  1 )
  F = Right(F, Len(F) - InStr(F, "."))
  F = StrReverse(F)
  MsgBox (F)
  L = Right(L, Len(L) - InStr(L, "\"))
  L = StrReverse(L)
  MsgBox (L)
...
Рейтинг: 0 / 0
путь к файлу
    #34552540
Фотография gjghjc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InStr() Вхождение искомого символа с начала строки
InStrRev() вхождение символа с конца строки.

Split() разбивает строку на массив подстрок по тому разделителю который ты задашь.
Следовательно в последнем элементе будет храниться имя файла правда с расширением но его можно отрезать.
И не надо будет строчку туда сюда вращать
...
Рейтинг: 0 / 0
путь к файлу
    #34552580
nerv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вращать надо, потому как имена папок иногда тоже с точками бывают
например
C:\Files.RUS\read.me
...
Рейтинг: 0 / 0
путь к файлу
    #34552800
Фотография gjghjc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не согласен.
В качестве разделителя в Split ты будешь использовать "\" или "/" (в зависимости настроек системы)
в итоге файл без расширения будет находится следующим кодом

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim arrPath() As String

arrPath() = Split("c:\dir\file.ext", "\", - 1 , vbTextCompare) ' Загоняем в массив переменную в которой содержится путь к файлу

File_Name_With_Ext = arrPath(UBound(arrPath)) ' Имя файла с расширением

MyPos = (InStrRev(File_Name_With_Ext, ".", - 1 ,  0 ) -  1  ) 'позиция разделяющей точки 

File_Name = Left(arrPath(UBound(arrPath)), MyPos) 'Имя файла без расширения

А вот какой из символов используется как разделитель лучше тянуть из настроек системы иначе ни твой ни мой коды работать не будут. Но как вытянуть эту настройку я к сожалению не помню :(
...
Рейтинг: 0 / 0
путь к файлу
    #34553192
12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чёто типа Name(Path) as (NewPath):kill(Path)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / путь к файлу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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