Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Tagezähler - Wie viele Tage sind seit dem Install vergangen?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 14.03.2013, 14:02    Titel: Tagezähler - Wie viele Tage sind seit dem Install vergangen? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 14.03.2013, 14:15    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 14.03.2013, 14:27    Titel: Tage seit der ersten Benutzung Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 14.03.2013, 14:32    Titel: Antworten mit Zitat

Danke für die schnelle Antwort! happy
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... grinsen Gnade, Gnade!
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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 14.03.2013, 14:40    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
Mir ist da gestern was ganz cooles eingefallen!!!

Du willst die Installationszeit per System-modaler MessageBox anzeigen? durchgeknallt
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 14.03.2013, 15:44    Titel: Antworten mit Zitat

Zitat:
Du willst die Installationszeit per System-modaler MessageBox anzeigen? durchgeknallt

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 14.03.2013, 15:58    Titel: Antworten mit Zitat

Zitat:
Computerspiel ist diese Funktion doch sehr nützlich

Und der Nutzen besteht worin...? mit den Augen rollen 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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 14.03.2013, 16:07    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
Zitat:
Computerspiel ist diese Funktion doch sehr nützlich

Und der Nutzen besteht worin...? mit den Augen rollen 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
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 14.03.2013, 17:54    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 14.03.2013, 17:58    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz