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

Traduções de Artigos Traduções de Artigos
Artigo: 154822 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

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.

Propriedades

Artigo: 154822 - Última revisão: 1 de março de 2014 - Revisão: 4.1
A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhowto KB154822 KbMtpt
Tradução automática
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.
Clique aqui para ver a versão em Inglês deste artigo: 154822

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com