stoppuhr

  • VB6

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von udo f..

    habe in einem vb 6.0 zwei stoppuhren laufen die tun es auch ich habe nur das problem wenn ich eine stoppe und wieder starte passt sie sich der zeit der anderen uhr an kann mir da einer helfen??
    gruß udo
    End Sub

    Private Sub tmrAnzeige1_Timer()

    Zeit = Zeit + GetTickCount - Ticks
    Ticks = GetTickCount

    If optSekunden.Value Then
    lblZeit1.Caption = Format(Zeit / 1000, "0.00")
    Else
    If Zeit >= 1000 Then
    Sekunden = Sekunden + Zeit \ 1000
    Zeit = Zeit - (Zeit \ 1000) * 1000
    If Sekunden >= 60 Then
    Minuten = Minuten + Sekunden \ 60
    Sekunden = Sekunden - (Sekunden \ 60) * 60
    If Minuten >= 60 Then
    Stunden = Stunden + Minuten \ 60
    Minuten = Minuten - (Minuten \ 60) * 60
    End If
    End If
    End If
    lblZeit1.Caption = Stunden & ":" & Format(Minuten, "00") & ":" & Format(Sekunden, "00")
    End If

    End Sub



    Private Sub tmrAnzeige2_Timer()

    Zeit = Zeit + GetTickCount - Ticks
    Ticks = GetTickCount

    If optSekunden.Value Then
    lblZeit2.Caption = Format(Zeit / 1000, "0.00")
    Else
    If Zeit >= 1000 Then
    Sekunden = Sekunden + Zeit \ 1000
    Zeit = Zeit - (Zeit \ 1000) * 1000
    If Sekunden >= 60 Then
    Minuten = Minuten + Sekunden \ 60
    Sekunden = Sekunden - (Sekunden \ 60) * 60
    If Minuten >= 60 Then
    Stunden = Stunden + Minuten \ 60
    Minuten = Minuten - (Minuten \ 60) * 60
    End If
    End If
    End If
    lblZeit2.Caption = Stunden & ":" & Format(Minuten, "00") & ":" & Format(Sekunden, "00")
    End If

    End Sub
    habe das nun so geändert der fehler bleibt denoch der gleiche
    Private Sub tmrAnzeige1_Timer()

    Zeit = Zeit + GetTickCount - Ticks
    Ticks = GetTickCount

    If optSekunden.Value Then
    lblZeit1.Caption = Format(Zeit / 1000, "0.00")
    Else
    If Zeit >= 1000 Then
    Sekunden = Sekunden + Zeit \ 1000
    Zeit = Zeit - (Zeit \ 1000) * 1000
    If Sekunden >= 60 Then
    Minuten = Minuten + Sekunden \ 60
    Sekunden = Sekunden - (Sekunden \ 60) * 60
    If Minuten >= 60 Then
    Stunden = Stunden + Minuten \ 60
    Minuten = Minuten - (Minuten \ 60) * 60
    End If
    End If
    End If
    lblZeit1.Caption = Stunden & ":" & Format(Minuten, "00") & ":" & Format(Sekunden, "00")
    End If

    End Sub



    Private Sub tmrAnzeige2_Timer()

    Zeit = Zeit + GetTickCount - Ticks
    Ticks = GetTickCount

    If optSekunden.Value Then
    lblZeit2.Caption = Format(Zeit / 1000, "0.00")
    Else
    If Zeit >= 1000 Then
    Sekunden1 = Sekunden1 + Zeit \ 1000
    Zeit = Zeit - (Zeit \ 1000) * 1000
    If Sekunden1 >= 60 Then
    Minuten1 = Minuten1 + Sekunden1 \ 60
    Sekunden1 = Sekunden1 - (Sekunden1 \ 60) * 60
    If Minuten1 >= 60 Then
    Stunden1 = Stunden1 + Minuten1 \ 60
    Minuten1 = Minuten1 - (Minuten1 \ 60) * 60
    End If
    End If
    End If
    lblZeit2.Caption = Stunden & ":" & Format(Minuten1, "00") & ":" & Format(Sekunden1, "00")
    End If

    End Sub
    Private Sub tmrAnzeige1_Timer()

    Zeit = Zeit + GetTickCount - Ticks
    Ticks = GetTickCount

    If optSekunden.Value Then
    lblZeit1.Caption = Format(Zeit / 1000, "0.00")
    Else
    If Zeit >= 1000 Then
    Sekunden = Sekunden + Zeit \ 1000
    Zeit = Zeit - (Zeit \ 1000) * 1000
    If Sekunden >= 60 Then
    Minuten = Minuten + Sekunden \ 60
    Sekunden = Sekunden - (Sekunden \ 60) * 60
    If Minuten >= 60 Then
    Stunden = Stunden + Minuten \ 60
    Minuten = Minuten - (Minuten \ 60) * 60
    End If
    End If
    End If
    lblZeit1.Caption = Stunden & ":" & Format(Minuten, "00") & ":" & Format(Sekunden, "00")
    End If

    End Sub



    Private Sub tmrAnzeige2_Timer()

    Zeit1 = Zeit1 + GetTickCount - Ticks
    Ticks = GetTickCount

    If optSekunden.Value Then
    lblZeit2.Caption = Format(Zeit / 1000, "0.00")
    Else
    If Zeit1 >= 1000 Then
    Sekunden1 = Sekunden1 + Zeit1 \ 1000
    Zeit1 = Zeit1 - (Zeit1 \ 1000) * 1000
    If Sekunden1 >= 60 Then
    Minuten1 = Minuten1 + Sekunden1 \ 60
    Sekunden1 = Sekunden1 - (Sekunden1 \ 60) * 60
    If Minuten1 >= 60 Then
    Stunden1 = Stunden1 + Minuten1 \ 60
    Minuten1 = Minuten1 - (Minuten1 \ 60) * 60
    End If
    End If
    End If
    lblZeit2.Caption = Stunden1 & ":" & Format(Minuten1, "00") & ":" & Format(Sekunden1, "00")
    End If

    End Sub
    hab das nun so geändert er übernimmt trotzdem immer noch die andere zeit
    Die Replace Funktion muss du dort anwenden, wo du die Caption Eigenschaft deines Anzeigelabels setzt. Angenommen du hast im Moment

    Visual Basic-Quellcode

    1. lblZeit.Caption = Variable_die_die_Zeit_enthält


    Dann musst du folgendes machen um die Variable, die deine Zahl enthält, mit Punkt statt Komma darzustellen.

    Visual Basic-Quellcode

    1. lblZeit.Caption = Replace(Variable_die_die_Zeit_enthält,",",".")
    wenn du wieder die gleiche Variable nimmst ist das kein Wunder, weil nicht die Variable geändert wird sondern nud geändert ausgegeben wird mit dem Code von oben.

    Visual Basic-Quellcode

    1. lblZeit.Caption = Replace(Variable_die_die_Zeit_enthält,",",".")


    dann kannst du das so machen

    Visual Basic-Quellcode

    1. Variable_die_die_Zeit_enthält = Replace(Variable_die_die_Zeit_enthält,",",".")
    2. lblZeit.Caption = Variable_die_die_Zeit_enthält
    3. txtZeit.Text = Variable_die_die_Zeit_enthält
    kann mann den die variable änder weil die zeit geht auch noch durch eine rechnung die mit einem komma immer falsche werte ausgibt
    Private Sub Command1_Click()
    tmrAnzeige1.Enabled = False
    Text1 = lblZeit1
    Text1.Text = lblZeit1 - Text1.Text
    lstZwischenzeit.AddItem "Runde" & lstZwischenzeit.ListCount + 1 & " --> " & lblZeit1.Caption
    lstZwischenzeit.ListIndex = lstZwischenzeit.ListCount - 1 'Hält immer den neusten Wert im List-Feld
    Z = CDbl(Val(Text1.Text))
    S = CDbl(Val(Text2.Text))
    D = S / Z
    D = D / 1000 * 3600
    Text3.Text = CStr(D)
    List1.AddItem "Runde" & List1.ListCount + 1 & " --> " & Text3.Text
    List1.ListIndex = List1.ListCount - 1 'Hält immer den neusten Wert im List-Feld
    End Sub
    Kannst du mir mal erklären, warum du eine neues Thema aufmachst, und nicht einfach in das von gestern reinschreibst und warum du nen Doppelpost mit 3 Minuten Zeitunterschied machst? Für VB-Codes gibts den VB-Tag. Der macht es auch deutlich einfacher Programme oder Code-Schnippsel zu lesen als ein Zitat.
    Bitte halte dich an unsere Board-Regeln!
    ok tut mir leid
    hier das programm finde leider die fehler nicht die stoppuhr in sekunden läuft zulangsam und die rechnung tut es nicht mehr richtig

    Visual Basic-Quellcode

    1. Dim Z As Double, S As Double, D As Double Private text_senden As String Private text_empfangen As String Option Explicit Dim Stunden As Byte Dim Minuten As Byte Dim Sekunden As Integer Dim bytZehntel As Byte Dim bytHundertstel As Byte Dim Stunden1 As Byte Dim Minuten1 As Byte Dim Sekunden1 As Integer Dim bytZehntel1 As Byte Dim bytHundertstel1 As Byte Dim intBeenden As Integer Dim intZwischenzeitLöschen As Integer Dim Variable As Byte Dim Zeit As Long Dim Ticks As Long Dim Zeit2 As Long 'Dim Ticks1 As Long Private Declare Function GetTickCount Lib "kernel32" () As Long

    Visual Basic-Quellcode

    1. Private Sub Command1_Click() optMinuten.Enabled = False optSekunden.Enabled = False Ticks = GetTickCount tmrAnzeige1.Enabled = True tmrAnzeige2.Enabled = True End Sub

    Visual Basic-Quellcode

    1. Private Sub Command2_Click() With MSComm1 .CommPort = 1 'benutzter COM-Port .Settings = "9600,n,8,1" 'stellt Geschindigkeit, Parität, Datenbits und Stopbits ein .PortOpen = True 'öffnet die Verbindung End With ''port_öffnen_btn.Enabled = False 'deaktiviert den port_öffnen_btn Label4.Visible = False 'Label4 wird ausgeblendet Label5.Visible = True 'Label5 wird eingeblendet End Sub

    Visual Basic-Quellcode

    1. Private Sub Command3_Click() tmrAnzeige1.Enabled = False lstZwischenzeit.AddItem "Runde" & lstZwischenzeit.ListCount + 1 & " --> " & lblZeit1.Caption - Text1.Text lstZwischenzeit.ListIndex = lstZwischenzeit.ListCount - 1 'Hält immer den neusten Wert im List-Feld Z = CDbl(Val(lblZeit1.Caption - Text1.Text)) S = CDbl(Val(Text2.Text)) D = S / Z D = D / 1000 * 3600 Text1 = lblZeit1 Text3.Text = CStr(D) List1.AddItem "Runde" & List1.ListCount + 1 & " --> " & Text3.Text List1.ListIndex = List1.ListCount - 1 'Hält immer den neusten Wert im List-Feld optMinuten.Enabled = False optSekunden.Enabled = False Ticks = GetTickCount tmrAnzeige1.Enabled = True 'tmrAnzeige2.Enabled = True End Sub

    Visual Basic-Quellcode

    1. Private Sub Command4_Click() tmrAnzeige2.Enabled = False lstZwischenzeit1.AddItem "Runde" & lstZwischenzeit1.ListCount + 1 & " --> " & lblZeit2.Caption - Text4.Text lstZwischenzeit1.ListIndex = lstZwischenzeit1.ListCount - 1 'Hält immer den neusten Wert im List-Feld Z = CDbl(Val(lblZeit2.Caption - Text4.Text)) S = CDbl(Val(Text2.Text)) D = S / Z D = D / 1000 * 3600 Text4 = lblZeit2 Text6.Text = CStr(D) List2.AddItem "Runde" & List2.ListCount + 1 & " --> " & Text6.Text List2.ListIndex = List2.ListCount - 1 'Hält immer den neusten Wert im List-Feld optMinuten.Enabled = False optSekunden.Enabled = False Ticks = GetTickCount tmrAnzeige2.Enabled = True End Sub

    Visual Basic-Quellcode

    1. Private Sub Command5_Click() tmrAnzeige1.Enabled = False lstZwischenzeit.AddItem "Runde" & lstZwischenzeit.ListCount + 1 & " --> " & lblZeit1.Caption - Text1.Text lstZwischenzeit.ListIndex = lstZwischenzeit.ListCount - 1 'Hält immer den neusten Wert im List-Feld Z = CDbl(Val(lblZeit1.Caption - Text1.Text)) S = CDbl(Val(Text2.Text)) D = S / Z D = D / 1000 * 3600 Text1 = lblZeit1 Text3.Text = CStr(D) List1.AddItem "Runde" & List1.ListCount + 1 & " --> " & Text3.Text List1.ListIndex = List1.ListCount - 1 'Hält immer den neusten Wert im List-Feld End Sub

    Visual Basic-Quellcode

    1. Private Sub Command6_Click() tmrAnzeige2.Enabled = False lstZwischenzeit1.AddItem "Runde" & lstZwischenzeit1.ListCount + 1 & " --> " & lblZeit2.Caption - Text4.Text lstZwischenzeit1.ListIndex = lstZwischenzeit1.ListCount - 1 'Hält immer den neusten Wert im List-Feld Z = CDbl(Val(lblZeit2.Caption - Text4.Text)) S = CDbl(Val(Text2.Text)) D = S / Z D = D / 1000 * 3600 Text4 = lblZeit2 Text6.Text = CStr(D) List2.AddItem "Runde" & List2.ListCount + 1 & " --> " & Text6.Text List2.ListIndex = List2.ListCount - 1 'Hält immer den neusten Wert im List-Feld End Sub

    Visual Basic-Quellcode

    1. Private Sub cmdBestätigung_Click() If optMinuten.Value Then lblZeit1.Caption = Stunden & ":" & Minuten & ":" & Sekunden & " " & bytZehntel Else lblZeit1.Caption = Sekunden & "," & bytZehntel & "," & Sekunden1 & "," & bytZehntel1 End If End Sub

    Visual Basic-Quellcode

    1. Private Sub cmdReset_Click() tmrAnzeige1.Enabled = False tmrAnzeige2.Enabled = False optMinuten.Enabled = True 'Alle Variablen werden auf 0 gestellt optSekunden.Enabled = True Stunden = 0 Minuten = 0 Sekunden = 0 lblZeit1.Caption = 0 'Anzeige wird auf 0 gestellt lblZeit2.Caption = 0 'Anzeige wird auf 0 gestellt End Sub

    Visual Basic-Quellcode

    1. Private Sub Command7_Click() lstZwischenzeit.Clear lstZwischenzeit1.Clear End Sub

    Visual Basic-Quellcode

    1. Private Sub Command8_Click() List1.Clear List2.Clear End Sub

    Visual Basic-Quellcode

    1. Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEvReceive: text_empfangen = MSComm1.Input 'der Empfangspuffer wird in der Variablen text_empfangen gespeichert Text1.Text = Text1.Text & text_empfangen'der gespeicherte Text wird im Textfenster (text1) ausgegeben End Select End Sub

    Visual Basic-Quellcode

    1. Private Sub tmrAnzeige1_Timer() Zeit = Zeit + GetTickCount - Ticks Ticks = GetTickCount If optSekunden.Value Then lblZeit1.Caption = Format(Zeit / 1000, "0.00") Else If Zeit >= 1000 Then Sekunden = Sekunden + Zeit \ 1000 Zeit = Zeit - (Zeit \ 1000) * 1000 If Sekunden >= 60 Then Minuten = Minuten + Sekunden \ 60 Sekunden = Sekunden - (Sekunden \ 60) * 60 If Minuten >= 60 Then Stunden = Stunden + Minuten \ 60 Minuten = Minuten - (Minuten \ 60) * 60 End If End If End If lblZeit1.Caption = Stunden & ":" & Format(Minuten, "00") & ":" & Format(Sekunden, "00") End If End Sub

    Visual Basic-Quellcode

    1. Private Sub tmrAnzeige2_Timer()
    2. Zeit2 = Zeit2 + GetTickCount - Ticks
    3. Ticks = GetTickCount
    4. If optSekunden.Value Then
    5. lblZeit2.Caption = Format(Zeit2 / 1000, "0.00")
    6. Else
    7. If Zeit2 >= 1000 Then
    8. Sekunden1 = Sekunden1 + Zeit2 \ 1000
    9. Zeit2 = Zeit2 - (Zeit2 \ 1000) * 1000
    10. If Sekunden1 >= 60 Then
    11. Minuten1 = Minuten1 + Sekunden1 \ 60
    12. Sekunden1 = Sekunden1 - (Sekunden1 \ 60) * 60
    13. If Minuten1 >= 60 Then
    14. Stunden1 = Stunden1 + Minuten1 \ 60
    15. Minuten1 = Minuten1 - (Minuten1 \ 60) * 60
    16. End If
    17. End If
    18. End If
    19. lblZeit2.Caption = Stunden1 & ":" & Format(Minuten1, "00") & ":" & Format(Sekunden1, "00")
    20. End If
    21. End Sub