kostenloser Webspace werbefrei: lima-city


VB-Fehler im eigenen Programm

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    david-tiede

    david-tiede hat kostenlosen Webspace.

    Hallo,

    Ich habe vor kurzen angefangen in Visual Basic zu programmieren!
    Ich verwende by call Tarife um ins Internet zu kommen, die je nach Tageszeit anders sind.
    So habe ich versucht mir einen Alarm zu bastel, der mir sagt, wann ich wechseln muss.

    Public Class Alarm
    Dim d As System.DateTime
    Public Sub New()
    InitializeComponent()
    stopp.Enabled = True
    End Sub
    Private Sub start_Click() Handles start.Click
    d = System.DateTime.Now
    Timer.Start()
    start.Enabled = False
    stopp.Enabled = True
    Label.Text = "Der Tarifalarm ist eingeschalten!"
    End Sub
    Private Sub Timer_Tick() Handles Timer.Tick
    If ((d.Hour = 17) And (d.Minute = 59)) Then
    Timer.Stop()
    stopp_Click()
    MsgBox("Achtung! Wähle sofort den Nachttarif!", , "Tarifwechsel")
    ElseIf ((d.Hour = 7) And (d.Minute = 59)) Then
    Timer.Stop()
    stopp_Click()
    MsgBox("Achtung! Wähle sofort den Tagtarif!", , "Tarifwechsel")
    End If
    End Sub
    Private Sub stopp_Click() Handles stopp.Click
    Timer.Stop()
    Label.Text = "Der Tarifalarm ist ausgeschalten!"
    start.Enabled = True
    stopp.Enabled = False
    End Sub
    End Class

    Leider geht es nur, wenn ich das Programm starte und die Zeit gerade 17:59 oder 7:59 ist.
    Sobald ich das Programm ein paar Minuten früher starte, geht es nicht, obwohl der Interwall des Timers auf 1s gestellt ist.
    Bitte meldet euch wenn ihr den Fehler findet oder wisst. Danke!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    du sagst ihm ja genau das, was er tun soll, und das tut dein Alarm auch ;-)

    Du musst jedenfalls diesen Teil:
    d = System.DateTime.Now

    in den Timer reinbringen, ansonsten wird die Variable d bloß ein mal gesetzt.

    Ich kann das aber jetzt nicht mit Sicherheit sagen, da dein Code zum Einen (auch aufrgund des fehlenden Code-Tags) sehr schlecht lesbar ist, zum anderen bin ich kein VB-Profi ;-)
  4. Autor dieses Themas

    david-tiede

    david-tiede hat kostenlosen Webspace.

    Danke, jetzt funzt es!

    (Kann geschlossen werden!)
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!