Home
Programmation sous Delphi
Contents
1. EX Var marqueur TbookMark Begin Lo Marqueur Tablel GetBookMark Lo Table1 GotoBookMark marqueur Lon Tablel FreeBookMark marqueur End J Darmont Programmation sous Delphi 39 40 R f rences e Guide de l utilisateur Delphi 3 Borland 1997 e Guide du d veloppeur Delphi 3 Borland 1997 e P Spoljar Mode d emploi Delphi Sybex 1995 e D Lantim Delphi programmation avanc e Eyrolles 1996 e J C Armici Cours d introduction Delphi http www ellipse ch cours DelphiHome htm 1999 e M Bardou Delphi http perso wanadoo fr bardou michel delphi htm 1999 J Darmont Programmation sous Delphi 40 40
2. e Application MDI Multiple Document Interface e Application SDI Single Document Interface application standard amis age Expert de cr ation d applications Copier Rente tiles J Darmont Programmation sous Delphi 26 40 IV La biblioth que d objets de Delphi 1 Hi rarchie des objets Delphi La biblioth que d objets de Delphi est constitu e d une hi rarchie de classes Pascal dont le sommet est Object Tous les composants et contr les sont des objets d riv s de cette classe Une petite partie de cette hi rarchie est pr sent e ci dessous Object Persistent Control Application CommonDialog M enu GraphicControl WinControl Bevel I mage L abel S hape Button Check Box Edit List Box Memo RadioButton a Objets Delphi Le terme d objet prend dans le contexte de la biblioth que de Delphi un sens particulier ce sont les objets de base du syst me par opposition aux composants visuels pr sent s dans la partie II Ces objets qui constituent la partie sup rieure de la hi rarchie de la biblioth que ne sont accessibles que par programme b Composants et contr les Ce sont des objets descendant de la classe Component l ments fondamentaux partir des quels so
3. chaque fiche est associ e une unit identifi e par un onglet situ en haut de la fen tre de l diteur L diteur permet de modifier le code Pascal de ces unit s Unitl pas Unitl Unit unit Uniti interface uses Windows Messages SysUtils Classes Graphics Controls Forms Dialogs type TFormi class TFormi private D clarations priv es public D clarations publiques end var Formi TFormi implementation R DFM end 1 Modifi Insertion d Les menus e Menu Fichier cr ation ouverture enregistrement e Menu dition annulation copier coller e Menu Chercher chercher remplacer e Menu Voir gestionnaire de projets inspecteur d objets d boguage e Menu Projet compilation de code source options de compilation e Menu Ex cuter ex cution de programmes d boguage J Darmont Programmation sous Delphi 22 40 e Menu Composant cr ation de nouveau composant configuration de la palette de com posants e Menu Bases de donn e e Menu Outils options utilitaires e Menu Aide indispensable utiliser sans mod ration 2 Projets et programmes L ensemble des l ments d un programme ex cutable ou d une librairie DLL Dynamic Link Library se contr le partir d un projet Concr tement un projet est un fichier binaire d extension dpr contenant des liens vers tous les l ments du projet fiches
4. A S GE UNIVERSIT LUMIERE won2 Facult de Sciences conomiques et de Gestion Programmation sous Delphi Ma trise d conom trie Ann e 1999 2000 J r me Darmont jerome darmont univ lyon2 fr http eric univ lvon2 fr jdarmont Table des mati res k INTRODUCTION eege ee 3 IL TREANGAGETASCAL lt cinc tec ccecociaieno 4 A O A 4 a AACRA A EMCUAS er TI TOCINA SI AA AAA A EU 4 DI E e 4 i EE J A TAPES DE DONNEES aa a e 5 a AUDE RS A E E A A ele entente J e H 6 3 DOUELETTE D UNPROGRAMME PASCA o 7 ee 7 O EE 7 Ch E 7 O EE 7 EE I OR TIE eena A E E A A 8 8 E e D A A TATT ETA TOTE E A A e MAS TRUCTURES DE CONTROLE a 8 a BRANCHEMENES condilonnelS lt A aci e JE BONES ra ola dd tritio 9 67 PROCEDURES ETTONCTION S ut ee te nt T 10 a Squelette dede CIAO iS At NN AE A E 10 BJ Exemples Ue Sons PrO SLOTS he leads nn nd 10 E Modede passage des parameter edad ll d Visibilit des variables et des sous programmes oooooocnnononanananananananannan nono nn non nn nono nn nn nono nnnnnnnnnnnnnnnnnnnnninnns ll T EES UNTI oaea a e a E di 11 d Squelettea Une UNE Ale a a aE ee 12 RE TE 12 o Bemp d MIO SR SRE ne a eo UA nn 12 D LA PROGRAMMATION ORIENTE E OBJETS RE RM a SN E 13 E e EE 13 E E TS e EU ere ni tic Me A A 13 E Declaration d OD eS E se A ra iaasS 14 dj PLOTECHOMAES donne ES A a 15 EN ENEN LORS E A Tia 16 TY LE DON MO PIS ME de dl O 16 GC NEE e 17 HE T EDTDE DELPH Lai ias 19
5. La d marche est la m me que pour cr er un formulaire simple bas sur une table Il suffit de remplacer le composant Table par un composant Query et de renseigner la propri t SOL b Requ te param tr e Soit la requ te SQL suivante SELECT FROM CLIENT WHERE VILLE Paris Pour acc der aux habitants de Lyon une autre requ te similaire est n cessaire Et ainsi de suite pour toutes les autres villes Pour rem dier ce probl me Delphi permet l insertion de param tres dans le texte de la requ te Version param tr e de la requ te initiale SELECT FROM CLIENT WHERE VILLE ville Il suffit d instancier le param tre ville avant l activation de la requ te propri t Params 4 Transfert de donn es Lorsque Delphi effectue une requ te 1l utilise une table virtuelle en m moire pour stocker le r sultat Pour conserver ce r sultat sur disque 1l faut cr er une table r ponse et y recopier les donn es de la table virtuelle Pour ce faire 1l faut disposer sur une fiche les composants sui vants e un composant Query pour effectuer une requ te J Darmont Programmation sous Delphi 34 40 e un composant Table pour d signer la table physique sur disque cr er e un composant BatchMove onglet AccesBD de la palette des composants pour effec tuer le transfert Attribuer la propri t Source du composant BatchMove le composant requ te la propri t Destination le composa
6. Table1 Refresh J Darmont Programmation sous Delphi 36 40 b Navigation dans la base de donn es M thode du DataSet L enregistrement courant devient l enregistrement pr c dent L enregistrement courant devient l enregistrement suivant L enregistrement courant devient le premier enregistrement L enregistrement courant devient le dernier enregistrement Ex Tablel First Tablel Next Tablel Next D but et fin de table M thode du DataSet D but de table avant le premier enregistrement Fin de table apr s le dernier enregistrement Ex Table1 First While not Tablel EOF do Begin Writeln Tablel FieldByName Numero asInteger Tablel Next End c Requ tes SOL La propri t SQL d un composants Query est de type Strings c est dire un tableau de cha nes de caract res Il est donc possible de modifier cette propri t en utilisant les m thodes du type Strings et ainsi de cr er dynamiquement une requ te EX Query1l Database DBDEMOS Queryl1 Close Queryl1 SQL Clear Query1 SQL Add select from clients Queryl1 SQL Open Il est galement possible d acc der a la propri t Params de fa on dynamique EX Query1 Close Queryl Params 0 asString Lyon Queryl Open J Darmont Programmation sous Delphi 37 40 d Recherche d enregistrements SetKey positionne le DataSet en mode recherche La propri t Fields permet alors de fournir les crit res de recher
7. lb EN GER 19 a Conception de fiches la palette des composants ooooooonnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnos 19 DE E Sr D NA Ra A AM Re US A NL on Zi EJ LAUU EE 22 E Ee Eege o di id rabo 22 2 PROJETS El PROGRAMME St ia 23 ak Le astron TE de DROJEUS y A A A da aio 23 E 24 Ch ECS opon AE Dr era dd Lt An ls 24 E EE WEI EE 25 J Darmont Programmation sous Delphi 1 40 IV LA BIBLIOTH QUE D OBJETS DE DELPHL eeenenennnnnnnnennnnnnnse 27 ls HIERARCHIE DES IER ER KR E E 27 D SAA Aca 27 D COPOS ECONO Sea 27 2 CE SCRURBUR E 28 3 HIERARCHIES DES CLASSES ET DES CONTENEURS eege gedeit nnsteninientnenatlanen 29 an PrOD CES UT EN COMORES NN Ed SN DS SN Du 29 BD PFOpheleS EE 29 V CONNEXION AUX BASES DE DONN ES seeennnnnnnnnnnnnnnnnnnse 31 le EESCOMPOSANTS SOURCE EE 31 12 E 31 DJe AIOT I rE ER O 31 e E NEE 32 Ze PORMULA IRES BASES SUR DES PARLES E 32 a COmposaniSs DD EE 32 D AUS UA AAA O ro dt 32 e E LES MS o sen 33 d E 33 el F Ormur eS COMPOSER NS RSR dress saine 33 P eXDert hehe DAS dE donnees onen ar cu odas 34 SURE QUE TESIS O o a ne de Ge a Ce a cies 34 a Formulaire Dase Sur UMOTOQU lR ee 34 D ROQUELC POT AM IMOC EE 34 A TRANSFERT DE RRE 34 5 MANIPULATION DE DONN ES PAR PROGRAMME EE 35 a EE J3 Bb Navmeatton EE SE NEE SE GE 38 RERDRENCE Sanisera ue 40 J Darmont Programmation sous Delphi 2 40 I Introduction Delphi est un environnement de d veloppeme
8. 1 l ments du langage a Identificateurs et instructions Un identificateur est un nom permettant au compilateur d identifier un objet donn Les noms de variables par exemple sont des identificateurs Un 1dentificateur doit commencer par une lettre Les caract res suivants peuvent tre des lettres des chiffres ou le caract re Majuscu les et minuscules ne sont pas diff renci es Seuls les 63 premiers caract res d un identifica teur sont pris en consid ration par le compilateur Identificateur valide Ma variable01 Identificateur invalide 9variable Outre les variables constantes etc un programme Pascal contient des mots r serv s que Putilisateur ne peut pas employer Ce groupe d identificateurs particuliers correspond aux composants du langage Pascal And Else In Or TO Asm End Inherited Packed Try Array Except Inline Procedure Type Begin Exports Interface Program Unit Case File Label Record Until Const Finally Library Repeat Uses Constructor For Mod Set Var Destructor Function Nil Shl While Div Goto Not shr With Do If Object String Xor Downto Implementation Of Then Liste des mots r serv s de Pascal b Op rateurs Affectation e Multiplication e Division enti re div Ce n est pas parce que le goto existe en Pascal qu il faut l utiliser J Darmont Programmation sous Delphi 4 40 Division Modulo mod Addition Soustraction e Etlogique and e Ou logique or e
9. TableName Ouvrir la table en positionnant la propri t Active true 2 Placer un composant DataSource sur la fiche S lectionner la table cr e l tape 1 dans la propri t DataSet 3 Ajouter sur la fiche autant de composants BD visuels que n cessaire pour afficher les donn es S lectionner le composant DataSource cr l tape 2 dans la propri t DataSource de chaque composant S lectionner un champ de la table dans la propri t DataField de chaque composant c Naviguer dans les donn es La fa on la plus simple de naviguer dans les donn es est d utiliser le composant navigateur BD DBNavigator C est un composant graphique repr sentant des boutons type magn to cassette qui permettent de passer d un enregistrement l autre de sauter en fin de table etc E A tm O A Pour utiliser un navigateur BD il suffit de l ajouter la fiche contenant les donn es et de don ner une valeur sa propri t DataSource d Utilisation d une grille Il est possible de visualiser plus d un enregistrement la fois l aide du composant universel grille BD DBGrid qu permet d obtenir une vue des donn es sous forme tabulaire Ce com posant s adapte la structure de la table r f renc e afin d en montrer tous les champs Pour construire un formulaire bas sur une grille 11 suffit de reprendre les tapes 1 et 2 du b puis d ajouter un composant grille et de donner une valeur
10. logique on d sire acc der la donn e J Darmont Programmation sous Delphi 35 40 EX var a integer Begin a Tablel Fields 0 asInteger a Tablel FieldByName Numero asInteger Conversion physique logique asBoolean asFloat as Integer asString dition d une table Par d faut le DataSet est en mode dition c est dire que ses donn es peuvent tre modi fi es via des contr les Pour emp cher cela d faut passer la propri t AutoEdit du composant DataSource false Pour passer le DataSet en mode dition d faut appeler sa m thode Edit Ex Tablel Edit e Ajout m thode Append un enregistrement vierge est ajoute la fin de la table e Insertion m thode nsert l enregistrement ins r se place avant l enregistrement courant Il faut ensuite remplir chaque champ Ex Tablel Insert Tablel FieldByName Numero asInteger 100 Tablel Append Tablel FieldByName Numero asInteger 500 Il est galement possible d ajouter ou d ins rer un enregistrement tout en remplissant mes champs gr ce aux m thodes AppendRecord et InsertRecord Ex Tablel InsertRecord 900 Champ 2 Champ3 3 1416 M thode du DataSet Valide la saisie et quitte le mode dition Refresh Valide la saisie quitte le mode dition et rafra chit les donn es visi bles l cran Cancel Annule les modifications apport es un enregistrement tant qu elles n ont pas t valid es Ex
11. ritage hi rarchie purement langa gi re que nous avons d j voqu e e celle des conteneurs qui concerne l inclusion de composants les uns dans les autres Cette hi rarchie est galement double Elle correspond la pr sentation visuelle de l interface o les contr les peuvent graphiquement s imbriquer les uns dans les autres et d signe la pr sence d un objet comme attribut d un autre objet a Propri t s Parent Control La propri t Parent appartient tous les contr les fen tr s WinControl et contient la r f rence du contr le parent celui qu le contient Sym triquement tous les contr les contenus dans un objet fen tr sont ses enfants Le cas le plus simple et le plus fr quent d inclusion de ce type est celui d une bo te de groupe contr le parent contenant des boutons radio contr les enfants La propri t Controls est un tableau d objets Control repr sentant les enfants d un objet La propri t ControlCount indique le nombre d enfants Controls est index de O Control Count l b Propri t s Owner Components Le propri taire d un objet poss de cet objet dans sa liste d attributs que cet objet soit un contr le ou non Des boutons radios group s dans une bo te ont cette bo te comme parent mais appartiennent a la fiche sur laquelle ils sont dessin s La relation de propri t concerne la structure des objets et non leur imbrication au niveau de l in
12. Begin For 1 1 to N do readln ech i Je ne voudrais pas tre l op rateur de saisie moy moyenne ech Writeln moy End 8 La programmation orient e objet a Objectifs e Lier les donn es et les fonctions qui les manipulent afin d viter des acc s aux don n es par des fonctions non autoris es e Obtenir une meilleure abstraction en cachant l impl mentation des techniques utilis es et en ne rendant visible que des points d entr e Ainsi si l impl mentation change le code utilisateur n est pas affecte e R utiliser l existant dans un souci de productivit e Traiter les erreurs localement au niveau des objets sans que cela ne perturbe les autres parties du programme e Faciliter la maintenance b Concepts En langage objet tout est objet Un objet contient des donn es dites donn es membres ou attributs de l objet et des proc dures ou fonctions dites m thodes de l objet J Darmont Programmation sous Delphi 13 40 Ex PERSONNE Nom Pr nom amp Date_naissance Etat_civil Calcul_age C est le m canisme consistant a lier les attributs et les m thodes au sein d une m me struc ture L h ritage permet un objet de r cup rer les caract ristiques d un autre objet attributs et m thodes et de lui ajouter de nouvelles caract ristiques Ex Un employ est une personne PERSONNE STEE SE Employeur amp Date_n
13. Ou exclusif xor e N gation not gal Diff rent lt gt Sup rieur Sup rieur ou gal gt gt Inf rieur Inf rieur ou gal lt lt Appartenance a un ensemble in c Commentaires OU NB Il est possible d imbriquer ces deux types de commentaires 2 Types de donn es a Types pr d finis Types entiers Domaine 0 255 128 127 32768 32767 0 65535 2147483648 2147483647 41041407 J Darmont Programmation sous Delphi 5 40 Type bool en True False Types caract res Domaine Caract re alphanum rique String ln Cha ne de n caracteres n 255 au maximum Cha ne de 255 caract res Types tableaux Array limin imax of lt type gt b Types personnalis s La d claration d un type utilisateur s effectue dans une clause type Enum rations EX Type jour lundi mardi mercredi jeudi vendredi samedi dimanche Intervalles Ex Type chiffre 0 9 jour ouvrable lundi vendredi Ensembles Ex Type des entiers set of integer d claration de la variable ens de type des entiers ens 1 2 3 ens ensemble vide Op rations ensemblistes union intersection diff rence Tableaux Ex Type tab reels array 1 100 of real tableau de 100 r els matrice array 1 4 1 4 of integer matrice 4x4 D claration des variables t de type tab reels et de m de type matrice t 1 1 5 m 1 3 10 Enregist
14. a sa propri t DataSource e Formulaires compos s Les formulaires compos s permettent de visualiser des associations 1 N entre deux tables La d marche de construction d un tel formulaire est la suivante 1 Placer deux composants Table et deux composants DataSource sur la fiche cf tapes l et 2 du b L une des tables sera la table ma tre c t 1 de la relation 1 N et l autre la fable d tail c t N de la relation 1 N 2 S lectionner la table d tail Indiquer dans sa propri t MasterSource le composant DataSource associ la table ma tre diter la propri t MasterFields pour effectuer le lien entre les tables apparition d une bo te de dialogue Cliquer dans les parties champ d tail et champ ma tre sur le J Darmont Programmation sous Delphi 33 40 champ permettant de faire la jointure entre les deux tables ajouter les champs joints bouton ajouter et valider 3 Afficher les informations des deux tables l aide des composants BD visuels f L expert fiche base de donn es L expert fiche BD est accessible par le menu Base de donn es Expert fiche Il permet de dessiner facilement gr ce une s rie de bo tes de dialogues des formulaires simples ou com pos s 3 Requ tes SQL Le propos de cette section n est pas de pr senter le langage SQL mais d indiquer comment formuler et ex cuter une requ te SQL avec Delphi a Formulaire bas sur une requ te
15. aissance a pi Etat_civil Calcul_age Augmentation_salaire Le polymorphisme permet d attribuer diff rents objets une m thode portant le m me nom afin d exprimer la m me action m me si l impl mentation de la m thode diff re compl te ment Ex Surcharge de la m thode Etat civil PERSONNE EMPLOYE Nom Employeur Pr nom Date embauche Date _naissance Etat_civil Calcul_age Salaire Augmentation Salaire Etat_civil c D claration d objets en Pascal Classe Un objet est une instance d une classe ex J r me Darmont n le est une instance de la classe Personne La classe est un type de donn es repr sentant un objet J Darmont Programmation sous Delphi 14 40 EX Type Personne class End Attributs EX Type Personne class nom string prenom string date naissance string End M thodes Les m thodes sont des proc dures et des fonctions d finies pour une classe Elles ont un acc s complet tous les attributs de la classe Il est recommand de ne pas laisser un utilisateur de la classe manipuler directement ses attributs mais d utiliser une m thode pour cela Ex Type Personne class nom string prenom string date naissance string procedure etat civil function calcul_age byte End Le corps des m thodes est d fini l ext rieur de la classe Le nom de chaque m thode doit
16. che pour chaque champ index Puis 11 suffit d appeler la m thode Go toKey pour activer la recherche Si aucune correspondance n est trouv e GotoKey renvoie false EX Procedure TForml RchNomPrenom n p string Begin Tablel sSetKey Tablel FieldByName Nom asString n Tablel FieldByName Prenom asString p Tablel GotoKey End FindKey permet la m me op ration en une instruction en pr cisant le ou les crit res de s lec tion dans un tableau ouvert EX Procedure TForml RchNomPrenom2 n p string Begin If Tablel FindKey n pl then ShowMessage Trouv End EX Procedure TForml RchNom n string Begin If Tablel FindNearest n then ShowMessage Trouv End Les filtres permettent de limiter la vue de la table certains enregistrements seulement Ils sont plus particuli rement adapt s aux champs num riques mais peuvent galement tre em ploy s sur des champs alphanum riques Ex Tablel SetRangeStart Tablel FieldByName Numero asInteger 50 Tablel SetRangeEnd Tablel FieldByName Numero asInteger 100 Tablel ApplyvRange ou Tablel SetRange 100 1 300 Les marqueurs sont des objets de type TBookMark Ils permettent de conserver un pointeur sur un enregistrement pour pouvoir y revenir rapidement par la suite J Darmont Programmation sous Delphi 38 40 M thode du DataSet D truit un marqueur GetBookmark Pose un marqueur GotoBookMark Va au marqueur
17. composant courant e la liste des v nements associ s au composant courant Inspecteur d objets Formt TFormi e Propri t s Ev nements ctiveContral utoS croll Borderlcons BorderStyle Caption ClientHeight Clientwidth Color CID Cursor Enabled Font FormStyle Height HelpContext HelpFile Hint HorzScrallB ar Icon KeyPreview Left Menu Name ObijectMenulten ParentFont PixelsaPerlnch PopupMenu Position PrintScale Scaled ShowHint Tag Top VertS crollB ar Visible width Windowbenu WindowState True biSystembenu bi bsSizeable Form 453 688 clBtnFace True crDefault True TFont fsNormal 480 0 TControlS crollB a vide False 200 Form False 96 poDesigned poProportional True False 0 108 TControlS crollB a False 696 wsNormal J Darmont Les noms des propri t s sont plac s dans la colonne de gauche dans l ordre alphab tique et les valeurs sur la ligne correspondante droite Les propri t s dont le nom est pr c d d un ont plusieurs niveaux imbriqu s ex Font Lorsqu une propri t de ce type est d roul e le signe appara t la place du signe Pour donner une valeur une propri t le plus simple est de remplacer sa valeur par d faut par une nouvelle valeur dans la bo te d dition pr vue cet effet La propri t Name est particuli rement importante car elle permet d acc der au com
18. dition v rifi e Else Instruction si condition non v rifi e NB La partie else est optionnelle Ex If a gt 0 then writeln A est positif If ville Lyon then bool lyon true Else bool lyon false If a gt b then If a lt c then writeln B lt A lt C Else writeln A gt B Case of Case variable of Valeurl Instruction valeur2 Instruction else Instruction par d faut end NB La partie else est optionnelle Ex Case a of Oi writeln z ro 6 writeln six 9 writeln neuf J Darmont Programmation sous Delphi 8 40 end Case ch of Ai BI writeln Majuscule are To te writeln Minuscule O OS EE Eer ChHTEEre gt else writeln Autre caract re end b Boucles While do Ex cute des instructions tant qu une condition est v rifi e While condition do instructions Ex i 1 While i lt 10 do Begin Write i gt 1 1 1 End Writeln Ex cute des instructions jusqu ce qu une condition soit v rifi e Repeat instructions until condition Ex i 1 Repeat Write i 1 1 1 Until i 10 Writeln NB La boucle Repeat until ne n cessite pas de bloc begin end pour ex cuter plusieurs instructions Ex cute des instructions un nombre fini de fois suivant un ordre croissant ou d croissant For variable valeur min to valeur max do instructions For variable valeur
19. donc tre pr fix du nom de la classe laquelle d appartient Ex Procedure Personne etat civil Begin Writeln nom prenomi End Function Personne calcul_ age byte Var res byte Begin Calcul de l ge r sultat dans la variable res calcul age res End d Protection des donn es Si une classe est utilis e par quelqu un d autre que son auteur rien n emp che ce dernier d acc der directement un attribut de la classe ce qui la fragilise En effet s la m thode as soci e l attribut en question effectue des tests avant de modifier sa valeur ex v rification qu une date de naissance est inf rieure la date du jour ne pas l utiliser peut provoquer des erreurs ult rieurement Pour se pr munir contre des acc s non d sir s 1l est possible d associer un niveau de visibilit aux attributs et aux m thodes d une classe Attributs ou m thodes accessibles uniquement par les m thodes de la classe Attributs ou m thodes accessibles uniquement par les m thodes de la classe J Darmont Programmation sous Delphi 15 40 let de ses sous classes Attributs ou m thodes accessibles par toute proc dure m me externe Ex Type Personne class private nom string prenom string date naissance string pub le procedure etat EE E function calcul_age byte End e L h ritage Type Employe class Personne private employeur string date embauche string sala
20. e si positionn e true EE EE EA EE b Ouer Le composant Query requ te permet d effectuer une s lection sur une base de donn es Il est identique au composant Table mis part la provenance des donn es J Darmont Programmation sous Delphi 31 40 Propri t Description Ex cute ou non la requ te Libell de la requ te SQL c DataSource Le composant DataSource sert visualiser les enregistrements d une table ou d une requ te dans des composants visuels de Delphi Tous ces composants BD visuels utilisent un compo sant DataSource comme source de donn es Indique le composant Table ou Query source des donn es 2 Formulaires bas s sur des tables a Composants BD visuels Une fiche Delphi sur laquelle apparaissent des donn es issues d une base de donn es est con ue partir de composants similaires aux composants classiques les composants BD vi suels r unis dans l onglet Contr leBD de la palette des composants Decision Cube QReport Dialogues Win Ai Exemples Internet 8309 Standard Suppl ment win32 Sust me Acc sBD Contr leBiD ee DRAI UE Texte non modifiable b Formulaires simples Pour construire un formulaire simple 1l suffit de suivre les tapes suivantes J Darmont Programmation sous Delphi 32 40 1 Placer un composant Table sur la fiche Donner une valeur la propri t DatabaseName Donner une valeur la propri t
21. ern i l Initinstance ln tance Pointer T m CR Cleanuplnstance TStings Class Type Tass T Component TControl Class ame Shorts ting F Twin Control ClassHNamels CONST Name Stri DI TGraphicControl ClassParent T lass TE nina Classlnto Pointer E EEN Instancebize Integer InheriteFromh Class TClazz Bol ET Thor La partie gauche de la fen tre volet Inspecteur pr sente l arborescence des objets La partie droite volet Details est un classeur poss dant trois onglets port e des symboles d clarations et l ments accessibles au niveau hi rarchique de l objet s lectionn dans l inspecteur m thodes fonctions proc dures types h ritage situation de l objet dans l arbre hi rarchique r f rences localisation des occurrences des symboles dans l application chemin complet de l unit num ro de ligne J Darmont Programmation sous Delphi 28 40 Les informations fournies dans le volet Details peuvent tre filtr es l aide des ic nes de couleur plac es en haut de la fen tre Dans l ordre ces filtres sont constantes fonctions proc dures types variables propri t s attributs h rit s attributs virtuels attributs priv s attributs prot g s attributs publics attributs publi s 3 Hi rarchies des classes et des conteneurs Les objets Delphi sont organis s en deux hi rarchies e celle des classes d objets suivant le processus d h
22. ion sous Delphi 10 40 c Mode de passage des param tres Le passage de param tres fournit des valeurs un sous programme lors de son appel cf exemples ci dessus Ce passage de param tres peut s effectuer e en faisant une copie des valeurs passer passage par valeur ce qui permet de modi fier les copies locales sans influencer la valeur initiale param tres en entr e e en fournissant l adresse des valeurs passage par adresse ou par r f rence ce qui permet de modifier la valeur initiale param tres en sortie ou en entr e sortie Dans les exemples ci dessus les param tres sont pass s par valeur Procedure EN P2 var nombre real Const N 25 Var 1 integer res real Begin res 1 For i 1 to N do Yes res nombre nombre res End NB Un appel de proc dure du type PN_P2 n aura le m me effet qu un appel de fonction du type n PN F n d Visibilit des variables et des sous programmes Une variable globale est utilisable par tous les sous programmes du programme Une varia ble locale n est utilisable que dans le sous programme o elle est d clar e Les proc dures et les fonctions sont soumises aux m mes r gles que les variables 7 Les unit s Une unit est un fichier s par pouvant contenir des constantes des types des variables et des sous programmes disponibles pour la construction d autres applications L utilisation des uni t s permet de partager des don
23. ire real public procedure augmentation salaire procedure etat civil End Var p Personne e Employe Begin peter Civil Sx8tat CIviLi p 8 NB 1 End E E3 affectation inverse n est pas possible NB La classe Employ est dite compatible avec la classe Personne f Le polymorphisme Le polymorphisme permet de manipuler les sous classes via la classe de base EX Program Polymorphisme Uses Upers Unit contenant les classes Personne et Employ Var p Personne e Employe Begin p e pr tat Civil End J Darmont Programmation sous Delphi 16 40 Probl me Quelle est la m thode etat civil appel e Celle de la classe Personne ou celle de la classe Employ Pour r soudre ce probl me 1l faut faire appel au polymorphisme en d clarant cette m thode comme tant virtuelle mot cl virtual Le compilateur rajoute alors du code au programme ex cutable afin de pouvoir appeler dynamiquement la m thode appropri e l objet manipul ici un employ De plus 11 faut indiquer que la m thode etat civii de la classe Employ surcharge celle de la classe Personne mot cl override EX Type Personne class private nom string prenom string date naissance string public procedure etat civil virtual function Calcul age 2Dyte End Type Employe class Personne private employeur string date embauche string salaire real public procedure augmentation sa
24. jet compil L EN Programme ex cutable exe De AA b Le fichier de projet Il n existe qu un seul fichier dpr par application Par d faut 1l contient le code suivant Program Projectl Uses Forms Uniti in UNIT1 PAS Forml SR RES Begin Application CreateForm TForml Forml Application Run Forml End Delphi g n re automatiquement le code correspondant de nouvelles fiches ou de nouvelles unit s Il est d conseill d intervenir manuellement sur le fichier de projet c Les options de projet Delphi permet le param trage d un projet gr ce la bo te de dialogue Options de projet menu Projet Options e Fiches s lection de la fiche principale de l application celle qui est ouverte au d marrage du programme e Application choix d un titre pour le programme association avec une ic ne e Compilateur options de compilation tonnant non e Lieur options d dition des liens e R pertoires Conditions chemins sur le disque alias e Info Version gestion des versions du projet e Paquets inclusion de composants externes J Darmont Programmation sous Delphi 24 40 3 Experts et mod les Delphi propose un ensemble de mod les et d experts qui assistent le d veloppeur dans la conception d un programme en fournissant des l ments pr fabriqu s mais totalement remo delables Les nombreux mod les et experts de Delphi sont accessible
25. laire procedure etat_civil override End g Constructeurs et destructeurs Constructeurs et destructeurs permettent respectivement d allouer et d initialiser les attributs d un objet ou de lib rer la m moire allou e cet objet e Ils doivent tre d finis dans une section public e Ils peuvent tre plusieurs dans une classe condition de ne pas porter le m me nom e Ils peuvent tre virtuels NB Par convention les constructeurs sont nomm s Create et les destructeurs Destroy dans les classes Delphi EX Type Personne class private nom string prenom string date naissance string public constructor Create virtual constructor Init n p d string destructor Destroy virtual procedure etat civil virtual function caleul age byte End J Darmont Programmation sous Delphi 17 40 Procedure Personne Init Begin nom n prenom p date d End Utilisation p lni l Darmont Jerome 15 01 1972 Pp Destroy J Darmont Programmation sous Delphi 18 40 III LEDI de Delphi 1 L interface de Delphi La figure ci dessous repr sente l interface typique de Delphi Elle est compos e de e la barre de menus en haut e la barre d ic nes gauche sous la barre de menus e la palette de composants droite sous la barre de menus e le concepteur de fiche au centre e diteur de code au centre sous le concepteur de fiche e l inspec
26. max downto valeur min do instructions Ex For i 1 to 10 do Write i Writeln J Darmont Programmation sous Delphi 9 40 Choix d une boucle Nombre d iterations connu Au moins une ex cution Test avant execution For Repeat While 6 Proc dures et fonctions Les proc dures et les fonctions permettent de diviser un programme en unit s plus petites des sous programmes pour mieux le structurer La seule diff rence entre proc dure et fonction est que cette derni re renvoie une valeur au programme ou au sous programme appelant a Squelette de d claration Procedure NomP param tres Type D claration de types locaux Const D claration de constantes locales Var D claration de variables locales proc dures fonctions locales Begin Corps de la proc dure End b Exemples de sous programmes Procedure PN_P nombre real Const N 25 Var i integer res real Begin res 1 For 1 1 to N do res y res nombre Writeln res End J Darmont Function NomF parametres type Type D claration de types locaux Const D claration de constantes locales Var D claration de variables locales proc dures fonctions locales Begin Corps de la fonction NomF valeur de retour End Function PN F nombre real real Const N 25 Var i integer res real Begin res 1 For 1i 1 to N do res res nombre EN Postes End Programmat
27. n es et des sous programmes entre plusieurs applications J Darmont Programmation sous Delphi 11 40 a Squelette d une unit Unit Nom unite Interface D clarations publiques Implementation D clarations priv es Corps des proc dures et des fonctions Initialization Code d initialisation End b Visibilit d une unit En t te C est le nom de l unit 8 caract res maxi Il figure dans la partie uses d un programme ou d une unit qui utilise l unit NB Eviter les r f rences crois es entre unit s ex l unit A inclut l unit B et vice versa Interface Cette partie d finit les proc dures et les fonctions d clar es dans la partie interface On peut galement y d finir des types constantes variables et sous programmes locaux Initialisation Cette partie permet d initialiser les variables de l unit si besoin est et d effectuer des traite ments avant de redonner la main au programme principal c Exemple d unit Unit stats Interface Const N 100000 Type echantillon arrayl1 N of real Function moyenne ech echantillon real Implementation Function moyenne Pas besoin de r p ter les param tres Var 1 integer Ss Yeal J Darmont Programmation sous Delphi 12 40 tor 1 1 to N do S s ech lu moyenne s N 1 Programme appelant Program Calcul Moyenne Uses stats Var ech echantillon 1 integer moy real
28. nt construites les applications Ex Application bo tes de dialogue barres de menu groupe de boutons radio J Darmont Programmation sous Delphi 27 40 Contr les Les contr les repr sentent l ensemble des composants visuels manipulables gr ce la palette des composants La coh sion des contr les est bas e sur la d rivation de la classe Control Les contr les se subdivisent en deux groupes les contr les fen tr s h ritiers de la classe WinControl qui sont capable de recevoir le focus de l application disposent d un descripteur de fen tre ou handle Windows et peuvent contenir d autres contr les ex boutons de commande cases cocher bo tes de liste bo tes d dition les contr les graphiques h ritiers de la classe GraphicControl qui ne poss dent pas de descripteur de fen tre ne peuvent pas recevoir le focus de l application et ne peu vent pas contenir d autre contr le ex cadres biseaut s images tiquettes formes g om triques 2 Le scruteur Le scruteur est un outil visuel servant examiner la hi rarchie des objets d une application y compris ceux de la biblioth que Il s ouvre par le menu Voir Scruteur une fois le programme compil E Scruteur Objets acte aaao 9 0 es e e TObject TinterfacedObect Exception Reference Releaze m la E FreeHandle C TThreadList RefCount TBits Create TPersistent Free l TCollectionlt
29. nt de type RAD Rapid Application Develop ment bas sur le langage Pascal Il permet de r aliser rapidement et simplement des applica tions Windows Cette rapidit et cette simplicit de d veloppement sont dues une conception visuelle de l application Delphi propose un ensemble tr s complet de composants visuels pr ts l emploi incluant la quasi totalit des composants Windows boutons bo tes de dialogue me nus barres d outils ainsi que des experts permettant de cr er facilement divers types d applications et de librairies Pour ma triser le d veloppement d une application sous Delphi dest indispensable d aborder les trois sujets suivants e le langage Pascal et la programmation orient e objet e l Environnement de D veloppement Int gr EDI de Delphi e les objets de Delphi et la hi rarchie de classe de sa biblioth que Nous compl terons cette approche par la connexion aux bases de donn es avec Delphi NB Ce support de cours ne se veut nullement exhaustif Ce n est qu une r f rence de base Le lecteur est encourag compl ter sa lecture avec les r f rences cit es la fin du docu ment et s entra ner programmer sous Delphi D autre part ce support ne traite que de la version 3 de Delphi J Darmont Programmation sous Delphi 3 40 Il Le langage Pascal S quence Souvenir Le langage de programmation Pascal a t con u en 1968 par Niklaus Wirth
30. nt table et la propri t Mode la valeur batCopy ce qui permet de cr er la table si elle n existe pas Il suffit ensuite de programmer un bouton de commande pour appeler la m thode Execute du composant BatchMove Pour transf rer des enregistrements d une table une autre 1l suffit de calquer l op ration pr c dente en rempla ant le composant requ te par un composant table 5 Manipulation de donn es par programme a Op rations de base Classe DataSet Les composants Table et Query h ritent indirectement de la classe DataSet qui permet de repr senter un ensemble de donn es Lorsqu un DataSet est ouvert un certain nombre d enregistrements sont lus sur disque et pla c s dans un tampon m moire Cependant un seul enregistrement est consid r comme l enregistrement courant La lecture d un champ ou la suppression d un enregistrement se font toujours par rapport l enregistrement courant Enregistrement courant L acc s au contenu d un champ se fait par la propri t Fields du DataSet qu est un tableau de champs L acc s a la valeur d un champ peut se faire par sa position dans le tableau ou par le nom de ce champ gr ce la m thode FieldByName Puisqu un champ peut tre de nature tr s vari e son contenu est stock en m moire sous forme physique Lorsque cette donn e est manipul e elle doit l tre sous forme logique Par cons quent 1l faut indiquer dans quel for mat
31. posant depuis les programmes Par d faut Delphi lui conf re une valeur peu explicite ex Form Button1 Il est pr f ra ble d utiliser des noms plus parlants Les propri t s visibles dans l inspecteur sont modifiables lors de la phase de conception D autres propri t s sont uniquement accessibles lors de l ex cution gr ce du code source Programmation sous Delphi 21 40 r 5 Inspecteur d objets Ev nements nspecteur d obj O a A a a a A pp T a Propri t s Ev nements La colonne de gauche contient l ensemble des v nements associ s un composant donn Ex OnClick commun a un grand nombre de compo Se sants qui est activ lorsque l utilisateur clique sur le composant SE OnDeactivat SE e x y OnDragDro La colonne de droite consiste en une s rie de bo tes de listes combin es OnDragOve A A e 5 a es OnHelp permettant d associer un gestionnaire d v nements a l v nement OnHide r H x OnKeyD own correspondant 1 e un ensemble d instructions Pascal ex cut es lorsque Dote r r e n epUp l v nement survient OnMouseDown OnMouseMove OnMouseUp m SC OnPaint Sur un double clic sur une de ces bo tes l diteur de code s ouvre et le drfiesze curseur se positionne l int rieur du gestionnaire d v nements une proc dure c L diteur de code Les fichiers de code source composant un projet sont rassembl s dans l diteur de code
32. rements Ex Type personne record nom string prenom string age byte end J Darmont Programmation sous Delphi 6 40 D claration de la variable p de type Personne p nom Darmont with p do begin prenom J r me age 27 end 3 Squelette d un programme Pascal a Squelette Program Nom du programme Uses unit s Const D claration de constantes Type D claration de types personnalis s Var D claration de variables Proc dures et fonctions Begin Bloc principal du programme End b Notion de bloc Un bloc est une portion de code d limit e par le couple d instructions begin end c D claration des constantes Ex Const PI 3 1416 NOM Universit Lyon 2 d Declaration des variables Ex numero i integer deux variables de m me type tab array 1 10 of real phrase string idem avec des types personnalis s jour jour ouvrable ens des entiers m matrice J Darmont Programmation sous Delphi 7 40 4 Entr es sorties a Lecture au clavier Ex Readln une variable b Ecriture a l cran Ex Write Coucou Writeln La valeur de la variable est une variable NB Ces instructions sont d finies dans l unit Crt de Pascal qu il faut appeler en d but de programme par la commande Uses Crt 5 Structures de contr le a Branchements conditionnels If then else If condition then Instruction si con
33. s par le menu Fi chier Nouveau Quelques uns sont d taill s ci dessous Nouveau Nouveau Actives Project Fiches Dialogues Projets Modules de donn gt ge LS Mod les d l ments standards applica Application Composant OLL tion fiche unit DLL DO E Fiche Module donn es Module donn es Objet Thread distant Paquet Texte Unit lamer Reuter ld pls Annuler Aide Fiches Mouveau Activex Projecti Fiches Dialogues Projets Modules de donn_4 A Gi Mod les de fiches pr fabriqu es nus es esoe Fages onglets CuckReport Etiquettes QuickReport Liste QuickReport Ma tre d tail Ce Copier H riter Utiliser Annuler Aide Dialogues Mouveau Activex Project Fiches Dialogues Projets Modules de donn_4 gt ES RE a Mod les de bo tes de dialogue fiches Dialogue avec Aide Dialogue avec Aide Dialogue erreur Dialogue Mat de pr fabriqu es r conciliation passe a A Dialogue standard Dialogue standard Expert dialogue Ce Copier H riter Utiliser Annuler Aide J Darmont Programmation sous Delphi 25 40 Projets Mouveau Activex Project Fiches Dialogues Projets Modules de donn_4 gt Mod les d application Application Logo Application MEI pplication SOI Expert d application Wings e Application Logo Win95 mod le le plus simple avec uniquement une bo te propos
34. saisie ou la mo dification d une ligne de texte M mo Memo Bo te d dition permettant la saisie ou la mo SE EE dification d un texte de plusieurs lignes S lection d un choix entre plusieurs Bo te de liste simple Liste d roulante d l ments Liste d roulante d l ments avec possibilit d dition sans une bo te d dition Standard Suppl ment winaa Syst me Acc sBD Contr leBD Decision Cube QReport Dialogues win 3 1 Exemples a ee PEET Bouton bitmap Bouton de commande avec image bitmap Turbo bouton Ic ne dans une barre d outils t es Grille de cha nes Tableau d affichage de cha nes Grille d affichage Tableau d affichage de donn es Image Zone d affichage d une image bitmap d une A ic ne ou d un m tafichier Windows Bo te de d filement ScrollBox Conteneur de composant poss dant des barres de d filement Bo te de liste cocher Liste d roulante d l ments cocher S parateur mobile J Darmont Programmation sous Delphi 20 40 Texte statique tiquette contenant un descripteur de fen tre Graphique Graphique type Excel pol ment Win32 Syst me Acc sBD Contr leBD Decision Cube QReport Dialogues win 3 1 Exemples Bo te de dialogue b L inspecteur d objets Cet outil est d di la gestion des composants La fen tre de l inspecteur contient deux vo lets e la liste des propri t s attributs du
35. terface J Darmont Programmation sous Delphi 29 40 La propri t Owner permet de conna tre le propri taire d un objet Inversement la propri t Components contient la liste des composants d clar s comme attributs C est un tableau d objets Component La propri t ComponentCount indique le nombre de composants Com ponents est index de 0 a ComponentCount 1 J Darmont Programmation sous Delphi 30 40 V Connexion aux bases de donn es Delphi propose en standard des composants pour manipuler des bases de donn es et des tables relationnelles Tous ces composants ont une base commune le Borland Database Engine BDE un noyau stable complet et puissant 1 Les composants sources Les composants sources permettent d acc der a des bases de donn es Ils sont accessibles dans l onglet AccesBD de la palette des composants Standard Suppl ment winaz Syst me Acc sBD Contr leBD Decision Cube QReport Dialogues Win 3 1 Exemples Internet d E E OM Ets E ACCES Es En RHONE Et os EME NB Ces composants sont invisibles 1 e non visuels Ils apparaissent sur une fiche en mode cr ation mais pas l ex cution du programme a Table Le composant Table permet d acc der aux donn es contenues dans une table relationnelle Propri t Active Ouvre ou ferme la table DataBaseName Nom de la base de donn es contenant la table Emp che d autres utilisateurs d ouvrir la tabl
36. teur d objets gauche a Delphi 3 Projectl Fichier Edition Chercher Voir Projet Ex cuter Composant Base de donn es Outils Groupes Aide en D b I E ODIELS LS Form1 TFormi ne g IR RER ARTE ur e ASE Propri t s Ev nements ActiveControl Caption ClientHeight 8 D marrer Eudora Pro delphi doc Microsoft word Es Delphi 3 ANA Standard Suppl ment win32 Syst me Acc sBD Contr leBD Decision Cube QReport Dialoques Win 3 1 Exemples Dialogs implementation R DFM end 72 VE A 12 49 1 1 Modifi Insertion A a Conception de fiches la palette des composants Une fiche constitue l interface ou une partie de l interface d une application Pour concevoir une fiche il suffit d y ins rer des contr les ressources Windows pr tes l emploi boutons de commande listes menus list s dans la palette des composants Un clic sur le contr le J Darmont Programmation sous Delphi 19 40 puis un autre sur la fiche cible suffisent un double clic ins re le composant au milieu de la fiche active La palette des composants r unit plusieurs volets Les principaux sont list s ci dessous Standard Suppl ment win32 Syst me cc sBD Contr leBD Decision Cube QReport Dialogues win 3 1 Exemples IN ER A RTE o aaa En Bo te d dition permettant la
37. unit s etc eux m mes stock s dans des fichiers s par s Pour g rer ces fichiers Delphi met la disposition des utilisateurs un outil le gestionnaire de projets a Le gestionnaire de projets Le gestionnaire de projets se pr sente comme une fen tre compos e de trois colonnes et d une barre d outils EN Es C Z Ajouter Supprimer Unit Fiche Do Borland Delphi 3ABINAProjectl dpr 1 unit s 1 fichels SC e La colonne de gauche liste les unit s du projet La colonne du milieu donne la liste des fiches Toute fiche est associ e une unit mais la r ciproque est fausse e La colonne de droite indique le chemin d acc s au fichier de l unit quand celle ci ne se trouve pas dans le m me r pertoire que le projet lui m me e La barre d outils permet d acc der rapidement des fonctionnalit s galement accessi bles par la barre de menus principale Code d initialisation du programme J Darmont Programmation sous Delphi 23 40 Code source pas Code source des proc dures fonctions fiches DLL ou composants explicitement impl ment par Putilisateur ou automatiquement g n r par Delphi forme binaire RS ET A tion du projet Ressources Fichier binaire contenant les ressources Windows utilis es par l application ex l ic ne du programme Configuration du bureau ask Configuration du bureau d clar e dans la bo te de dialogue Options d environnement Code ob
Download Pdf Manuals
Related Search
Related Contents
Chapter 2 - Mangd Switch Quick Start WIFLY GSX SINGLE CHANNEL FCT Manual Samsung GT-S5253 User Manual Component testing Alt Living カタログ (PDF 4.1MB) Copyright © All rights reserved.
Failed to retrieve file