ich habe meine Monatsansicht im Kalender auf 6x7 ausgelegt.
nun gibt es aber Monate wo ich mit 5x7 aus käme und dann mehr "Platz" für die einzelnen "Cells" hätte.
Ich müsste es aber "vor" dem "malen" wissen ... z.Z. bearbeite ich alle Tage des Monats nacheinander.
gibt es dafür eine "Formel" ?
Nachtrag ... ich "denke" ich habe es :
Code: Alles auswählen
METHOD OWcal:WeekOfMonth(dDate)
LOCAL nYear
LOCAL nMonth
LOCAL dFirst
LOCAL dLast
LOCAL nDiff := 0
LOCAL nRet := 5 // wir gehen von 5 aus
nYear := YEAR( dDate )
nMonth := MONTH( dDate )
// jeweils den 1st des Monats
dFirst := STOD(STRZERO(nYear,4)+STRZERO(nMonth ,2)+ "01")
dLast := STOD(STRZERO(nYear,4)+STRZERO(nMonth+1,2)+ "01")
// Anzahl Tage
nDiff := dLast-dFirst
//
// Fr., Sa. und So. + 4 Wochen
//
IF (DOW(dFirst) > 6 .OR. DOW(dFirst) = 1 ) .AND. nDiff > 28
nRet := 6
ENDIF
RETURN nRet