Français
Forum

XProfan X3 Beta

@dt("getLastM")

 

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)
' Buß- et Bettag
WT23%=dt("getDoW",dt("setDate","23.11."+Str$(Jahr&)))
23Str$=Str$(Jahr&)+"1123"
23Str&=val(23Str$)
23Date&=DBtoDate(23Str&)

si WT23%=3' Mi

    BB&=IncDay(23Date&,-7)

elseif WT23%=2' Di

    BB&=IncDay(23Date&,-6)

elseif WT23%=1' Mo

    BB&=IncDay(23Date&,-5)

elseif WT23%=7' So

    BB&=IncDay(23Date&,-4)

elseif WT23%=6' Sa

    BB&=IncDay(23Date&,-3)

elseif WT23%=5' Fr

    BB&=IncDay(23Date&,-2)

elseif WT23%=4' Do

    BB&=IncDay(23Date&,-1)

endif


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
 
07.06.2015  
 




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:
Déclarer DOUBLE d.i, d.ii, d.d
Déclarer STRING s.Mondphase
Def !FirstMond 105.49167
Def !SynodMond 29.5305589

Proc MondPhase

    Paramètres STRING s.date
    d.i = Int((s.date-!FirstMond) / !SynodMond)*!SynodMond
    d.ii = ((s.date-!FirstMond)-d.i) / !SynodMond

    Si d.ii < 0.05

        s.Mondphase = "Vollmond"

    ElseIf (d.ii > 0.05) and (d.ii < 0.45)

        s.Mondphase = "Abnehmender Mond"

    ElseIf (d.ii > 0.45) AND (d.ii < 0.55)

        s.Mondphase = "Neumond"

    ElseIf (d.ii > 0.55) And (d.ii < 0.95)

        s.Mondphase = "Zunehmender Mond"

    D'autre

        s.Mondphase = "Vollmond"

    EndIf

ENDPROC

'd.d = !now
d.d = dt("setDate", "2.7.2015", d.d)
MondPhase d.d
CLS
Imprimer str$(d.ii)
Imprimer s.Mondphase
WaitInput
Fin
 
XProfan X3, X4ß, Win 10.1
08.06.2015  
 




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
 
08.06.2015  
 




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 X2
Intel 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épondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

2.921 Views

Untitledvor 0 min.
Peter Max Müller21.01.2024
Michael W.11.12.2016
Magda18.02.2016
iF31.12.2015
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie