Progressbar stopt vor Maximum

  • VB.NET
  • .NET 4.5

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    Progressbar stopt vor Maximum

    Hi,
    ich habe eine Progressbar pbar_schlüssel welche ein Max von 1000
    hat. Wenn ich das Programm laufen lasse hält die Pbar ca 70% vor ende an
    und ist erst nach abluaf aller routinen bei 100% Was mach ich falsch?

    VB.NET-Quellcode

    1. #Region "Passwort generieren"
    2. Private Sub timer_passGen_Tick(sender As Object, e As EventArgs) Handles timer_passGen.Tick
    3. Static count As Integer = 0
    4. Dim passwort As String = ""
    5. If count < My.Settings.int_intervall_passwort Then 'My.Settings = 1000
    6. txt_passwort.Text = ""
    7. For i = 1 To 100
    8. passwort += Zeichenfolge(CInt(Int((82 * Rnd()) + 0)))
    9. Next
    10. txt_passwort.Text = passwort
    11. count += 1
    12. passwort = ""
    13. pBar_schlüssel.Increment(1)
    14. pBar_schlüssel.Update()
    15. Else
    16. txt_passwort.Text = CDecrypt(txt_passwort.Text, str_master_key)
    17. count = 0
    18. passwort = ""
    19. GC.Collect()
    20. pBar_schlüssel.Update()
    21. preload_monat()
    22. timer_passGen.Enabled = False
    23. End If
    24. End Sub
    25. #End Region


    Bitte helft mir weiter, Danke

    *CodeTag korrigiert* ~NoFear23m

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()

    Für mich nicht nachstellbar. Funktioniert bei mir problemlos. Hab den Timer auf Interval = 100 eingestellt. Musste zwar den Else-Block weglassen und die Zeile#13 auskommentieren - da diese bei keinem außer Dir kompilieren - aber dann läuft's.

    btw: GC.Collect? Know what'ya doin'?
    Was zum Geier ist eigentlich der komplette Sinn dieser Sub?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    VaporiZed schrieb:

    Für mich nicht nachstellbar. Funktioniert bei mir problemlos.
    Kann auch anne windows-Einstellungen liegen.
    Bei Windows.Design.Classic zeigen Progreessbars genau den Stand an, bei anderen WindowStyles haben sie eine komische Verzögerung eingebaut. Da muss man dann eine eigene Progressbar bauen, weil das Win-Standard-Dingens taugt nix.
    Mit My.Settings.int_intervall_passwort = 100 klappts bei mir auch, mit allen Styles außer Marquee.

    AbsolutCF schrieb:

    VB.NET-Quellcode

    1. If count < My.Settings.int_intervall_passwort Then 'My.Settings = 1000
    Welchen Wert hat My.Settings.int_intervall_passwort bei Dir :?:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Hi,

    Danke für eure Antworten. Scheint wirklich am Windows Style zu liegen.

    Habe den Code nun etwas sauberer gemacht und mit Thread.Sleep funktioniert es. Also Notlösung. Macht am ende einen Sprung aber Hauptsche voll geladen. Wenn hier noch einer einen Tipp hat bitte schreiben.
    @RodFromGermany My.Settings.int_intervall_passwort hat den Wert 1000. Dies ist nicht das Intervall des Timers sondern wie häufig er die Schleife durchlaufen soll. pbar_schlüssel.maximum wird automatisch angepasst per code.

    Aber das die Leite nicht voll wird ohne sleep ist nur wenn ich preload_moant() drin habe, ohne füllt diese sich auch ohne sleep perfekt. Kann ich da was ändern?

    Der neue Code sieht wie folgt aus:

    VB.NET-Quellcode

    1. Private Sub timer_passGen_Tick(sender As Object, e As EventArgs) Handles timer_passGen.Tick
    2. Dim passwort As String = ""
    3. If pBar_schlüssel.Value = pBar_schlüssel.Maximum Then
    4. txt_passwort.Text = CDecrypt(txt_passwort.Text, str_master_key)
    5. timer_passGen.Stop()
    6. System.Threading.Thread.Sleep(800)
    7. preload_monat()
    8. Else
    9. For i = 1 To 100
    10. passwort += Zeichenfolge(CInt(Int((82 * Rnd()) + 0)))
    11. Next
    12. pBar_schlüssel.Increment(1)
    13. pBar_schlüssel.Update()
    14. txt_passwort.Text = passwort
    15. passwort = ""
    16. End If
    17. End Sub

    AbsolutCF schrieb:

    Scheint wirklich am Windows Style zu liegen.
    Dem widerspreche ich.
    Mach Dir ein kleines neues Testprojekt, in dem Du ausschließlich diesen Effekt untersuchst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:


    Mach Dir ein kleines neues Testprojekt, in dem Du ausschließlich diesen Effekt untersuchst.


    Gemacht. Es liegt daran dan direkt nach dem der Timer gestoppt hat die prozedur preload_monat()

    geladen wird. Im Anhang wird ein bachgroundworker gestartet. Jetzt sagt bestimmt @VaporiZed Vollidiot aber ich möchte lernen und wissen warum

    *Vollzitat entfernt* ~NoFear23m

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()

    Leg mir bitte keine Worte in den Mund, die mir fern liegen. Dass der BGW nicht mehr zeitgemäß ist, ist eine Sache, aber wir wissen nicht, was in preload_month passiert - von daher können wir da schlecht weiterhelfen. Naja, aber anscheinend doch, wenn es ein paar Hilfreich-Bewertungen zu verteilen gab.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Hi @VaporiZed,

    das war nicht böse gemeint :)
    Ich weiß das ich noch viel zu lernen haben.

    Nachfolgend preload_suof1

    VB.NET-Quellcode

    1. Public Sub preload_monat()
    2. Dim liste As String() = IO.File.ReadAllLines(str_pfad_monat, System.Text.ASCIIEncoding.Default)
    3. For Each s As String In liste
    4. PreArry_Monat.Add(s)
    5. Next
    6. txt_preload_monat_count.Text = PreArry_Monat.Count.ToString
    7. txt_preload_monat_count.Update()
    8. pbar_monat.Maximum = PreArry_Monat.Count
    9. bgw_monat.RunWorkerAsync() '#
    10. End Sub


    Wenn ich im Timer das Threading herausnehme wird die Progressbar erst nach Abschluss aller Vorgänge vollständig geladen. Ich habe versucht dies durch .Update zu lösen aber ohne Erfolg.
    Öhm, Du schmeißt bei jedem Tick nen BGW an? Uiuiui, wenn das mal gut geht. Nee, passiert ja gar nicht jedes mal.
    Was passiert, wenn Du zwischen Z#10 und #11 ein pbar_Monat.Update() reinhaust?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    @AbsolutCF Poste mal den kompletten Code, damit wir das ganze nachvollziehen können.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!

    Neu

    Kompletter Code

    Spoiler anzeigen

    Quellcode

    1. Option Strict On
    2. Imports System.ComponentModel
    3. Public Class Form1
    4. #Region "VAR"
    5. #Region "DATENBANK VAR"
    6. Dim cmd As New OleDb.OleDbCommand
    7. Dim reader As OleDb.OleDbDataReader
    8. #End Region
    9. Public str_pfad_configDB As String = ""
    10. Public str_pfad_monat As String = ""
    11. Public str_pfad_foank As String = ""
    12. Public str_pfad_kunum As String = ""
    13. Public str_pfad_suof1 As String = ""
    14. Public str_pfad_suof2 As String = ""
    15. Public str_pfad_suof3 As String = ""
    16. Public str_pfad_suof4 As String = ""
    17. Public str_pfad_suof5 As String = ""
    18. Public str_pfad_suof6 As String = ""
    19. Public str_master_key As String = "XXX"
    20. Public monat_name_1 As String
    21. Public monat_name_2 As String
    22. Public monat_name_3 As String
    23. Public monat_name_4 As String
    24. Public monat_name_5 As String
    25. Public monat_name_6 As String
    26. Public monat_name_7 As String
    27. Public monat_name_8 As String
    28. Public monat_name_9 As String
    29. Public monat_name_10 As String
    30. Public monat_name_11 As String
    31. Public monat_name_12 As String
    32. Public kunum_jahr_0 As String
    33. Public kunum_jahr_1 As String
    34. Public kunum_jahr_2 As String
    35. Public kunum_jahr_3 As String
    36. Public kunum_jahr_4 As String
    37. Public int_count_übertragen As Integer = 0 'Zähler beim Übertragen von Daten in DB
    38. Public count_gelöschte_zeilen_monat As Integer = 8
    39. #End Region
    40. #Region "ARRAY"
    41. Dim Zeichenfolge() As String = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
    42. "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
    43. "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "!", "§", "$", "%", "&", "/", "(", ")", "=", "?", "ß", "*", "+", "-", "_", "'", "~", "<", ">", "@"}
    44. Dim PreArry_Monat As New ArrayList 'In dieses Array wírd die Monat.txt vorgeladen bevor Sie vom BGW analysiert wird
    45. Dim PreArry_FOANK As New ArrayList 'In dieses Array wírd die FOANK.txt vorgeladen bevor Sie vom BGW analysiert wird
    46. Dim PreArry_KUNUM As New ArrayList 'In dieses Array wírd die KUNUM.txt vorgeladen bevor Sie vom BGW analysiert wird
    47. Dim PreArry_SUOF1 As New ArrayList 'In dieses Array wírd die SUOF1.txt vorgeladen bevor Sie vom BGW analysiert wird
    48. Dim PreArry_SUOF2 As New ArrayList 'In dieses Array wírd die SUOF2.txt vorgeladen bevor Sie vom BGW analysiert wird
    49. #End Region
    50. #Region "FUNKTIONEN"
    51. Public Function CDecrypt(str_to_decrypt As String, password As String) As String
    52. Dim cCrypt As cCrypt = New cCrypt
    53. cCrypt.Encrypt(256, str_to_decrypt, password)
    54. Return cCrypt.EncryptedString
    55. End Function
    56. Public Function Del_LeerZ(ByVal KdName As String) As String
    57. Dim KdName_final As String = ""
    58. Dim KdName_split() As String = KdName.Split(CType(" ", Char()))
    59. For i = 0 To KdName_split.Count - 1
    60. If KdName_split(i) <> "" Then
    61. KdName_final += KdName_split(i) & " "
    62. End If
    63. Next
    64. Return KdName_final.Substring(0, KdName_final.Length - 1).Replace("'", "''")
    65. End Function
    66. #End Region
    67. #Region "Routinen"
    68. Public Sub Grundeinstellungen_laden()
    69. pBar_schlüssel.Maximum = My.Settings.int_intervall_passwort
    70. End Sub
    71. Public Sub Config_finden()
    72. If IO.Directory.Exists("G:\") Then
    73. For Each foundFile As String In My.Computer.FileSystem.GetFiles("G:\", Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "db_prycal2020.accdb")
    74. str_pfad_configDB = foundFile
    75. Config_laden()
    76. Exit Sub
    77. Next
    78. Dim result As DialogResult = ofd_DB.ShowDialog()
    79. If result = DialogResult.OK Then
    80. str_pfad_configDB = ofd_DB.FileName
    81. Config_laden()
    82. Else
    83. MsgBox("FEHLER G" & vbCrLf & "Datenbank wurde nicht gefunden" & vbCrLf & "Evtl. wurde der Dateiname geändert oder der Server hat sich geändert" & vbCrLf & "Ohne Datenbank kann der PryParer nicht arbeiten", vbCritical, "Keine Verbindung zur Datenbank")
    84. Me.Close()
    85. End If
    86. Else
    87. For Each foundFile As String In My.Computer.FileSystem.GetFiles("F:\", Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "db_prycal2020.accdb")
    88. str_pfad_configDB = foundFile
    89. Config_laden()
    90. Exit Sub
    91. Next
    92. Dim result As DialogResult = ofd_DB.ShowDialog()
    93. If result = DialogResult.OK Then
    94. str_pfad_configDB = ofd_DB.FileName
    95. Config_laden()
    96. Else
    97. MsgBox("FEHLER F" & vbCrLf & "Datenbank wurde nicht gefunden" & vbCrLf & "Evtl. wurde der Dateiname geändert oder der Server hat sich geändert" & vbCrLf & "Ohne Datenbank kann der PryParer nicht arbeiten", vbCritical, "Keine Verbindung zur Datenbank")
    98. Me.Close()
    99. End If
    100. End If
    101. End Sub
    102. Public Sub Config_laden()
    103. db_connection_str()
    104. cmd.Connection = con
    105. cmd.CommandText = "SELECT * FROM tb_config_pfade"
    106. Try
    107. con.Open()
    108. reader = cmd.ExecuteReader()
    109. Do While reader.Read()
    110. Select Case reader("datei_name").ToString
    111. Case "MONAT.txt"
    112. str_pfad_monat = reader("datei_pfad").ToString
    113. Case "FOANK.txt"
    114. str_pfad_foank = reader("datei_pfad").ToString
    115. Case "KUNUM.txt"
    116. str_pfad_kunum = reader("datei_pfad").ToString
    117. Case "SUOF1.txt"
    118. str_pfad_suof1 = reader("datei_pfad").ToString
    119. End Select
    120. Loop
    121. reader.Close()
    122. con.Close()
    123. Catch ex As Exception
    124. MsgBox(ex.Message)
    125. End Try
    126. End Sub
    127. #Region "Passwort generieren"
    128. Private Sub timer_passGen_Tick(sender As Object, e As EventArgs) Handles timer_passGen.Tick
    129. Dim passwort As String = ""
    130. If pBar_schlüssel.Value = pBar_schlüssel.Maximum Then
    131. txt_passwort.Text = CDecrypt(txt_passwort.Text, str_master_key)
    132. timer_passGen.Stop()
    133. ' System.Threading.Thread.Sleep(1000)
    134. preload_monat()
    135. pbar_monat.Update()
    136. Else
    137. For i = 1 To 100
    138. passwort += Zeichenfolge(CInt(Int((82 * Rnd()) + 0)))
    139. Next
    140. pBar_schlüssel.Increment(1)
    141. pBar_schlüssel.Update()
    142. txt_passwort.Text = passwort
    143. passwort = ""
    144. End If
    145. End Sub
    146. #End Region
    147. Public Sub preload_monat()
    148. Dim liste As String() = IO.File.ReadAllLines(str_pfad_monat, System.Text.ASCIIEncoding.Default)
    149. For Each s As String In liste
    150. PreArry_Monat.Add(s)
    151. Next
    152. txt_preload_monat_count.Text = PreArry_Monat.Count.ToString
    153. txt_preload_monat_count.Update()
    154. pbar_monat.Maximum = PreArry_Monat.Count
    155. pbar_monat.Update()
    156. bgw_monat.RunWorkerAsync() '#
    157. End Sub
    158. Public Sub preload_foank()
    159. cmd.CommandText = "DELETE FROM tb_foank"
    160. cmd.ExecuteNonQuery()
    161. Dim liste As String() = IO.File.ReadAllLines(str_pfad_foank, System.Text.ASCIIEncoding.Default)
    162. For Each s As String In liste
    163. PreArry_FOANK.Add(s)
    164. Next
    165. txt_preload_foank_count.Text = PreArry_FOANK.Count.ToString
    166. txt_preload_foank_count.Update()
    167. txt_gelöschte_zeilen_foank.Text = "5"
    168. txt_gelöschte_zeilen_foank.Update()
    169. pbar_foank.Maximum = PreArry_FOANK.Count - 5
    170. bgw_foank.RunWorkerAsync() '#
    171. End Sub
    172. Public Sub preload_kunum()
    173. cmd.CommandText = "DELETE FROM tb_kunum"
    174. cmd.ExecuteNonQuery()
    175. Dim liste As String() = IO.File.ReadAllLines(str_pfad_kunum, System.Text.ASCIIEncoding.Default)
    176. For Each s As String In liste
    177. PreArry_KUNUM.Add(s)
    178. Next
    179. txt_preload_kunum_count.Text = PreArry_KUNUM.Count.ToString
    180. txt_preload_kunum_count.Update()
    181. txt_gelöschte_zeilen_kunum.Text = "1"
    182. txt_gelöschte_zeilen_kunum.Update()
    183. pbar_kunum.Maximum = PreArry_KUNUM.Count - 1
    184. bgw_kunum.RunWorkerAsync() '#
    185. End Sub
    186. Public Sub preload_suof1()
    187. cmd.CommandText = "DELETE FROM tb_suof1"
    188. cmd.ExecuteNonQuery()
    189. Dim liste As String() = IO.File.ReadAllLines(str_pfad_suof1, System.Text.ASCIIEncoding.Default)
    190. For Each s As String In liste
    191. PreArry_SUOF1.Add(s)
    192. Next
    193. txt_preload_suof1_count.Text = PreArry_SUOF1.Count.ToString
    194. txt_preload_suof1_count.Update()
    195. txt_gelöschte_zeilen_suof1.Text = "4"
    196. txt_gelöschte_zeilen_suof1.Update()
    197. pbar_suof1.Maximum = PreArry_SUOF1.Count
    198. bgw_suof1.RunWorkerAsync() '#
    199. End Sub
    200. #Region "BGW MONAT"
    201. Private Sub bgw_monat_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles bgw_monat.DoWork
    202. For i = 8 To PreArry_Monat.Count - 1
    203. If i = 8 Then
    204. Dim monat_namen_liste() As String = PreArry_Monat.Item(i).ToString.Split(CType(";", Char()))
    205. monat_name_1 = monat_namen_liste(0)
    206. monat_name_2 = monat_namen_liste(1)
    207. monat_name_3 = monat_namen_liste(2)
    208. monat_name_4 = monat_namen_liste(3)
    209. monat_name_5 = monat_namen_liste(4)
    210. monat_name_6 = monat_namen_liste(5)
    211. monat_name_7 = monat_namen_liste(6)
    212. monat_name_8 = monat_namen_liste(7)
    213. monat_name_9 = monat_namen_liste(8)
    214. monat_name_10 = monat_namen_liste(9)
    215. monat_name_11 = monat_namen_liste(10)
    216. monat_name_12 = monat_namen_liste(11)
    217. count_gelöschte_zeilen_monat = 9
    218. Else
    219. bgw_monat.ReportProgress(i)
    220. End If
    221. Next
    222. End Sub
    223. Private Sub bgw_monat_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles bgw_monat.ProgressChanged
    224. Dim count_i As Integer = e.ProgressPercentage
    225. Dim preArry_read() As String = PreArry_Monat.Item(count_i).ToString.Replace(" ", "").ToString.Split(CType(";", Char()))
    226. For a = 0 To preArry_read.Count - 1
    227. If preArry_read(a).ToString = "" Then
    228. preArry_read(a) = "0"
    229. End If
    230. Next
    231. If preArry_read.Count >= 21 Then
    232. 'Verschlüsselung
    233. Dim cCrypt As cCrypt = New cCrypt ' Klasse cCrypt instanzieren zur Verschlüsselung
    234. cCrypt.Encrypt(256, preArry_read(19), str_master_key) ' Text aus txtDecrypt verschlüsseln mit 256 bit:
    235. Dim crypt_quell As String = cCrypt.EncryptedString ' Verschlüsselten Text anzeigen:
    236. '//Verschlüsselung
    237. cmd.CommandText = "INSERT INTO tb_monat (" &
    238. "artikelnummer, " &
    239. "monat1_name, " &
    240. "monat1_zahl, " &
    241. "monat2_name, " &
    242. "monat2_zahl, " &
    243. "monat3_name, " &
    244. "monat3_zahl, " &
    245. "monat4_name, " &
    246. "monat4_zahl, " &
    247. "monat5_name, " &
    248. "monat5_zahl, " &
    249. "monat6_name, " &
    250. "monat6_zahl, " &
    251. "monat7_name, " &
    252. "monat7_zahl, " &
    253. "monat8_name, " &
    254. "monat8_zahl, " &
    255. "monat9_name, " &
    256. "monat9_zahl, " &
    257. "monat10_name, " &
    258. "monat10_zahl, " &
    259. "monat11_name, " &
    260. "monat11_zahl, " &
    261. "monat12_name, " &
    262. "monat12_zahl, " &
    263. "abverkauf_12M," &
    264. "auftrag_menge," &
    265. "bestellt_menge," &
    266. "lieferant," &
    267. "quellpreis) " &
    268. "VALUES ('" &
    269. preArry_read(14) & "', '" & 'Artikelnummer
    270. monat_name_1 & "', " & ' Name Monat1
    271. CInt(preArry_read(0)) & ", '" &
    272. monat_name_2 & "', " &' Name Monat2
    273. CInt(preArry_read(1)) & ", '" &
    274. monat_name_3 & "', " &' Name Monat3
    275. CInt(preArry_read(2)) & ", '" &
    276. monat_name_4 & "', " &' Name Monat4
    277. CInt(preArry_read(3)) & ", '" &
    278. monat_name_5 & "', " &' Name Monat5
    279. CInt(preArry_read(4)) & ", '" &
    280. monat_name_6 & "', " &' Name Monat6
    281. CInt(preArry_read(5)) & ", '" &
    282. monat_name_7 & "', " &' Name Monat7
    283. CInt(preArry_read(6)) & ", '" &
    284. monat_name_8 & "', " &' Name Monat8
    285. CInt(preArry_read(7)) & ", '" &
    286. monat_name_9 & "', " &' Name Monat9
    287. CInt(preArry_read(8)) & ", '" &
    288. monat_name_10 & "', " &' Name Monat10
    289. CInt(preArry_read(9)) & ", '" &
    290. monat_name_11 & "', " &' Name Monat11
    291. CInt(preArry_read(10)) & ", '" &
    292. monat_name_12 & "', " &' Name Monat12
    293. CInt(preArry_read(11)) & ", " &
    294. CInt(preArry_read(12)) & ", " & 'Abverkauf 12 M
    295. CInt(preArry_read(15)) & ", " & 'Aufträge Menge
    296. CInt(preArry_read(16)) & ", '" &
    297. preArry_read(18) & "', '" & 'Lieferant
    298. (crypt_quell) & "');" 'Quell
    299. cmd.ExecuteNonQuery()
    300. int_count_übertragen += 1
    301. txt_monat_übertragen.Text = CStr(int_count_übertragen)
    302. pbar_monat.Value = int_count_übertragen + count_gelöschte_zeilen_monat
    303. pbar_monat.Update()
    304. Else
    305. count_gelöschte_zeilen_monat += 1
    306. txt_gelöschte_zeilen.Text = count_gelöschte_zeilen_monat.ToString
    307. pbar_monat.Value = int_count_übertragen + count_gelöschte_zeilen_monat
    308. pbar_monat.Update()
    309. txt_gelöschte_zeilen.Update()
    310. End If
    311. txt_monat_übertragen.Update()
    312. End Sub
    313. Private Sub bgw_monat_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles bgw_monat.RunWorkerCompleted
    314. PreArry_Monat.Clear()
    315. int_count_übertragen = 0
    316. pbar_monat.Update()
    317. Threading.Thread.Sleep(500)
    318. preload_foank() '#
    319. End Sub
    320. #End Region
    321. #Region "BGW FOANK"
    322. Private Sub bgw_foank_DoWork(sender As Object, e As DoWorkEventArgs) Handles bgw_foank.DoWork
    323. For i = 2 To PreArry_FOANK.Count - 4
    324. bgw_foank.ReportProgress(i)
    325. Next
    326. End Sub
    327. Private Sub bgw_foank_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles bgw_foank.ProgressChanged
    328. Dim count_i As Integer = e.ProgressPercentage
    329. Dim preArry_read() As String = PreArry_FOANK.Item(count_i).ToString.Replace(" ", "").ToString.Split(CType(";", Char()))
    330. cmd.CommandText = "INSERT INTO tb_foank (" &
    331. "id, " &
    332. "artikelnummer, " &
    333. "menge_bestellt, " &
    334. "menge_bestand, " &
    335. "datum_geplante_lieferung, " &
    336. "datum_ankunft, " &
    337. "ordernummer, " &
    338. "menge_vormerkungen, " &
    339. "invoice_nummer, " &
    340. "bestell_nummer, " &
    341. "datum_ETD, " &
    342. "ztn, " &
    343. "zollsatz_prozent, " &
    344. "alu_gr, " &
    345. "steel_gr) " &
    346. "VALUES (" &
    347. count_i & ", '" & 'id
    348. preArry_read(0) & "', " & 'Artikelnummer
    349. preArry_read(1) & ", " & 'Bestellt
    350. preArry_read(2) & ", '" & 'Bestand
    351. preArry_read(3) & "', '" & 'Geplt. Lieferung
    352. preArry_read(4) & "', '" & 'Ankunft
    353. preArry_read(5) & "', " & 'Ordernummer
    354. preArry_read(6) & ", '" & 'Vormerkungen
    355. preArry_read(7) & "', '" & 'Invoice
    356. preArry_read(8) & "', '" & 'BestellNr
    357. preArry_read(9) & "', '" & 'ETD
    358. preArry_read(10) & "', '" & 'ZTN
    359. preArry_read(11) & "', '" & 'Zollsatz
    360. preArry_read(12) & "', '" & 'alu_gr
    361. preArry_read(13) & "');" 'steel_gr
    362. cmd.ExecuteNonQuery()
    363. int_count_übertragen += 1
    364. txt_foank_übertragen.Text = CStr(int_count_übertragen)
    365. txt_foank_übertragen.Update()
    366. pbar_foank.Value = int_count_übertragen
    367. pbar_foank.Refresh()
    368. pbar_foank.Update()
    369. End Sub
    370. Private Sub bgw_foank_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles bgw_foank.RunWorkerCompleted
    371. pbar_foank.Update()
    372. pbar_foank.Refresh()
    373. int_count_übertragen = 0
    374. PreArry_FOANK.Clear()
    375. pbar_foank.Update()
    376. Threading.Thread.Sleep(500)
    377. preload_kunum() '#
    378. End Sub
    379. #End Region
    380. #Region "BGW KUNUM"
    381. Private Sub bgw_kunum_DoWork(sender As Object, e As DoWorkEventArgs) Handles bgw_kunum.DoWork
    382. For i = 0 To PreArry_KUNUM.Count - 1
    383. If i = 0 Then
    384. Dim jahr_namen_liste() As String = PreArry_KUNUM.Item(i).ToString.Split(CType(";", Char()))
    385. kunum_jahr_0 = jahr_namen_liste(12)
    386. kunum_jahr_1 = jahr_namen_liste(13)
    387. kunum_jahr_2 = jahr_namen_liste(14)
    388. kunum_jahr_3 = jahr_namen_liste(15)
    389. kunum_jahr_4 = jahr_namen_liste(16)
    390. Else
    391. bgw_kunum.ReportProgress(i)
    392. End If
    393. Next
    394. End Sub
    395. Private Sub bgw_kunum_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles bgw_kunum.ProgressChanged
    396. Dim count_i As Integer = e.ProgressPercentage
    397. Dim preArry_read() As String = PreArry_KUNUM.Item(count_i).ToString.Replace(" ", "").ToString.Split(CType(";", Char()))
    398. cmd.CommandText = "INSERT INTO tb_kunum (" &
    399. "KdNr, " &
    400. "KdName, " &
    401. "KdWährung, " &
    402. "KdBetreuer, " &
    403. "Kd_ELM, " &
    404. "Kd_ALM, " &
    405. "Kd_VJM, " &
    406. "Kd_LJ, " &
    407. "Kd_VJZ, " &
    408. "Kd_PR, " &
    409. "Kd_FN, " &
    410. "Kd_PL, " &
    411. "Kd_Jahr0_name, " &
    412. "Kd_Jahr0, " &
    413. "Kd_Jahr1_name, " &
    414. "Kd_Jahr1, " &
    415. "Kd_Jahr2_name, " &
    416. "Kd_Jahr2, " &
    417. "Kd_Jahr3_name, " &
    418. "Kd_Jahr3, " &
    419. "Kd_Jahr4_name, " &
    420. "Kd_Jahr4) " &
    421. "VALUES ('" &
    422. preArry_read(0) & "', '" & 'KdNr
    423. preArry_read(1) & "', '" & 'KdName
    424. preArry_read(2) & "', '" & 'KdWährung
    425. preArry_read(3) & "', " & 'KdBetreuer
    426. CInt(preArry_read(4)) & ", " & 'Kd_ELM
    427. CInt(preArry_read(5)) & ", " & 'Kd_ALM
    428. CInt(preArry_read(6)) & ", " & 'Kd_VJM
    429. CInt(preArry_read(7)) & ", " & 'Kd_LJ
    430. CInt(preArry_read(8)) & ", " & 'Kd_VJZ
    431. CInt(preArry_read(9)) & ", '" & 'Kd_PR
    432. preArry_read(10) & "', " & 'Kd_FN
    433. CInt(preArry_read(11)) & ", '" & 'Kd_PL
    434. kunum_jahr_0 & "', " & 'Jahr0_name
    435. CInt(preArry_read(12)) & ", '" & 'Jahr0
    436. kunum_jahr_1 & "', " & 'Jahr1_name
    437. CInt(preArry_read(13)) & ", '" & 'Jahr1
    438. kunum_jahr_2 & "', " & 'Jahr2_name
    439. CInt(preArry_read(14)) & ", '" & 'Jahr2
    440. kunum_jahr_3 & "', " & 'Jahr3_name
    441. CInt(preArry_read(15)) & ", '" & 'Jahr3
    442. kunum_jahr_4 & "', " & 'Jahr4_name
    443. CInt(preArry_read(16)) & ");" 'Jahr4
    444. cmd.ExecuteNonQuery()
    445. int_count_übertragen += 1
    446. txt_kunum_übertragen.Text = CStr(int_count_übertragen)
    447. txt_kunum_übertragen.Update()
    448. pbar_kunum.Value = int_count_übertragen
    449. pbar_kunum.Update()
    450. End Sub
    451. Private Sub bgw_kunum_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles bgw_kunum.RunWorkerCompleted
    452. int_count_übertragen = 0
    453. PreArry_KUNUM.Clear()
    454. pbar_kunum.Update()
    455. Threading.Thread.Sleep(500)
    456. preload_suof1() '#
    457. End Sub
    458. #End Region
    459. #Region "BGW SUOF1"
    460. Private Sub bgw_suof1_DoWork(sender As Object, e As DoWorkEventArgs) Handles bgw_suof1.DoWork
    461. For i = 0 To PreArry_SUOF1.Count - 5
    462. bgw_suof1.ReportProgress(i)
    463. Next
    464. End Sub
    465. Private Sub bgw_suof1_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles bgw_suof1.ProgressChanged
    466. Dim count_i As Integer = e.ProgressPercentage
    467. Dim preArry_read() As String = PreArry_SUOF1.Item(count_i).ToString.Split(CType(";", Char()))
    468. cmd.CommandText = "INSERT INTO tb_suof1 (" &
    469. "KdNr, " &
    470. "KdName, " &
    471. "KdStr, " &
    472. "KdPLZ, " &
    473. "KdOrt, " &
    474. "KdLand, " &
    475. "KdLimit, " &
    476. "Kd_TKB, " &
    477. "KdWährung, " &
    478. "KdBetreuer, " &
    479. "Kd_PL, " &
    480. "KdRabatt, " &
    481. "KdZahlungsziel, " &
    482. "KdSaldo, " &
    483. "KdPriorität, " &
    484. "KdVersand, " &
    485. "KdSpediteur, " &
    486. "KdSkonto) " &
    487. "VALUES ('" &
    488. preArry_read(0) & "', '" & 'KdNr
    489. Del_LeerZ(preArry_read(1)) & "', '" & 'KdName, Funktion für ohne überflüssige Leerzeichen
    490. Del_LeerZ(preArry_read(2)) & "', '" & 'KdStr, Funktion für ohne überflüssige Leerzeichen
    491. preArry_read(3).Replace(" ", "") & "', '" & 'KdPLZ
    492. preArry_read(4).Replace(" ", "").Replace("'", "''") & "', '" & 'KdOrt
    493. preArry_read(5).Replace(" ", "") & "', " & 'KdLand
    494. preArry_read(6) & ", " & 'KdLimit
    495. preArry_read(7) & ", '" & 'Kd_TKB Tage Kreditbedarf
    496. preArry_read(8) & "', '" & 'KDWährung
    497. preArry_read(9).Replace(" ", "") & "', '" & 'KdBetreuer
    498. preArry_read(10).Replace(" ", "") & "', " & 'Kd_PL
    499. CInt(preArry_read(11).Replace("%", "")) & ", '" & 'KdRabatt
    500. preArry_read(12).Replace(" ", "") & "', " & 'KdZahlungsziel
    501. CInt(preArry_read(13)) & ", '" & 'KdSaldo
    502. preArry_read(14) & "', '" & 'KdPriorität
    503. preArry_read(15).Replace(" ", "") & "', '" & 'KdVersand
    504. preArry_read(16).Replace(" ", "") & "', " & 'KdSpediteur
    505. CInt(preArry_read(17).Replace("%", "")) & ");" 'KdSkonto
    506. cmd.ExecuteNonQuery()
    507. int_count_übertragen += 1
    508. txt_suof1_übertragen.Text = CStr(int_count_übertragen)
    509. txt_suof1_übertragen.Update()
    510. pbar_suof1.Value = int_count_übertragen
    511. pbar_suof1.Update()
    512. End Sub
    513. Private Sub bgw_suof1_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles bgw_suof1.RunWorkerCompleted
    514. int_count_übertragen = 0
    515. PreArry_SUOF1.Clear()
    516. con.Close()
    517. MsgBox("suof1 fertig")
    518. End Sub
    519. #End Region
    520. #End Region
    521. #Region "BUTTONS"
    522. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    523. frm_einstellung.Show()
    524. End Sub 'btn_Einstellungen
    525. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'TEST
    526. Dim wc As New Net.WebClient
    527. wc.Credentials = New Net.NetworkCredential("admin", "**************")
    528. Button2.Text = wc.DownloadString("http://www.christopher-frank.de/PryCal2020/test.txt")
    529. End Sub 'TEST
    530. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 'btn_start
    531. Button3.Enabled = False
    532. timer_passGen.Enabled = True
    533. db_connection_str()
    534. cmd.Connection = con
    535. con.Open()
    536. cmd.CommandText = "DELETE FROM tb_monat"
    537. cmd.ExecuteNonQuery()
    538. End Sub
    539. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    540. Me.Text = pBar_schlüssel.Maximum.ToString
    541. End Sub
    542. #End Region
    543. '###################################################################################################################################################
    544. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    545. Grundeinstellungen_laden()
    546. Config_finden()
    547. End Sub
    548. End Class


    *Spoiler eingefügt - In Zukunft denke bei 700 Zeilen vieleicht selbst dran* ~NoFear23m
    Außerdem die Zugangsdaten unkenntlich gemacht - @AbsolutCF ich denke sowas solltest du unterlassen.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Nofear23m“ ()

    Neu

    @AbsolutCF Versetz Dich mal in unsere Lage:
    Wir finden Deinen Code vor und kopieren ihn in eine leere Form.
    Vollzieh das bitte mal nach und poste dann noch den dazugehörigen Designercode.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!