Niin... Olisiko mitenkään mahdollista saada jonkin sortin aikojen vähennys QB-ohjelmaan. Valmista koodia en tietenkään ruinaa, koska se on "laitonta" ;)
Se tulis erääseen laskuriin jonka aijon koittaa laittaa koodivinkiksi.
Esim. Aloitus: 19:20:12 Lopetus 19:58:01.
No ajanhan saa selville esim. keskiyöstä kuluneiden sekuntien määränä (TIMER-funktio), tai sitten saa tuollaisen 19:20:12 -muotoisen ajan (TIME$-funktio).
TIMER-ajathan on helppo vähentää toisistaan, mutta joudut hieman leikkimään merkkijonofunktioiden kanssa, jos aiot vähentää toisistaan TIME$-aikoja. Tätäkö nimenomaan tarkoitit?
hunajavohveli kirjoitti:
No ajanhan saa selville esim. keskiyöstä kuluneiden sekuntien määränä (TIMER-funktio), tai sitten saa tuollaisen 19:20:12 -muotoisen ajan (TIME$-funktio).
TIMER-ajathan on helppo vähentää toisistaan, mutta joudut hieman leikkimään merkkijonofunktioiden kanssa, jos aiot vähentää toisistaan TIME$-aikoja. Tätäkö nimenomaan tarkoitit?
Juu... Minulla on siinä jo tuollainen TIMER-homma, mutta näyttää varsin ihmeelliseltä tulos:
Aikaa meni 363.8544 sekuntia.
Enkä halua vieläkään valmista koodia. Haluaisin vain tietää, että miten pitkälle pitäisi niiden merkkijonomutujen kanssa mennä.
No minä kyllä suosittelisin, että mittaat edelleen ajan TIMER-funktiolla, ja lasket sillä saaduilla tuloksilla aikojen eron, mutta olennaista tässä lienee nyt siis se, ettet haluaisi näyttää aikaa tuolla lailla sekunteina?
Periaatteessa sinun pitäisi vain osata muuntaa tuo sekuntimäärä muotoon "tunnit-minuutit-sekunnit". Olen kyllä tehnyt tuohon valmista koodia, mutta jos sitä kerran halua...
No ainahan valmiille koodille käyttöä olisi...
[Kyllä käänteinen psykologia on mahtava asia!]
Kirjoitin tosiaan ihan yksinkertaisen pätkän tuosta joskus keskusteluun, mutta vaikka kuinka kokeilin hakua, niin en onnistunut löytämään.
sec = 3780 CLS sek = sec - tun * 3600 - min * 60 tun = INT(sec / 3600) min = INT(sec / 60) - tun * 60 PRINT tun PRINT min PRINT sek
Tuommoisen uuden tein n. minuutissa, kun en kerkiä enää tänään koodata, joten toivottovasti tuo toimii kunnolla.
Enköhän minä jotain tuosta onnistu sorvaamaan. To toimii kuten pitää. Kiitos kovasti. Toivattasti sitä minun koodin tapaista pätkää ei ole valmiina siellä vinkeissä..
Muista ottaa myös huomioon vuorokauden vaihtumiset ettei keskiyöllä ajettu ohjelma tuota kummallisia tuloksia.
Tuossa koodinpätkässä oli muuten yksi asia pahasti pielessä, eli tuo ei minusta pitäisi toimia kunnolla:
sec = 3780 CLS tun = INT(sec / 3600) min = INT(sec / 60) - tun * 60 sek = sec - tun * 3600 - min * 60 PRINT tun PRINT min PRINT sek
Tein tuohon tuommoisen korjauksen. Nyt kaiken pitäisi olla kunnossa. Ja vuorokauden vaihtuminen on tosiaan hyvä ottaa myös huomioon. Sen voit yrittää vaikka itse koodata.
sek = TIMER MOD 60 tun = TIMER / 60 / 60 min = (TIMER / 60) MOD 60 PRINT tun; min; sek
minä ainakin tämänlaisen ajanmittaus systeemin tekisin...
edit: Tappelin kooditagin kanssa (edit: edit: siis tällä ei voi laskea kuinka kauan on mennyt se laskee sen hetkisen ajan, mutta tuota voisi soveltaa jotenkin jos hoksaa minun ajattelutapani...)
Joo, onhan toi modulus totta kai parempi tapa. Nyt kun sen mainitsit, niin itsekin käyttäisin ennemmin sitä. Ei tullut eilen mieleen, kun piti vain äkkiä värkätä jotain. :P
Aihe on jo aika vanha, joten et voi enää vastata siihen.