Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303

    [_Vb6_] Directory ??

    Ciauz a tutti,
    Domanda:
    In questo modo mi creo una cartella in una directory:



    codice:
    Private Sub Command9_Click()
    
    Dim NomeFile As String, i As Integer
    NomeFile = Dir1.Path & "\IMAGE\"
    i = MakeSureDirectoryPathExists(NomeFile)
    If i = 1 Then
    Print "Directory " & NomeFile & " creata"
    Else
    Print "Directory " & NomeFile & " non creata"
    End If
    End Sub
    Bene il codice ha funzionato, ma se nella stessa directory voglio creare + cartelle come faccio, in questo modo al massimo ottengo delle sottocartelle, ma non è il mio scopo.

    Ciauz....

  2. #2
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Originariamente inviato da x69asterix
    Bene il codice ha funzionato, ma se nella stessa directory voglio creare + cartelle come faccio, in questo modo al massimo ottengo delle sottocartelle, ma non è il mio scopo.
    In quale modo ?
    Il percorso della cartella da creare dipende esclusivamente dal contenuto del parametro che passi alla funzione.
    Passando un differente percorso con stessa radice non si avranno sottocartelle
    ... e non usare while wend è una sintassi deprecata

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    205

    Re: [_Vb6_] Directory ??

    ti consiglio di usare questo codice...

    tra i Riferimenti spunta Windows Script Host Object Model

    codice:
     
    Dim fso As New FileSystemObject
    
    
    Private Sub Form_Load()
        If Not fso.FolderExists("CartellaPippo") Then 'verifica la presenza della cartella CartellaPippo
            fso.CreateFolder ("CartellaPippo") ' se non c'è la crea :)
        End If
    
    End Sub


    ottimo e con fso puoi anche verificare la presenza di file, copiare, spostare, rinominare file e cartelle...e in + puoi fare anche del collegamenti alle cartelle! perfetto direi.

    ciao

    spero di averti aiutato!

    Originariamente inviato da x69asterix
    Ciauz a tutti,
    Domanda:
    In questo modo mi creo una cartella in una directory:
    Ciauz....

  4. #4
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303

    Re: Re: [_Vb6_] Directory ??

    Originariamente inviato da giano118
    ti consiglio di usare questo codice...

    tra i Riferimenti spunta Windows Script Host Object Model

    codice:
     
    Dim fso As New FileSystemObject
    
    
    Private Sub Form_Load()
        If Not fso.FolderExists("CartellaPippo") Then 'verifica la presenza della cartella CartellaPippo
            fso.CreateFolder ("CartellaPippo") ' se non c'è la crea :)
        End If
    
    End Sub


    ottimo e con fso puoi anche verificare la presenza di file, copiare, spostare, rinominare file e cartelle...e in + puoi fare anche del collegamenti alle cartelle! perfetto direi.

    ciao

    spero di averti aiutato!
    Ciao,
    allora si funziona, io praticamente avevo optato in questo modo:
    mi crea una cartella.
    codice:
    mkDir ("Prova")
    Adesso, però se voglio copiare un file da ("Prova"), e lo voglio salvare in una nuova cartella, come faccio?
    Poi se con il tuo codice voglio creare una cartella dentro la cartella creata con il tuo codice, come faccio?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    205

    Re: Re: Re: [_Vb6_] Directory ??

    codice:
    Dim fso As New FileSystemObject
    Dim Path, Pathpartenza, Pathdestinazione
    
    Private Sub Form_Load()
    
    'creare una sottocartella
                fso.CreateFolder "Prova" 'crea la cartella nella posizione in cui è stato salvato il progetto. NON SALVARLO SUL DESKTOP
                Path = App.Path & "\Prova\SottoCartellaProva"
                fso.CreateFolder Path 'crea cartella Path
    
    'copiare un file
    
            'accertati che nella cartella del progetto hai creato un file chiamato file.txt
                Pathpartenza = App.Path & "\file.txt" 'file da copiare completo di percorso
                Pathdestinazione = Path & "\file.txt" 'dove copiare il file compreso il nome da dargli
        
                fso.CopyFile (Pathpartenza), (Pathdestinazione) 'avvia la copia del file
    
    End Sub
    Spero sia un pò più chiaro ora....
    se hai ancora problemi fammi sapere.
    ciao

    Originariamente inviato da x69asterix
    Ciao,
    allora si funziona, io praticamente avevo optato in questo modo:
    mi crea una cartella.
    codice:
    mkDir ("Prova")
    Adesso, però se voglio copiare un file da ("Prova"), e lo voglio salvare in una nuova cartella, come faccio?
    Poi se con il tuo codice voglio creare una cartella dentro la cartella creata con il tuo codice, come faccio?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119
    Salve,

    gentilmente, sto cercando anch'io di risolvere questo problema.

    La storia è un pò lunga e la evito ma ho bisogno di fare una cosa del genere:

    Io ho c:\cartella1 esistente,

    ora ho una stringa di testo

    stringa="c:\cartella1\cartella2\eccetera\cartella3 "

    come faccio a creare direttamente la cartella3?

    con mkdir c'è da sudare un pò troppo...

    Qualche consiglio?

    Grazie mille.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puoi usare una funzione ricorsiva ... (trovata in rete)

    codice:
    Private Sub CreateFolder (FolderName as string)
      Dim fso As FileSystemObject
      Dim iBreak As Integer
    
      On Error Resume Next
    
      iBreak = InStrRev(FolderName, "\")
      If iBreak > 0 Then
        Call CreateFolder(Left$(FolderName, iBreak - 1))
      End If
    
      Set fso = New FileSystemObject
      If fso.FolderExists(FolderName) = False Then
        fso.CreateFolder FolderName
      End If
      Set fso = Nothing
    End Sub
    da usarsi con

    codice:
    CreateFolder("C:\Cartella1\Cartella2\Cartella3")

    P.S. Non e' bene riprendere vecchi messaggi anche se hanno a che fare con il tuo problema ... costringi a leggerli tutti quando puoi spiegare semplicemente il problema in un solo post ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.