home *** CD-ROM | disk | FTP | other *** search
- unit Musik;
-
-
- interface
-
- uses dos,crt;
-
- type Toene = (c,cis,d,dis,e,f,fis,g,gis,a,b,h);
-
- const Hoehe: array[Toene] of word =
- (10465, 11087, 11747, 12445, 13185, 13969,
- 14800, 15680, 16613, 17600, 18647, 19755);
-
- Ganze = 150;
-
- var OktaveFaktor: byte;
-
-
- procedure Play(Ton: Toene; Laenge, Pause: word);
- procedure Oktave(OktavNr: byte);
- procedure Warte(Laenge: longint);
-
-
- implementation
-
-
- function MomentZeit: longint;
- var h,m,s,hund: word;
- begin
- GetTime(h, m, s, hund);
- Momentzeit := h*360000+m*6000+s*100+hund
- end;
-
-
- procedure Warte(Laenge: longint);
-
- var Start, Zeit1, Zeit2: longint;
-
- begin
- Start := Momentzeit;
- Zeit1 := Start + Laenge;
- repeat
- Zeit2 := Momentzeit;
- until (Zeit2 > Zeit1) or (Zeit2 < Start)
- end;
-
- procedure Play(Ton: Toene; Laenge, Pause: word);
- begin
- sound(Hoehe[Ton] div OktaveFaktor);
- warte(Ganze div Laenge);
- nosound;
- if Pause > 0 then
- warte(Ganze div Pause)
- end;
-
-
- procedure Oktave(OktavNr: byte);
- begin
- OktaveFaktor := 256 shr OktavNr
- end;
-
- begin
- Oktave(2);
- end.