






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
cour d7 creation bdd avec delphi
Typology: Cheat Sheet
1 / 10
This page cannot be seen from the preview
Don't miss anything!







Création d’une base de donnée avec DELPHI (pascal de BORLAND) Création du répertoire de TRAVAIL ; Commencer par créer un répertoire dans le répertoire DELPHI. Lancer l’Explorateur, Activer le répertoire DELPHI puis dans le menu Fichiers de l’explorateur demander Nouveau Dossier. L’explorateur créé immédiatement un sous dossier de DELPHI que l’on nomme FIC2ND (il suffit en fait de remplacer Nouveau dossier par FIC2ND ). Ce répertoire contiendra le fichier exécutable que nous allons créer ainsi que la base de données. 1- Création d’une Fiche au Format DBASE. DBase est un format officiel de base de données. Il est donc facile d’exporter ou d’importer un fichier DBase. Nous allons développer le logiciel que nous avons utilisé en seconde : un fichier de classe : une fiche contiendra les champs suivants :
f- Ajouter et modifier des fiches Le tableau Dbgrid1 permet de naviguer facilement dans la base données. Il nous manque seulement deux boutons : un pour ajouter une fiche et un pour détruire une fiche. Nous allons créer ces boutons et cette fois il va falloir écrire un peu de code Pascal!! Dans la barrette Supplément utiliser un bouton BitBtn et le placer sous les cadres de saisies. Renommer la commande Caption en &Ajouter et le Champ Name en Ajouter (à la place de BitBtn1 ). Cliquer sur les … de la commande Glyph pour charger l’image \ DELPHI\IMAGES\BUTTONS\INSERT.BMP. Il faut maintenant écrire la procédure qui va permettre d’entrer dans la fenêtre d’édition et d’ajouter une fiche. Double-cliquer sur le bouton &Ajouter. Delphi fabrique aussitôt le squelette de la procédure Pascal AjouterClick1 qui s'exécutera lorsque l’on cliquera sur ce bouton. Il nous faut alors écrire le code pascal permettant l’ajout d’une fiche entre le Begin et le End ; de la procédure. Nous allons en fait écrire seulement deux instructions :
A l’aide de la barrette Standard définir une fenêtre GroupBox et la nommer TRI SUIVANT … Sur cette fenêtre placer deux boutons nommés NOM et CLASSE. Associer à ces boutons l’image \DELPHI\IMAGES\BUTTONS\Sort.BMP. La commande Pascal associée au Bouton NOM sera : Table1.IndexFieldNames := 'NOM'; La commande Pascal associée au Bouton NOM sera : Table1.IndexFieldNames := 'CLASSE'; Relancer le programme ( F9 ) et essayer. Enregistrer votre travail i- Des sélections Pour qu’une base de données soit utilisable il faut pouvoir sélectionner une partie de la base : un classe ou toutes les filles etc. A l’aide de la barrette Standard définir une fenêtre GroupBox et la nommer SELECTIONS … Nous allons d’abord définir une fenêtre de sélection permettant à l’utilisateur de rentrer une chaîne de caractères représentant la sélection qu’il veut effectuer. Par exemple « CLASSE = ‘2B’ » ou « COMMUNE = ‘Beaupréau’ » ou encore « CLASSE < ‘2E’». Dans la barrette Standard utiliser une fenêtre Edit et la placer sur la boîte de groupe SELECTIONS… Vider le Champ Text (il est Edit1 par défaut). Il faut pouvoir récupérer la phrase tapée dans une Variable Globale de Type STRING. Nous allons appeler cette variable SELECT. Allons dans la fiche Pascal Fic2nd. En parcourant le code on trouve dans la partie VAR une seule variable qui est Form1 (c’est la variable associée à la fiche principale). Ajoutons alors notre variable globale en tapant une nouvelle ligne SELECT : STRING ; La partie VAR de l’application doit donc être maintenant : VAR Form1 : Tform1 ; Select : STRING ; Revenons maintenant à la fiche et par un double clic tapons la procédure associée à la fenêtre Edit1 : procedure TForm1.Edit1Change(Sender: TObject); begin Select:=Edit1.Text; end; Ajouter le mot Filtre devant la fenêtre Edit. Ajouter alors un bouton GO qui va nous permettre de lancer la sélection utilisant le filtre tapé dans la fenêtre Edit1. Associons à ce bouton la procédure :
end; j- Un compteur Il est important de connaître le nombre de fiches (total ou avec sélection). Créons une fenêtre d’édition MaskEdit1 en utilisant dans la barrette Supplément MaskEdit. Régler la propriété ReadOnly sur TRUE pour qu’il soit uniquement en lecture et ne puisse être modifié par l’utilisateur. Il faut maintenant insérer dans ce masque d’édition le nombre d’enregistrements de la table ( Table1.RecordCount ) et ceci à chaque fois que quelque chose à bougé dans la table. Cliquer sur Table1 pour en ouvrir l’inspecteur d’objets. Dans l’événement AfterScroll taper le nom de procédure Mise_a_jour , double-cliquer et remplir la procédure de la façon suivante : procedure TForm1.Mise_a_Jour(DataSet: TDataSet); VAR St : STRING; begin Str(Table1.RecordCount,St); {transforme le nombre d’enregistrements en chaîne dans St} MaskEdit1.EditText:=St; {place la chaîne St dans le masque d’édition} end; Cette procédure sera appelée chaque fois que quelque chose aura bougé dans le tableau ( AfterScroll ) et le compteur sera donc modifié en permanence. Ajouter le texte ‘ Nombre de fiches ‘ devant la fenêtre MaskEdit1. k- Imprimer les fiches Nous allons fabriquer une nouvelle fiche qui n’apparaîtra pas à l’écran mais qui va nous permettre de préparer le format d’affichage pour l’impression de l’ensemble de la base. Demander Fichiers-Nouvelle Fiche. Nommer impression la nouvelle fiche créée par Delphi. Sur cette fiche nous allons poser tous les composants que nous voulons imprimer. Dans la barrette Qrep choisir un composant QuickRep et le placer sur la nouvelle fiche. A l’aide du bouton droit de la souris et en cliquant sur l’objet QuickRep faire un Zoom Arrière pour visualiser l’ensemble du composant. Régler la propriété DataSet sur Form1.Table1 pour associer ce rapport à notre base de données. Dans la barrette Qrep Choisir un composant Qrband et le placer sur l’objet QuickRep. Cet objet est nommé Qrband1. Régler la propriété BandType sur Rbdetail pour afficher tous les champs les uns à la suite des autres. Poser sur ce composant QuickRep1 un composant QrDBtext. Régler la propriété DataSet sur Form1.Table1 pour lier se composant à notre base. Régler le composant DataField sur le champ NOM (il suffit de faire dérouler et choisir).
Recommencer et poser un autre composant QrDBtext dont on règle DataSet sur Form1.table1 et DataField sur PRENOM. Mettre sa propriété Left à 90. Recommencer pour placer le champ COMMUNE à la suite ( Left = 170 ). Recommencer pour placer le champ CLASSE à la suite ( Left = 310 ). Recommencer pour placer le champ SEXE à la suite ( Left = 370 ). Dérouler le Menu contextuel en cliquant sur QuickRep1 avec le bouton droit et demander une prévisualisation. La fenêtre de dialogue aperçu avant impression s’ouvre et vous montre la page telle qu’elle sera imprimée. Refermer cette page. Il faut maintenant ajouter une barre de titre à la page comportant les mots NOM, PRENOM, COMMUNE, CLASSE, SEXE. Ajouter un autre composant Qrband ( Qrband2 ). Régler la propriété bandType sur RbTitle. Régler la propriété Height à 26 et enfin dérouler la propriété Frame et mettre DrawBottom à TRUE pour tracer une ligne SOUS la bande Title. Sur cette bande Title placer cinq objet Qrlabel et nommer les champs Caption respectivement NOM , PRENOM ( Left = 90 ), COMMUNE ( Left = 170 ), CLASSE ( Left = 310 ) et SEXE ( Left = 370 ). Il faut maintenant ajouter un Bouton sur notre Fiche « Base seconde » pour avoir accès à la fenêtre de prévisualisation et pouvoir imprimer notre travail. Pour ce faire il suffit de créer un bouton Imprimer et de lui lier le script : procedure TForm1.BitBtn5Click(Sender: TObject); begin Form2.QuickRep1.preview; end; Lors de la première exécution du programme Delphi nous demande si nous voulons ajouter l’unité liée à Form2 dans les clauses Uses de l’application : nous répondons oui et nous pouvons tester le programme sous sa version presque définitive. Ajouter enfin un bouton Quitter auquel on associe le script : procedure TForm1.BitBtn6Click(Sender: TObject); begin Application.Terminate; end; l- Ajout de menu déroulant
Retourner sous Delphi. Dans le menu Projet-Options cliquer sur l’onglet Lieur et désactiver Inclure info de débogage TD32. Après avoir refermé la fenêtre de dialogue des options demander Tout construire dans le menu Projet. Revenir alors dans le répertoire DELPHI\FIC2ND avec l’ explorateur windows et regarder la nouvelle taille du fichier exécutable : elle a été divisée par trois! Copie d’écran de l’application BASE SECONDE DBEdit1 DBEdit2 DBEdit3 DBEdit DBGrid1 DBEdit Edit1 (^) MaskEdit