Progressbar stoppen und weiterlaufen lassen

  • VB.NET

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von n0ise.

    Progressbar stoppen und weiterlaufen lassen

    Hallo

    also ich wollte wenn was bestimmtes angeklickt wurde die Progressbar stoppen lassen. Da habe ich dann einfach "Return" geschrieben (und ich hab eine ListBox die läuft rutner wenn die Progressbar erhöht wird)

    Nun will ich bei einem klick die Progressbar weiterlaufen lassen + wo er aufgehört hat soll er weiter machen. Aber wie?
    mach des doch einfach mit einer Variablen, ie du immer mit erhöst, wenn du den Vakue erhöhst, nur, dass du Variable nicht zurücksetzt, sondern lässt, dann kannst du deinen Value gleich wieder auf die Variable setzten, und machst an der gleichen Stelle weiter.

    Gruß Einsteiger
    Hm ok, die Variable heißt bei mir stop1 und hat den Wert 0:

    VB.NET-Quellcode

    1. Dim zähler As Integer = 0
    2. Dim zähler2 As Integer = 0
    3. Dim open1 As FolderBrowserDialog = New FolderBrowserDialog()
    4. Dim result As DialogResult = open1.ShowDialog()
    5. For i = 0 To ListBox1.Items.Count - 1
    6. Application.DoEvents()
    7. If cancel = True Then
    8. cancel = False
    9. ProgressBar1.Value = 0
    10. MsgBox("Canceled!" & ControlChars.CrLf & ControlChars.CrLf & "Renamed files: " & Label1.Text & ControlChars.CrLf & ControlChars.CrLf & "Errors: " & Label10.Text, MsgBoxStyle.Critical, "Canceled")
    11. Label1.Text = "0"
    12. Label10.Text = "0"
    13. Exit Sub
    14. Else
    15. If select1 = True And directory = True Then
    16. On Error GoTo Marke3
    17. If zähler = TextBox2.Text And CheckBox4.Checked Then
    18. zähler = 0
    19. dlg.ShowDialog()
    20. TextBox1.Text = dlg.FileName
    21. ComboBoxEx1.Enabled = True
    22. Button3.Enabled = True
    23. Button12.Enabled = False
    24. x = True
    25. Return
    26. ElseIf zähler2 = TextBox3.Text And CheckBox1.Checked Then
    27. zähler2 = 0
    28. open1.ShowDialog()
    29. ComboBoxEx1.Enabled = True
    30. Button3.Enabled = True
    31. Button14.Enabled = False
    32. x = True
    33. Exit Sub
    34. End If
    35. If zähler = TextBox2.Text Then
    36. zähler = 0
    37. dlg.ShowDialog()
    38. TextBox1.Text = dlg.FileName
    39. End If
    40. If zähler2 = TextBox3.Text Then
    41. zähler2 = 0
    42. open1.ShowDialog()
    43. End If
    44. ElseIf select1 = True Then
    45. On Error GoTo Marke2
    46. If zähler = TextBox2.Text And CheckBox4.Checked Then
    47. zähler = 0
    48. dlg.ShowDialog()
    49. TextBox1.Text = dlg.FileName
    50. ComboBoxEx1.Enabled = True
    51. Button3.Enabled = True
    52. Button12.Enabled = False
    53. x = True
    54. Exit Sub
    55. End If
    56. If zähler = TextBox2.Text Then
    57. zähler = 0
    58. dlg.ShowDialog()
    59. TextBox1.Text = dlg.FileName
    60. End If
    61. ElseIf directory = True Then
    62. On Error GoTo Marke2
    63. If zähler = TextBox3.Text And CheckBox1.Checked Then
    64. zähler = 0
    65. dlg.ShowDialog()
    66. TextBox1.Text = dlg.FileName
    67. ComboBoxEx1.Enabled = True
    68. Button3.Enabled = True
    69. Button14.Enabled = False
    70. x = True
    71. Exit Sub
    72. End If
    73. If zähler = TextBox3.Text Then
    74. zähler = 0
    75. open1.ShowDialog()
    76. End If
    77. End If
    78. ListBox1.SetSelected(i, True)
    79. Label8.Text = i + 1
    80. If TextBox1.Text.EndsWith(".exe") Then
    81. Select Case ComboBoxEx1.SelectedIndex
    82. Case 0
    83. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [COMPRESSED]" & ".exe")
    84. Case 1
    85. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [CRACKED + SERIAL]" & ".exe")
    86. Case 2
    87. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [CRACKED]" & ".exe")
    88. Case 3
    89. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [+SERIAL]" & ".exe")
    90. Case 4
    91. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [compressed]" & ".exe")
    92. Case 5
    93. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [cracked + serial]" & ".exe")
    94. Case 6
    95. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [cracked]" & ".exe")
    96. Case 7
    97. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [+serial]" & ".exe")
    98. Case Else
    99. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & ".exe")
    100. End Select
    101. ElseIf TextBox1.Text.EndsWith(".rar") Then
    102. Select Case ComboBoxEx1.SelectedIndex
    103. Case 0
    104. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [COMPRESSED]" & ".rar")
    105. Case 1
    106. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [CRACKED + SERIAL]" & ".rar")
    107. Case 2
    108. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [CRACKED]" & ".rar")
    109. Case 3
    110. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [+SERIAL]" & ".rar")
    111. Case 4
    112. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [compressed]" & ".rar")
    113. Case 5
    114. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [cracked + serial]" & ".rar")
    115. Case 6
    116. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [cracked]" & ".rar")
    117. Case 7
    118. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & " [+serial]" & ".rar")
    119. Case Else
    120. My.Computer.FileSystem.CopyFile(TextBox1.Text, open1.SelectedPath & "\" & ListBox1.Items(i) & ".rar")
    121. End Select
    122. End If
    123. End If
    124. Label1.Text += 1
    125. ProgressBar1.Value += 1
    126. If directory = True And select1 = True Then
    127. stop1 += 1
    128. zähler += 1
    129. zähler2 += 1
    130. ElseIf select1 = True Then
    131. stop1 += 1
    132. zähler += 1
    133. ElseIf directory = True Then
    134. stop1 += 1
    135. zähler += 1
    136. End If
    137. Next



    Nun ist er erhöht aber wie mache ich das jett wenn ich den button anklicke das er genau da weitermachen soll und nicht bei 0 wieder anfängt in der ListBox?

    btw die combobox wenn man was neues selected hat soll er weitermachen:

    VB.NET-Quellcode

    1. If ComboBoxEx1.SelectedIndex > -1 Then
    2. Button3.Enabled = True
    3. ComboBoxEx1.Enabled = False
    4. CheckBoxX2.Enabled = False
    5. If x = True Then
    6. ' weitermachen
    7. End If
    8. End If
    9. If select1 = True And ComboBoxEx1.SelectedIndex > -1 Then
    10. CheckBox4.Enabled = True
    11. Else
    12. CheckBox4.Enabled = False
    13. End If
    14. If directory = True And ComboBoxEx1.SelectedIndex > -1 Then
    15. CheckBox1.Enabled = True
    16. Else
    17. CheckBox1.Enabled = False
    18. End If
    Jo, aber mom ich zeig dir mal ein Screen:



    Wenn man das dann checked hat stoppt er bei 4 renamed files (wie im beispiel) und man kann ne neue file auswählen und einen neuen extra namen. und wenn man den neuen selektiert hat dann soll er bei dem punkt weitermachen wo er aufgehört hat..

    Alles funktioniert ja, aber bei dem extra name komme ich nich weiter das er da dann weiteramchen soll wo er gestoppt hat
    Naja nich nur, er soll nich wieder von vorne mit der Schleife beginnen also vom Item 0 wenn man was neues selektiert, sondern da wo er angehalten hat weitermachen...

    und warum beieinflusst das ändern des extra names den Value von der Progressbar
    Tut es doch garnicht oO wenn ich das iwo geschrieben hab dann sry.
    ach du meinst die For i Schleife, dann machs doch so:

    Dim a As Integer = 0
    Dim i As Integer = 0

    Private Sub...
    i = a
    For i To ListBox1.Items.Count - 1
    'deine Anweisungen
    a = i
    Next
    EndSub

    verstehst du was ich mein?

    Gruß Einsteiger
    i ist doch schon die Schleife und kan nnich neu Deklariert werden mit 0
    Der Typ für die Variable "i" wird nicht abgeleitet, da er an ein Feld in einem einschließenden Bereich gebunden ist.
    Die Schleife ist auch im Button "Rename" drinn, is ja auch klar, aber was müsste ich dann bei der Combobox eintragen..
    .____________.

    Gut ich erklärs mal ausführlich:

    Der Button rename renamt die oben angegebene file bei select mit dem listbox inhalt (txt inhalt)

    ja das wars :D

    Und die combobox hat 7 zeilen mit strings, wenn man eins auswählt wird der string hinten an der exe rangehang also angenomm die exe heißt "test" und man wählt in der combobox "[cracked]" -> test [cracked]

    Und wenn man dann diese checkbox die ich makiert hab checked, kann man eine neue exe wählen MIT einem neuen namen.. und da hört er ja auf und soll wenn man was neues selektiert hat wetermachen

    und da is mein prob
    Ich raff nich was du mit a und i bewirken willst..

    außerhalb der sub? hä? trotzdem fail

    wie soll das tool denn "wissen" wenn man was neues selektiert habe, deshalb habe ich im rename code ein boolean wert eingesetzt, wenn der dann true is hab ich in der combobox das hier eingefügt:


    VB.NET-Quellcode

    1. If x = True Then
    2. ' anweisung zum weitermachen
    3. End If


    ich versteh dich gerad iwie nich so ganz
    Liest sich alles sehr verworren.
    Also, in dem Beispiel von Einsteiger (?) wird zu Beginn der Schleife der Startindex aus Variable a gelesen und an den Schleifenzähler i übergeben. Solange die Schleife läuft, wird der Wert von i immer an a übergeben. Wird die Schleife unterbrochen, behält das Programm ja nun den Wert von a. Wird sie neu gestartet, liest sie erst wieder diesen Wert ... beginnt also von der letzten Position aus..