Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB 6.0] Non esce da un for each f1 in fc

    Un problema che non capisco...

    Un pezzo di codice di un mio programma taglia i primi 8 caratteri di tutti i file contenuti in una cartella e in tutte le relative sottocartelle.

    Premetto che tutti i file sono lunghi almeno 9 caratteri.
    Lo stesso pezzo di codice funziona bene in altre sottocartelle.

    Ma in una determinata sottocartella del mio albero... non esce più da quella sottocartella ricominciando dall'inizio della stessa sottocartella il taglio degli 8 caratteri... anche sui file già trattati... fino a che ovviamente il codice va in errore (i nomi dei file si accorciano sotto le 8 lettere).

    questo è il pezzo di codice "incriminato"

    ---------
    For Each f1 In fc

    NomeAttuale = f1.Name
    ' NomeGiusto = NomeAttuale

    NuovoNome = Radice & "\" & Decodice(NomeAttuale)

    FileObject.MoveFile Radice & "\" & f1.Name, NuovoNome

    DoEvents

    Next
    ---------

    La cosa assurda è che se commento la linea:

    FileObject.MoveFile Radice & "\" & f1.Name, NuovoNome

    il codice esegue le modifiche in modo corretto (ovviamente non modifica il nome del file, ma se stampo i risultati sono corretti e il codice si ferma al termine della scansione di tutti i file...)

    Spero di essere stato chiaro.... aiutooo !!!

    ps. la struttura del resto del codice è la stessa che utilizzo per un altro programma che aggiunge caratteri ai nomi dei file... e lì funziona tutto. L'unica cosa che ho cambiato fra un programma e l'altro è semplicemente la variabile nome, che invece che essere modificata AGGIUNGENDO caratteri è modificata in modo da TOGLIERE quei caratteri...

    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

  2. #2
    Probabilmente la modifica che vai a fare sui nomi dei file va a cambiare qualcosa nella collection Files della tua cartella. Per risolvere l'arcano, memorizza i nomi dei files in un array attraverso il for each, poi con un altro for-to-next itera sui nomi ed esegui la variazione del nome.
    Chi non cerca trova.

  3. #3
    Uh! grazie è vero provo...

    ah ascolta, di VB non sono molto esperto.

    Ho notato che fino a qualche giorno fa quando scrivevo una funzione o il nome di un oggetto l'ambiente di sviluppo di mettave in "sovraimpressione" i suggerimenti per come andava completata la scrittura della linea... da oggi... pof! ha smesso di farlo !
    Cosa posso fare per far tornare attiva la situazione di prima... è un po' che cerco, ma non ci sono riuscito!

    Grazie mille !
    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

  4. #4
    Menu Strumenti/Opzioni, nella scheda Editor, riquadro "Impostazioni codice", metti il flag su tutti checkbox.
    Chi non cerca trova.

  5. #5
    grazie mille !
    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

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.