Niin... Olen tekemässä ohjelmaa aktiivisille tietokoneen käyttäjille. Ilmeni kuitenkin pieni pulma. En hallitse timereitä joten pakko käyttää FOR-NEXT lauseita. Kun ajan ohjelman se näyttää seuraavaa:
"Olen esim.Syömässä ja palaan 1 tunnin -45 minuutin ja 32 sekunnin päästä."
Unohdin alunperin vähennyslaskut, mutta niidenkään kanssa ei pelaa saisinko apua?
Millanen vähennyshommeli on hukassa. Siis esim. viis miinus kaks lasketaan tolleen:
Print 5 - 2
Antaa, yllätys yllätys, tulokseksi 3 :)
Nii että pitäis pistää koodia, niinkö? No tässäpä sitä...
1 : DO UNTIL INKEY$ = CHR$(27) CLS FOR i = 1 TO 24 - r FOR o = 1 TO 60 - e FOR p = 1 TO 60 FOR a = 1 TO 90000 IF s = 0 THEN s = 60 AND e = e - 1 IF e = 0 THEN e = 60 AND r = r - 1 IF r = 0 AND e = 0 AND s = 0 THEN PRINT "Aika on täysi. Jos minua ei näy, huuda.": END LOCATE 12, 1 PRINT "Olen "; q$; " ja palaan "; y - r; " tunnin "; t - e; " Minuutin ja "; s; " sekunnin päästä." LOCATE 15, 5 PRINT u$ NEXT s = s - 1 NEXT e = e - 1 NEXT r = r - 1 NEXT LOOP
Hmm... eikö olisi järkevää pitää aika vain yhdessä muuttujassa sekunteina? Eli minuutti olisi 60 sekuntia ja tunti 3600 sekuntia jne. Ja sitten jos kuitekin haluat näyttää ajan erikseen tunteina, minuutteina ja sekunteina, niin sehän onnistuisi kätevästi MOD-operaattorilla vai kuinka?
Okei, koodi lienee paikallaan. :)
CLS s = 4868 'sekuntien kokonaism??r? PRINT "Tunteja:", INT(s / 3600) PRINT "Minuutteja:", INT((s MOD 3600) / 60) PRINT "Sekunteja:", INT((s MOD 3600) MOD 60)
Edit: Tämänkin tekaisin tuossa äsken viidessä minuutissa (enkä ollut koskaan tehnyt tällaista aiemmin) joten bugeja voi ilmetä, mutta kyllä tämän "pitäisi" toimia. :)
Tuo Edit oli tarkoitus pistää muokkaukseen, mutta pukkasi MySQL-erroria ja valitti ettei muka muokkausoikeutta. Kumma juttu...
tästähän ei saa edes selvää teetkö ohjelmaa Visual Basicille vai QBasicille!
suhteutat 60:ntä 100:n
ja jaat muut laskut sitten niiden mukaisesti.
Edit tai mikälie: ei toimi koska tuolla tapaa sekunttien tiheys johtuu koneen nopeudesta.
oho tyhmyydestä sakotetaan kun en katsonut muuta kuin tuota ekaa kysymystä. kummallekkohan nyt tosiaan lienee...:D
Onnistuiko tuo juttu siis jo, vai tarvitsetko vielä apua? Et muuten tarvitse noita rivinumeroita.
eikös tää oo vb:lle koska latska sano ettei hallitse timereitä vai onko qbasicillakin timereitä?
Meinaa vissiin QB:n TIMER-funktiota, joka palauttaa keskiyöstä kuluneiden sekuntien määrän.
hunajavohveli kirjoitti:
Onnistuiko tuo juttu siis jo, vai tarvitsetko vielä apua? Et muuten tarvitse noita rivinumeroita.
Toimii joo. Piti pistää koodi uusiks. Siitä nuo rivinumerot.
hunajavohveli kirjoitti:
Meinaa vissiin QB:n TIMER-funktiota, joka palauttaa keskiyöstä kuluneiden sekuntien määrän.
Bingo!
Aihe on jo aika vanha, joten et voi enää vastata siihen.