VisualBasic 2008 Timer

S

Sevi1604

Hallo,

ich versuche einen Timer in Visual Basic 2008 hinzubekommen, aber das funktioniert nicht so wies soll.

Ich will einen Timer, der von 60 Sekunden (60000 Millisekunden) runterzählt und dann ein anders Programm (mittels Shell("PfadzumProgramm") ) startet. Zusätzlich soll der Timer noch in einem Text (bei mir Label3) die verbleibenede Zeit in Sekunden angeben.

Ich schaff das einfach nicht und die MSDN Librarie is schrott, da finde ich auch nix.

Könnt ihr mir helfen?

Viele Grüße und Danke schonmal.

Sevi

P.S.: Ich bin noch ziemlich neu in der .Net Programmiereung!
 
Ich schaff das einfach nicht und die MSDN Librarie is schrott, da finde ich auch nix.
Nur weil du nichts findest, ist sie noch lang nicht "Schrott". Millionen von Programmierern nutzen sie schließlich jeden Tag also muss ja doch was dran sein ;)
Zu dem gibts noch diverse Suchmaschinen, die man auch nutzen kann ;)

Zum Problem:
Timer + Countdown: http://www.google.de/search?hl=de&c...l+basic+.net+timer+countdown&btnG=Suche&meta=
Process.Start: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx
 
Code:
    Dim timeleft As Byte
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Interval = 1000
        timeleft = 60
        Timer1.Start()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        timeleft = timeleft - 1
        Label1.Text = timeleft & " sekunden Verbleibend!"
        If timeleft = 0 Then
            Label1.Text = "Die Zeit ist um!"
            Dim proc As New ProcessStartInfo("notepad.exe")
            Process.Start(proc)
            Timer1.Stop()
        End If
    End Sub

PS: Ich komm mit der MSDN auch nicht richtig klar. Aber es steht kein Schrott drin!
 
Zuletzt bearbeitet:
Danke für den Tipp. Nur als was soll ich timeleft deklarieren?

Übrigens: Der Timer soll direkt nach laden des Programms starten.
 
Zuletzt bearbeitet von einem Moderator:
Code:
   ' timeleft deklaration
    Dim timeleft As Byte

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        timeleft = 60 ' die 60 steht für 60 sekunden
        Timer1.Interval = 1000 ' setzt den timer.interval auf 1000 millisekunden, entspricht einer sekunde
        
        Dim myProcess As Process = New Process()
        myProcess.StartInfo.FileName = "notepad.exe"
        myProcess.Start() ' Programm wird gestartet
        myProcess.WaitForInputIdle() ' Wartet bis das programm bereit ist
        Timer1.Start() ' startet timer 1
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        timeleft = timeleft - 1 ' zählt jede sekunde -1
        Label1.Text = timeleft
        If timeleft = 0 Then ' wenn timeleft 0 ändert sich der Text des labels und timer1 wird gestoppt
            Label1.Text = "Programm leuft nun seit 60 sekunden."
            Timer1.Stop()
        End If
    End Sub

vielleicht den teil
Code:
        If timeleft = 0 Then ' wenn timeleft 0 ändert sich der Text des labels und timer1 wird gestoppt
            Label1.Text = "Programm leuft nun seit 60 sekunden."
            Timer1.Stop()
        End If
noch so umbauen, das abgefragt wird ob das Programm auch noch gestartet ist.
Wenn dir das immer noch nicht hilft, sieh dir die Links von Nico an.
 
Zuletzt bearbeitet:
Zurück