Jump to content

Calendar: Difference between revisions

3,731 bytes added ,  2 years ago
m (→‎{{header|F Sharp}}: Regularize header markup to recommended on category page)
Line 9,544:
 
 
 
=={{header|VBScript}}==
VBScript has a good set of time-date functions. The program issues its output line to line to stdout so it can ba redirected to file or to printer. By deault the code will print the calender in your locale, you can chenge it.
<lang vb>
'call it with year, number of months per row (1,2,3,4,6) and locale ("" for default)
 
docal 2022,6,""
 
function center (s,n) x=n-len(s):center=space(x\2+(x and 1))& s & space(x\2):end function
 
sub print(x) wscript.stdout.writeline x : end sub
 
function iif(a,b,c) :if a then iif=b else iif =c end if : end function
 
sub docal (yr,nmonth,sloc)
dim ld(6)
dim d(6)
if nmonth=5 or nmonth>6 then wscript.stderr.writeline "Can't use width " & nmonth :exit sub
if sloc<>"" then Setlocale sloc
 
for i=1 to 7
wday=wday &" "&left(weekdayname(i,true,vbUseSystemDayOfWeek),2)
next
ncols=nmonth*21+(nmonth-1)*1
print center(yr,ncols)
print string(ncols,"=")
 
for i=1 to 12\nmonth
 
s="": s1="":esp=""
for j=1 to nmonth
s=s & esp & center(monthname(m+j),21)
s1=s1 & esp & wday
d(j)= -weekday(dateserial(yr,m+j,1),vbUseSystemDayOfWeek)+2
ld(j)=day(dateserial(yr,m+j+1,0))
esp=" "
next
print s: print s1
while(d(1)<ld(1)) or (d(2)<ld(2)) or (d(3)<ld(3)) or (d(4)<ld(4))
s=""
for j=1 to nmonth
for k=1 to 7
s=s& right(space(3)&iif(d(j)<1 or d(j)>ld(j),"",d(j)),3)
d(j)=d(j)+1
next
s=s&" "
next
print s
wend
m=m+nmonth
if i<>12\nmonth then print ""
next
print string(ncols,"=")
end sub
 
</lang>
output
<pre>
2022
===================================================================================================================================
enero febrero marzo abril mayo junio
lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do
1 2 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 1 1 2 3 4 5
3 4 5 6 7 8 9 7 8 9 10 11 12 13 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
10 11 12 13 14 15 16 14 15 16 17 18 19 20 14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
17 18 19 20 21 22 23 21 22 23 24 25 26 27 21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
24 25 26 27 28 29 30 28 28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30
 
julio agosto septiembre octubre noviembre diciembre
lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do
1 2 3 1 2 3 4 5 6 7 1 2 3 4 1 2 1 2 3 4 5 6 1 2 3 4
4 5 6 7 8 9 10 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
11 12 13 14 15 16 17 15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
18 19 20 21 22 23 24 22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
25 26 27 28 29 30 31 29 30 31 26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
===================================================================================================================================
</pre>
 
=={{header|WYLBUR}}==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.