Listbox mit Datum füllen
-
Nabend an alle!!
Ich glaube ich brauche einen ganz kräftigen Anstoß
Ich habe in mein Programm eine Listbox eingefügt, mit der folgendes geschehen soll:
Der Anwender hat die Möglichkeit, sich in diese Listbox einmal die zu einer Kalenderwoche gehörigen Daten ausgeben zu lassen (jeweils Tag der Woche und das Datum).
Ebenfalls hat er die Möglichkeit, sich die Daten eines Monats in dieser Liste anzeigen zu lassen.
Zusätzlich darf er sich dann auch noch aussuchen, welches Jahr er möchte. Z.B. kann er sagen: zeig mir die Daten der 49 Kalenderwoche im Jahr 2003. Diese Auswahl erfolgt über Comboboxen.. Allerdings stehe ich total auf dem Schlauch, da ich keine Idee habe, wie ich das Programmieren soll. Hat jemand eine Idee, wie ich es am besten realisieren kann?Vielen vieeeelen Dank schon mal im Voraus Alexandra
-
Hi Alexandra,
wenn ich das richtig verstanden habe, hast du jeweils eine Combobox für:- Kalenderwoche
- Jahr
- Monatund dann ein Listenfeld für die Datenausgabe
richtig soweit ?Also, wenn das so stimmt, dann würde ich nach der Auswahl einer Kalenderwoche erstmal die entsprechenden Daten der 7 gewünschten Wochentage berechnen.
Dann über eine CTime Variable das Datum des ersten Tages eingeben und mit Hilfe von CTime::Format in einen String schreiben: z.B.
CTime ctTime(m_iJahr,m_iMonat,m_iTag,0,0,0); m_ctlListBox.AddString(ctTime.Format("%A, den %d.%B %Y")); // entspr. "Tag der Woche, den Tag.Monat.Jahr" z.B. "Montag, den 9.Dezember 2002"
So und wenn ein Monat ausgewählt wird, dann einfach alle Tage des Monats nach gleichem "Strickmuster" ausgeben.
So würde ich das machen, was aber nicht heißt, dass es nicht bessere, einfachere Methoden gibt.
mfg, takeiteasy
PS: Ich hoffe, dass das dir wenigstens ein wenig weiterhilft.
-
Hmm.. mein Problem liegt wohl eher bei der Berechnung... Wenn ich sage, er soll die 45 KW im Jahr 2003 nehmen, wie setze ich hier am besten an, damit er mir die richtigen Daten gibt?
Wie kann ich in diesem Moment errechnen, welche Daten zu dieser Kalenderwoche gehören
Idee??Gracias Alexandra .. ( die sich fühl als hätte Sie eine schwere Geburt
)
-
Hi nochmal,
also, per definition ist die erste Kalenderwoche die Woche, in der der 4. Januar liegt. Dann musste nur noch schauen, was der 4. Januar für ein Wochentag ist, um den ersten Tag der 1. Kalenderwoche zu erhalten. Und dann rechneste hoch, bis zur geforderten Woche und gibst die Daten und Wochentage entsprechend aus. Ich denk mal, das ist zu schaffen. Falls du noch nen kleinen Anstoß brauchst, sags einfach.mfg takeiteasy
-
Hallo...
Jep, ich glaube ich brauche einen kräftigen Anstoß...
Irgendwie habe ich das Gefühl, dass ich die Logik dahinter noch nicht so richtig erfasst habe
Meien Überlegungen waren:Mittels GetDayOfWeek ermittel ich den Wochentag des 4 Januars.
Hmm... und weiter? Irgendwo muss ich wahrscheinlich mit COleDateTimeSpan ansetzen, aber wie genau?
Gibt es vielleciht auch eine Möglichkeit, das Problem ohne die Hilfe der MFC zu lösen???Vielen Vielen Dank im Voraus...
Alexandra
-
Mach nicht zuviel Steuerelemente, das wird nur unübersichtlich. Zum Beispiel würde ich nicht die Kalenderwoche und so über Listboxen handeln, sondern das Datumseingabe-Steuerelement verwenden. Da muss der Anwender nur auswählen, welchen Tag/Woche/Monat/Jahr er haben will und nebendran stehen dann die Daten dazu, in einer Combobox auswählbar, ob die Daten des Tags, der Woche ... angezeigt werden sollen.