Unlogischer Process.Start(TextBox2.Text & "\" & ListBox1.SelectedItem) Fehler ;(

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von teddygun300.

    Unlogischer Process.Start(TextBox2.Text & "\" & ListBox1.SelectedItem) Fehler ;(

    Nen Guten Abend miteinander ;D

    ich habe mir aus dem code von @Tsuyo oder @Validation (streitet euch wem er gehört XD) einen kleinen YT downloader gemacht.

    dieser klappt auch super :D

    als kleiner extra habe ich gemacht,dass wenn die datei erfolgreich gedownloadet wurde,dass sie dann in listbox1 gespeichert wird.
    und bei dem ListBox1_DoubleClick event habe ich das:

    VB.NET-Quellcode

    1. Private Sub ListBox1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
    2. Process.Start(TextBox2.Text & "\" & ListBox1.SelectedItem) 'in Textbox2 habe ich den Pfad und das Item ist der name den ich vorher in listbox1 gespeichert habe.
    3. End Sub


    wenn ich dann Doppelclick auf die listbox mache dann öffnet er den pfad der datei. das klappt soweit noch alles gut :D

    nun habe ich als sahnehäubchen gemacht das die form in die listbox1 alle dateien mit der endung .flv aus dem pfad von textbox2 reinmacht. dafür habe ich diesen code genommen

    VB.NET-Quellcode

    1. Private Sub asdasdfasd()
    2. Dim Pfad As String = TextBox2.Text
    3. Dim bläää As New DirectoryInfo(Pfad)
    4. Dim datei As FileInfo() = bläää.GetFiles("*.flv")For i As Integer = 0 To datei.Length - 1
    5. ListBox1.Items.Add(datei(i))
    6. Next
    7.  End Sub

    und dieser code klappt auch gut :D

    aber wenn ich dann doppelclick auf eins der dateien mache die durch
    asdasdfasd() in die listbox gemacht wurden kommt ein Fehler ;(

    ich zeig das mal in einem Bsp
    ich habe dazu mal ein paar Screenshots gemacht.
    bild Fehler_1 ich downloade ein video
    Fehler_2 Video erfolgreich gedownloadet
    Fehler_3 ich habe asdasdfasd() aufgerufen und alle dateien mit der endung .flv aus dem pfad von tb2 werden in die listbox getan (da ich auf dem desctop nur das eine video habe undzwar das was ich grade gedownloadet habe. desswegen zeigt er in das video doppelt an.
    auf bild Fehler_4 sieht man was passiert wenn ich auf das video clicke was durch asdasdfasd() in die listbox getan wurde





    ich kann mir den fehler garnicht erklähren.

    da der code ja klappt wen ich auf das listbox item clicke was nach erfolgreichem download erstellt wird.

    bitte gebt mir tipps zum fixen :D



    für die dies interessiert hab ich den code nochmal in den expander gemacht.

    für alle die ihn C&P klauen ;D lasst euch nicht stören weil der YT downloader teil ist ja nicht von mir und der rest ist in einem gaaaanz schlechtem stil geschrieben ;(

    (wer mir sagen kann wie ich den webbrowser weglassen kann der solls ruhig tun weil das ist gaaaaanz dreckig so den YT namen rauszubekommen ich weis das aber mir ist nix besseres eingefallen.)
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Explicit On
    2. Imports System.IO
    3. Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. If TextBox2.Text = "" ThenMessageBox.Show("Bitte wählen sie einen Pfad aus")
    5. ElseIf TextBox1.Text = "" ThenMessageBox.Show("Bitte Link eingeben")
    6. Else
    7. Try
    8. Dim web As New WebBrowser
    9. web.Navigate(TextBox1.Text)
    10.  Application.DoEvents()
    11. Do While web.ReadyState <> WebBrowserReadyState.CompleteApplication.DoEvents()
    12.  
    13. Loop
    14. web.Refresh()
    15. Dim name As String
    16. name = web.DocumentTitleMy.Settings.Name = name
    17. download()
    18.  
    19. 'SaveFileDialog1.FileName = name
    20. 'SaveFileDialog1.ShowDialog()web.Navigate("")
    21. Catch ex As Exception
    22. End Try
    23. ' MessageBox.Show("Unknown Error 404")
    24. End If
    25. End SubPrivate Sub download()
    26. Button1.Enabled = False
    27. Button1.Text = "Downloading"
    28. Dim ID As StringID = TextBox1.Text.Replace("http://www.youtube.com/watch?v=", "")
    29. Dim link1 As String
    30. link1 = "http://www.youtube.com/get_video_info?video_id=" & ID & "&fmt=37"
    31. Dim inhalt As String
    32. inhalt = WebClient1.DownloadString(link1)Dim pos As Integer = inhalt.IndexOf("url_encoded_fmt_stream_map=")
    33. Dim Part1 As String = inhalt.Substring(pos).Replace("%3F", "?").Replace("%3D", "=").Replace("%26", "&").Replace("%25", "%").Replace("%2C", ",").Replace("%25", "%").Replace("%3A", ":").Replace("%2F", "/").Substring(31)Dim Part2 As String = Part1.Substring(0, Part1.IndexOf("&fallback_host"))
    34. Dim Downloadlink As StringDownloadlink = Part2.Replace("%3F", "?").Replace("%3D", "=").Replace("%26", "&").Replace("%25", "%").Replace("%2C", ",").Replace("%25", "%").Replace("%3A", ":").Replace("%2F", "/")
    35. WebClient1.DownloadFileAsync(New Uri(Downloadlink), TextBox2.Text & "\" & My.Settings.Name & ".flv")
    36. End SubPrivate Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
    37. Button1.Enabled = False
    38. Button1.Text = "Downloading"
    39. Dim ID As StringID = TextBox1.Text.Replace("http://www.youtube.com/watch?v=", "")
    40. Dim link1 As String
    41. link1 = "http://www.youtube.com/get_video_info?video_id=" & ID & "&fmt=37"
    42. Dim inhalt As String
    43. inhalt = WebClient1.DownloadString(link1)Dim pos As Integer = inhalt.IndexOf("url_encoded_fmt_stream_map=")
    44. Dim Part1 As String = inhalt.Substring(pos).Replace("%3F", "?").Replace("%3D", "=").Replace("%26", "&").Replace("%25", "%").Replace("%2C", ",").Replace("%25", "%").Replace("%3A", ":").Replace("%2F", "/").Substring(31)Dim Part2 As String = Part1.Substring(0, Part1.IndexOf("&fallback_host"))
    45. Dim Downloadlink As StringDownloadlink = Part2.Replace("%3F", "?").Replace("%3D", "=").Replace("%26", "&").Replace("%25", "%").Replace("%2C", ",").Replace("%25", "%").Replace("%3A", ":").Replace("%2F", "/")
    46. WebClient1.DownloadFileAsync(New Uri(Downloadlink), SaveFileDialog1.FileName)
    47. End SubPrivate Sub WebClient1_DownloadFileCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles WebClient1.DownloadFileCompleted
    48. ListBox1.Items.Add(My.Settings.Name & ".flv")
    49. Button1.Enabled = True
    50. Button1.Text = "Download"
    51. GroupBox4.Text = "Status"
    52. ProgressBar1.Value = 0
    53. TextBox1.Text = ""Dim i As Integer = MessageBox.Show("Datei wurde erfolgreich runtergeladen." & vbNewLine & "Wollen sie diese nun öffnen ?", "Finish", MessageBoxButtons.OKCancel)
    54.  
    55. If i = "1" ThenProcess.Start(TextBox2.Text & "\" & My.Settings.Name & ".flv")
    56. Else
    57. ProgressBar1.Value = "0"
    58. Button1.Enabled = True
    59. TextBox1.Clear()
    60. ' Application.Exit()
    61. End If
    62. End SubPrivate Sub WebClient1_DownloadProgressChanged(ByVal sender As System.Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles WebClient1.DownloadProgressChanged
    63. ProgressBar1.Value = e.ProgressPercentage
    64. GroupBox4.Text = "Downloading " & e.ProgressPercentage & "%"
    65. End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    66. FolderBrowserDialog1.ShowDialog()
    67. TextBox2.Text = FolderBrowserDialog1.SelectedPathMy.Settings.Speicherort = FolderBrowserDialog1.SelectedPath
    68. End Sub
    69.  
    70.  
    71.  
    72.  
    73.  
    74.  Private Sub ListBox1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClickProcess.Start(TextBox2.Text & "\" & ListBox1.SelectedItem)
    75. End Sub
    76.  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    77. FolderBrowserDialog1.SelectedPath = My.Settings.SpeicherortTextBox2.Text = My.Settings.Speicherort
    78. ' asdasdfasd()
    79. End Sub
    80. 'Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    81. ' If CheckBox1.Checked = True Then
    82. ' WebClient1.Proxy = New System.Net.WebProxy("67.228.3.68:8888")
    83. ' End If
    84. 'End Sub
    85. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    86. Dim bl As Color = Color.BlueDim rd As Color = Color.RedDim yl As Color = Color.Yellow
    87.  
    88. If Label5.ForeColor = bl Then
    89. Label5.ForeColor = rd
    90. ElseIf Label5.ForeColor = rd Then
    91. Label5.ForeColor = yl
    92. Else
    93. Label5.ForeColor = bl
    94.  
    95.  
    96.  
    97. End If
    98. End SubPrivate Sub asdasdfasd()
    99. Dim Pfad As String = TextBox2.TextDim bläää As New DirectoryInfo(Pfad)
    100. Dim datei As FileInfo() = bläää.GetFiles("*.flv")For i As Integer = 0 To datei.Length - 1
    101. ListBox1.Items.Add(datei(i))
    102. Next
    103.  
    104. End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    105. asdasdfasd()
    106. End Sub
    107. End Class




    die bilder werden leider in falscher reihenfolge angezeigt ;(

    richtig ist Fehler_1,Fehler_2,Fehler_3 und dann Fehler_4
    Bilder
    • Fehler_1.png

      164,74 kB, 1.456×900, 69 mal angesehen
    • Fehler_3.png

      136,93 kB, 1.456×900, 81 mal angesehen
    • Fehler_4.png

      240,86 kB, 1.456×900, 66 mal angesehen
    • Fehler_2.png

      157,54 kB, 1.456×683, 72 mal angesehen