Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18
  1. #11
    Perché appesantire un'applicazione con riferimenti a dll esterne? Un mkdir può andare più che bene; certamente in mancanza di blocchi try ... catch si potrebbe fare così:
    codice:
    ChDir App.Path
    On Error Resume Next 'nel caso la dir esista gia'
    MkDir "pippo" 'piu' semplice di cosi'......
    If err.number=<codice di errore di "cartella già esistente"> then exit sub
    On Error Resume 0
    Così da evitare di inserire codice di gestione di errori tra altre istruzioni e comunque da gestire l'eventuale errore.
    Certamente un approccio ancora migliore è il seguente:
    codice:
    ChDir App.Path
    If DirExists("pippo") then exit sub
    MkDir "pippo"
    E questa è la funzione DirExists:
    codice:
    Public Function DirExists(ByVal Path As String) As Boolean
        On Error Resume Next
        'Legge l'attributo e si assicura che si tratti di una directory
        FileExists = GetAttr(Path) And vbDirectory
        'Se avviene un errore la Function restituisce False
    End Function
    Si tratta di un approccio estremamente furbo, ma non è farina del mio sacco: è tratto da "Francesco Balena - I trucchi di Visual Basic 6 - Mondadori Informatica".
    Amaro C++, il gusto pieno dell'undefined behavior.

  2. #12
    Originariamente inviato da MItaly
    Perché appesantire un'applicazione con riferimenti a dll esterne? Un mkdir può andare più che bene; certamente in mancanza di blocchi try ... catch si potrebbe fare così:
    codice:
    ChDir App.Path
    On Error Resume Next 'nel caso la dir esista gia'
    MkDir "pippo" 'piu' semplice di cosi'......
    If err.number=<codice di errore di "cartella già esistente"> then exit sub
    On Error Resume 0
    Così da evitare di inserire codice di gestione di errori tra altre istruzioni e comunque da gestire l'eventuale errore.
    Certamente un approccio ancora migliore è il seguente:
    codice:
    ChDir App.Path
    If DirExists("pippo") then exit sub
    MkDir "pippo"
    E questa è la funzione DirExists:
    codice:
    Public Function DirExists(ByVal Path As String) As Boolean
        On Error Resume Next
        'Legge l'attributo e si assicura che si tratti di una directory
        FileExists = GetAttr(Path) And vbDirectory
        'Se avviene un errore la Function restituisce False
    End Function
    Si tratta di un approccio estremamente furbo, ma non è farina del mio sacco: è tratto da "Francesco Balena - I trucchi di Visual Basic 6 - Mondadori Informatica".
    Bel manuale, l'ho letto anch'io: veramente ottimo l'autore.

    Non avevo (volutamente) inserito il controllo sull'esistenza della dir in quanto "andrea toniolo" aveva parlato espressamente di una sub per crearla.
    Eseguendo dentro tale sub praticamente solo la MkDir, l'unico errore possibile era proprio quello che si vuole intercettare, quindi ho semplificando il tutto con l' "On Error Resume Next" che tanto ha fatto inorridire "LMondi" !
    Peraltro anche l'autorevole Francesco Balena fa largo uso di "On Error Resume Next" nelle sue sub, detto senza nessun intento polemico !

    IceCube_HT (VB6 fan Club)

  3. #13
    Bel manuale, l'ho letto anch'io: veramente ottimo l'autore.
    Già, quoto in pieno. Anche i suoi libri su VB.NET sono molto chiari e riescono a spiegare a fondo tutti i "concettoni" introdotti nella nuova versione di VB.
    L'uso di on error resume next è effettivamente deprecabile nella maggior parte delle applicazioni, ma nel caso specifico non ci vedo praticamente nulla di male (addirittura nella sub tratta dal libro di Balena è usato in modo molto astuto).
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    24

    Aiuto !!!

    Ciao a tutti !!!!

    Vi dico in partenza che so usare poco Visual Basic 6
    Ma mi servirebbe un codice capace di creare una cartella, ho provato con questi che avete scritto ma nn ci sono riuscito:


    Devo creare una cartella di nome "CIAO" in: ( C:\Programmi\ )

    Che codice devo usare? GRAZIE A TUTTI!!!

  5. #15
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh ... difficile non riuscirci ...

    MkDir "C:\Programmi\Ciao"

  6. #16
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    24
    Grazie mille!!!

    Se voglio mettere:

    - Se la cartella esiste allora text1.text = "1"


    Cosa devo scrivere?

  7. #17
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    If Len(Dir$("C:\Programmi\Ciao", vbDirectory)) Then Text1.Text = "1"

    .. pero' ora dai un'occhiata all'help o a un libro di base ... queste cose sono spiegate all'inizio ... non c'e' bisogno di un forum ...

  8. #18
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    24
    Grazie mille

    Lo so ma era una cosa che mi serviva urgentemente...
    Grazie

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.