Oppure

Loading
09/04/09 20:47
Hast
Salve a tutti mi presento. Mi chiamo Simone e spero di imparare molto in questo fantastico sito.

Ma ora passo a descrivervi il problema. Premetto che ho iniziato da poco a programmare in vb.

Dunque, avevo intenzione di creare un programma che caricasse su una listview dei files (scelti con l'openDialogFile) per poi selezionarli e copiarli da un'altra parte.

Questo è il sorgente che ho fatto:
Public Class Form1

    Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged


    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.Filter = "Musica|*.mp3;|*.wav;|*.wma"
        OpenFileDialog1.Multiselect = False
        OpenFileDialog1.Title = "Apri"
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

            Dim item As New ListViewItem(OpenFileDialog1.FileNames)
            ListView1.Items.Add(item)
        End If

    End Sub


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        For Each SelItem As ListViewItem In ListView1.SelectedItems
            ListView1.Items.Remove(SelItem)
        Next

    End Sub


    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        Dim DaSpostare
        DaSpostare = ListView1.SelectedItems

        FileCopy(DaSpostare, "C:\Users\Simo\Desktop\New Folder (3)")
    
    End Sub
End Class


Il problema mi viene all'ultima riga di codice (FileCopy(DaSpostare, "C:\Users\Simo\Desktop\New Folder (3)";)) perchè quando seleziono un file mi da questo errore:
[IMG]i41.tinypic.com/2hgwhoo.jpg[/…]

Sapete aiutarmi?
Grazie a tutti
aaa
10/04/09 7:43
Il Totem
Chissà perchè gli errori di conversione danno tanti problemi... Nel tuo codice ci sono tre errori:
1. SelectedItems non è una stringa: tu lo stai trattando come una stringa. SelectedItems è una collezione di ListViewItem. Per ottenere il testo di un ListViewItem, basta richiamarne la proprietà Text.
2. La funzione FileCopy accetta due parametri stringa. Il primo è il percorso del file (del file, non DEI file) da copiare. Il secondo è il percorso del file copiato, e non il percorso della cartella di destinazione.
3. Questa è un'imprecisione: FileCopy è una funzione di vb6.
Se vuoi copiare tutti i file in una nuova cartella devi fare così:
Dim NewFolder As String = "C:\Nuova cartella\"

For Each L As ListViewItem in ListView.Items
  IO.File.Copy(L.Text, NewFolder & IO.Path.GetFileName(L.Text))
Next

Uso L.Text assumendo che la listview abbia una sola colonna e che in questa sia posto il nome del file.
aaa