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

502

    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. Vain vasemmistolaiset rakennemuutokset pelastavat Suomen

      Kansaa on ankeutettu viimeiset 30+ vuotta porvarillisella minäminä-talouspolitiikalla, jossa tavalliselta kansalta on ot
      Maailman menoa
      27
      3425
    2. Persut huutaa taas: "kato! muslimi!"

      Persut on lyhyessä ajassa ajaneet läpi kaksi työntekijöiden oikeuksien heikennystä, joita se on aiemmin vastustanut. Pe
      Maailman menoa
      13
      2828
    3. Menen nyt koisimaan

      Ja en ehkä palaa tänne. Asia on nyt loppuunkäsitelty ja totuus tuli ilmi
      Ikävä
      28
      2504
    4. Olisiko sinulla

      Jonossa vaihtoehtoja, ehkä
      Ikävä
      42
      1927
    5. Pieni galluppi

      Mitäs lahjaa odotat joulupukilta.
      Ikävä
      53
      1779
    6. Haluaisin rakastaa sinua

      Ja olla sinulle se oikea... Rakastan sinua 💗💗💗
      Ikävä
      15
      1760
    7. onko kaivattusi

      vaarallinen? :D
      Ikävä
      45
      1626
    8. KL: Mari Hynynen avoimena - Jouni-rakkaan ja Joel-pojan välit ovat nämä!

      Mari Hynynen (ent. Perankoski) on naimisissa Jouni Hynysen kanssa. Marilla on edellisestä liitosta yksi lapsi, Joel Vola
      Suomalaiset julkkikset
      10
      1468
    9. Oletko uhriutuja?

      vaikka itse olet rääkännyt toista ja aiheuttanut ties mitä toiselle.
      Tunteet
      54
      1444
    10. Missikohu edustaa nykyajan monimuotoisuutta

      Puolesta vai vastaan, saako esittää pilkkaavasti jonkun toisen ihmisen syntyperäisiä ominaisuuksia? Kadulla vastaan tule
      Sinkut
      264
      1164
    Aihe