Avatar billede majbom Novice
15. august 2006 - 16:26 Der er 8 kommentarer og
1 løsning

timer interval på over 99999ms

hejsa..

sidder her og skal have en timer til at ticke f.eks. hver time (3600000ms), men det kan timeren ikke. jeg har prøvet 10000ms og det virker, men 100000ms virker ikke...

har tænkt på at lægge intervallet (01:00 - en time) til date.now

og dermed få tiden hvorpå næste opgave skal udføres, men det kan jeg ikke lige greje...

nogle der kan hjælpe med en løsning?
Avatar billede nielle Nybegynder
15. august 2006 - 16:30 #1
Sådan?

DateTime omEnTime = DateTime.Now.AddHours(1);
Avatar billede softspot Forsker
15. august 2006 - 16:46 #2
Det lyder lidt spøjst at den ikke reagerer på intervaller over 100.000 ms, da interval-egenskaben er en double. Der må være noget andet galt. Er du sikker på at dit program stadig kører efter en time (eller at det ikke er blevet genstartet i mellemtiden)?

System.Timers.Timer t = new System.Timers.Timer(3600000);

burde oprette dig en timer som ticker efter en time...
Avatar billede nielle Nybegynder
15. august 2006 - 16:47 #3
Det fremgår ikke at dokumentationen at der skulle være nogen øvre grænse for timerene.

Men ellers kan du jo prøve med noget i denne stil:

using System;
using System.Collections.Generic;
using System.Text;
using System.Timers;

namespace e726322
{
    class Program
    {
        private static int sekundTæller = 1 * 60 * 60;
        private static Timer tæller;

        static void Main(string[] args)
        {
            tæller = new System.Timers.Timer(1000);

            tæller.Elapsed += new ElapsedEventHandler(tæller_Elapsed);
            tæller.AutoReset = false;
            tæller.Enabled = true;

            Console.WriteLine("Tryk på en tast for at fotrsætte.");
            Console.ReadLine();
        }

        static void tæller_Elapsed(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine("Tik!");

            sekundTæller--;
            if (sekundTæller > 0) tæller.Enabled = true;
        }
    }
}
Avatar billede majbom Novice
15. august 2006 - 17:00 #4
kuhl med den addHour, går ud fra der osse er en addMinute...?

jeg har prøvet med 100000 og der burde der ske noget efter 1min og 40sek, men det gør der ikke...
Avatar billede softspot Forsker
15. august 2006 - 17:03 #5
har du prøvet at kalde start() på objektet?
Avatar billede nielle Nybegynder
15. august 2006 - 17:08 #6
> kuhl med den addHour, går ud fra der osse er en addMinute...?

Nemlig, og AddDays, AddHours, AddMilliseconds, AddMinutes, AddMonths, AddSeconds, AddTicks og AddYears.
Avatar billede majbom Novice
17. august 2006 - 17:12 #7
arh, jeg synes det er tit jeg skriver en kommentar, og så bliver den ikke tilføjet...

skrev i går at jeg brugte addHour osv metoden, så det blev nielles løsning, takker

smider du et svar?
Avatar billede nielle Nybegynder
17. august 2006 - 23:00 #8
Jeg kan nu ikke forstå at der overhovedet skulle være problemer med det andet. Det er i hevert fald ikke dokumenteret, hvilket jeg ville mene at det burde være hvis man ikke en gang kunne forvente at køre i små 2 minutter.
Avatar billede majbom Novice
18. august 2006 - 06:48 #9
nej det virker underligt, for der skal osse en del flere 0'er før den brokker sig, når man indstiller intervallet i properties-vinduet... :S

men det andet virker, og er egentligt nok osse smartere :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester