Войти

Как получить длинное имя файла из короткого имени файла

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

154822
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Аннотация
Функция Dir() может использоваться для возврата длинное имя файла, но не включает сведения о пути. При разборе данного короткий путь/имя_файла на ее составляющие каталогов, можно использовать функцию Dir() создавать длинные путь и имя файла. В этой статье показано, как это сделать.
Дополнительная информация
Следующий пример кода включает функцию, которая преобразует короткие имена файлов в их эквиваленты длинное имя файла, а также простой пример использования функции.

Пошаговый пример

  1. Для запуска Visual Basic. По умолчанию будет создана форма Form1..
  2. Поместите командной кнопки на форму Form1.
  3. В меню "Вставка" выберите модуль для добавления в проект код одного модуля.
  4. Добавьте следующий код в Module1:
       Public Function GetLongFilename _     (ByVal sShortName As String) _     As String     Dim sLongName As String     Dim sTemp As String     Dim iSlashPos As Integer     'Add \ to short name to prevent Instr from failing     sShortName = sShortName & "\"     'Start from 4 to ignore the "[Drive Letter]:\" characters     iSlashPos = InStr(4, sShortName, "\")     'Pull out each string between \ character for conversion     While iSlashPos       sTemp = Dir(Left$(sShortName, iSlashPos - 1), _         vbNormal + vbHidden +    vbSystem + vbDirectory)       If sTemp = "" Then         'Error 52 - Bad File Name or Number         GetLongFilename = ""         Exit Function       End If       sLongName = sLongName & "\" & sTemp       iSlashPos = InStr(iSlashPos + 1, sShortName, "\")     Wend     'Prefix with the drive letter     GetLongFilename = Left$(sShortName, 2) & sLongName   End Function					
  5. Добавьте следующее событие Command1_Click:
       Private Sub Command1_Click()     'Assumes C:\Program Files\Common Files is a valid path     Print GetLongFilename("C:\PROGRA~1\COMMON~1")   End Sub					
  6. Выберите команду Начать в меню «выполнить» или клавишу F5 для запуска.
  7. Нажмите добавленную кнопку..
Если указан путь является допустимым, длинные эквивалент будут напечатаны в форме. Если он не является допустимым, ничего не будет напечатан, в этом случае необходимо будет указать в коде события Command1_Click допустимым коротким именем файла.
kbVBp400 vkbVBp500bug kbVBp600bug kbVBp kbdsd kbDSupport KBAPI KBWIN32SDK

Warning: This article has been translated automatically

Свойства

Номер статьи: 154822 — последний просмотр: 02/23/2014 01:06:56 — редакция: 1.0

  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Standard Edition
  • kbnosurvey kbarchive kbhowto kbmt KB154822 KbMtru
Отзывы и предложения