Vb@rchiv-Code

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von hal2000.

    Vb@rchiv-Code

    VB.NET-Quellcode

    1. ' Für das Beispiel sei angenommen, dass Dateien kopiert werden sollen
    2. ' und die zu kopierenden Dateien im Array arrFiles() liegen.
    3. Private Sub cmdCopy_Click()
    4. Dim Start As Single
    5. Dim Dateien As Long
    6. Dim i As Long
    7. ' Startzeit festlegen
    8. Start = Timer
    9. ' Anzahl der zu kopierenden Dateien bestimmen
    10. ' (da das Array bei 0 (Null) beginnt, ist die Anzahl der Dateien der
    11. ' obere Index des Arrays + 1)
    12. Dateien = UBound(arrFiles) + 1
    13. For i = LBound(arrFiles) To UBound(arrFiles)
    14. ' Datei kopieren
    15. FileCopy "C:\temp\" & arrFiles(i), "C:\Temp1\" & arrFiles(i)
    16. ' Restzeit anzeigen
    17. ' (da das Array bei 0 (Null) beginnt, ist die Anzahl der bereits
    18. ' kopierten Dateien i + 1)
    19. Label1.Caption = "Verbleibende Zeit: " & TimeRemain(Start, Dateien, i + 1) & " Sekunden"
    20. Next i
    21. End Sub
    22. Private Function TimeRemain(Start As Single, Dateien As Long, _
    23. Kopiert As Long) As Long
    24. Dim Vergangen As Single
    25. Dim Rest As Long
    26. Dim Tmp As Double
    27. ' Start: Zeit, wann mit der Operation begonnen wurde
    28. ' Dateien: Anzahl aller Dateien
    29. ' Kopiert: Anzahl der bereits kopierten Dateien
    30. ' Vergangen: Zeit, die seit dem Start der Operation verstrichen ist
    31. ' Rest: Zeit, die für die restlichen Dateien benötigt wird
    32. ' Tmp: Zeit, die für eine Datei benötigt wurde (Durchschnitt)
    33. ' Zeit, die seit dem Start der Operation verstrichen ist
    34. Vergangen = Timer - Start
    35. ' Zeit, die für eine Datei benötigt wird (Durchschnitt)
    36. Tmp = Vergangen / Kopiert
    37. ' Zeit, die für die restlichen Dateien benötigt wird
    38. ' restliche Dateien = Dateien - Kopiert
    39. Rest = (Dateien - Kopiert) * Tmp
    40. TimeRemain = Rest
    41. End Function

    Hallo, den vorherigen Code
    habe ich auf Vb@rchiv gefunden.
    Was ist die Funktion Timer.
    Bei mir wird immer ein Fehler angezeigt.
    Der Link ist da, probiert den Code aus und postet eure fehler BITTE hier


    Edit by Manschula: Warum startest du hier eine Umfrage ("Ist das ein Fehler oder kein Fehler")? --> Unsinnige Umfrage entfernt

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

    danke,
    aber wie fuktioniert der Code jetzt in VB.NET
    //EDIT\\
    Hab den Code nun so geändert:

    VB.NET-Quellcode

    1. Dim arrFiles As Array
    2. Dim Nun As String = System.DateTime.Now
    3. Sub GetSyncTime_SyncStart()
    4. Dim Start As String
    5. Dim Dateien As Long
    6. Dim i As Long
    7. ' Startzeit festlegen
    8. Start = Nun
    9. ' Anzahl der zu kopierenden Dateien bestimmen
    10. ' (da das Array bei 0 (Null) beginnt, ist die Anzahl der Dateien der
    11. ' obere Index des Arrays + 1)
    12. Dateien = UBound(arrFiles) + 1
    13. For i = LBound(arrFiles) To UBound(arrFiles)
    14. ' Datei kopieren
    15. StartSync()
    16. ' Restzeit anzeigen
    17. ' (da das Array bei 0 (Null) beginnt, ist die Anzahl der bereits
    18. ' kopierten Dateien i + 1)
    19. tbTimeStatus.Text = TimeRemain(Start, Dateien, i + 1) & " Sekunden"
    20. Next i
    21. With tbTimeStatus
    22. If .Text = "0 Sekunden" Then
    23. .Text = "Fertig!"
    24. End If
    25. End With
    26. End Sub
    27. Private Function TimeRemain(Start As String, Dateien As Long, Kopiert As Long)
    28. Dim Vergangen As Single
    29. Dim Rest As Long
    30. Dim Tmp As Double
    31. ' Start: Zeit, wann mit der Operation begonnen wurde
    32. ' Dateien: Anzahl aller Dateien
    33. ' Kopiert: Anzahl der bereits kopierten Dateien
    34. ' Vergangen: Zeit, die seit dem Start der Operation verstrichen ist
    35. ' Rest: Zeit, die für die restlichen Dateien benötigt wird
    36. ' Tmp: Zeit, die für eine Datei benötigt wurde (Durchschnitt)
    37. ' Zeit, die seit dem Start der Operation verstrichen ist
    38. Vergangen = Nun - Start
    39. ' Zeit, die für eine Datei benötigt wird (Durchschnitt)
    40. Tmp = Vergangen / Kopiert
    41. ' Zeit, die für die restlichen Dateien benötigt wird
    42. ' restliche Dateien = Dateien - Kopiert
    43. Rest = (Dateien - Kopiert) * Tmp
    44. TimeRemain = Rest
    45. End Function

    Aber jetzt wird bei

    VB.NET-Quellcode

    1. Dateien = UBound(arrFiles) + 1
    Folgender Fehler angezeigt:
    ArgumentNullException wurde nicht behandelt
    Der Wert darf nicht NULL sein
    Parametername: Das Argument Array ist "Nothing".

    Wo liegt der Fehler ?( ?( ?( ?(

    //EDIT\\
    Das Programm ChipPRO DirectorySync wird bald veröffentlicht.
    Codequellen:
    VB-Paradise
    Vb@rchiv
    DotNet-Snippets

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ChipPRO Österreich“ ()

    :D :D :D :D Es sind keine Fehler drin? Der war gut. Dann sollte alles ja perfekt funktionieren. Wo is das Problem?
    Btw.. es gibt keine alternative zu Strict ON!
    Der erste is in Zeile 2

    VB.NET-Quellcode

    1. DIM string as DateTime

    is kla, ne
    Hi
    ja. Programmieren lernen. Danach ist Option Strict sowieso On. Jetzt setzt du dich einfach mal hin und versuchst deine Probleme selber zu lösen. Wie willst du was lernen, wenn wir dir jedes Bröckchen vorkauen und dabei nichts rüberkommt? Als Anlaufstellen hast du so viele Möglichkeiten. Wenn ein Fehler auftritt, den du partout nicht verstehst, schmeiß die Fehlermeldung in eine Suchmaschine und recherchiere so lange, bis du das gefunden hast, was dir hilft. Was ist das denn für eine Arbeitshaltung? ;)

    Du meintest, du hättest ein Buch daheim. Wenn darin die Grundlagen umfangreich behandelt werden, setze dich mal da hin und programmiere ein paar Sachen nach und versuche mit dem dort vermittelten Wissen ein wenig Verständnis aufzubauen. Wenn du damit fertig bist, kannst du dich mal an etwas Größeres ranwagen.

    Gruß
    ~blaze~

    FloFuchs schrieb:

    :D :D :D :D Es sind keine Fehler drin? Der war gut. Dann sollte alles ja perfekt funktionieren. Wo is das Problem?
    Btw.. es gibt keine alternative zu Strict ON!
    Der erste is in Zeile 2

    VB.NET-Quellcode

    1. DIM string as DateTime

    is kla, ne


    Hast du das schon mal probiert? Bei mir zeigt Option Strict On in Zeile 2 keinen Fehler. Ich würde sagen fail von deiner Seite aus :P.
    Ich weiß nich was du für ein VB hast.... @Bluespide
    Bei meinem is die implizite Konvertierung von String zu DateTime immer noch verboten ...
    Bilder
    • Option-01.gif

      37,46 kB, 680×367, 158 mal angesehen

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