1. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 1
Application de gestion d’un
catalogue d’étudiants en Delphi 7
Annoncé: L’application en cours de développement en Delphi (Delphi 7) permet
d’effectuer les opérations suivantes sur un catalogue d’étudiants:
1- Ajout d’un étudiant au catalogue ;
2- Suppression d’un étudiant du catalogue ;
3- Modification des informations d’un étudiant existant dans le catalogue ;
4- Recherche d’un étudiant dans le catalogue ;
5- Afficher la liste de tous les étudiants ;
6- La sauvegarde de la liste de tous les étudiants dans un fichier texte.
7- Le chargement de la liste de tous les étudiants à partir d’un fichier texte déjà sauvegardé.
Sachant que chaque étudiant est caractérisé par :
• Un numéro d’inscription de type chaine de caractère;
• Un nom et un prénom de type chaine de caractère;
• Une date de naissance de type Date (jour, mois, année) ;
• Un lieu de naissance de type chaine de caractère;
• Une filière de type chaine de caractère ;
• Année de type chaine de caractère ;
Objectifs: à la fin de la réalisation de ce TP, le stagiaire va être capable de :
• Utiliser les structures de données (Enregistrement, tableau d’enregistrement,..) sous
DELPHI, ainsi que la notion de variable locale/globale.
• Développer une application MDI (Multiple Document Interface).
• Manipuler les propriétés et programmer quelques évènements des composants:
TMainmenu, TComboBox , TMemo, TOpenDialog, TSaveDialog,…
2. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 2
1) La structure de donnée utilisée:
const n = 10;
type
Date = record
jour : 1..31;
mois : 1..12;
annee : integer;
end;
Etudiant = record
numInscription : String;
nom,prenom : String;
dateNaissance : Date;
lieuNaissance : String;
filiere : String;
Annee : String;
end;
var catalogue : array[1..n] of Etudiant;
Le code de cette structure de données est placé dans le fichier Unit1.h (Les variables
déclarées ici sont globales)
2) Les fiches (Forms):
L’application est constituée de 6 fiches, la première est utilisée comme une interface
principale, et les autres fiches enfantes correspond chacune à une opération parmi les
opérations mentionnées précédemment;
Lors du lancement de Delphi 7, la forme principale est créée automatiquement. Pour
ajouter les autres fiches (enfantes) : File →New →Form
Installer une application MDI: Pour mettre notre application MDI, suivez les
étapes suivantes :
• Mettez la propriété FormStyle de la fiche principale (Form1) : fsMDIForm.
• Mettez la propriété FormStyle des autres fiches (Form2, Form3, Form4,
Form5): fsMDIChild.
• Menu Project → Options :
3. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 3
La fiche principale est
créée automatiquement
lors du lancement de
l’application
4. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 4
Pour créer une fiche enfante après cette configuration, la syntaxe suivante doit être
respectée :
Nom_Fiche := TNom_Fiche.Create(Application);
Exemple: Pour créer la 2ème
fiche (de type TForm2):
Form2 := TForm2.Create(Application);
La fiche principale (Form1) :
Figure 1: La fiche principale Form1
Cette fiche principale (FormStyle=fsMDIForm) est constituée des composants :
MainMenu1, OpenDialog1, ToolBar1 (SpeedButton1,..,SpeedButton7).
La 2ème
fiche (Form2) : Cette fiche est conçue pour ajouter un étudiant au catalogue.
Figure 2: La 2ème
fiche Form2
5. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 5
Cette fiche enfante (FormStyle=fsMDIChild) est constituée des composants :
Label1 (Caption=’Numéro d’inscription :’), Label2 (Caption=’Nom :’), Label3
(Caption=’Prénom :’), Label4 (Caption=’Date de naissance :’), Label5 (Caption=’à :’),
Label6 (Caption=’Filière :’), Label7 (Caption=’Année:’), Edit1, Edit2,..Edit6,
ComboBox1, ComboBox2, ComboBox3 et d’un BitBtn1.
La 3ème
fiche (Form3) : Cette fiche est conçue pour retirer un étudiant du catalogue
Figure 3: La 3ème
fiche Form3
Cette fiche enfante (FormStyle = fsMDIChild) est constituée des composants :
Label1 (Caption=’Numéro d’inscription’), ComboBox1 (Style= csDropDownList),
Button1 (Caption = ‘Supprimer’).
La 4ème
fiche (Form4) : Cette fiche est conçue pour réaliser les 2 opérations (La
modification des infs d’un étudiant ET La recherche d’un étudiant).
Figure 4: La 4ème
fiche Form4
Cette fiche enfante (FormStyle=fsMDIChild) est constituée des composants :
Label1 (Caption=’Numéro d’inscription :’), Label2 (Caption=’Nom :’), Label3
(Caption=’Prénom :’), Label4 (Caption=’Date de naissance :’), Label5 (Caption=’à :’),
6. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 6
Label6 (Caption=’Filière :’), Label7 (Caption=’Année:’), Edit1, Edit2,..Edit6,
ComboBox1, ComboBox2, ComboBox3, BitBtn1(Kind=bkOK), BitBtn2(Kind=bkCancel)
La 5ème
fiche (Form5) : Cette fiche est conçue pour réaliser les 2 opérations
(L’affichage de la liste de tous les étudiants ET Le chargement d’un fichier texte).
Figure 5: La 5ème
fiche Form5
Elle est constituée des composants : Label1(‘Liste de tous les étudiants :’), Memo1
(ReadOnly=True), Button1 (Caption=’Enregistrer’) , SaveDialog1.
7. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 7
Le code source: (Unit1.pas) de la fiche (Form1)
• MainMenu1:
L’option : Ajouter un étudiant, Evènement : OnClick
L’option : Supprimer un étudiant, Evènement : OnClick
8. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 8
L’option : Modifier les infs d’un étudiant, Evènement : OnClick
L’option : Chercher un étudiant, Evènement : OnClick
9. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 9
L’option : Afficher la liste de tous les étudiants, Evènement : OnClick
L’option : Charger un fichier texte, Evènement : OnClick
10. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 10
L’option : Quitter, Evènement : OnClick
Evènement : OnCreate de la fiche Form1
Evènement : OnClick des composants (SpeedButton1,..SpeedButton7) respectivement.
11. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 11
Le code source: (Unit2.pas) de la fiche (Form2)
Evènement : FormClose de Form2
Evènement : OnClick de BitBtn1
12. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 12
Le code source: (Unit3.pas) de la fiche (Form3)
Evènement : FormClose de Form3
Evènement : OnClick de Button1
Le code source: (Unit4.pas) de la fiche (Form4)
Evènement : FormClose de Form4
Evènement : OnClick de BitBtn2
13. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 13
Evènement : OnSelect de ComboBox1
Evènement : OnClick de BitBtn1
14. Formation: Technicien supérieur en Informatique –Option : Bases de données– Semestre N°3 Module: Delphi
Enseignant : Mazouz.M 2013/2014 Page 14
Le code source: (Unit5.pas) de la fiche (Form5)
Evènement : FormClose de Form5
Evènement : OnClick de Button1
Astuces:
• Pour charger une image (Bitmap) dans le boutton de type TSpeedButton, on utilise la
propriété Glyph.
• Pour fixer les dimensions (Largeur, hauteur) d’une fiche, on utilise la propriété
Constraints. Exemple : Pour fixer la largeur (width) à 100, et la hauteur (height) à
200 :
• Pour libérer les fiches enfantes lors de sa fermeture, on écrit le code suivant dans
l’évènement OnClose : action := caFree ;
• Pour rendre le composant Memo1 à lecture seule, on met la propriété ReadOnly
égale à True.
• Pour activer/désactiver un composant, on met la propriété Enabled à true/false.
• Pour cacher/afficher un composant, on met la propriété Visible à true/false.