Announcement

Collapse
No announcement yet.

Anfänger Aufgabe

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anfänger Aufgabe

    Hallo Alle zusammen,

    ich bin grad dabei mir ein bisschen VB.NET beizubringen. Zwei Aufgaben hab ich schon aber bei der Dritten scheiter ich irgendwie kläglich das will nicht so wie ich will.

    Die Aufgabe lautet:

    Alter berechnen: GEburtsdatum direkt in Variable eingeben (dim Geburtsdatum as DATE = #12/24/1980)
    Erstelle eine Schleife, die solange vom aktuellen TAg 1 subtrahiert, bis Geburtsdatum erreicht ist. Funktion Datum.AddDays(-1)
    Aktuelles Datum mit Funktion Now()
    Gib das Ergebnis in einer Textbox aus.

    So hab ich bisher meinen Code gemacht:

    Code:
    Public Class AlterBerechnen
    
        Private Sub AlterBerechnen_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Geburtsdatum in Variable speichern
            Dim geburtsDatum As Date = #12/24/1980#
    
            'aktuelles Datum berechnen
            Dim aktuellesDatum As Date = DateSerial(Now.Year, Now.Month, Now.Day)
    
    
            Do
                txtAusgabe.Text = aktuellesDatum.AddDays(-1)
            Loop Until aktuellesDatum > geburtsDatum
    
    
        End Sub
    End Class
    Könntet Ihr mir vielleicht helfen wie ich da weiter komme, damit der mit die Tage ausgibt, die vergangen sind??

    Ich wäre euch wirklich dankbar.

    Gruß Lenele

  • #2
    Du brauchst doch nur eine Variable setzen, die für jede Subtraktion beginnend mit 0 eins addiert
    Christian

    Comment


    • #3
      Könntest du mir das vielleicht zeigen? Ich steh grad ganz extrem auf dem Schlauch. Blicks grad überhaupt nicht.

      Comment


      • #4
        Hallo Lenele,

        folgender Code sollte funktionieren !

        Code:
                'Geburtsdatum in Variable speichern
                Dim geburtsDatum As Date = #12/24/1980#
        
                'aktuelles Datum berechnen
                Dim aktuellesDatum As Date = DateSerial(Now.Year, Now.Month, Now.Day)
        
                ' Integer Variable für die Tage
                Dim i As Integer = 0
        
                ' Schleife
                Do
                    '  aktuelles Datum um einen Tag verringern
                    aktuellesDatum = aktuellesDatum.AddDays(-1)
        
                    ' Tag + 1 setzen
                    i += 1
                Loop While aktuellesDatum > geburtsDatum
        
                ' Text setzen
                TextBox2.Text = i.ToString
        Hab es nochmals angepasst..


        Dirk

        Comment


        • #5
          Aber natürlich vielen Herzlichen Dank das ist wirklich lieb von dir. Jetzt hab ich es auch verstanden! Hab meinen FEhler schon gefunden.

          Gruß und nochmal tausend dank.

          Comment


          • #6
            Kein Problem

            Comment


            • #7
              Wie wäre es damit einfach die zwei Tage von einander anzuziehen.

              Code:
                      Dim geburtsDatum As Date = #12/24/1980#
                      Dim ZielDatum As Date = Now
                      Dim DifferenceInDays As Long = DateDiff(DateInterval.Day, geburtsDatum, ZielDatum)
              und wenn es immer vom aktuellen Tag ausgerechnet werden soll, sprich die Variable ZielDatum wirklich immer Now, und damit eigentlich überflüssig, ist kannst Du hinten statt ZielDatum auch gleich direkt Now eintragen.

              Code:
                      Dim geburtsDatum As Date = #12/24/1980#
                      Dim DifferenceInDays As Long = DateDiff(DateInterval.Day, geburtsDatum, Now)
              Edit:
              Der Vollständigkeit halber, und weil es meist die nächste Frage im Zusammenhang mit Datums-Funktionen ist.
              Auf das Datum Tage drauf addieren oder vom Datum Tage abziehen:
              Code:
              Dim Morgen As Date = Now.AddDays(1)
              Dim Gestern As Date = Now.AddDays(-1)
              Gruß Womble
              Zuletzt editiert von Womble; 07.08.2008, 12:25.

              Comment


              • #8
                Hallo Womble,

                das wäre die einfachere Variante, allerdings war das nicht ihre Aufgabenstellung !

                Dirk

                Comment


                • #9
                  Ich weiß, nur frage ich mich halt immer warum es solche unnützen Fragestellungen überhaupt gibt. Es gäbe bestimmt bessere Beispiele für eine Schleife in der ein Zähler aufgebaut wird als zwei Tagesdaten von einander anzuziehen. Aber ich kenne das aus meiner Schulzeit, obwohl schon 16 Jahre her wurden die Fragen irgendwie nicht besser

                  Nur falls später mal ein richtiges Programm geschrieben werden soll bei dem der Ablauf nicht fest vorgegeben ist wäre es doch schön gleich zu wissen das man die CPU für so eine Aufgabe nicht unnötig quälen muss.

                  Gruß Womble

                  Comment


                  • #10
                    Da gebe ich dir vollkommen recht !

                    Comment

                    Working...
                    X