Kommenden Freitag errechnen...

Anfängerfragen zum Programmieren mit PureBasic.
Rene-RNI
Beiträge: 18
Registriert: 10.09.2013 14:32

Kommenden Freitag errechnen...

Beitrag von Rene-RNI »

Hallo ich brauche für meinen Uploader die kommenden 8 Freitage in einer Combobox.

Wie kann ich das machen? finde dazu keinerlei anhaltspunkte.

Kann mir da jemand unter die arme greifen?

Danke schon mal
Rene
Benutzeravatar
CSHW89
Beiträge: 489
Registriert: 14.12.2008 12:22

Re: Kommenden Freitag errechnen...

Beitrag von CSHW89 »

Die folgenden Funktionen sollten dabei helfen:

Date(): Gibt aktuelles Datum zurück
DayOfWeek(): Gibt den Wochentag eines Datums zurück
AddDate(): Fügt einen Wert zum Datum hinzu (z.B. 7 Tage)

Näheres in der Hilfe.

lg Kevin
Bild Bild Bild
http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Kommenden Freitag errechnen...

Beitrag von NicTheQuick »

Du meinst sowas?

Code: Alles auswählen

Define.i today, nextFriday

today = Date()
nextFriday = AddDate(today, #PB_Date_Day, ((12 - DayOfWeek(today)) % 7))

Debug "Die kommenden 8 Freitage:"
For i = 1 To 8
	Debug FormatDate("%dd.%mm.%yyyy", nextFriday)
	nextFriday = AddDate(nextFriday, #PB_Date_Week, 1)
Next
Rene-RNI
Beiträge: 18
Registriert: 10.09.2013 14:32

Re: Kommenden Freitag errechnen...

Beitrag von Rene-RNI »

Ja genau das habe ich gesucht,

so wie ich das verstehe: 12-7= 5.tag der Woche also freitag

Wenn ich % 5 mache = Sonntage

sehe ich das richtig?
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: Kommenden Freitag errechnen...

Beitrag von Bisonte »

Und ich mach da sowas ellenlanges... :oops:

Da wart ihr schneller...
Aber auch der Weg funktioniert

Code: Alles auswählen

Define Window, Event, Quit
Define Combo

#DAY_TO_SECONDS = 86400

Dim Freitag(8)

Window = OpenWindow(#PB_Any, #PB_Ignore, #PB_Ignore, 200, 100, "Kommende Freitage", #PB_Window_SystemMenu)

Combo = ComboBoxGadget(#PB_Any, 20, 20, 160, 20)

If DayOfWeek(Date()) < 5
  Freitag(1) = Date() + ((5-DayOfWeek(Date())) * #DAY_TO_SECONDS)
ElseIf DayOfWeek(Date()) = 6
  Freitag(1) = Date() + (6*#DAY_TO_SECONDS)
ElseIf DayOfWeek(Date()) = 5
  ; Hier wäre der wirklich nächste Freitag
  Freitag(1) = Date() + (7*#DAY_TO_SECONDS)
  ; oder eben Heute
  ; Freitag(1) = Date()
EndIf

AddGadgetItem(Combo, 0, FormatDate("%dd.%mm", Freitag(1))  )
For i=2 To 8
  Freitag(i) = Freitag(i-1) + (7*#DAY_TO_SECONDS)
  Debug FormatDate("%dd.%mm", Freitag(i))
  AddGadgetItem(Combo, i-1, FormatDate("%dd.%mm", Freitag(i))  )
Next i

SetGadgetState(Combo, 0)

Repeat
  
  Event = WaitWindowEvent()
  
  If Event
    Select Event
      Case #PB_Event_CloseWindow
        Quit = 1
    EndSelect
  EndIf
  
Until Quit > 0
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Kommenden Freitag errechnen...

Beitrag von NicTheQuick »

Rene-RNI hat geschrieben:Ja genau das habe ich gesucht,

so wie ich das verstehe: 12-7= 5.tag der Woche also freitag

Wenn ich % 5 mache = Sonntage

sehe ich das richtig?
Das "% 7" muss immer bleiben. Aber du kannst die Zahl '12' variieren von 7 bis 13 um andere nächste Wochenentage zu berechnen.
Antworten