JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=a55bd2bbd315b8f15e8ca6ed2a45b70aMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Time berechnen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
mfc++
JLI'ler


Alter: 40
Anmeldedatum: 18.02.2004
Beiträge: 163
Wohnort: Bettlä
Medaillen: Keine

BeitragVerfasst am: 11.10.2004, 16:44    Titel: Time berechnen Antworten mit Zitat

hallo leute. ich hab nix gefunden drum schreib ich es hier rein.
ich will nen logger coden. das hab ich auch geschafft mit den codes:
Code:
CTime altTime.GetHour...
CTime neuTime.GetHour...


das klappt alles wunderbar
Code:
Work Logger v1.0

Datum: 11. 10. 2004
Arbeit: test
Log ON 12:34:6 Uhr
Log OFF 12:34:14 Uhr


aber nun möchte ich die 2 zeiten ausrechnen. das heisst dann das praktisch:
Code:
neuTime.GetHour - altTime.GetHour
so sollte es gehen. nur geht das nit Wink

was könnte ich denn machen das das gehen würde? denn CTime ist ja const. und in variablen speichern geht auch nit. dann gibts so komische werte. könnt ihr mir bitte weiterhelfen? dann wäre das prog eigentlich perfekt Wink

danke im voraus
_________________
www.teslasystems.ch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.10.2004, 16:59    Titel: Antworten mit Zitat

kriegst du da nicht nur die Stunden zurück wie 14 Uhr und 16 Uhr?
Ich würde die Zeit in Millisekeunden seit Januar 1970 abfragen, die Zeitdifferenz nehmen und dann umrechnen...
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mfc++
JLI'ler


Alter: 40
Anmeldedatum: 18.02.2004
Beiträge: 163
Wohnort: Bettlä
Medaillen: Keine

BeitragVerfasst am: 11.10.2004, 18:18    Titel: Antworten mit Zitat

doch. was ja nur ein beispiel. natürlich muss ich ja dann noch
Code:
neuTime.GetMinute() - altTime.GetMinute()
und
neuTime.GetSecond() - altTime.GetSecond()

schreiben. aber es geht nicht. oder weisst du vielleicht wie ich so ne art counter schreiben kann? der dann mit dem "loggen" button anfängt und beim "ausloggen" button aufhört. das wäre dann auch die ausgerechnete zeit Wink thx
_________________
www.teslasystems.ch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 11.10.2004, 18:21    Titel: Antworten mit Zitat

äh, also mit deiner Idee bekommst du garantiert Probleme:
17:30:32
17:34:13
Wenn du die beiden Zeiten so berechnest, hast du doch negative Sekunden...
Du must also z. B. alles in Sekunden umwandeln dann verrechnen und dann wieder zurückverwandeln.

Im 2ten Buch ist das Beispiel der Frameratenberechnung mit TimeGetTime(). Damit solltest du deine Aufgabe öösen können.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.10.2004, 18:32    Titel: Antworten mit Zitat

Ich habe nachgeschaut....ist es zufällig so, das immer als Ergebnis 0 rauskommt?

Oder kann man die Timeobjekte mit bestimmten Zeiten initialisieren?
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mfc++
JLI'ler


Alter: 40
Anmeldedatum: 18.02.2004
Beiträge: 163
Wohnort: Bettlä
Medaillen: Keine

BeitragVerfasst am: 11.10.2004, 18:35    Titel: Antworten mit Zitat

TheMillenium hat Folgendes geschrieben:
Ich habe nachgeschaut....ist es zufällig so, das immer als Ergebnis 0 rauskommt?


jup das ist genau so. eben darum gehts ja nit. und jonathan jo wenn ich das 2te hätte Wink die idee ist nit schlecht, aber wie soll ich das machen? die zeiten sind nur zum aktuellen zeitpunkt aktuell
_________________
www.teslasystems.ch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.10.2004, 18:44    Titel: Antworten mit Zitat

du kannst auch statt timegettime deine ctime var nehmen und
LONG start = ctime.GetTime();
....
LONG end = ctime.GetTime();

schreiben, dann :
diff = end-start;

dann hast du die Millisekunden...und dann einfach umrechnen Wink

kannst so aber nur die Differenz von Zeitabständen bis 49.71 Tagen messen Wink
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mfc++
JLI'ler


Alter: 40
Anmeldedatum: 18.02.2004
Beiträge: 163
Wohnort: Bettlä
Medaillen: Keine

BeitragVerfasst am: 12.10.2004, 19:06    Titel: Antworten mit Zitat

danke ich probiers so. naja ich will ja nur von paar stunden Wink
_________________
www.teslasystems.ch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
mfc++
JLI'ler


Alter: 40
Anmeldedatum: 18.02.2004
Beiträge: 163
Wohnort: Bettlä
Medaillen: Keine

BeitragVerfasst am: 13.10.2004, 18:18    Titel: Antworten mit Zitat

hab ne idee wie ich das lösen kann. nur gibt es nach dem beenden vom programm ne fehlermeldung.
Code:
WORK LOGGER verursachte einen Fehler durch eine ungültige Seite
in Modul <Unbekannt> bei 0000:00000013.
Register:
EAX=00654360 CS=017f EIP=00000013 EFLGS=00010207
EBX=00654340 SS=0187 ESP=005400a4 EBP=005400c4
ECX=00540148 DS=0187 ESI=81daca74 FS=8a07
EDX=bff76855 ES=0187 EDI=0054023c GS=0000
Bytes bei CS:EIP:
00 54 ff 00 f0 79 ea 00 f0 21 ea 00 f0 00 00 00
Stapelwerte:
bff76849 0054023c 00654340 00540170 00540148 00540528 bff76855 00654340 00540158 bffc7fed 0054023c 00654340 00540170 00540148 00000000 005402b0


ich nehm an das es an den timern liegt. weiss aber nit was ich machen kann.

danke
_________________
www.teslasystems.ch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 13.10.2004, 19:55    Titel: Antworten mit Zitat

wie wär's mit Debuggen? Wir können schlecht raten wie dein Code aussieht und dann das ganze noch interpretieren und zmwandeln...etc..Wink

Im Debugmodus kannst du ja die Stapelwerte sehen und welche Argumente übergeben wurden, welche Werte die Variablen, Klassen etc... haben... Smile
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mfc++
JLI'ler


Alter: 40
Anmeldedatum: 18.02.2004
Beiträge: 163
Wohnort: Bettlä
Medaillen: Keine

BeitragVerfasst am: 13.10.2004, 20:12    Titel: Antworten mit Zitat

danke. ich hab noch nie debuggt und weiss nit wie ich mit dem umgehen kann. sorry. habs nun anders gelöst. es klappt Wink danke trozdem. hätte früher draufkommen können. timer richtig mit sekunden starten und dann wenn grösser ist als 60 minuten (variable) um eins hochmachen. und das mit de sunden variablen ,-) so einfach. aber trozdem danke euch allen Wink
_________________
www.teslasystems.ch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
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.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum