home *** CD-ROM | disk | FTP | other *** search
- (***************************************
- * WG-VISION 1.0 BEISPIELPROGRAMM *
- ****************************************
- * *
- * "Klavier-Simulator" *
- * *
- ****************************************
- * (c) 1993 Dipl.Phys. Mathias Scholz *
- ***************************************)
-
- {$I COMPILER.INC}
-
- program Klavier;
-
- uses WApp,
- WEvent,
- WDecl,
- WViews,
- WDlg,
- WUtils,
- Crt;
-
-
- const cmKlavier=101;
-
- type TApplication=object(TApp)
- procedure InitMenuBar; virtual;
- procedure HandleEvent; virtual;
- procedure PlayWindow;
- end;
-
- PPiano=^TPiano;
- TPiano=object(TDlgWindow)
- constructor Init(X,Y:integer);
- procedure HandleEvent; virtual;
- end;
-
- var MyApp:TApplication;
-
-
- {Implementation TApplication}
-
- procedure TApplication.InitMenuBar;
- begin
- MainMenu('~F~enster',0);
- SubMenu('~K~lavier',cmKlavier,0,0,false,false);
- SubMenu('E~x~it Alt-X',cmCloseApplication,0,altX,false,false);
- end;
-
- procedure TApplication.HandleEvent;
- begin
- Heap^.ShowHeapStatus(523,8,White);
- TProgram.HandleEvent;
- case Event.Command of
- cmKlavier : PlayWindow;
- end; {case}
- end;
-
- procedure TApplication.PlayWindow;
- var Window:PPiano;
- begin
- Window:=New(PPiano, Init(60,80));
- InsertDesktop(Window);
- end;
-
- {Implementation TPiano}
-
- constructor TPiano.Init(X,Y:integer);
- var RR:TRect;
- begin
- RR.Assign(X,Y,X+184,Y+102);
- TDlgWindow.Init(RR,'Klavier',winDouble+winPanel+winMenu);
- SetPushButton(6,26,22,70,'C',90);
- ChangePalColor(8,LightGray);
- SetPushButton(31,26,22,70,'D',91);
- ChangePalColor(8,LightGray);
- SetPushButton(56,26,22,70,'E',92);
- ChangePalColor(8,LightGray);
- SetPushButton(81,26,22,70,'F',93);
- ChangePalColor(8,LightGray);
- SetPushButton(106,26,22,70,'G',94);
- ChangePalColor(8,LightGray);
- SetPushButton(131,26,22,70,'A',95);
- ChangePalColor(8,LightGray);
- SetPushButton(156,26,22,70,'H',96);
- ChangePalColor(8,LightGray);
- end;
-
- procedure TPiano.HandleEvent;
-
- procedure Piep(Frequenz:integer);
- begin
- Sound(Frequenz);
- Delay(100);
- NoSound;
- end;
-
- {------}
-
- begin
- TDlgWindow.HandleEvent;
- case Event.Command of
- 90 : Piep(262);
- 91 : Piep(294);
- 92 : Piep(330);
- 93 : Piep(349);
- 94 : Piep(392);
- 95 : Piep(440);
- 96 : Piep(494);
- end; {case}
- end;
-
- {Hauptprogramm}
-
- begin
- MyApp.Init('Klavier-Simulation');
- MyApp.Run;
- MyApp.Done;
- end.
-
-