Archief - [ALG][VB.NET] Programma gesloten, maar er moet nog iets gebeuren!

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Legendary d.C.

Legacy Member
Goedemiddag,

ik heb een simpel programmaatje geschreven dat een melding geeft als het nachttarrief is ingezet. Het is allemaal geen probleem zolang het programma maar open blijft. En daar zit het probleem ik denk dat niemand hier heel de tijd een programma laat openstaan zodat het om middernacht en eventueel om 6 een melding geeft dat het het nachttarief is ingezet/afgesloten.

Hoe kan ik het nu maken dat als je het programma afsluit nogaltijd die melding krijgt?


Hier is de code, op het formulier staan gewoon een paar labels die aftellen en een progresbar die hetzelfde doet.

en een timer natuurlijk

Code:
Private blnBoolean As Boolean

  

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        timer3.Start()

    End Sub

   

   
    Private Sub timer3_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles timer3.Tick

        If Hour(Now) = 0 And Minute(Now) = 0 And blnBoolean = False Then
            timer3.Stop()

            MessageBox.Show("Het is middernacht, u kan nu beginnen met downloaden tegen de helf van het verkeer!", "Bericht", MessageBoxButtons.OK, MessageBoxIcon.Information)
            blnBoolean = True


        ElseIf Hour(Now) = 6 And Minute(Now) = 0 And blnBoolean = False Then
            timer3.Stop()
            MessageBox.Show("Het is 6 uur, het downloaden tegen de helft van het verkeer is afgelopen.", "Bericht", MessageBoxButtons.OK, MessageBoxIcon.Information)
            blnBoolean = True


        End If


        If (Hour(Now) = 0 And Minute(Now) = 1) Or (Hour(Now) = 6 And Minute(Now) = 1) Then
            blnBoolean = False
            timer3.Start()
        End If



        If Hour(Now) >= 0 And Hour(Now) < 6 Then

            lblUur.Text = 6 - Hour(Now) - 1.ToString
            lblMinuten.Text = 60 - Minute(Now).ToString
            lblStartStop.Text = "stopt"

            probar.Value = 100 - (Hour(Now) * 60 + Minute(Now) / 360) * 100

        ElseIf Hour(Now) >= 6 Then
            lblUur.Text = 18 - Hour(Now) + 6 - 1.ToString
            lblMinuten.Text = 60 - Minute(Now).ToString
            lblStartStop.Text = "start"


            probar.Value = 100 - ((18 - Hour(Now) + 6) * 60 + Minute(Today) / 1080) / 10
        End If


    End Sub


Alvast bedankt

Legendary d.C.

Legacy Member
ik heb een service bij gemaakt, en heb deze code er aan toegevoegd.

Code:
Protected Overrides Sub OnStart(ByVal args() As String)
        ' Add code here to start your service. This method should set things
        ' in motion so your service can do its work.
        Timer1.Start()

    End Sub

    Protected Overrides Sub OnStop()
        ' Add code here to perform any tear-down necessary to stop your service.

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

  

        Dim blnBoolean As Boolean


        If Hour(Now) = 16 And Minute(Now) = 8 And blnBoolean = False Then
            Timer1.Stop()

            MessageBox.Show("Het is middernacht, u kan nu beginnen met downloaden tegen de helf van het verkeer!", "Bericht", MessageBoxButtons.OK, MessageBoxIcon.Information)
            blnBoolean = True


        ElseIf Hour(Now) = 6 And Minute(Now) = 0 And blnBoolean = False Then
            Timer1.Stop()
            MessageBox.Show("Het is 6 uur, het downloaden tegen de helft van het verkeer is afgelopen.", "Bericht", MessageBoxButtons.OK, MessageBoxIcon.Information)
            blnBoolean = True


            If (Hour(Now) = 0 And Minute(Now) = 1) Or (Hour(Now) = 6 And Minute(Now) = 1) Then
                blnBoolean = False
                Timer1.Start()
            End If
        End If
    End Sub
End Class


nu heb ik wel twee 'items', een service voor de meldingen (die niet werken) en een windows form voor de progressbar en de labels om af te tellen.

Maar de service voor de meldingen wil niet werken, ik heb wel nog nooit met services gewerkt hoor.

killgore

Legacy Member
in principe kunde "elk" programma als service opstarten hoor :), ge moet niet echt 2 zaken maken (zorg gewoon dat niet heel het programma maar enkel het gui deel wordt afgesloten als user "quit" doet). Ma ik kan u op code vlak nie echt verder helpen omdak nie zo goe meer me vb(.net) vertrouwd ben.

Legendary d.C.

Legacy Member
thx killgore, nu weet ik toch waar ik ongeveer moet zoeken.

Eerst proberen dat ik die meldingen al krijg als ik zover ben zulle we verder kijken:)

nog een klein vraagje, ik het programma maar hoe moet ik nu dat builden in visual studio . net zodat je het kan installeren en er gebruik van kan maken zonder dat je over het .net framework moet beschikken? Want nu build ik het en krijg ik een .exe bestandje maar het werkt niet als je geen .net framework hebt.

En om gebruik te maken van een service moet je het programma toch eerst het installeren? (heb ik daarstraks ergens in een tutorial gelezen) correct me if i'm wrong:$

//edit daar begint de zever al, ik moet eerste de window service installeren, als ik nu eens wist wat dat nu in godsnaam is

azerty

Legacy Member
Ik begrijp niet goed, tenzij vr de fun, waarom je daarvoor een pgm maakt. Waarom doe je dat niet gewoon direct in je sheduler in Windows ?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan