/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Egne Events !
Fra : Thomas P


Dato : 10-04-01 22:00

I forbindelse med et mindre projekt, der skal bruge windows' ur, har jeg
brug for at få programmet til at udføre en funktion kl. xx.xx . Programmet
er tiltænkt at skulle køre rimelig permanent, så Timer er nok en _meget_
dårlig idé. Derfor har jeg tænkt på, om man måske kunne bede windows om at
fortælle mit program hvornår klokken er xx.xx uden at mit program belaster
systemet unødigt - alt dette kunne måske gøres med EVENT-tingen !? Nærmere
forklaringer om min uvidne tankegang tilønskes ;)

- Thomas



 
 
Niels (10-04-2001)
Kommentar
Fra : Niels


Dato : 10-04-01 22:12

Just as I expected, Thomas P came up with this:

>I forbindelse med et mindre projekt, der skal bruge windows' ur, har jeg
>brug for at få programmet til at udføre en funktion kl. xx.xx .

Med mindre du virkelig har *lyst* til at lave det selv, så kan du jo
bruge Windows' task scheduler (Opgavestyring eller Planlagte Opgaver)
til at sætte den til at køre automatisk.

>Programmet
>er tiltænkt at skulle køre rimelig permanent, så Timer er nok en _meget_
>dårlig idé. Derfor har jeg tænkt på, om man måske kunne bede windows om at
>fortælle mit program hvornår klokken er xx.xx uden at mit program belaster
>systemet unødigt - alt dette kunne måske gøres med EVENT-tingen !? Nærmere
>forklaringer om min uvidne tankegang tilønskes ;)

Svjv. er en timer den bedste løsning (500 ms ville jeg sætte den til),
eller du kunne måske sætte noget på Application.OnIdle de checker
tidspunktet.
Du kunn evt. også lave en slags "dynamisk" timer der sætter sit interval
efter hvor lang tid der er til opgaven skal udføres, så koden kører så
lidt som muligt. Jeg ved ikke hvor nemt det er.

Niels
--
e-mail: nmartin at iname dot com
ICQ UIN: 50187323
http://www.niller.f2s.com/ - niLLer's pages

Finn Bindeballe (11-04-2001)
Kommentar
Fra : Finn Bindeballe


Dato : 11-04-01 06:07

hej der......

hvorfor sqlle TTimer være dårlig????? ved godt at den ikke er præcis, men du
kan jo bare checkke NOW, og saa gøre det tit nok til at din fineste opløsning
i tid er rigeligt overholdt.......

Finn Bindeballe
FinnB@post6.tele.dk

Thomas P wrote:

> I forbindelse med et mindre projekt, der skal bruge windows' ur, har jeg
> brug for at få programmet til at udføre en funktion kl. xx.xx . Programmet
> er tiltænkt at skulle køre rimelig permanent, så Timer er nok en _meget_
> dårlig idé. Derfor har jeg tænkt på, om man måske kunne bede windows om at
> fortælle mit program hvornår klokken er xx.xx uden at mit program belaster
> systemet unødigt - alt dette kunne måske gøres med EVENT-tingen !? Nærmere
> forklaringer om min uvidne tankegang tilønskes ;)
>
> - Thomas


Thomas Due (11-04-2001)
Kommentar
Fra : Thomas Due


Dato : 11-04-01 11:54

Hej,

Jeg sidder faktisk lige nu med en opgave hvor mit program skal gøre noget
en gang i døgnet. Det gør jjeg ved at have en TTimer til at køre med en
opløsning
på 60.000 ms. Det gør at timeren en gang i minuttet (ca.) checker
klokkeslettet.
Hvis klokkeslettet er lig det fastsatte tidspunkt (på minuttet) så er det
tid til
at udfører handlingen. Fordi jeg kun checker på minuttet og opløsningen på
TTimer er i minutter, så risikere jeg ikke at kørslen foretages mere end en
gang
i døgnet. Hvis maskinen har meget travlt kan jeg til gengæld godt risikere
at
programmet springer et døgn over. Hvis TTimer fyrer efter 60050 ms f.eks. og
den sådan lige præcis rammer forbi det ønskede tidspunkt.

Den eneste anden måde jeg kunne forestille mig man kunne gøre det på er ved
hjælp af en tråd som udelukkende står og holder øje med tiden, og når den er
inde, så hejser denne tråd et flag. Men det er jo principielt måden som
TTimer fungerer på, mere eller mindre.

Mvh
Thomas


