Como obter um nome de ficheiro longo de um nome de ficheiro curto

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

154822
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Sumário
A função Dir() pode ser utilizada para devolver um nome de ficheiro longo mas não inclui informações de caminho. Ao analisar um determinado curto Caminho/NomeFicheiro nos respectivos directórios constituintes, pode utilizar a função Dir() para criar um longo caminho/NomeFicheiro. Este artigo demonstra como efectuar este comportamento.
Mais Informação
O exemplo de código seguinte inclui uma função que irá converter nomes de ficheiro abreviados para os respectivos equivalentes do nome de ficheiro longos e também inclui uma demonstração simples de utilizar a função.

Exemplo passo a passo

  1. Inicie o Visual Basic. É criado o Form1 por predefinição.
  2. Coloca um botão de comando para o Form1.
  3. No menu Inserir, seleccione Module para adicionar um módulo de código único de projecto.
  4. Adicione o seguinte código ao 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. Adicione o seguinte evento 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. Escolher iniciar no menu ' Executar ' ou prima a tecla F5 para iniciar.
  7. Clique o botão de comando.
Se o caminho que indicou for válido, o equivalente longo será impresso no formulário. Se não for válido, nada será impresso, nesse caso terá de fornecer um nome de ficheiro curto válido no código de evento Command1_Click.
kbVBp400 vkbVBp500bug kbVBp600bug kbVBp kbdsd kbDSupport KBWIN32SDK KBAPI

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 154822 - Última Revisão: 03/01/2014 15:23:26 - Revisão: 4.1

  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.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 Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
  • kbnosurvey kbarchive kbmt kbhowto KB154822 KbMtpt
Esta informação foi útil?