Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: ajastimesta

sami_jokimies [10.05.2004 15:12:36]

#

Miten on mahdollista toteuttaa sellainen ohjelma (josta olen jo kertonut aiempana hieman), jonka käynnistyttyä se alkaa ajastimen tapaan tiputtaa aikaa vaikka 2 tunnista. Kun aika on nollissa ohjelma sammuttaa koneen...
Jos ohjelma on käynnissä ja siinä on aikaa vielä vaikka puoli tuntia jäljellä ja jos silloin ohjelma sammuu (vaikka sähkökatkoksen takia), niin seuraavan kerran kun ohjelma käynnistetään niin se alkaa ajastaa siitä ajasta mihin se jäi...

Olen toteuttanut ohjelmaa jo sen verran, että se osaa ajastaa ja sammuttaa koneen...

Kertoisitteko jonkin esimerkin ja koodin siihen...

Minulla on VB 4 pro ja WIN 98 SE

hunajavohveli [10.05.2004 15:17:12]

#

Siis käsitinkö oikein, että osaat tehdä kaiken muun, paitsi sen, että se jatkaisi samasta ajasta, jos tulee sähkökatkos? Tämän voi toteuttaa niin, että ohjelma koko ajan tallentaa aikaa tiedostoon, ja jos sähkökatkos tulee, niin edellisen ajan voi sitten ladata tiedostosta.

'tallennus
Open "aika.txt" For Output As #1
Print #1, aika
Close #1

'lataus
Open "aika.txt" For Input As #1
Input #1, aika
Close #1

setä [10.05.2004 15:24:46]

#

Käytä kahta muuttujaa, esim Talku = aika, josta 2 tunnin viive alkaa ja Tj on jäljellä oleva aika. Ohjelman aikana tallennat tietyin välein tiedostoon ajan Tj = Talku - Time. Kun käynnistät masinan virtakatkon tai muun katkon jälkeen, luet Tj:n tiedostosta ja asetat Talku = Time - Tj.

Meitzi [14.05.2004 19:40:22]

#

Ja jos haluaa että sähkökatkos (jos se kestää vaikka 10 minuuttia) vaikuttaa ajanlaskentaan mahdollisimman vähän niin tiedostoon pitää tallentaa TallennusAika sekä JäljelläOlevaAika. Kun tiedosto sitten käynnistyksen jälkeen luetaan uudelleen niin JäljelläOlevaAika muuttujasta pitää vähentää NykyinenAika - TallennusAika.

pipopää [24.05.2004 17:50:46]

#

Mutta voisko joku pistää sen ekan osan koodista tulemaan

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta