Hallo Leute
Ich möchte in meinem Programm (Sortierprogramm) die Zeit in Millisekunden messen welche vergangen ist bis der Text sortiert wurde .
Sprich am Anfang der (Ereignis)prozedur soll die Zeitmessung beginnen und am Ende der Prozedur sollte die Vergangene Zeit berechnet und ausgegeben werden.
Das ganze funktionierte mit der Zeichensortierung recht gut jedoch bei der Wortsortierung überhaupt nicht, ich erhalte immer nur 0.00000 "Sek".
Ich versuchte es bis jetzt mit der Timer-Eigenschaft: Microsoft.VisualBasic.DateAndTime.Timer der die Anzahl der seit Mitternacht vergangenen Sekunden angibt und als Double zurückgibt.
Oder gäbe es evtl. eine Variante bei der es Sicher funktionieren würde ?
Das ganze sieht so aus:
(kurz)
Danke für eure Hilfe
Ich möchte in meinem Programm (Sortierprogramm) die Zeit in Millisekunden messen welche vergangen ist bis der Text sortiert wurde .
Sprich am Anfang der (Ereignis)prozedur soll die Zeitmessung beginnen und am Ende der Prozedur sollte die Vergangene Zeit berechnet und ausgegeben werden.
Das ganze funktionierte mit der Zeichensortierung recht gut jedoch bei der Wortsortierung überhaupt nicht, ich erhalte immer nur 0.00000 "Sek".
Ich versuchte es bis jetzt mit der Timer-Eigenschaft: Microsoft.VisualBasic.DateAndTime.Timer der die Anzahl der seit Mitternacht vergangenen Sekunden angibt und als Double zurückgibt.
Oder gäbe es evtl. eine Variante bei der es Sicher funktionieren würde ?
Das ganze sieht so aus:
(kurz)
VB.NET-Quellcode
- Private Sub cmdSortieren_Click(sender As System.Object, e As System.EventArgs) Handles cmdSortieren.Click
- Dim strVerfahren As String = lstSortierverfahren.SelectedItem
- Dim strText As String = txtText.Text
- Dim SortierString As String = txtText.Text 'Für Quicksort
- Dim mdatStartZeit As Double = 0
- Dim mdatEndeZeit As Double = 0
- Dim dblTotalZeit As Double = 0
- lblSortierzeit.Text = ""
- mdatStartZeit = Microsoft.VisualBasic.DateAndTime.Timer
- 'If ....
- 'Select Case ...
- 'Aufruf der Sortierverfahren in Modulen
- 'If ...
- 'Select Case ...
- 'Aufruf der Sortierverfahren in Modulen
- mdatEndeZeit = Microsoft.VisualBasic.DateAndTime.Timer
- dblTotalZeit = mdatEndeZeit - mdatStartZeit
- lblSortierzeit.Text = Format(dblTotalZeit, "0.0000000") & " Sek"
VB.NET-Quellcode
- Private Sub cmdSortieren_Click(sender As System.Object, e As System.EventArgs) Handles cmdSortieren.Click
- Dim strVerfahren As String = lstSortierverfahren.SelectedItem
- 'Prüfen ob: String vorhanden, Sortierverfharen gewählt, Sortierart gewählt.
- If txtText.Text = "" Or txtText.Text = " " Then
- MsgBox("Bitte zu Sortierenden Text eingeben")
- Exit Sub
- ElseIf lstSortierverfahren.SelectedItem = "" Then
- MsgBox("Bitte Sortierverfahren wählen")
- Exit Sub
- ElseIf optWorte.Checked = False And optZeichen.Checked = False Then
- MsgBox("Bitte Sortierart (Wort, Zeichen) wählen.")
- Exit Sub
- Else
- End If
- Dim strText As String = txtText.Text
- Dim SortierString As String = txtText.Text 'Für Quicksort
- Dim wortArray() As String
- 'Zeit
- Dim mdatStartZeit As Double = 0
- Dim mdatEndeZeit As Double = 0
- Dim dblTotalZeit As Double = 0
- lblSortierzeit.Text = ""
- mdatStartZeit = Microsoft.VisualBasic.DateAndTime.Timer 'startzeit(mdatStartZeit)
- If optWorte.Checked = True Then
- worteLesen(strText, wortArray)
- 'Wortsortierung
- Select Case strVerfahren
- Case "Bubble Sort"
- If chbUmlaute.Checked = False Then
- modSortWort.bubbleWortSort(wortArray)
- ElseIf chbUmlaute.Checked = True Then
- modSortWortUmlaut.bubbleWortSortUmlaut(wortArray)
- End If
- Case "Ripple Sort"
- If chbUmlaute.Checked = False Then
- modSortWort.rippleWortSort(wortArray)
- ElseIf chbUmlaute.Checked = True Then
- modSortWortUmlaut.rippleWortSortUmlaut(wortArray)
- End If
- Case "Intern Sort"
- If chbUmlaute.Checked = False Then
- modSortWort.internWortSort(wortArray)
- ElseIf chbUmlaute.Checked = True Then
- modSortWortUmlaut.internWortSortUmlaut(wortArray)
- End If
- Case "Quick Sort"
- If chbUmlaute.Checked = False Then
- modSortWort.quickWortSort(wortArray, LBound(wortArray), UBound(wortArray))
- ElseIf chbUmlaute.Checked = True Then
- modSortWortUmlaut.quickWortSortUmlaut(wortArray, LBound(wortArray), UBound(wortArray))
- End If
- End Select
- modSortWort.worteSchreiben(strText, wortArray)
- txtSortiert.Text = strText
- ElseIf optZeichen.Checked = True Then
- 'Zeichen Sortierung
- Select Case strVerfahren
- Case "Bubble Sort"
- If chbUmlaute.Checked = False Then
- txtSortiert.Text = modSortZeichen.bubbleSort(strText)
- ElseIf chbUmlaute.Checked = True Then
- txtSortiert.Text = modSortZeichenUmlaut.bubbleSortUmlaut(strText)
- End If
- Case "Ripple Sort"
- If chbUmlaute.Checked = False Then
- txtSortiert.Text = modSortZeichen.rippleSort(strText)
- ElseIf chbUmlaute.Checked = True Then
- txtSortiert.Text = modSortZeichenUmlaut.rippleSortUmlaut(strText)
- End If
- Case "Intern Sort"
- If chbUmlaute.Checked = False Then
- txtSortiert.Text = modSortZeichen.internSort(strText)
- ElseIf chbUmlaute.Checked = True Then
- txtSortiert.Text = modSortZeichenUmlaut.internSortUmlaut(strText)
- End If
- Case "Quick Sort"
- If chbUmlaute.Checked = False Then
- modSortZeichen.quickSortLL(strText, 1, Len(strText))
- ElseIf chbUmlaute.Checked = True Then
- modSortZeichenUmlaut.quickSortUmlaut(strText, 1, Len(strText))
- End If
- txtSortiert.Text = strText
- End Select
- End If
- 'Zeit
- mdatEndeZeit = Microsoft.VisualBasic.DateAndTime.Timer
- dblTotalZeit = mdatEndeZeit - mdatStartZeit
- lblSortierzeit.Text = Format(dblTotalZeit, "0.0000000") & " Sek"
Danke für eure Hilfe