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

487

    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. Kumpi vetoaa enemmän sinuun

      Kaivatun ulkonäkö vai persoonallisuus? Ulkonäössä kasvot vai vartalo? Mikä luonteessa viehättää eniten? Mikä ulkonäössä?
      Ikävä
      92
      1766
    2. Ei se mene ohi ajan kanssa

      Näin se vaan on.
      Ikävä
      85
      1252
    3. Tavoitteeni onkin ärsyttää

      Sua niin turhaudut ja unohdat koko homman
      Ikävä
      110
      1123
    4. Tunnistebiisi

      Laita joku tunnistebiisi, niin tiedän ett oot täällä ja kaipaat ehkä mua
      Ikävä
      71
      954
    5. Taidat tykätä linnuista paljon

      Mikä on sun lemppari ☺️😉🥹🦢🐦‍⬛🦉🦜🦚
      Ikävä
      105
      901
    6. Okei nyt mä ymmärrän

      Olet siis noin rakastunut, se selittää. Onneksesi tunne on molemminpuolinen 😘
      Ikävä
      56
      828
    7. Miks käyttäydyt noin?

      Välttelet kaikkia kohtaamisia...
      Ikävä
      47
      741
    8. Ei sun tarvi jännittää enää

      en yritä enää mitään. Tiedän että olin mauton ja sössin kaiken.
      Ikävä
      36
      732
    9. Olen huolissani

      Että joku päivä ihastut/rakastut siskooni. Ja itseasiassa haluaisin, ettei hän olisi mitenkään sinun tyyppiäsi ja pitäis
      Ikävä
      47
      681
    10. Minkälainen ääni mulla on mies

      Sinun mielestä?
      Ikävä
      33
      663
    Aihe