Création    

Somrel
( Elaboration d'un programme sur la somme de deux entiers relatifs. )

Cahier des charges :

L'ordinateur choisit deux nombres entiers relatifs compris entre -50 et 50 (par exemple) et l'élève doit entrer le résultat à l'aide du clavier. En tout 10 opérations seront à faire.
Après avoir donné son résultat, l'élève clique sur un bouton (ou appuie sur la touche Entrée) et son résultat est évalué par l'ordinateur.
- Si son résultat est juste, on passe à la somme suivante.
- Si son résultat est faux un message d'erreur devrait apparaître avec la solution.
Un panneau affiche le score de l'élève à l'issue de chaque opération.


Le programme utilisera les objets suivants :

TForm Fenêtre de travail Windows classique qui contiendra tous les éléments nécessaires pour faire tourner notre programme.
TPanel Panneau d'affichage.
TEdit Objet servant à afficher et à mémoriser une saisie effectuée au clavier (256 ca-ractères maximum).
TButton Bouton classique sous Windows.


Pas à pas ( ou presque )

( i )
Notre application contiendra une seule fiche (de type TForm) et de style fsNormal (il existe d'autres styles: voir « Propriétés » dans « l’Inspecteur d'objets » rubrique FormStyle de l'objet Form1 si Form1 est le nom de la fiche principale)

Enregistrer immédiatement le projet dans un dossier.
  • Renommer « Unit1.pas » sous « USomrel.pas »
  • Renommer « project1.dpr » sous « somrel.dpr ».
En utilisant la palette des composants et la souris, on "collera" dans la fiche
principale:
  • 1 composant TMemo
  • 6 composants TPanel
  • 1 composant TButton
  • 1 composant Tedit.

.La taille et la disposition de ces composants devra correspondre à que vous voyez ci-dessous.

( ii )
Ces 9 objets ont tous des Propriétés plus ou moins diverses : Size, Color, Height, Width, Name, Caption, Lines ...
En insérant les objets sur la fiche nommée Form1 par Delphi, ces objets sont nommés à leur tour par Delphi et leur propriété Name est enregistrée.

En utilisant la propriété Name de chaque composant et à l’aide de l’Inspecteur d’objets, renommer les 9 composants installés :

  1. cliquer sur le composant à modifier
  2. dans l’inspecteur d’objets, onglet Propriétés, cliquer sur la propriété Name, colonne de gauche
  3. modifier la Propriété Name, colonne de droite
Nom assigné
par Delphi
Nouveau nom
Form1 FormSomRel
Memo1 MemoConsigne
Panel1 PanelEntier1
Panel2 PanelPlus
Panel3 PanelEntier2
Panel4 PanelEgale
Panel5 PanelScore
Panel6 PanelNote
Button1 BoutonVerification
Edit1 EditSaisieEleve

Quand une fiche contient plusieurs composants TPanel, plusieurs composants TButton etc, il est difficile de se rappelerdes rôles de Panel6 ou Button3... En les renommant PanelTitreTableau et BoutonCalculColonne1, leur appellation devient plus parlante ...

( iii )
L’aspect initial de la fenêtre de démarrage de notre programme peut être décidé dès la conception par le biais de l’inspecteur d’objets onglet Propriétés.

Comment changer l’affichage d’un composant ?

.. pour MemoConsigne :

  1. cliquer sur le composant MemoConsigne
  2. dans l’Inspecteur d’objets, cliquer sur Lines, colonne de gauche, puis cliquer sur ... colonne de droite ...
  3. écrire le texte souhaité


..
pour PanelPlus :

  1. cliquer sur le composant PanelPlus
  2. dans l’Inspecteur d’objets, cliquer sur Caption, colonne de gauche
  3. modifier la Propriété Caption, colonne de droite

..
pour BoutonVerification :

  1. cliquer sur le composant BoutonVerification
  2. dans l’inspecteur d’objets, cliquer sur Caption, colonne de gauche
  3. modifier la Propriété Caption, colonne de droite (écrire : &Vérification)

Les couleurs des composants peuvent être modifiées s’ils ont la Propriété Color.
Les composants TButton n’ont pas de Propriété Color.
Les formes et les couleurs des caractères peuvent être modifiées si les composants ont la Propriété Font.
La bordure des composants TPanel dépend des Propriétés BevelInner, BevelOuter, BevelWidth, BorderStyle et BorderWidth.

Changer les couleurs et les « fontes » des composants suivants.

Composant

Couleur

Fonte

PanelNombre1 bleu Ms Sans Sérif-14-gras-blanc
PanelPlus noir Ms Sans Sérif-14-gras-jaune
PanelNombre2 bleu Ms Sans Sérif-14-gras-blanc
PanelEgale noir Ms Sans Sérif-14-gras-jaune
EditSaisieEleve rouge Ms Sans Sérif-14-gras-vert

Les agréments des autres composants seront modifiés selon vos inspirations ...

( iv )
Nous venons de terminer la première phase de notre projet, il reste maintenant à établir les connexions entre les divers composants afin qu’ils effectuent les tâches définies dans le « cahier des charges »

Ces composants peuvent réagir à des événements : par exemple, le composant BoutonVerification peut "lancer" une tâche de votre choix si on clique dessus, si on appuie sur une certaine touche, si la souris bouge... La liste des évènements qui peuvent faire réagir le composant BoutonVerification apparaît en cliquant sur ce composant puis en sélectionnant l’onglet Evènements de l’Inspecteur d’objets.
Tous les évènements ne sont pas forcément utilisés.

Bien que les variables et les procédures propres au programmeur puissent être déclarées en dehors de l’objet TFormSomRel il est conséillé de faire ces déclaration dans la partie Private de l’objet TFormSomRel .
Pour implémenter (c'est à dire, écrire le code Pascal) une méthode (c'est à dire, d'une procédure) « privée » appelée "InitialisationCalcul(...)", par exemple, il faudra écrire :

Procedure TFormSomRel.InitialisationCalcul(...) ;
[type ...]
[const ...]
[var ...]
begin
...
end ;

 
( v )
Ecrire le code Pascal liant les réactions des composants.

Comment écrire la procédure associée à l'évènement OnClick du composant BoutonVerifiation ?

  1. cliquer sur le composant BoutonVerifiaction
  2. sélectionner l’onglet Evenements de l’Inspecteur d’objets
  3. double-cliquer sur la rubrique OnClick
  4. l'Inspecteur d'objets nous renvoie à l'unité USomrel et nous invite à écrire le code de la
    procédure TFormSomRel.BoutonVerificationClick(Sender: TObject)

Remarques
1/ Au démarrage de l’application il faut peut-être initialiser des variables ...
2/ Ne pas oublier de traiter le cas où l’élève appuie sur la touche entrée.

Extension

1/ Que se passe-t-il quand l’utilisateur change la taille de la fenêtre ?
Ecrire le code Pascal qui positionne les composants en fonction de la taille de la fenêtre.
(Evénement OnResize.)

2/ Prévoir une variable Operation (ou autre nom) de sorte que le programme puisse traiter le cas des soustractions, multiplications et divisions.

3/ Affiner la correction du calcul :
si erreur de signe, envoyer un message du style ‘Erreur de signe, recommence’ si tentative<tentativeMaxi
si erreur d’opération, envoyer un message ‘Erreur d’opération’...
etc

4/ Prévoir une aide simplifiée : fiche TForm de type fsNormal avec un composant TMemo et un composant TButton pour la fermer.
Prévoir un composant TButton sur la fiche TFormSomRel qui appelle l’aide ...

 

Malgré toutes ces explications il est possible que vous ne réussissiez pas à faire le programme : vous pouvez télécharger la solution en dernier recours ...

Télécharger l'exécutable (32bits, 100ko)
Télécharger le projet (Delphi1,2,3 - 2ko)

Accueil Actualités F.A.Q. Exercices Liens Télécharger Création
Vous pouvez nous écrire: lilimath@lille.iufm.fr Box