pcarti Geschrieben 29. November 2008 Teilen Geschrieben 29. November 2008 Hallo Ich wollte folgendes Programm in Visual Studio 2008 schreiben. Beim start soll ein Timer einen Countdown von 20min runterzählen. Ist dieser Countdown abgelaufen, werden alle IP-Adressen in einem bestimmten Bereich auf ihre "ping-Antwort" hin überprüft. Wenn alle Adressen nicht erreichbar sind, soll ein weiterer Countdown starten(5 min), nachdem sich der PC automatisch herunterfährt. Diesen Countdown kann man jedoch mit einem Klick auf den Stop-Button abbrechen, woraufhin wieder der Ping-Countdown(20min) von vorne starten soll. Nun zu meinem Problem. Ich habe gedacht ich mach 2 Subs, einmal pingcountdown und shutdowncountdown, in denen ich die Zeit resette und die timer wieder starte. Bei der Pingüberprüfung soll der pingtimer gestoppt werden, damit er nicht ins negative zählt. Aber das mit den Subs funktioniert nicht, der stoppt die Timer nicht. Lassen die sich nur mit einem Ereignis stoppen??? Folgenden Code hab ich grad zusammen: Imports System.Diagnostics Imports System Public Class Form1 Dim ausgeschaltet As Integer = 0 Dim letzteadresse As Integer = 1 Dim letztestring As String = "" Dim aktadresse As String = "" Dim adressbody As String = "192.168.6." Dim pingsekunde As Long Dim shutdownsekunde As Long Private Sub pingcountdown() pingsekunde = 1200 TextBox1.Text = pingsekunde Timer1.Enabled = True End Sub Private Sub shutdowncountdown() shutdownsekunde = 300 Timer2.Enabled = True End Sub Private Sub ping() TextBox1.Text = " " For i = 1 To letzteadresse letztestring = i.ToString aktadresse = adressbody + letztestring If My.Computer.Network.Ping(aktadresse, 1000) = True Then pingcountdown() Else ausgeschaltet += 1 End If Next i If ausgeschaltet = letzteadresse Then TextBox5.Text = "Automatisches Herunterfahren aktiviert. Zum Beenden auf Stop klicken" Button1.Enabled = True shutdowncountdown() Else End If End Sub Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox5.Text = " " TextBox2.Text = " " Timer2.Enabled = False Button1.Enabled = False pingcountdown() End Sub Public Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick pingsekunde = pingsekunde - 1 TextBox1.Text = pingsekunde If pingsekunde = 0 Then Timer1.Enabled = False ping() End If End Sub Public Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick shutdownsekunde = shutdownsekunde - 1 TextBox2.Text = shutdownsekunde If shutdownsekunde = 0 Then Process.Start("shutdown.exe", "-s -f -t 0") End If End Sub Shared Sub main() Form1.pingcountdown() End Sub Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox5.TextChanged Timer1.Enabled = False End Sub End Class Das ist alles was ich bisher habe. Kenn mich noch nicht so dolle in Visual Basic aus, aber ich hatte gedacht, ich würds hinkriegen... Bitte um Hilfe, wie ich des Problem lösen kann Danke MfG pcarto Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xk4fu Geschrieben 1. Dezember 2008 Teilen Geschrieben 1. Dezember 2008 mit start und stop gehts bei mir Private bla As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click bla = 50 Timer1.Interval = 100 Timer1.Start() End Sub Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick bla = bla - 1 If bla < 1 Then Timer1.Stop() End If Label1.Text = bla End Sub Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.