AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kalender Logik/Berchnungen

Ein Thema von Sanguis · begonnen am 15. Aug 2006 · letzter Beitrag vom 19. Aug 2006
Antwort Antwort
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#1

Kalender Logik/Berchnungen

  Alt 15. Aug 2006, 23:30
Guten Abend,
ich habe ein Anliegen das für mich ein wenig kompliziert erscheint.
Also erstmal, ich möchte in ein Spiel einen Kalender einführen. Das Spiel hat eine eigene kleine Welt mit Datum. An verschiedenen Tagen gibt es verschiedene Ereignisse. Soweit nicht weiter wichtig. Bisher lief das ganze auc, nur möchte ich das Spiel komfortabler gestalten und deshab einen Kalender einführen der einen Überblick über die nächsten Monate in der Spielwelt bietet.

Das Problem ist, das es eben alls recht "Fantasiereich" ist, also die Standard Kalender Komponenten wegfallen. In der Spielwelt dauert jeder Monat 30 Tage. Beim starten des Spieles, bzw. eines neuen Spielstandes, kann ausgewählt werden an welchem Datum samt Wochentag der Spieler starten möchte.
Ich wollte auf eine neue Form, per Label usw. den Kalender zeichnen. Das ist auch erstmal kein Problem. Die Frage ist nur die Logik dahinter. Ruft der Spieler im Spiel den Kalender auf, kann ich anhand des Datums natürlich den aktuellen Monat problemlos berechnen. Nur wenn ich dann einen "nächster Monat" und "vorheriger Monat" Button einfüge, wird das Ganze schon komplizierter. Mein Problem sind also die Wochentage. All das würde sich durch aufwändige Schleifen berechnen lassen, keine Frage. Nur wollte ich nachfragen, ob hier vielleicht eine einfachere Methode bekant ist, auf die ich gerade nicht komme?

Danke schonmal fürs Lesen *g*

Gruß,
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Kalender Logik/Berchnungen

  Alt 15. Aug 2006, 23:32
Kuck mal in die Unit DateUtils rein, da gibts allerlei interessante Funktionen alle rund ums Datum.
  Mit Zitat antworten Zitat
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#3

Re: Kalender Logik/Berchnungen

  Alt 15. Aug 2006, 23:34
Hab ich schon gemacht, das war meine erste Anlaufstelle.
Aber alles was ich gesehen habe, beruhte auf realen Kalenderberechnungen. Das ist ja mein problem, sonst würde ich eine beliebige Komponente abändern.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Kalender Logik/Berchnungen

  Alt 15. Aug 2006, 23:35
Sorry, dann versteh ich nicht was Du meinst... Was sind "nicht reale Kalenderberechnungen"
  Mit Zitat antworten Zitat
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#5

Re: Kalender Logik/Berchnungen

  Alt 15. Aug 2006, 23:39
Das sind Berechnungen die nicht auf dem uns allzubekannten Kalendersystem mit verschiede langen Monaten, Schaltjahren usw. beruhen.
Alleine dadurch das der Spieler am Anfang exaktes Startdatum und Wochentag auswählen kann, ist der Kalender schon durcheinander geworfen. Bei einem ist der 2.8.05 ein Donnerstag, bei anderen ein Sonntag. Real ist es ein Dienstag.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Kalender Logik/Berchnungen

  Alt 15. Aug 2006, 23:41
Wenn es also lediglich ein Offset ist zu einem "realen" Kalender, ist das ja leicht zu berücksichtigen.
  Mit Zitat antworten Zitat
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#7

Re: Kalender Logik/Berchnungen

  Alt 15. Aug 2006, 23:44
Naja da setzt bei mir dann aber wohl die Logik aus, weil ich nicht weiß wie ich da mit möglichst kleinem Aufwand rangehen soll. Ich hatte gehofft eine Komponente zu finden bei der ich die Monatstage begrenzen und die Daten irgendwie anpassen kann. Das war aber leider nicht der Fall. Und da ich mich vor der Entwicklung eigener Komponenten scheue, dachte ich das ich hier erst mal frage wie die Logik aussehen könnte, mit der ich an das Problem rangehe.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Kalender Logik/Berchnungen

  Alt 16. Aug 2006, 08:24
Zitat von Jelly:
Sorry, dann versteh ich nicht was Du meinst... Was sind "nicht reale Kalenderberechnungen"
er hat doch im ersten Post geschrieben, dass bei ihm ALLE Monate 30 Tage haben sollen.
DAS ist dann nicht real.
Ausserdem möchte er eine Zuordnung Datum - Wochentag frei setzen können.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Kalender Logik/Berchnungen

  Alt 16. Aug 2006, 09:49
1. Gib den Wochentagen Nummern (z.B. 0=Montag ... 6=Sonntag)
2. Lege einen Wochentag fest (z.B. 1.1.2006=Sonntag (6)).
3. Berechne für ein Datum X die Anzahl der Tage zwischen diesem 1.1.2006 und X (also DELTA := 360 * Jahresdifferenz + 30 * Monatsdifferenz + Tagesdifferenz)
4. Der Wochentag für X ist ((DELTA + 6) mod 7)
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#10

Re: Kalender Logik/Berchnungen

  Alt 19. Aug 2006, 01:58
Vielen Dank, habs jetzt hinbekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz