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,posy: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>