"Finn Bindeballe" <FinnB@post6.tele.dk> wrote in message
news:3AD3E68B.6F6BBAF9@post6.tele.dk...
> hej der......
>
> hvorfor sqlle TTimer være dårlig????? ved godt at den ikke er præcis, men
du
> kan jo bare checkke NOW, og saa gøre det tit nok til at din fineste
opløsning
> i tid er rigeligt overholdt.......
>
> Finn Bindeballe
> FinnB@post6.tele.dk
>
> Thomas P wrote:
>
> > I forbindelse med et mindre projekt, der skal bruge windows' ur, har jeg
> > brug for at få programmet til at udføre en funktion kl. xx.xx .
Programmet
> > er tiltænkt at skulle køre rimelig permanent, så Timer er nok en _meget_
> > dårlig idé. Derfor har jeg tænkt på, om man måske kunne bede windows om
at
> > fortælle mit program hvornår klokken er xx.xx uden at mit program
belaster
> > systemet unødigt - alt dette kunne måske gøres med EVENT-tingen !?
Nærmere
> > forklaringer om min uvidne tankegang tilønskes ;)
> >
> > - Thomas
>



Lars Bargmann (12-04-2001)
Kommentar
Fra : Lars Bargmann


Dato : 12-04-01 09:52

Lav et par "check-variable".....
En til at holde øje med hvornår du sidst kørte proceduren, og så bare hold
øje med om det er mere end (60 * 24) minutter siden...

Var
LastRun : TDateTime;

procedure TheTimerThingTimer(Sender : TObject);
begin
if Now > (LastRun + 1) then
DoTheStuff;
end;

procedure DoTheStuff;
begin
file://Gør en hel masse

LastRun := Now;
end;

Hmmm, ved nærmere eftertanke behøver du ikke engang initialisere LastRun,
eftersom DoTheStuff vil blive kaldt når programmet starter, og så ruller det
derfra...

Timeren kan faktisk stilles til en ret høj opløsning.....

Ovenstående er totalt utestet, og skrevet ud af den blå luft, men håber det
hjælper....

Bargmann....


"Thomas Due" <noname@nowhere.net> wrote in message
news:9b1d5t$hra$1@news.inet.tele.dk...
> Hej,
>
> Jeg sidder faktisk lige nu med en opgave hvor mit program skal gøre noget
> en gang i døgnet. Det gør jjeg ved at have en TTimer til at køre med en
> opløsning
> på 60.000 ms. Det gør at timeren en gang i minuttet (ca.) checker
> klokkeslettet.
> Hvis klokkeslettet er lig det fastsatte tidspunkt (på minuttet) så er det
> tid til
> at udfører handlingen. Fordi jeg kun checker på minuttet og opløsningen på
> TTimer er i minutter, så risikere jeg ikke at kørslen foretages mere end
en
> gang
> i døgnet. Hvis maskinen har meget travlt kan jeg til gengæld godt risikere
> at
> programmet springer et døgn over. Hvis TTimer fyrer efter 60050 ms f.eks.
og
> den sådan lige præcis rammer forbi det ønskede tidspunkt.
>
> Den eneste anden måde jeg kunne forestille mig man kunne gøre det på er
ved
> hjælp af en tråd som udelukkende står og holder øje med tiden, og når den
er
> inde, så hejser denne tråd et flag. Men det er jo principielt måden som
> TTimer fungerer på, mere eller mindre.
>
> Mvh
> Thomas
>
>
> "Finn Bindeballe" <FinnB@post6.tele.dk> wrote in message
> news:3AD3E68B.6F6BBAF9@post6.tele.dk...
> > hej der......
> >
> > hvorfor sqlle TTimer være dårlig????? ved godt at den ikke er præcis,
men
> du
> > kan jo bare checkke NOW, og saa gøre det tit nok til at din fineste
> opløsning
> > i tid er rigeligt overholdt.......
> >
> > Finn Bindeballe
> > FinnB@post6.tele.dk
> >
> > Thomas P wrote:
> >
> > > I forbindelse med et mindre projekt, der skal bruge windows' ur, har
jeg
> > > brug for at få programmet til at udføre en funktion kl. xx.xx .
> Programmet
> > > er tiltænkt at skulle køre rimelig permanent, så Timer er nok en
_meget_
> > > dårlig idé. Derfor har jeg tænkt på, om man måske kunne bede windows
om
> at
> > > fortælle mit program hvornår klokken er xx.xx uden at mit program
> belaster
> > > systemet unødigt - alt dette kunne måske gøres med EVENT-tingen !?
> Nærmere
> > > forklaringer om min uvidne tankegang tilønskes ;)
> > >
> > > - Thomas
> >
>
>



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste