Zeit Cooldown

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von JoeyPlayzTV.

    Zeit Cooldown

    Hallo icch habe frage wie kann ich folgendes Umsetzen ich habe eine Datenbank in der Accounts gespeichert werden nun möchte das man alle 30 Minuten diesen Ändern kann und ich möchte dem User anzeigen wie Lange er noch warten wuss in java gibt es die Funktion System.CurrentTimeMillis das gibt mir ein Long zurück wie kann ich dies in VB Umsetzen 8o
    Meine Programme
    TrackBoard 4 Music-Player Software
    Download:
    Klicke hier!

    JoeyPlayzTV schrieb:

    in der Datenbank speichern
    Der Datentyp in der DB sollte kompatibel mit einem DateTime in VB.Net sein.

    In der Datenbank ist es ein Date oder DateTime (oder meinetwegen auch DateTimeOffset), je machdem, was die Datenbank hergibt.
    Zunächst hängt das nicht von der Programmiersprache ab, sondern logischerweise von der Datenbank.
    Was ist es denn für eine DB?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Es ist eine SqlLite und eine MySQL db


    Also mache ich das so

    Hier der Sub der den Acc erstellt

    VB.NET-Quellcode

    1. Dim Username as String = username.InputField
    2. Dim createtime as DateTime = DateTime.now
    3. CreateUserAcc.NewUser(Username, createtime)



    Wäre das so richtig

    Und ausrechnen wie Lange das noch dauert geht denn so?



    VB.NET-Quellcode

    1. Dim until as DateTime = database.GetUntil()
    2. Dim newtime as DateTime = until - DateTime.Now
    3. MsgBox("Du musst noch " + newtime.toString() + " warten")



    Währe das so richtig?
    Meine Programme
    TrackBoard 4 Music-Player Software
    Download:
    Klicke hier!

    JoeyPlayzTV schrieb:

    CreateUserAcc.NewUser(Username, createtime)
    Wäre das so richtig
    Keine Ahnung.
    Ich weiß ja nicht, was CreateUserAcc enthält.

    JoeyPlayzTV schrieb:

    Dim until as DateTime = database.GetUntil()
    Währe das so richtig?
    Keine Ahnung. Was macht GetUntil?

    JoeyPlayzTV schrieb:

    Dim newtime as DateTime = until - DateTime.Now
    Währe das so richtig?
    Definitiv nein.
    Oben habe ich versucht zu erklären, dass die Differenz zweier DateTime Objekte ein Timespan ergibt.

    Fragst du eigentlich nur theoretisch oder steckt da irgendwo tatsächlich lauffähiger Code dahinter?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „petaod“ ()

    Das GetUntil holt die createtime aus der Datenbank

    Und zum TimeSpan den Muss ich dann noch umrechnen oder wie gibt es dazu irgendwie hilfe?


    Ich glaube habe es Kapiert

    VB.NET-Quellcode

    1. Dim result as TimeSpan = getUntil - DateTime.Now
    2. MsgBox(result.Minutes)



    Ich frage nicht Theoretisch es Steck Lauffähiger Code Der Hinter der Sogar der OOP entspricht es ist ein komplexes programm EIG kann ich VB sehr gut aber bei einigen sachen hapats noch


    Meine Programme
    TrackBoard 4 Music-Player Software
    Download:
    Klicke hier!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „JoeyPlayzTV“ ()

    JoeyPlayzTV schrieb:

    Das GetUntil holt die createtime aus der Datenbank
    Dann würde ich den auch so nennen GetCreationTime
    Und die Funktion hat keine Parameter?
    Woher weiß die Funktion, welcher Account gemeint ist?

    JoeyPlayzTV schrieb:

    Und zum TimeSpan den Muss ich dann noch umrechnen

    VB.NET-Quellcode

    1. Dim CreationTime As DateTime = Datebase.GetUntil
    2. Dim ReleaseTime As DateTime = CreationTime.AddMinutes(30)
    3. If ReleaseTime > DateTime.Now Then
    4. Dim WaitSpan As TimeSpan = ReleaseTime - DateTime.Now
    5. Dim WaitMinutes As Integer = WaitSpan.TotalMinutes + 1
    6. Messagebox.Show($"Please wait {WaitMinutes} minutes")
    7. End If
    Ich habe extra die umständliche Schreibweise genommen, damit du die Datentypen dabei hast.
    Mit Option Infer On würde die IDE selbst den Datentyp erkennen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „petaod“ ()

    Ich würde mir im übrigen das Datum vom Server holen. Date.Now liefert das Datum das am PC eingestellt ist. Stelle ich das Datum dort vor, ist dein Schutzmechanismus ausgehebelt.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    mrMo schrieb:

    Ich würde mir im übrigen das Datum vom Server holen

    Ich wollte auch schon vorschlagen, die Berechnung in der SQL-Abfrage zu machen.
    Aber ich hatte nicht das Gefühl, dass der TE dann noch folgen könnte.
    Er hat ja noch überhaupt nicht raus gelassen, wie er sein Datenbank-Handling durchführt.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hinbekommen?
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.