HOL: local year%,s$(4),land$(2),od$(1) local century%,g%,k%,i%,j%,l%,ed%,em% local e%,a%,ernte%,mutter%,sa%,se% local bs%,es%,d%,m%,h year%=year kstat 4 print "Jahr? ";year%;" ";: input s$ kstat 2 if s$<>"":year%=val(s$) :endif land$="by" print "Land?",land$,:input s$ if s$<>"":land$=left$(s$,2) :endif od$="j" print "Oeff. Dienst?",od$,:input s$ if s$<>"":od$=left$(s$,1) :endif rem easter after oudin century%=year%/100 g%=year%/19:g%=year%-g%*19 k%=(century%-17)/25 j%=(century%-century%/4-(century%-k%)/3+19*g%+15) i%=j%/30:i%=j%-i%*30 i%=i%-(i%/28)*(1-(i%/28)*(29/(i%+1))*((21-g%)/11)) l%=(year%+year%/4+i%+2-century%+century%/4) j%=l%/7:j%=l%-j%*7 l%=i%-j% em%=3+(l%+40)/44 ed%=l%+28-31*(em%/4) e%=days(ed%,em%,year%)-days(1,1,year%) rem 1. advent: a%=days(24,12,year%)-(dow(24,12,year%)-int(dow(24,12,year%)/7)*7)-21-days(1,1,year%) ernte%=days(1,10,year%)-(dow(1,10,year%)-7)-days(1,1,year%) sa%=days(1,4,year%)-(dow(1,4,year%)-7)-days(1,1,year%)-7 se%=days(1,11,year%)-(dow(1,11,year%)-7)-days(1,1,year%)-7 mutter%=days(1,5,year%)-(dow(1,5,year%)-7)+7-days(1,1,year%) create "a:h"+int$:(year%,4),b,date$,text$ open "a:german",a,n$,d%,m%,l$,t$ do print a.n$ if a.d%=0 :h=e% elseif a.d%=99 :h=a% elseif a.d%=107 :h=ernte%-a.m% elseif a.d%=207 :h=mutter%-a.m% elseif a.d%=407 :h=se%-a.m% elseif a.d%=907 :h=sa%-a.m% else h=0:m%=a.m% :d%=a.d% endif if h<>0 :h=month:(int(h+a.m%),year%) :m%=h :d%=(h-m%)*100 :endif b.date$=int$:(year%,4)+int$:(m%,2)+int$:(d%,2)+"00000100" b.text$=a.n$ if a.t$="F" or loc(a.l$,land$)<>0 B.TEXT$=B.TEXT$+", Feiertag" endif if a.t$="fo" and od$="j":b.text$=b.text$+", Nachmittag frei!" :endif if a.t$="Fo" and od$="j":b.text$=b.text$+", frei!" :endif use b :append use a :next until eof print "Done!" get