OLG Seifhennersdorf/Test
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Pascal</language>
<code id="4d36cffeb47bc">
procedure leiter;
var i:Integer;
begin
for i := 0 to 10 do
sound_play(50+i*2,100);
end;
</code>
<run id="4d2a0bf79ce23">
selectSound(1); // Piano MIDI
leiter();
</run>
<code id="4d2a0bf79cc25">
var Lied:String;
key:integer;
dauer:integer;
c:Char; k:Char;
i,posx,z:Integer;
</code>
<canvas w=800 h=100></canvas>
<run id="4aa4b46b6775d">
canvas_clear();
Lied := '3,14151876391059256874125';
selectSound(19); // 19. MIDI organ
posx:=0;
z:=2*((length(Lied)-2) div 2);
for i := 3 to z+1 do begin
if i mod 2 = 1 then begin
c := Lied[i];
k := Lied[i+1];
writeln(c+' '+k);
if c = '0' then key := 60;
if c = '1' then key := 62;
if c = '2' then key := 64;
if c = '3' then key := 65;
if c = '4' then key := 67;
if c = '5' then key := 69;
if c = '6' then key := 71;
if c = '7' then key := 73;
if c = '8' then key := 75;
if c = '9' then key := 77;
if (k='0') or (k='1') or (k='2') then dauer := 100 div 1;
if (k='3') or (k='4') or (k='5') then dauer := 100 div 2;
if (k='6') or (k='7') then dauer := 100 div 4;
if (k='8') or (k='9') then dauer := 100 div 8;
canvas_fillRect(posx,80-(key-60)*4,dauer,10);
posx := posx + dauer+5;
sound_play(key,dauer*10);
end;
end;
</run>