Forum | | | |  ByteAttack | OK! Eigentlich léger trop berechnen, mais comment dit, suis fainéant  car letzten journée eines Monats berechnen, wäre cool. ou bien aussi so komische Feiertage comment Buß- et Bettag berechnen. z.Zt. fais je cela so: (comme Beispiel)
pourrait oui on peut-être dans @dt("getBettag",l'an%) ou bien quelque chose comme faire... weil qui Feiertage: Ostersonntag Karfreitag lundi de Pâques Christi Himmelfahrt Pfingsten (Mo) et fête-dieu doit berechnet volonté. quoi eigentlich moins grave ist, mais comment dit, suis trop fainéant  |
| | | | |
| |  Peter Max Müller | Nabend. sans grand Kommentare: peut-être kanns einer gebrauchen.
' Feiertage.prf - Profan² Versionen 6.6, 7.6 & 8.0
'
' Autor: XPROFAN Gemeinschaft
$I ProfAlt.inc
Def IsLeapYear(1) Si(Or(And(Equ(Mod(%(1),4),0),Neq(Mod(%(1),100),0)),Equ(Mod(%(1),400),0)),1,0)
Def GSC(1) !"User32","GetSysColor"
Déclarer schaltjahr%,osterzahl%,rosenmontag$,aschermittwoch$,karfreitag$,\
ostersonntag$,lundi de Pâques$,himmelfahrt$,muttertag$,pfingstsonnntag$
Déclarer pfingstmontag$,fête-dieu$,volkstrauer$,bussbettag$,totensonntag$,\
1advent$,Tabs#,Ende%,liste%,Butt%,l'an%,TabTexv$[17],x%,akt_jahr%
Laisser akt_jahr% = @Val(@Left $(Date$(3),4))
Proc WochenTag
Paramètres t%,m%,j%
Déclarer k%,l%,o%,p!,z%,z1%,z2%,z3%,z4%,z5%
Laisser k%=Int(Ajouter(0.6,Div(1,m%)))
Laisser l%=Sous(j%,k%)
Laisser o%=Ajouter(m%,Mul(12,k%))
Laisser p!=Div(l%,100)
Laisser z1%=Int(Div(p!,4))
Laisser z2%=Int(p!)
Laisser z3%=Int(Div(Mul(5,l%),4))
Laisser z4%=Int(Div(Mul(13,Ajouter(o%,1)),5))
Laisser z%=Ajouter(z4%,z3%)
Sous z%,z2%
Ajouter z%,z1%
Ajouter z%,t%
Décembre z%
Laisser z5%=Mul(7,Int(Div(z%,7)))
Sous z%,z5%
Retour z%
ENDPROC
Proc Pâques
Déclarer a%,b%,c%,d%,e%,f%,g%,h%,h1%,h2%,i%,k%,l%,L1%,L2%,m%,m1%,m2%,\
n%,n1%,n2%,p%,kartag%,karmonat%,lundi de Pâques%,ostermonat%
Laisser a%=Mod(l'an%,19)
Laisser b%=Div(l'an%,100)
Laisser c%=Mod(l'an%,100)
Laisser d%=Div(b%,4)
Laisser e%=Mod(b%,4)
Laisser f%=Div(Ajouter(b%,8),25)
Laisser g%=Sous(b%,f%)
Inc g%
Laisser g%=Div(g%,3)
Laisser h1%=Mul(19,a%)
Laisser h2%=Sous(b%,d%)
Sous h2%,g%
Ajouter h2%,15
Laisser h%=Ajouter(h1%,h2%)
Laisser h%=Mod(h%,30)
Laisser i%=Div(c%,4)
Laisser k%=Mod(c%,4)
Laisser L1%=Mul(2,e%)
Ajouter L1%,32
Laisser L2%=Mul(2,i%)
Ajouter L1%,L2%
Laisser L2%=Ajouter(h%,k%)
Laisser l%=Sous(L1%,L2%)
Laisser l%=Mod(l%,7)
Laisser m1%=Mul(11,h%)
Laisser m2%=Mul(22,l%)
Laisser m%=Ajouter(a%,m1%)
Ajouter m%,m2%
Laisser m%=Div(m%,451)
Laisser n1%=Mul(7,m%)
Laisser n%=Ajouter(h%,l%)
Sous n%,n1%
Laisser n2%=Ajouter(n%,114)
Laisser n%=Div(n2%,31)
Laisser p%=Mod(n2%,31)
Inc p%
Laisser ostersonntag$=@Ajouter$(@Ajouter$(@Ajouter$(@Format $("0#",p%),"."),@Format $("0#",n%)),". Ostersonntag")
' *** Karfreitag
Laisser kartag%=Sous(p%,2)
Laisser karmonat%=n%
Si Equ(p%,1)
Laisser kartag%=30
Laisser karmonat%=3
ElseIf Equ(p%,2)
Laisser kartag%=31
Laisser karmonat%=3
EndIf
Laisser karfreitag$=@Ajouter$(@Ajouter$(@Ajouter$(@Format $("0#",kartag%),"."),@Format $("0#",karmonat%)),". Karfreitag")
' *** lundi de Pâques ***
Si Equ(p%,31)
Laisser lundi de Pâques%=1
Laisser ostermonat%=4
D'autre
Laisser lundi de Pâques%=Ajouter(p%,1)
Laisser ostermonat%=n%
EndIf
Laisser lundi de Pâques$=@Ajouter$(@Ajouter$(@Ajouter$(@Format $("0#",lundi de Pâques%),"."),@Format $("0#",ostermonat%)),". Ostermontag")
Laisser osterzahl%=Ajouter(59,p%)
Cas Equ(n%,4):Laisser osterzahl%=Ajouter(osterzahl%,31)
ENDPROC
Proc Vorostern
Déclarer rostag%,rosmon%,aschetag%,aschemonat%
Laisser rostag%=Sous(osterzahl%,48)
Laisser schaltjahr%=IsLeapYear(l'an%)
Laisser rosmon%=2
Si And(Equ(schaltjahr%,1),Equ(rostag%,59))
Laisser rostag%=29
ElseIf And(Equ(schaltjahr%,1),Lt(rostag%,59))
Sous rostag%,30
D'autre
Si Lt(rostag%,60)
Sous rostag%,31
D'autre
Sous rostag%,59
Inc rosmon%
EndIf
EndIf
Laisser rosenmontag$=@Ajouter$(@Ajouter$(@Ajouter$(@Format $("0#",rostag%),"."),@Format $("0#",rosmon%)),". Rosenmontag")
Laisser aschetag%=Ajouter(rostag%,2)
Laisser aschemonat%=rosmon%
Si Gt(aschetag%,28)
Si Equ(schaltjahr%,1)
Si Equ(aschetag%,29)
Laisser aschemonat%=2
ElseIf Equ(aschetag%,30)
Laisser aschetag%=1
Laisser aschemonat%=3
D'autre
Laisser aschetag%=2
Laisser aschemonat%=3
EndIf
D'autre
Si Equ(aschetag%,29)
Laisser aschetag%=1
Laisser aschemonat%=3
D'autre
Laisser aschetag%=2
Laisser aschemonat%=3
EndIf
EndIf
EndIf
Laisser aschermittwoch$=@Ajouter$(@Ajouter$(@Ajouter$(@Format $("0#",aschetag%),"."),@Format $("0#",aschemonat%)),". Aschermittwoch")
ENDPROC
Proc Nachostern
Déclarer hi%,himon%,pfi%,pfimonat%,pfimo%,frolei%,fromon%,muta%
' Himmelfahrt
Laisser hi%=Ajouter(osterzahl%,39)
Si Gt(hi%,151)
Laisser himon%=6
Laisser hi%=Sous(hi%,151)
D'autre
Laisser himon%=5
Laisser hi%=Sous(hi%,120)
EndIf
Laisser himmelfahrt$=@Ajouter$(@Ajouter$(@Ajouter$(@Format $("0#",hi%),"."),@Format $("0#",himon%)),". Himmelfahrt")
' Pfingsten
Laisser pfi%=Ajouter(osterzahl%,49)
Si Gt(pfi%,151)
Laisser pfimonat%=6
Laisser pfi%=Sous(pfi%,151)
D'autre
Laisser pfimonat%=5
Laisser pfi%=Sous(pfi%,120)
EndIf
Laisser pfingstsonnntag$=@Ajouter$(@Ajouter$(@Ajouter$(@Format $("0#",pfi%),"."),@Format $("0#",pfimonat%)),". Pfingstsonntag")
' *** Pfingstmontag ***
Si Equ(pfi%,31)
Laisser pfimo%=1
Laisser pfimonat%=6
D'autre
Laisser pfimo%=Ajouter(pfi%,1)
EndIf
Laisser pfingstmontag$=@Ajouter$(@Ajouter$(@Ajouter$(@Format $("0#",pfimo%),"."),@Format $("0#",pfimonat%)),". Pfingstmontag")
' *** fête-dieu ***
Laisser frolei%=Ajouter(osterzahl%,60)
Si gt(frolei%,151)
Laisser frolei%=Sous(frolei%,151)
Laisser fromon%=6
D'autre
Laisser fromon%=5
Laisser frolei%=Sous(frolei%,120)
EndIf
Laisser fête-dieu$=@Ajouter$(@Ajouter$(@Ajouter$(@Format $("0#",frolei%),"."),@Format $("0#",fromon%)),". Fronleichnam")
WochenTag 1,5,l'an%
Laisser muta%=8
Cas %(0): Laisser muta%=Sous(15,%(0))
Cas Equ(pfi%,muta%):Laisser muta%=Sous(muta%,7)
Laisser muttertag$=@Ajouter$(@Format $("0#",muta%),".05. Muttertag ")
ENDPROC
Proc Advent
Déclarer 1adv%
WochenTag 31,12,l'an%
Laisser 1adv%=Sous(33,%(0))
Si Gt(1adv%,30)
Laisser 1advent$=@Ajouter$(@Format $("0#",Int(Sous(1adv%,30))),".12. 1. Advent")
D'autre
Laisser 1advent$=@Ajouter$(@Format $("0#",1adv%),".11. 1. Advent")
EndIf
Decimals 0
Laisser bussbettag$=@Ajouter$(@Format $("0#",Sous(22,%(0))),".11. Buß-et Bettag")
Laisser volkstrauer$=@Ajouter$(@Format $("0#",Sous(19,%(0))),".11. Volkstrauertag")
Laisser totensonntag$=@Ajouter$(@Format $("0#",Sous(26,%(0))),".11. Totensonntag")
Decimals 6
ENDPROC
Proc TextAusgabe
Déclarer v$,e%
Faible Tabs#,20
long Tabs#,0=20
long Tabs#,4=20
long Tabs#,8=20
long Tabs#,12=20
long Tabs#,16=20
setdialogfont 1
let v$="\t"
let Tabtexv$[0]=@Ajouter$("Feiertage dans l'allemagne im Jahre ",@Str$(l'an%))
let Tabtexv$[1]=@$ MkStr("-",@Ajouter(56,@Mul(@Len(@Str$(l'an%)),2)))
let Tabtexv$[2]=@Ajouter$(@Ajouter$("01.01. le Nouvel An ",v$),"03.10. journée d. deutschen Einheit")
let Tabtexv$[3]=@Ajouter$(@Ajouter$("06.01. hlg. trois Könige",v$),"31.10. Reformationstag ")
let Tabtexv$[4]=@Ajouter$(@Ajouter$("14.02. Valentinstag ",v$),"11.11. Allerheiligen ")
let Tabtexv$[5]=@Ajouter$(@Ajouter$(rosenmontag$,v$),volkstrauer$)
let Tabtexv$[6]=@Ajouter$(@Ajouter$(aschermittwoch$,v$),bussbettag$)
let Tabtexv$[7]=@Ajouter$(@Ajouter$(@Ajouter$(karfreitag$,v$),v$),totensonntag$)
let Tabtexv$[8]=@Ajouter$(@Ajouter$(ostersonntag$,v$),1advent$)
let Tabtexv$[9]=@Ajouter$(@Ajouter$(lundi de Pâques$,v$),"06.12. Nikolaustag")
let Tabtexv$[10]=@Ajouter$(@Ajouter$("01.05. journée d. Arbeit",v$)," 24.12. Heiligabend")
let Tabtexv$[11]=@Ajouter$(@Ajouter$(muttertag$,v$)," 25.12. erster Weihnachtstag")
let Tabtexv$[12]=@Ajouter$(@Ajouter$(himmelfahrt$,v$)," 26.12. zweiter Weihnachtstag")
let Tabtexv$[13]=@Ajouter$(@Ajouter$(pfingstsonnntag$,v$),"31.12. Sylvester")
let Tabtexv$[14]=pfingstmontag$
let Tabtexv$[15]=fête-dieu$
let Tabtexv$[16]="15.08. Mariä Himmelfahrt"
sendmessage(liste%,$0192,5,Tabs#)
sendmessage(liste%,$0194,mul(0,3),0)
Dispose Tabs#
let e%=0
whilenot equ(e%,17)
addstring(liste%,tabtexv$[e%])
inc e%
Wend
ENDPROC
proc fete
Laisser l'an% = 0
Tandis que Or(@Lt(l'an%,1),@Gt(l'an%,9999))
Laisser l'an%=@Contribution$("Bitte un l'an eingeben:","Feiertage anzeigen",akt_jahr%)
Endwhile
Pâques
Vorostern
Nachostern
Advent
TextAusgabe
EnableWindow liste%,1
endproc
SetTrueColor 1
Fenêtre Style 24
Fenêtre Ajouter(%maxx,10),0-428,345
Titre de la fenêtre "Feiertage"
Popup "&Feiertage"
AppendMenu 100,"&Eingabe"
Séparateur
AppendMenu 101,"& Quitter"
Popup "Info"
AppendMenu 200,"Autor: XProfan Gemeinschaft"
Cls GSC(15)
let liste%=control("LISTBOX",»,$50B000C1,10,10,403,288,%hwnd,101,%HINSTANCE)
EnableWindow liste%,0
SetWindowPos %HWnd=Div(Sous(%maxx,428),2),Div(Sous(%maxY,345),2)-428,342;0
Laisser Ende% = 0
WhileNot Ende%
WaitInput
Si Or(@Equ(%MenuItem,-2),@Equ(%MenuItem,101))
Laisser Ende% = 1
ElseIf @Equ(%MenuItem,100)
SendMessage(liste%,$0184,0,0)
Laisser x% = 0
WhileNot @Equ(% X,17)
Laisser TabTexv$[x%] = »
Inc x%
Endwhile
EnableWindow liste%,0
fete
EndIf
Endwhile
SetWindowPos %HWnd=Ajouter(%maxx,10),0-428,402;1
@DestroyWindow(liste%)
Fin
et ici un Codeschnipsel pour Mondphasen:
|
| | | | |
| |  ByteAttack | oui déjà bien sûr... mais wäre doch "geiler" si on cela dans qui Datumsfunktionen avec einbauen pourrait. Perl et Php avons es zb aussi drin  |
| | | | |
| |  RGH | ensuite hebe Dir den Vorschlag pour qui prochain Version sur. XProfan X3 ist déjà dans qui Release-Phase. là venez rien plus Neues hinzu.
Salut Roland |
| | | XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 08.06.2015 ▲ |
| |
|
répondreOptions du sujet | 2.921 Views |
Themeninformationencet Thema hat 3 participant: |