View Full Version : [VB6] Come mi muovo da una directory a un'altra?
robnet77
15-07-2003, 08:03
Avrei bisogno di sapere come si può, di volta in volta, cambiare la directory di lavoro attuale.
Ad esempio, se creo un nuovo progetto inserendo questo codice:
Private Sub Command1_Click()
Dim intFile As Byte
intFile = FreeFile()
Open "myfile.txt" For Append As #intFile
Print #intFile, "Una linea del testo"
Close #intFile
End Sub
otterrò la creazione del file myfile.txt nella cartella
C:\Programmi\Microsoft Visual Studio\VB98
Se invece scrivo
Open "C:\myfile.txt" For Append As #intFile
il file verrà creato nella route.
Queste sono le cose che so anch'io :p
Vorrei sapere, per favore, come stabilire una directory di lavoro diversa da quella predefinita (se devo creare 50 file non vorrei scrivere tutte le volte il percorso), e magari, se possibile, come scrivere il file in una cartella che non esiste, creandola invece che generare un errore.
Non so se mi sono spiegato, spero di sì :p
Grazie! :)
robnet77
15-07-2003, 08:08
A proposito, a che serve il tanto usato cancelletto # (che nel linguaggio internazionale significa "number", questo lo so... :pig: ) nella dichiarazione del file di lavoro?
Ho visto che è possibile ometterlo senza conseguenze... come lo gestisce Visual Basic? Forse è solo per il programmatore, per individuare meglio il file visivamente? :confused:
Originally posted by "robnet77"
il file verrà creato nella route.
Root ;)
Private Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
Private Sub Form_Paint()
'KPD-Team 2000
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@allapi.net
SetCurrentDirectory App.Path
End Sub
robnet77
15-07-2003, 08:37
Originally posted by "cionci"
Root ;)
Private Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
Private Sub Form_Paint()
'KPD-Team 2000
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@allapi.net
SetCurrentDirectory App.Path
End Sub
ehm, chissà perché ho scritto strada in francese invece che radice in inglese... :p
grazie per il codice, ma non ho chiaro come usarlo...
la Api SetCurrentDirectory dovrebbe rendere come dir di lavoro l'argomento che gli si passa, giusto? In questo caso App.Path non è esattamente la dir predefinita? Io ho bisogno di scegliermi da solo la dir, ma ho visto che non posso passare una "C:\Programmi" come argomento...
Help! :(
Originally posted by "robnet77"
la Api SetCurrentDirectory dovrebbe rendere come dir di lavoro l'argomento che gli si passa, giusto? In questo caso App.Path non è esattamente la dir predefinita? Io ho bisogno di scegliermi da solo la dir, ma ho visto che non posso passare una "C:\Programmi" come argomento...
Gli passi ciò che ti serve... La dir predefinita non è sempre quella del programma...dipende da dove lo lanci...
Istruzione ChDir
Imposta una diversa directory o cartella predefinita.
Sintassi
ChDir percorso
L'argomento obbligatorio percorso è costituito da un'espressione stringa che identifica quale sarà la nuova directory o cartella predefinita. È possibile specificare l'unità. Se non si indica alcuna unità, ChDir imposterà la directory o cartella predefinita nell'unità corrente.
Osservazioni
L'istruzione ChDir cambia la directory predefinita ma non l'unità predefinita. Se, ad esempio, l'unità predefinita è C, la seguente istruzione imposterà la directory predefinita sull'unità D, ma C resterà l'unità predefinita:
ChDir "D:\TMP"
In Power Macintosh, l'unità predefinita viene sempre impostata sull'unità specificata in percorso. La specifica del percorso completo inizia con il nome del volume e i percorsi relativi iniziano con due punti (:). ChDir risolve qualsiasi alias specificato nel percorso:
ChDir "MacDrive:Tmp" ' In Macintosh.
Si noti che i simboli utilizzati in Microsoft Windows e in Macintosh per eseguire spostamenti di directory relativi sono diversi:
ChDir ".." ' Sposta di una directory verso l'alto in Microsoft Windows.
ChDir "::" ' Sposta di una directory verso l'alto in Macintosh.[/size]
[b]Vedere anche:
CurDir
ChDrive
Dir
MkDir
RmDir
robnet77
15-07-2003, 10:15
Originally posted by "a2000"
Istruzione ChDir[b]
Imposta una diversa directory o cartella predefinita.
Sintassi
ChDir percorso
'omesso
incredibile, sei un grande, è proprio quello che cercavo! :eek:
Grazie!
Grazie anche a cionci!
robnet77
15-07-2003, 10:16
Originally posted by "robnet77"
A proposito, a che serve il tanto usato cancelletto # (che nel linguaggio internazionale significa "number", questo lo so... :pig: ) nella dichiarazione del file di lavoro?
Ho visto che è possibile ometterlo senza conseguenze... come lo gestisce Visual Basic? Forse è solo per il programmatore, per individuare meglio il file visivamente? :confused:
chi sapesse qualcosa... :p
Originally posted by "robnet77"
Grazie anche a cionci!
Figurati comunque fanno la stessa cosa... Anche all'altra gli puoi passare il percorso che ti pare... Comunque visto che c'è già un comando del genere in VB meglio usare quello...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.