Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB, VB6: Minuuteista tunneiksi

Jorgga [24.06.2006 23:10:07]

#

Tutkiskelin tässä aihetta:
https://www.ohjelmointiputka.net/keskustelu/890-entä-jos-tiedostoa-ei-ole

ja huomasin kohdassa:

minuutit% = 220 'peliä on pelattu 220 minuuttia

tunnit% = minuutit% \ 60
minuutit% = minuutit% - tunnit% * 60

PRINT tunnit%; "tuntia,"; minuutit%; "minuuttia"

itseäni hyödyttävän kohdan mutta:

kun minuutit on: 270 tulostetaan: 4 tuntia 30 minuuttia
mutta kun minuutit on: 280 tulostetaan: 5 tuntia -20minuuttia

missä siis vika?

(kielenä Visual Basic)

Antti Laaksonen [24.06.2006 23:17:17]

#

Minulla tuo koodi kyllä toimii, miten käänsit koodin VB:lle?

Jorgga [25.06.2006 01:29:19]

#

aika = 220 'peliä on pelattu 220 minuuttia

tunnit = aika \ 60
aika = aika - tunnit * 60

aika = minuutit

Merri [25.06.2006 02:27:09]

#

VB:stä löytyy myös kätevä Mod-operaattori, joka hoitaa tarpeellisen laskutoimituksen paljon nopeammin:

lngAika = 220

lngTunnit = lngAika \ 60
lngMinuutit = lngAika Mod 60

MsgBox "Olet pelannut " & lngTunnit & " tuntia ja " & lngMinuutit & " minuuttia."

Selitettynä jokseenkin näin:

\ = kuinka monta kertaa jälkimmäinen luku mahtuu edelliseen lukuun
Mod = poistetaan jälkimmäinen luku edellisestä luvusta niin kauan kunnes lopullinen luku on pienempi kuin jälkimmäinen luku

Tavallaan siis toistensa vastakohdat. Toivottavasti tuosta sepustuksesta on apua.


Huom! Jos otetaan sekuntit mukaan, niin:

lngAika = 527893

lngTunnit = lngAika \ 3600
lngMinuutit = (lngAika Mod 3600) \ 60
lngSekuntit = lngAika Mod 60

Muuten minuuteista tulee julmettoman suuria.

Jorgga [25.06.2006 03:38:09]

#

Kiitos avusta

Vastaus

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

Tietoa sivustosta