Visualizzazione dei risultati da 1 a 7 su 7

Hybrid View

  1. #1
    Quindi teorizzato diventa:
    1. Ciclo ogni controllo presente nel mio form (nel mio caso tabcontrol)
    2. Controllo se il "controllo" che sto processando è di tipo "CHECKBOX"
    3. Se è di tipo checkbox controllo se è "checked"
    4. Se tutto va a buon fine aggiungo la directory (contenuta nella proprietà del controllo checkbox) nella lista di directory




    in codice è:
    codice:
    For Each C As Control In Me.TabPage1.Controls
        If TypeOf C Is CheckBox Then
            If TryCast(C, CheckBox).Checked Then
                Lista.Add(New IO.DirectoryInfo(cstr(C.tag)))
            End If
        End If
    Next
    FunzioneSvuotaDirectory(Lista)

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da deamon75 Visualizza il messaggio
    Quindi teorizzato diventa:
    1. Ciclo ogni controllo presente nel mio form (nel mio caso tabcontrol)
    2. Controllo se il "controllo" che sto processando è di tipo "CHECKBOX"
    3. Se è di tipo checkbox controllo se è "checked"
    4. Se tutto va a buon fine aggiungo la directory (contenuta nella proprietà del controllo checkbox) nella lista di directory




    in codice è:
    codice:
    For Each C As Control In Me.TabPage1.Controls
        If TypeOf C Is CheckBox Then
            If TryCast(C, CheckBox).Checked Then
                Lista.Add(New IO.DirectoryInfo(cstr(C.tag)))
            End If
        End If
    Next
    FunzioneSvuotaDirectory(Lista)
    Si. direi che la logica è corretta. Implementa l'algoritmo con il codice adeguato.
    Occhio con le funzioni per cancellare file.. Sicuramente serve un bel try Catch

  3. #3
    Quote Originariamente inviata da renygade Visualizza il messaggio
    Si. direi che la logica è corretta. Implementa l'algoritmo con il codice adeguato.
    Occhio con le funzioni per cancellare file.. Sicuramente serve un bel try Catch
    Si, già feci la funzione... trovo dove ce l'ho e la posto qui....
    EDIT: Come non detto, non ricordo in che progetto sta...
    Comunque feci un qualcosa di ricorsivo dove per ogni cartella eliminava tutti i file e poi la cartella stessa, ovviamente tutto addobbato con try catch ed aggiungi una progressbar...

    In pratica è qualcosa tipo:
    for each dir as io.directoryinfo in lista
    svuota(dir)
    next

    function svuota(d As System.IO.DirectoryInfo) As List(Of IO.FileSystemInfo))
    Dim l As New List(Of IO.FileSystemInfo)
    IntFilesList(d, l)
    Return l
    end function

    sub IntFilesList(d As System.IO.DirectoryInfo, l As List(Of IO.FileSystemInfo))
    For Each fileX As IO.FileInfo In d.GetFiles("*.*", IO.SearchOption.TopDirectoryOnly)
    io.file.delete(filex)
    next
    For Each dir As IO.DirectoryInfo In d.GetDirectories()
    IntFilesList(dir, l)
    next
    end sub


    Ovviamente ho scritto velocemente... quindi non far caso a parentesi virgole e/o parole saltare
    e rimarco che comunque ho soltato anche i try i quali mi sa che li ho messi un pò ovunque si possa ricevere un errore (cioè durante le eliminazioni e le enumerazioni)


    Ma meglio evitare d'andare OT
    Ultima modifica di deamon75; 02-12-2013 a 13:01

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 © 2026 vBulletin Solutions, Inc. All rights reserved.