Come ottenere un nome di file lungo da un nome di file breve

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

154822
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sommario
La funzione Dir() può essere utilizzata per restituire un nome file lungo, ma non include informazioni sul percorso. Analizzando un percorso/nomefile breve specificato nelle relative directory costitutivi, è possibile utilizzare la funzione Dir() per creare un percorso/nome file lungo. In questo articolo viene illustrato come ottenere questo comportamento.
Informazioni
Nell'esempio di codice riportato di seguito include una funzione che convertirà nomi brevi nei rispettivi equivalenti di nome file lungo e include anche una semplice dimostrazione di utilizzo della funzione.

Procedura di esempio

  1. Avviare Visual Basic. In base all'impostazione predefinita, viene creato il progetto Form1.
  2. Posizionare un pulsante di comando nel Form1.
  3. Dal menu Inserisci, selezionare un modulo da aggiungere al progetto un modulo di codice singolo.
  4. Aggiungere il seguente codice a 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. Aggiungere quanto segue all'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. Scegliere Avvia dal menu Esegui oppure premere il tasto F5 per avviare.
  7. Fare clic sul pulsante di comando.
Se il percorso che è stato fornito è valido, l'equivalente lungo verrà stampato nel modulo. Se non è valido, non verrà stampata, nel qual caso sarà necessario fornire un nome file breve valido nel codice di evento Command1_Click.
kbVBp400 vkbVBp500bug kbVBp600bug kbVBp kbdsd kbDSupport KBWIN32SDK KBAPI

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 154822 - Ultima revisione: 02/21/2014 23:11:38 - Revisione: 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 KbMtit
Feedback