ListBox Multiselect Multidownload (youtube-dl)

di il
9 risposte

ListBox Multiselect Multidownload (youtube-dl)

Ciao a tutti
Vorrei scaricare in contemporanea dei link contenuti in listbox1, ma con il mio sistema ne scarica solo uno e per gli altri devo selezionarli con il mouse.

il codice usato:
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        For i As Integer = 0 To ListBox1.Items.Count - 1
            ListBox1.SetSelected(i, True)
        Next

        Dim dlg As FolderBrowserDialog = New FolderBrowserDialog With {
            .Description = "Seleziona dove salvare il file",
            .ShowNewFolderButton = False
        }

        If dlg.ShowDialog() = DialogResult.OK Then
            TextBox1.Text = dlg.SelectedPath

            Dim p As New Process()
            p.StartInfo.FileName = "bin\youtube-dl.exe"
            Dim url As String = ListBox1.Text
            Dim run As String = "-o"
            Dim odir As String = dlg.SelectedPath + "\"
            Dim title As String = "%(title)s.%(ext)s "
            Dim Audio As String = " -x --audio-format mp3 --audio-quality 0"

            If CheckBox1.Checked Then
                p.StartInfo.Arguments = run & odir & title & url & Audio
            Else
                p.StartInfo.Arguments = run & odir & title & url

            End If
            p.Start()
        End If
    End Sub
End Class

9 Risposte

  • Re: ListBox Multiselect Multidownload (youtube-dl)

    Giggi17 ha scritto:


    Vorrei scaricare in contemporanea dei link contenuti in listbox1, ma con il mio sistema ne scarica solo uno e per gli altri devo selezionarli con il mouse.
    Come indicato nella documentazione, la proprietà Text della ListBox ti restituisce il testo dell'elemento selezionato, che è diverso dall'elemento "spuntato" (o dagli elementi).

    Devi fare un ciclo su tutti gli elementi e, laddove la proprietà Checked è impostata, aggiungere il testo del singolo elemento alla stringa che compone la lista dei download (o comporre quella lista nella modalità e nel formato che si aspetta il programma).

    Ciao!
  • Re: ListBox Multiselect Multidownload (youtube-dl)

    Un ciclo su tutti gli elementi
    come posso fare un ciclo se gli elementi li aggiungo a caso con esempio:
            Dim text As String = Clipboard.GetText(TextDataFormat.Text)
            ListBox1.Items.AddRange(text.Split(vbLf))
    , scusami ma mi sono perso
  • Re: ListBox Multiselect Multidownload (youtube-dl)

    Giggi17 ha scritto:


    scusami ma mi sono perso
    Nella prima versione del codice che hai postato c'era scritto questo:
    
    For i As Integer = 0 To ListBox1.Items.Count - 1
                ListBox1.SetSelected(i, True)
            Next
    
    quindi sai come fare un ciclo tra gli elementi.

    Ora sono io a essermi perso, perché non è chiaro cosa deve fare il tuo programma, da quale fonte arriva l'input, qual è il criterio con cui devi scegliere gli elementi, ecc.
  • Re: ListBox Multiselect Multidownload (youtube-dl)

    Copio il link con Clipboard.GetText nella listbox e poi avvio il processo semplice, il problema è come posso ciclare il tutto, forse sarò troppo arruginito per capire come posso scaricare tutti i link insieme invece di uno solo.. proverò ancora ma sto provando da giorni e non riesco a capire
  • Re: ListBox Multiselect Multidownload (youtube-dl)

    Magari se posti tutto il codice possiamo capire meglio visto che le spiegazioni che hai dato sono molto carenti. Come ha detto Alka un ciclo su tutti gli elementi lo hai già fatto nel primo post, quindi basta che tu lo adatti.
  • Re: ListBox Multiselect Multidownload (youtube-dl)

    patel ha scritto:


    Magari se posti tutto il codice possiamo capire meglio visto che le spiegazioni che hai dato sono molto carenti. Come ha detto Alka un ciclo su tutti gli elementi lo hai già fatto nel primo post, quindi basta che tu lo adatti.
    Proggetto:https://mega.nz/file/U0Qj2QJA#wyDgroDr-ExSTkqBroAuZT1Eg8wKkGfZueDXXeOLKFo
  • Re: ListBox Multiselect Multidownload (youtube-dl)

    Per fare un esempio inserisci un nuovo pulsante e prova questo codice
        Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
            For Each item In ListBox1.Items
                MessageBox.Show(item.ToString)
            Next
        End Sub
    al posto del messaggio inserisci il codice che ti serve
  • Re: ListBox Multiselect Multidownload (youtube-dl)

    Giggi17 ha scritto:


    Proggetto
    In ogni caso, è buona parte che il codice rilevante del "Proggetto" venga riportato sul forum, per ragionarci assieme, escludendo le parti che non servono e circostanziando il problema, e non renderlo scaricabile in toto su un sito di condivisione file che domani rimuove l'allegato.

    I forum non sono assistenza privata dove si prendono i programmi e li si aggiustano per farli funzionare, ma luoghi di condivisione di problematiche e relative soluzioni per l'utilità di tutti.
  • Re: ListBox Multiselect Multidownload (youtube-dl)

    Alka ha scritto:


    Giggi17 ha scritto:


    Proggetto
    In ogni caso, è buona parte che il codice rilevante del "Proggetto" venga riportato sul forum, per ragionarci assieme, escludendo le parti che non servono e circostanziando il problema, e non renderlo scaricabile in toto su un sito di condivisione file che domani rimuove l'allegato.

    I forum non sono assistenza privata dove si prendono i programmi e li si aggiustano per farli funzionare, ma luoghi di condivisione di problematiche e relative soluzioni per l'utilità di tutti.
    lo so certo, ma volevo essere esauriente, poi il codice postato in primis era il codice completo e anche +, che ne so! ho pensato che il codice completo non bastasse e vi ho postato tutto il progetto (non sono matto) >almeno spero

    grazie patel avevo risolto in delphi , ma poi sono passato su powershell e persino in cmd che vs 2019 mi distrugge il pc (troppo pesante), visto che mi serviva scaricare un po di roba tra amici...
Devi accedere o registrarti per scrivere nel forum
9 risposte