Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB2010] Rename di più file

    Salve a tutti ragazzi, voglio chiedervi un informazione perchè ci ho sbattuto la testa tutto il giorno. Premetto che sono al 2°giorno di apprendimento e non so praticamente nulla ma piano piano spero di imparare qualcosina.

    Sto creando un programma per rinominare i file, specifico per mp3.. per gli odiosi "_" soprattutto, l'unico problema e che sono a metà lavoro e mi sono fermato a causa del openfiledialog o almeno credo..
    2 tasti e 2 listbox:
    il primo tasto apre OFD e sceglio più file, dico più perchè l'ho settato su multiselect.
    li visualizzo nella prima listbox, e fino a qui ok.
    secondo tasto porta i filename nella listbox2 togliendo _, dopodiche rinomino i file dell'OFD (riprendendoli dalla listbox2).

    questo ultimo passaggio non mi funziona.. o perlomeno.. mi funziona per il primo file poi mi da errore vb "impossibile trovare il percorso C:...../nome del file iniziale"
    Praticamente a ogni ciclo for each riprende sempre il primo percorso OFD e non riesco a venirne fuori.. help me please


    posto il codice sperando che qualcuno mi dia una mano..

    codice:
    Public Class CNC
    
        Dim OFD As New OpenFileDialog
        Private Sub Apri(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            'proprietà openfiledialog
            OFD.Multiselect() = True
            OFD.Title = "Scegli il file..."
            OFD.Filter = "mp3 file (*.mp3)| *.mp3"
    
            'ciclo listbox1 scrittura dei nomi
            If OFD.ShowDialog() = Windows.Forms.DialogResult.OK Then
                Dim filepath() As String = OFD.FileNames
                Dim ffile As String
                For Each ffile In filepath
                    Me.ListBox1.Items.Add(System.IO.Path.GetFileName(ffile))
                Next
                Dim FileNameLast As String = System.IO.Path.GetFileName(OFD.FileName)
                
            End If
        End Sub
       
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            'replace del carattere _
            For Each Stringa In ListBox1.Items
    
                Dim RP As String = Replace(Stringa, "_", " ")
                Me.ListBox2.Items.Add(RP)
                My.Computer.FileSystem.RenameFile(OFD.FileName, RP)
            Next
    
        End Sub
    End Class

  2. #2
    Benvenuto nel forum di HTML.it

    In un solo post hai commesso tantissimi errori :

    - nel titolo della discussione deve essere indicato il linguaggio e la sintesi del problema

    - hai usato un linguaggio non consono al Regolamento, con abbreviazioni da sms e termini volgari

    - il codice non è stato inserito negli appositi TAG CODE


    Insomma, spiega meglio utilizzando al meglio la punteggiatura.

  3. #3
    così va bene? (chiedo scusa per il post precedente)

    non mi fa cambiare il titolo

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In

    My.Computer.FileSystem.RenameFile(OFD.FileName, RP)

    il primo parametro deve essere il vecchio nome del file e il secondo il nome nuovo.
    Il vecchio nome non è quello indicato ma il contenuto della variabile che hai chiamato (senza tanta fantasia) Stringa
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    intendi dire così?
    codice:
    'replace del carattere _
            For Each Stringa In ListBox1.Items
                Dim RP As String = Replace(Stringa, "_", " ")
                Me.ListBox2.Items.Add(RP)
                My.Computer.FileSystem.RenameFile(Stringa, RP)
            Next
    mi da comunque errore: Impossibile trovare il file 'C:\Users\Administrator\Documents\Visual Studio 2010\Projects\CambioNomeCanzoni\CambioNomeCanzoni\ bin\Debug\A_B.mp3'.

    il fatto è che la mia stringa funziona ma solo se seleziono un singolo file

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il fatto è che la prima parte deve contenere anche il path ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Originariamente inviato da Silentdead
    intendi dire così?
    codice:
    'replace del carattere _
            For Each Stringa In ListBox1.Items
                Dim RP As String = Replace(Stringa, "_", " ")
                Me.ListBox2.Items.Add(RP)
                My.Computer.FileSystem.RenameFile(Stringa, RP)
            Next
    mi da comunque errore: Impossibile trovare il file 'C:\Users\Administrator\Documents\Visual Studio 2010\Projects\CambioNomeCanzoni\CambioNomeCanzoni\ bin\Debug\A_B.mp3'.

    il fatto è che la mia stringa funziona ma solo se seleziono un singolo file
    Quando dichiari Stringa? Quando gli attribuisci il valore dell'item del listbox? Perchè non fai un ciclo for/next da 0 fino a Listbox.Items.count - 1?

  8. #8
    MdE2005 ho seguito la tua indicazione.. grazie mille.. ora funziona

  9. #9
    Originariamente inviato da Silentdead
    MdE2005 ho seguito la tua indicazione.. grazie mille.. ora funziona
    Bene, sono contento.

    Alla prossima

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Silentdead
    MdE2005 ho seguito la tua indicazione.. grazie mille.. ora funziona
    Scusa ... il problema non era la For o la For Each ma il parametro indicato nella Rename ...

    Per chiarezza, con quale codice (con la For) hai risolto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.