Vaikea miinus lasku

laskelmoija

Olen tekemässä ohjelmaa joka laskee kahdesta eri kellonajasta erotuksen siis että kauanko kyseiseen aikaan on aikaa.

Esim. jos kello on tällä hetkellä 8:00 ja halutaan laskea kauanko on aikaa että kello on 9:00, niin kyllähän ohjelmani sen osaa laskea ihan normaalilla miinus laskulla, mutta eri juttu onkin sitten jos aika on jo mennyt eli käännetääs tuo juttu toisinpäin:
Jos kello on tällä hetkellä 9:00 ja halutaan laskea kuinka pitkä aika on että kello on 8:00, niin ohjelmani vinksahtaa täysin ja näyttää että kello kahdeksaan aamulla on tasan tunti aikaa vaikka eihän se pidä paikkaansa joten miten tuon saisi toimimaan siten että se osaa laskea oikein jo menneenkin ajan eikä vain tulevaa?

3

465

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • kokeile tota

      TulevaAika
      AikaNyt
      AikojenErotus?

      if(TulevaAika < AikaNyt) AikojenErotus=(TulevaAika 12)-AikaNyt
      else AikojenErotus=TulevaAika-AikaNyt

      • laskelmoija

        En saa tuota koodiasi toimimaan sitten millään.
        En tajua missä vika voisi olla?

        Dim AikojenErotus As Date

        If (txtAika.Text < Time) Then
        AikojenErotus = (txtAika.Text 12) - Time
        Else
        AikojenErotus = txtAika.Text - Time
        End If

        Virheilmoitus on "Run-time error '13': Type mismatch" ja se näyttää sitä ajasta riippuen eli siis jos aika on mennyt niin virhe on silloin tässä "AikojenErotus = (txtAika.Text 12) - Time"
        ...ja jos aika on tuleva niin virhe aiheutuu tässä "AikojenErotus = txtAika.Text - Time".


      • laskelmoija
        laskelmoija kirjoitti:

        En saa tuota koodiasi toimimaan sitten millään.
        En tajua missä vika voisi olla?

        Dim AikojenErotus As Date

        If (txtAika.Text < Time) Then
        AikojenErotus = (txtAika.Text 12) - Time
        Else
        AikojenErotus = txtAika.Text - Time
        End If

        Virheilmoitus on "Run-time error '13': Type mismatch" ja se näyttää sitä ajasta riippuen eli siis jos aika on mennyt niin virhe on silloin tässä "AikojenErotus = (txtAika.Text 12) - Time"
        ...ja jos aika on tuleva niin virhe aiheutuu tässä "AikojenErotus = txtAika.Text - Time".

        Joo ei mitään... ihan toimiva ja hyvä koodi se olikin :)
        Minussa se vika oli eikä koodissa, kiitos paljon avusta!


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kalle Palander kertoi fantasioivansa siitä, kuinka Kiira Korpi naisi häntä sträppärillä ahteriin

      Sai potkut Yleltä. https://yle.fi/a/74-20140000
      Maailman menoa
      460
      6630
    2. Kun katsoin häntä

      Niin ajattelin että hän on niin rakas ❤️
      Ikävä
      26
      2491
    3. Mitä sanoisit kolmella sanalla

      kaivatullesi ja tunteidesi kohteelle? 🙎💝💝
      Ikävä
      217
      2437
    4. Miksi Pekkaa ei hyväksytä maailmalla julkisiin virkoihin?

      On mennyt jo monta hommaa ohitse.
      80 plus
      141
      1724
    5. Haluisin niin

      Selvittää sun kanssa asiat. Kumpa uskaltaisin. Haluatko sinä?
      Ikävä
      114
      1688
    6. Nyt mielipiteitä kehiin?

      Niin ,onko arvon kuhmolaiset teidän mielestänne kaupungin hommissa turhia työpaikkoja/työntekijöitä? Mielipiteitä tu
      Kuhmo
      60
      1103
    7. Minkälainen koti

      kaivatullasi on?
      Ikävä
      74
      1103
    8. IS: Paljastus - Tästä syystä Marika jätti Diilin kesken -Tilittää: "Jäi vähän karvas maku, koska..."

      Diilissä lähti yllättäen yksi kisaaja. Voi harmi, leikki loppui liian varhain… Diilissä Jaajo Linnonmaa etsii vetäjää Ka
      Tv-sarjat
      4
      1085
    9. Martina miehensä kanssa Malediiveilla.

      Miksi täällä puhutaan erosta? Lensivät Dubaista Malediiveilĺe.
      Kotimaiset julkkisjuorut
      136
      1005
    10. Ei lumous lopu koskaan

      Kerran kun tietyt sielut yhdistyvät kunnolla, ei irti pääse koskaan. Vaikka kuinka etsit muista ihmisistä sitä jotain tu
      Ikävä
      62
      887
    Aihe