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

491

    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. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      43
      3017
    2. Ensi kesänä

      Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta
      Ikävä
      61
      2961
    3. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      42
      2367
    4. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      31
      1863
    5. Okei, myönnetään,

      Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘
      Ikävä
      25
      1719
    6. Anne Kukkohovin karmeat velat ovat Suomessa.

      Lähtikö se siksi pois Suomesta ? Et on noin kar? mean suuret velat naisella olemassa
      Kotimaiset julkkisjuorut
      72
      1684
    7. Onko kaivatullasi

      himmeä kuuppa?
      Ikävä
      48
      1586
    8. Mihin hävisi

      Mihin hävisi asiallinen keskustelu tositapahtumista, vai pitikö jonkin Hannulle kateellisen näyttää typeryytensä
      Iisalmi
      77
      1275
    9. On jo heinäkuun viimeinen päivä.

      En taida nähdä sinua koskaan.
      Rakkaus ja rakastaminen
      38
      1252
    10. Lähtikö korvat

      puhtaaksi vaikusta?
      Tuusniemi
      79
      1080
    Aihe