45. Esempi
Qui di seguito trovate due programmi creati interamente da me.
Il primo è un cronometro digitale con interfaccia grafica, il secondo è invece un programma che suona la famosissima canzone Merry Christmas.
program Cronometro; uses crt,graph; var x,i:integer; tick,num1,num2,num3,num4:integer; tasto:char; procedure Grafica; var a,b:integer; begin a:=detect; initgraph(a,b,''); if graphresult<>grok then begin writeln('Errore di inizializzazione Driver Grafici'); clearviewport; end; end; procedure Colore; var a:byte; begin randomize; setcolor(random(15-1)); end; procedure Linea1; begin line(x+50,45,x+150,45); end; procedure Linea2; begin line(x+50,145,x+150,145); end; procedure Linea3; begin line(x+50,50,x+50,140); end; procedure Linea4; begin line(x+150,50,x+150,140); end; procedure Linea5; begin line(x+50,240,x+150,240); end; procedure Linea6; begin line(x+150,150,x+150,235); end; procedure Linea7; begin line(x+50,150,x+50,235); end; procedure Numero1; begin Linea4;Linea6; end; procedure Numero2; begin Linea1;Linea4;Linea2;Linea7;Linea5; end; procedure Numero3; begin Linea1;Linea4;Linea2;Linea6;Linea5; end; procedure Numero4; begin Linea3;Linea4;Linea2;Linea6; end; procedure Numero5; begin Linea1;Linea3;Linea2;Linea6;Linea5; end; procedure Numero6; begin Linea1;Linea3;Linea2;Linea7;Linea6;Linea5; end; procedure Numero7; begin Linea1;Linea4;Linea6; end; procedure Numero8; begin Linea1;Linea2;Linea3;Linea4;Linea5;Linea6;Linea7; end; procedure Numero9; begin Linea1;Linea3;Linea4;Linea2;Linea6;Linea5; end; procedure Numero0; begin Linea1;Linea3;Linea4;Linea5;Linea6;Linea7; end; procedure TickTock; begin repeat repeat tick:=0; num4:=0; num3:=0; repeat sound(1000); delay(100); nosound; if keypressed then tasto:=readkey; if ord(tasto)=114 then begin outtextxy(200,320,'Premi qualsiasi altro tasto per continuare'); delay(3000); num4:=0; num3:=0; num2:=0; num1:=0; tick:=0; end; if ord(tasto)=105 then begin outtextxy(190,320,'Premi qualsiasi altro tasto per continuare'); repeat until keypressed end; if ord(tasto)=117 then begin sound(1500); delay(100); nosound; halt; end; clearviewport; outtextxy(160,300,'Ripartire "R"'); outtextxy(310,300,'Interrompere "I"'); outtextxy(460,300,'Uscire "U"'); x:=430; if num4=10 then begin case tick of 10:begin num3:=1; num4:=0; end; 20:begin num3:=2; num4:=0; end; 30:begin num3:=3; num4:=0; end; 40:begin num3:=4; num4:=0; end; 50:begin num3:=5; num4:=0; end; end; end; case num4 of 0: Numero0; 1: Numero1; 2: Numero2; 3: Numero3; 4: Numero4; 5: Numero5; 6: Numero6; 7: Numero7; 8: Numero8; 9: Numero9; end; x:=290; case num3 of 0: Numero0; 1: Numero1; 2: Numero2; 3: Numero3; 4: Numero4; 5: Numero5; end; x:=120; case num2 of 0: Numero0; 1: Numero1; 2: Numero2; 3: Numero3; 4: Numero4; 5: Numero5; 6: Numero6; 7: Numero7; 8: Numero8; 9: Numero9; end; x:=0; case num1 of 0: Numero0; 1: Numero1; 2: Numero2; 3: Numero3; 4: Numero4; 5: Numero5; end; delay(1000); num4:=num4+1; tick:=tick+1; until num4=11; num2:=num2+1; until num2=10; num1:=num1+1; num2:=0; until num1=6; end; begin grafica; colore; tick:=0; num4:=0; num3:=0; num2:=0; num1:=0; ticktock; end.
program MerryChristmas; uses crt; const DoMin: Integer=261; Re : Integer=293; Mi : Integer=329; Fa : Integer=349; Sol : Integer=392; La : Integer=440; Si : Integer=493; DoMag: Integer=523; begin randomize; repeat sound(domin); delay(500); sound(fa); delay(500); sound(fa); delay(250); sound(sol); delay(250); delay(50); sound(fa); delay(250); sound(mi); delay(250); sound(re); delay(500); sound(re); delay(500); sound(re); delay(500); sound(sol); delay(250); sound(la); delay(250); delay(50); sound(sol); delay(250); sound(fa); delay(250); sound(mi); delay(500); sound(domin); delay(500); sound(domin); delay(500); sound(la); delay(500); sound(la); delay(250); sound(si); delay(250); delay(50); sound(la); delay(250); sound(sol); delay(250); sound(fa); delay(500); sound(re); delay(500); sound(domin); delay(250); sound(domin); delay(250); delay(50); sound(re); delay(500); sound(sol); delay(500); sound(mi); delay(500); sound(fa); delay(1000); sound(domin); delay(500); sound(fa); delay(500); sound(fa); delay(500); sound(fa); delay(500); sound(mi); delay(1000); sound(mi); delay(500); sound(fa); delay(500); sound(mi); delay(500); sound(re); delay(500); sound(domin); delay(1000); sound(sol); delay(500); sound(la); delay(500); sound(sol); delay(500); sound(fa); delay(500); sound(domag); delay(500); sound(domin); delay(500); sound(domin); delay(250); sound(domin); delay(250); sound(re); delay(500); sound(sol); delay(500); sound(mi); delay(500); sound(fa); delay(1000); nosound; until keypressed; end.