Il s'agit d'une question de respect de la loi.
modèle d'unité ;
interface
utiliseDialogs ;
taper
TAudioPlayer=classe;
TCommand=classe
publique
procédureexécuter;virtuel;abstrait;
fin;
TPlayCommand=classe(TCommand)
privé
Lecteur Audio : TAudioPlayer ;
publique
procédureexécuter;remplacer;
procédurePlaycommand(AP:TAudioPlayer);
fin;
TStopCommand=classe(TCommand)
privé
Lecteur Audio : TAudioPlayer ;
publique
procédureexécuter;remplacer;
procédureStopComman(AP:TAudioPlayer);
fin;
TRewindCommand=classe(TCommand)
privé
Lecteur Audio : TAudioPlayer ;
publique
procédureexécuter;remplacer;
procédureRewindCommand(AP:TAudioPlayer);
fin;
TKeyPad=classe
privé
LectureCommand:TCommand;
Commande d'arrêt : TCommande ;
RewindCommand:TCommand;
publique
constructeurCreate(PlayC,StopC,RewindC:TCommand);virtuel;
procédureplay();
procéduresstop();
procédurerewind();
fin;
TAudioPlayer=classe
publique
procédureplay();
procéduresstop();
procédurerewind();
fin;
TClient=classe
privé
Clavier : TKeyPad ;
Lecteur Audio : TAudioPlayer ;
publique
constructeurCréer();
procéduretest();
fin;
mise en œuvre
{TKeyPad}
constructeurTKeyPad.Create(PlayC,StopC,RewindC:TCommand);
commencer
PlayCommand:=PlayC;
StopCommand:=StopC;
RewindCommand:=RewindC;
fin;
procédureTKeyPad.play;
commencer
PlayCommand.execute;
fin;
procédureTKeyPad.rewind;
commencer
RewindCommand.execute;
fin;
procédureTKeyPad.stop;
commencer
StopCommand.execute;
fin;
{TAudioPlayer}
procédureTAudioPlayer.play;
commencer
ShowMessage('jouer');
fin;
procédureTAudioPlayer.rewind;
commencer
ShowMessage('rewind');
fin;
procédureTAudioPlayer.stop ;
commencer
ShowMessage(´stop´);
fin;
{TPlayCommand}
procédureTPlayCommand.execute;
commencer
hérité;
AudioPlayer.play();
fin;
procédureTPlayCommand.Playcommand(AP:TAudioPlayer);
commencer
self.AudioPlayer:=AP;
fin;
{TRewindCommand}
procédureTRewindCommand.execute;
commencer
hérité;
AudioPlayer.Rewind;
fin;
procédureTRewindCommand.RewindCommand(AP:TAudioPlayer);
commencer
Lecteur Audio :=ap ;
fin;
{TStopCommand}
procédureTStopCommand.execute;
commencer
hérité;
AudioPlayer.Stop ;
fin;
procédureTStopCommand.StopComman(AP:TAudioPlayer);
commencer
Lecteur Audio :=ap ;
fin;
{TClient}
constructeurTClient.Create ;
commencer
AudioPlayer:=TAudioPlayer.Create();
fin;
procédureTClient.test;
var
LectureCommand:TCommand;
Commande d'arrêt : TCommande ;
RewindCommand:TCommand;
commencer
PlayCommand:=TPlayCommand.Create;
StopCommand:=TStopCommand.Create;
RewindCommand:=TRewindCommand.Create;
KeyPad:=TKeyPad.Create(PlayCommand,StopCommand,RewindCommand);
KeyPad.stop ;
KeyPad.play ;
KeyPad.rewind;
KeyPad.Stop ;
fin;
fin.