Come potrei fare in VB6 per convertire i nomi estesi (quelli da 32 caratteri) in nomi da 8 caratteri usati da DOS???![]()
Come potrei fare in VB6 per convertire i nomi estesi (quelli da 32 caratteri) in nomi da 8 caratteri usati da DOS???![]()
Non capisco il motivo per il quale debba fare questa conversione... ormai ci sono i 32 bit, non c'è più la limitazione degli 8(nome file) + 3(estensione) caratteri...cmq. dovresti tenere conto di file che hanno lo stesso nome del tipo nome~1.txt ,nome~2.txt le estensione con numero di carattari maggiori di 3 non saprei come gestirle... insomma imbattiti in questa cosa se è proprio necessario... se mi viene qlc altra cosa in mente ti farò sapere.
CIAO
Mi è necessaria per inviare delle operazioni a DOS... anche se è un sistema "antiquato", è ugualmente molto utile in certi casi...![]()
usa l'api getshortname()
Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te
codice:Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" _ (ByVal lpszLongPath As String, _ ByVal lpszShortPath As String, _ ByVal cchBuffer As Long) As Long Private Sub Command1_Click() Dim NomeOrig As String Dim NomeCorto As String Dim Buffer As Long NomeOrig = "C:\NomeLungo.txt" 'Crea il file se non esiste Open NomeOrig For Append As #1 Close #1 Buffer = Len(NomeOrig) NomeCorto = String(Buffer, 0) GetShortPathName NomeOrig, NomeCorto, Buffer MsgBox Left(NomeCorto, Len(NomeCorto)) End Sub
... e non usare while wend è una sintassi deprecata
... e non usare while wend è una sintassi deprecata