Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 14.03.2013, 14:02 Titel: Tagezähler - Wie viele Tage sind seit dem Install vergangen? |
|
|
Ich möchte ein Programm schreiben das die Anzahl der vergangenen Tage ab einem bestimmten Datum zählt. (Logintage/Installationstage)
Angenommen wir haben den 2. Dezember. Wie kann ich die Anzahl der verstrichenen Tage seit dem 15. November errechnen?
Ich Installiere ein Programm am 15. November und am 2. Dezember soll auf dem Bildschirm stehen: Das Programm ist schon seit 17 Tagen in Benutzung bzw. wurde vor 17 Tagen Installiert.
Weiß nicht so recht wie ich das hinbekomme. Vor allem, weil es immer mal einen 31. und manchmal sogar einen 29. Februar gibt!
Wäre toll, wenn einer von euch eine Idee dazu hat.
Gruß
Alexander _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 14.03.2013, 14:15 Titel: |
|
|
Das brauchst du nicht selber berechnen - FreeBasic kann das schon: siehe DateDiff
Wo du das Installationsdatum speicherst ist deine Sache: in einer Datei, Registry unter Windows, Registrierung bei einem Webserver, ... da kannst du dich beliebig austoben.
Ein Tipp für die Zukunft: anstatt hier Trivialfragen zu stellen und auf Lösungsideen zu warten, könntest du auch einen kurzen Blick in die Befehlsreferenz werfen, wo du alles nötige und noch viel mehr ausführlich dokumentiert vorfindest. _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 14.03.2013, 14:27 Titel: Tage seit der ersten Benutzung |
|
|
Hi ALWIM,
du könntest dir beim ersten Start des Programms den Zeitpunkt merken (in einer Datei speichern) und diesen bei jedem weiteren Start mit der jetzigen Zeit vergleichen.
Code: | #include "vbcompat.bi"
Declare Function DetermineTimestampFolder() As String
Declare Function GetFirstUseTime() As Double
Declare Function GetTimeSinceFirstUse() As Integer
Print "Die erste Benutzung dieses Programms erfolgte wahrscheinlich vor " & GetTimeSinceFirstUse() & " Tagen."
Print
Print "Beliebige Taste zum Beenden druecken."
Sleep
End
Function DetermineTimestampFolder() As String
Dim As String result
result = Environ("USERPROFILE")
If (result = "") Then
result = Environ("HOME")
If (result = "") Then
return ExePath
Else
return result
End If
Else
return result
End If
End Function
Function GetFirstUseTime() As Double
Dim Filename As String = DetermineTimestampFolder() + "/.alwim_firstuse.ini"
Dim f As Integer = FreeFile
Dim FirstUseDateSerial As Double
Open Filename For Binary As #f
If (Lof(f) < SizeOf(Double)) Then
' Noch kein Zeitpunkt gespeichert. Nehme also an, es ist der erste Start.
FirstUseDateSerial = Now
Put #f, , FirstUseDateSerial
Else
' Die Datei enthaelt bereits einen Double-Wert. Einlesen!
Get #f, , FirstUseDateSerial
End If
Close #f
Return FirstUseDateSerial
End Function
Function GetTimeSinceFirstUse() As Integer
Return DateDiff("d", GetFirstUseTime(), Now)
End Function |
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 14.03.2013, 14:32 Titel: |
|
|
Danke für die schnelle Antwort!
Das wusste ich nicht, dass Freebasic das bereits kann. Habe mir die Befehle von Freebasic noch nie so richtig angeschaut!
Das vereinfacht mein vorhaben natürlich erheblich!
Gnade euch Gott, wenn ich mit dem Programm irgendwann mal fertig bin. Hehehe...
Mir ist da gestern was ganz cooles eingefallen!!!
Edit: Genial!!! Danke Sebastian! Das ist genau das was ich will!!!
Gruß
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 14.03.2013, 14:40 Titel: |
|
|
ALWIM hat Folgendes geschrieben: | Mir ist da gestern was ganz cooles eingefallen!!! |
Du willst die Installationszeit per System-modaler MessageBox anzeigen?  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 14.03.2013, 15:44 Titel: |
|
|
Zitat: | Du willst die Installationszeit per System-modaler MessageBox anzeigen?  |
Das gerade nicht, aber für so ein Computerspiel ist diese Funktion doch sehr nützlich. Genau genommen, geht es gar nicht um die Installationszeit!
Es geht viel mehr um die Tage, die verraten, wie oft das Programm benutzt wurde.
Gruß
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 14.03.2013, 15:58 Titel: |
|
|
Zitat: | Computerspiel ist diese Funktion doch sehr nützlich |
Und der Nutzen besteht worin...? Mir ist noch kein Spiel untergekommen, das so etwas benötigen würde. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 14.03.2013, 16:07 Titel: |
|
|
Jojo hat Folgendes geschrieben: | Zitat: | Computerspiel ist diese Funktion doch sehr nützlich |
Und der Nutzen besteht worin...? Mir ist noch kein Spiel untergekommen, das so etwas benötigen würde. |
Ich kenne ein Spiel wo das als Funktion drin ist! Da muss man das Spiel 30 Tage lang, ohne einen Tag Pause spielen, um an die Secrets zu kommen!
Gruß
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 14.03.2013, 17:54 Titel: |
|
|
ALWIM hat Folgendes geschrieben: | Ich kenne ein Spiel wo das als Funktion drin ist! Da muss man das Spiel 30 Tage lang, ohne einen Tag Pause spielen, um an die Secrets zu kommen! |
Welches? bzw wie heißt das? .. mir ist nämlich auch keines bekannt. Ich kenne sowas nur von Demoversionen, die nach 30 Tagen dann nicht mehr funktionieren. _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 14.03.2013, 17:58 Titel: |
|
|
Ist eine bekannte Funktion in Online spielen, wo es dann zB Tagesboni gibt bzw im laufe von N Tagen jeweils etwas anderes und am schluss vielleicht ein grösseren Boni... bekannt aus Facebook-spielen oder F2P RPGs _________________
 |
|
Nach oben |
|
 |
|