Programmation Delphi 7 0
Programmation Delphi 7 0
Programmation Delphi 7 0
Introduction
Delphi r epr ésent e une nouvelle f açon de développer des applicat ions sous
Windows. I l associe la vit esse et la convivialit é d’un envir onnement de développement
visuel à la puissance d’un langage obj et , au compilat eur le plus r apide au monde et à une
t echnologie de base de données de point e.
Avec Delphi, vous avez maint enant la possibilit é de const r uir e des applicat ions
Client / Ser veur en un t emps r ecor d. Delphi per met de cr éer des f ichier s .EXE
indépendant s, des f ichier s .DLL (Bibliot hèques de lien dynamique), des applicat ions de
base de données locales ou dist ant es, des applicat ions OLE ainsi que des applicat ions
Client / Ser veur . L’envir onnement de concept ion visuel de Delphi vous per met de cr éer
des applicat ions Windows 32 bit s pour Windows 9x et Windows NT plus vit e qu’avec
n’impor t e quel out il de développement .
Tout au long de ces pages, vous allez appr endr e à développer des applicat ions
Windows en Delphi. La simplicit é du langage et le car act èr e visuel de l ‘envir onnement
f ont de Delphi un des out ils des plus conviviaux. En f ait , la cr éat ion d’une applicat ion en
Delphi, consist e en gr ande par t ie dans la disposit ion des cont r ôles qui f or mer ont
l’int er f ace. Vot r e applicat ion appar aît au f ur et à mesur e que vous aj out ez les obj et s,
et t elle qu’elle le ser a à l’ut ilisat eur . Delphi est , à ce pr opos, l’un des t ous pr emier s
langages de pr ogr ammat ion à avoir int égr é un envir onnement r éellement WYSI WYG
(What You See I s What You Get , ou t el écr it t el écr an). Des pr oj et s « bonus » r épar t is
t out au long de ce suppor t vous invit ent à met t r e « la main à la pât e », pour cr éer des
applicat ions complèt es et f onct ionnelles.
Visual Basic est un langage Basé obj et . D’aut r es langages sont dans ce cas. I ls se
ser vent d’obj et s et de mét hodes, mais ne r épondent pas aux concept s f ondament aux
des langages or ient és obj et qui sont l’encapsulat ion, l’hér it age et le polymor phisme.
Delphi est un vér it able langage or ient é obj et . I l per met de combiner dans une classe des
données et du code (Encapsulat ion), de cr éer de nouvelles classes à par t ir de classes
par ent es (hér it age) et enf in d’alt ér er le compor t ement hér it é (polymor phisme).
Les applicat ions Windows appar aissent à l’écr an f or mées d’élément s assez
semblables. Par exemple, le bout on st andar d est r epr ésent é sous la f or me d’un r ect angle
gr is saillant compor t ant un t ext e spécif ique en r appor t avec sa f onct ion. Delphi r epr end
la f onct ionnalit é du bout on, la capacit é de r épondr e à un clic de la sour is et d’af f icher
du t ext e. I l l’emballe dans un obj et appelé composant . Ce composant est st ocké dans la
bibliot hèque de composant s. Delphi est livr é avec une impor t ant e bibliot hèque qui
cont ient t ous les obj et s dont on a besoin pour cr éer un pr ogr amme Win32 digne de ce
nom.
La nat ur e or ient ée d’obj et de Delphi per met en cas de besoin d’aj out er des
f onct ionnalit és ou de modif ier le compor t ement d’un composant , en dér ivant simplement
un nouveau composant à par t ir de l’un de ceux qui se t r ouvent dans la bibliot hèque.
Delphi se ser t d’un compilat eur et d’un lieur aut hent ique qui pr oduisent des
exécut ables en code machine pur . Ut iliser un vr ai compilat eur pr ésent e encor e
l’avant age de pouvoir cr éer des DLL qui cont iennent des composant s pr ovenant de la
bibliot hèque des composant s. On pour r a ensuit e se ser vir de ces DLL pour ét endr e des
®
Samirboualam@HOTMAI L.COM 1 juin
Programmation Delphi 7.0
applicat ions de Delphi, ou pour r endr e ser vice à des pr ogr ammes développés avec des
out ils moins sophist iqués.
Enf in, Bor land a pr is conscience que la plupar t des applicat ions t our nent aut our
des bases de données. Collect er des inf or mat ions, les t r ait er et les r est it uer est le r ôle
de l’or dinat eur . Comme les développeur s st ockent en génér al les inf or mat ions dans une
base de données, Delphi pr opose des obj et s et des composant s qui r éduisent la quant it é
d’ef f or t s nécessair es pour cr éer des applicat ions or ient és bases de données.
At t ent ion
Ce suppor t n’enseigne pas les bases de la pr ogr ammat ion. I l appr end seulement à
ut iliser Delphi et suppose la connaissance des concept s f ondament aux de la
pr ogr ammat ion t els que var iable, f onct ion et boucle.
®
Samirboualam@HOTMAI L.COM 2 juin
Programmation Delphi 7.0
I INTRODUCTION
A la f in de cet t e par t ie, vous ser ez capable de:
? Par ler des car act ér ist iques de Delphi,
? Compar er Delphi avec d' aut r es envir onnement s de pr ogr ammat ion,
? Expliquer les pr incipes de f onct ionnement de Delphi.
I.1 Présentation
Delphi est un envir onnement de pr ogr ammat ion per met t ant de développer des
applicat ions pour Windows 3.x, Windows 9x et Windows NT. I l incar ne la suit e logique
de la f amille Tur bo Pascal avec ses nombr euses ver sions.
Le Tur bo Pascal (DOS et Windows) ne subir a appar emment plus de mises à j our .
Delphi est un out il moder ne, qui f ait appel à une concept ion visuelle des applicat ions, à la
pr ogr ammat ion obj et , de plus, il pr end en char ge le maint ien aut omat ique d' une par t ie du
code sour ce.
Voici quelques unes des car act ér ist iques de Delphi:
? Pr ogr ammat ion obj et .
? Out ils visuels bidir ect ionnels .
? Compilat eur pr oduisant du code nat if .
? Tr ait ement complet des except ions .
? Possibilit é de cr éer des exécut ables et des DLL .
? Bibliot hèque de composant s ext ensible .
? Débogueur gr aphique int égr é .
? Suppor t de t out es les API de Windows: OLE2, DDE, VBX, OCX, ...
®
Samirboualam@HOTMAI L.COM 3 juin
Programmation Delphi 7.0
C' est sa cour t e hist oir e qui t end à le pr ouver , au t r aver s de quelques
const at at ions:
? De plus en plus, des j our naux et r evues publiant habit uellement des pr ogr ammes
(souvent des ut ilit air es) écr it s en C, se conver t issent à Delphi. C' est le cas par exemple
du t r ès r épandu PC Magazine.
? Les chif f r es des vent es ont même r éussi à sauver Bor land (l' édit eur de Delphi),
au-delà de t out e at t ent e r éalist e.
? De l' avis quasi unanime Delphi sur passe lar gement Visual Basic, même et sur t out
on compar e sa der nièr e ver sion 32 bit s et le nouveau Visual Basic 6.
? SUN, cr éat eur de J ava et Hot J ava, a f ait appel à Bor land pour cr éer des
composant s Delphi per met t ant de const r uir e des applicat ions J ava sur I nt er net .
Et le C ? Mis à par t des quest ions de langage (donc de synt axe) est -il vr aiment
plus per f or mant qu' un out il comme Delphi ? I l vaut mieux évit er t out af f r ont ement . En
t out cas, les compilat eur s Tur bo C++, Bor land C++ pr oduit s par Bor land ont t ouj our s ét é
par mi les plus per f or mant s du mar ché. Or il se t r ouve que Bor land a ut ilisé le même
noyau de compilat eur pour son Delphi et pour son C++. Par exemple, le code génér é est
aussi opt imisé pour l' un que pour l' aut r e. Par t ant de là, les per f or mances doivent
pr obablement êt r e compar ables. La vie d' un développeur Windows ne se r ésume plus
qu' à un choix de langage.
I l y a bien d' aut r es envir onnement de développement à par t les t r ois cit és ci-
dessus, mais leur f aible dif f usion les mar ginalise.
®
Samirboualam@HOTMAI L.COM 4 juin
Programmation Delphi 7.0
II ENVIRONNEMENT DE TRAVAIL
A la f in de cet t e par t ie, vous ser ez capable de:
? Connaît r e les composant s de base de Delphi.
? Ut iliser les dif f ér ent es opt ions des menus.
? Reconnaît r e les diver s t ypes de f ichier s qui const it uent un pr oj et .
? Dist inguer ent r e pr opr iét és et événement s concer nant les composant s Delphi.
®
Samirboualam@HOTMAI L.COM 5 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 6 juin
Programmation Delphi 7.0
La nat ur e or ient ée obj et de Delphi f ait que, chaque composant ét ant un obj et , on
pour r a s’on ser vir comme base pour un nouveau dont le compor t ement ser a enr ichi ou
modif ié. On pour r a ensuit e aj out er le nouveau composant à la bibliot hèque des
composant s et le r éut iliser . La commande List e de composant s du menu Voir per met
d' accéder à t ous les composant s.
®
Samirboualam@HOTMAI L.COM 7 juin
Programmation Delphi 7.0
? I nt erBase : cet t e page vous per met t ent de vous connect er dir ect ement à une base
de données I nt er Base sans ut iliser de mot eur t el que le BDE ou ADO ( Act ive Dat a
Obj ect s).
? BDE : cet t e page vous per met t ent de vous connect er aux inf or mat ions des bases de
données via le BDE ( Borland Dat abase Engine).
? Exemples: cet t e page pr opose des exemples de composant s per sonnalisés. Le
composant TGauge qui s' y t r ouve n' est pr oposé qu' à des f ins de compt abilit é. La
page Win32 cont ient une bar r e de pr ogr ession qui se conf or me à la nouvelle
int er f ace Windows.
? Act iveX : cet t e page cont ient un cer t ain nombr e de composant s qui illust r ent
l' apt it ude de Delphi à employer les cont r ôles OLE et Act iveX.
®
Samirboualam@HOTMAI L.COM 8 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 9 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 10 juin
Programmation Delphi 7.0
Le t ext e sour ce cont ient les commandes qui const it uent le pr ogr amme. Text e
sour ce et f iches sont t r ansf or més en un pr ogr amme exécut able par l' envir onnement de
pr ogr ammat ion.
A chaque f iche cor r espond un f ichier sour ce, appelé Unit é. Nous pr ogr ammer ons
dans cet t e unit é l' aspect et le compor t ement de la f iche et de chacun de ses
composant s. Les commandes du t ext e sour ce sont t r ait ées à l' exécut ion du pr ogr amme.
L' inspect eur d' obj et s ne per met de par amét r er les composant s que pendant la
concept ion.
On peut per sonnaliser l' édit eur de code en passant par le boît e de dialogue
Opt ions d' envir onnement (menu Out ils).
On peut déj à const at er que Delphi génèr e aut omat iquement le code
cor r espondant à la f iche pr incipale For m1. Dans Delphi, chaque f iche est décr it e comme
un obj et (associé à une classe).
Delphi applique un pr incipe f ondament al lor s de la cr éat ion d' applicat ions: Chaque f iche
correspond à une unité.
On peut voir sur la f igur e I I .6 que Delphi a aut omat iquement déclar é la var iable
For m1. Cet t e var iable déf init un obj et qui est une inst ance de la classe Tf or m1.
Avant d' aller plus loin, il f aut insist er sur un point essent iel de l' ut ilisat ion de
Delphi. Pour le conf or t de l' ut ilisat eur , Delphi donne aut omat iquement un nom à chaque
nouvel obj et ou composant . I l s' agit d' un nom par déf aut . Par exemple For m1, But t on1,
But t on2, List box1... On peut bien ent endu t r availler avec ces noms, mais cet t e manièr e
de f air e est t r ès f or t ement déconseillée. Donc: I l est impérat if de donner un nom
(explicit e) à chaque nouvel obj et . Au lieu de But t on1 on aur a, par exemple, Quit t er ; au
lieu de List box1 on aur a, par exemple Couleur s. Les r aisons pour se plier à cet t e
discipline deviennent évident es au f ur et à mesur e que l' on t r availle avec Delphi.
®
Samirboualam@HOTMAI L.COM 11 juin
Programmation Delphi 7.0
Propriét és: Déf inissent les car act ér ist iques physique de l' obj et .
Mét hodes: Ensemble de pr océdur es et f onct ions int égr ées à la st r uct ur e de la classe.
Evénement s: Ensembles d' act ions auxquelles r éagit l' obj et . I ls sont exposées comme des
mét hodes pr ot égées af in que les obj et s puissent appeler le gest ionnair e
d' événement appr opr ié pendant son f onct ionnement nor mal.
Les concept s f ondament aux de la POO sont : encapsulat ion, hér it age et polymor phisme.
III.1 Encapsulation :
Les obj et s de la POO sont des ent it és concr èt es à l' int ér ieur d' un pr ogr amme,
t elles les zones de saisie, les f iches ou les messages d' er r eur . Un obj et pr ésent e
cer t aines pr opr iét és et peut ef f ect uer cer t aines act ions. Pr enons par exemple une zone
de saisie. L' une des ses pr opr iét és est const it uée par le t ext e af f iché. Elle est par
ailleur s capable de changer de cont enu. Les pr opr iét és sont r epr ésent ées par des
var iables, les act ions sont assur ées par des f onct ion ou des pr océdur es.
La sépar at ion des var iables qui mémor isent les pr opr iét és et des r out ines qui les
modif ient est appelée Encapsulat ion. Elle ser t à maint enir la f lexibilit é d' ut ilisat ion des
obj et s t out en évit ant les er r eur s de mise en œuvr e.
III.2 Héritage :
L' hér it age consist e pour une classe à r epr endr e les mét hodes et les var iables
d' une aut r e classe. I l n' est plus nécessair e de pr océder à de nouvelles déclar at ions si
elles sont déj à ef f ect uées dans la classe dit e de base.
L' hér it age per met à des classes de r epr endr e mét hodes et var iables des classes
ancêt r es. Elles n' ont pas besoin d' êt r e r edéclar ées et peuvent êt r e mises en ser vice
comme leur s modèles.
Gr âce à ce mécanisme, on peut commencer par déf inir des classes génér ales,
d' où l' on dér ive pr ogr essivement des classes plus spécialisées. Une classe donnée peut
engendr er aut ant de classe f illes que l' on désir e, qui peuvent êt r e à leur t our des
classes de base pour d' aut r es classes.
Polymorphisme :
Le polymor phisme donne la possibilit é d' ut iliser des mét hodes de même nom pour
implément er des inst r uct ions dif f ér ent es.
Gr âce au Polymor phisme, une mét hode gar de son nom t out en changeant de
cont enu. On peut ainsi invoquer de manièr e unif or me des mét hodes appar t enant à des
®
Samirboualam@HOTMAI L.COM 12 juin
Programmation Delphi 7.0
classes dif f ér ent es. Les inst r uct ions exécut ées ne sont pas les mêmes mais cet aspect
des choses échappe à l' appelant .
En d' aut r es t er mes, on peut appeler une mét hode sans connaît r e le dét ail des
inst r uct ions exécut ées qui s' adapt er ont à la classe concer née.
La mét hode Create const it ue un exemple de mét hode Polymor phe. Elle est
char gée d' inst ancier une classe et d' init ialiser l' obj et cr éé. I l est f acile d' imaginer que
ces opér at ions sont souvent t r ès dif f ér ent es d' une classe à une aut r e. Un obj et f enêt r e
ne possède pas les même pr opr iét és qu' un bout on. Malgr é t out , l' un et l' aut r e sont
cr éés par la mét hode Create, qui exécut e à chaque f ois le j eu d' inst r uct ions appr opr ié.
Ces spécif icat eur s ser vent à f ixer les dr oit s d' accès souhait és.
®
Samirboualam@HOTMAI L.COM 13 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 14 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 15 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 16 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 17 juin
Programmation Delphi 7.0
IV.5 Tests
IV.5.1 If then
if expr ession qui peut êt r e vr aie ou f ausse t hen
begin
/ / ce qu' il f aut f air e si vr ai
end;
/ / suit e f ait e dans t ous les cas
Si, par exemple, vous devez gér er le st ock d' un magasin, vous ser ez amené à
cont r ôler le nombr e d' ar t icles af in de décider à quel moment il f audr a passer la
commande. La par t ie du pr ogr amme pour r ait cont enir :
®
Samirboualam@HOTMAI L.COM 18 juin
Programmation Delphi 7.0
Bien sûr ces lignes supposent que la var iable Nbr SacsCiment EnSt ock soit déf inie
et que sa valeur r ef lèt e ef f ect ivement le st ock. Elles supposent également que la
pr océdur e Envoyer Commande exist e et qu' elle demande un par amèt r e chaîne puis un
par amèt r e ent ier .
Pr enons un exemple qui ut ilise le hasar d. Nous allons lancer un dé par exemple
1000 f ois et nous allons compt abiliser le nombr e de f ois que l' on obt ient le 6. Nous
devr ions en génér al obt enir aux envir ons de 167, mais r ien n' int er dit en t héor ie
d' obt enir 1000 f ois le 6 ou de ne j amais le voir !
Dans une nouvelle applicat ion, placez un label et un bout on sur la f iche. En
cliquant sur le bout on, une boucle va simuler les 1000 lancer s du dé, le label nous
per met t r a de voir le r ésult at . Le t est ser a f ait à l' int ér ieur de la boucle (ent r e le begin
et le end cor r espondant au f or ).
Essayez de f air e ce pr ogr amme puis compar er avec ce qui suit .
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
LabelResultat: TLabel;
ButtonLancer: TButton;
procedure ButtonLancerClick(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.ButtonLancerClick(Sender: TObject);
var i:integer;
var Nbr6:integer;
begin {début de la procédure}
randomize;
Nbr6:=0;
for i := 1 to 1000 do
begin {début de la boucle}
if random(6)+1 = 6 then
begin {début du test}
inc(Nbr6);
end; {fin du test}
end; {fin de la boucle}
LabelResultat.Caption:='Nombre de 6 : ' + IntToStr(Nbr6);
end; {fin de la procédure}
end.
I l est nécessair e de met t r e 0 dans la var iable Nbr 6 avant de commencer la
boucle, en ef f et , à l' ent r ée dans une pr océdur e ou une f onct ion, les var iables déclar ées
localement ont une valeur quelconque.
®
Samirboualam@HOTMAI L.COM 19 juin
Programmation Delphi 7.0
Essayez de suppr imer la ligne Nbr 6 := 0 et vous obt iendr ez des r ésult at s
cer t ainement f ar f elus.
Essayez de ne pas déclar er la var iable Nbr 6 dans la pr océdur e mais de la
déclar er dans la par t ie classe (ent r e le mot pr ivat e et le mot public). Ne met t ez pas la
ligne Nbr 6 : = 0 ; .
La pr emièr e f ois que vous cliquez sur le bout on, la var iable Nbr 6 commence à 0,
vous obt enez un nombr e de 6 r aisonnable, la deuxième f ois, il y a cumul avec les lancer s
de la pr emièr e f ois… Si vous ar r êt ez et lancez à nouveau le pr ogr amme, Nbr 6
r ecommence à 0.
Une var iable déclar ée dans la par t ie classe est mise aut omat iquement à 0 pour les
var iables numér iques, à False pour les var iables booléennes et à chaîne vide pour les
var iables chaînes.
En supposant que Moy ait ét é déf inie comme r eal et qu' elle cont ienne le r ésult at
d' un examen, une par t ie du pr ogr amme pour r ait êt r e :
®
Samirboualam@HOTMAI L.COM 20 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 21 juin
Programmation Delphi 7.0
En exécut ant le pr ogr amme et en cliquant sur le bout on "Essai de boucle", vous
obt enez un message qui af f iche la somme des dix pr emièr es valeur s (de 1 à 10).
La f onct ion I nt ToSt r per met de conver t ir le nombr e placé dans la var iable S en une
chaîne. Lor sque la var iable S cont ient par exemple le nombr e 3, la var iable Result at
r eçoit la chaîne ' 3' . Les deux chaînes ‘’La somme des dix pr emièr es valeur s est ‘' et
Result at sont mises l' une au bout de l' aut r e à l' aide du signe +. On dit que les chaînes
ont ét é concat énées.
IV.7 Débogage
Placez le cur seur sur la ligne commençant par For et t apez sur F5 (on peut aussi
f air e "Aj out er point d' ar r êt " à l' aide du menu Exécut er ). Exécut ez le pr ogr amme et
cliquez sur le bout on "Essai de boucle". Le pr ogr amme s' ar r êt e sur la ligne cont enant le
point d' ar r êt . Ut ilisez F8 ou F7 pour avancer en "Pas à Pas".
Pour obser ver le cont enu d' une var iable, il suf f it de placer (sans cliquer ) le
point eur de la sour is sur le nom de la variable et d' at t endr e une seconde. Avec t out es
les ver sions, placez le cur seur sur la var iable et f ait es CTRL + F7 (ou ut ilisez
"Evaluer / modif ier " dans le menu Exécut er ). Pour cont inuer l' exécut ion du pr ogr amme à
la vit esse nor male, vous pouvez t aper sur F9.
Remar que :
Si vous obt enez le message "La var iable … est inaccessible ici du f ait de
l' opt imisat ion" vous pouvez dans "Pr oj et " "Opt ion" "Compilat eur " suppr imer la coche
dans "Opt imisat ion". L' exécut able obt enu ser a un peu moins per f or mant , mais vous
pour r ez voir t out es les var iables dès la pr ochaine compilat ion.
end;
Tapez sur F12 pour voir la f iche et suppr imez le bout on "But t on1"
A la pr ochaine sauvegar de ou à la pr ochaine compilat ion, les lignes inut iles ser ont
aut omat iquement suppr imées.
®
Samirboualam@HOTMAI L.COM 22 juin
Programmation Delphi 7.0
V QUELQUES CONSEILS
A la f in de cet t e par t ie, vous ser ez capable de:
? ut iliser Delphi avec un peu plus d' assur ance,
? impr imer depuis un pr ogr amme Delphi,
? const r uir e une applicat ion const it uée de plusieur s f iches.
®
Samirboualam@HOTMAI L.COM 23 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 24 juin
Programmation Delphi 7.0
Si t out ef ois, on est cont r aint à l' ut ilisat ion de plusieur s f iches, il f aut connaît r e
quelques pr incipes.
Supposons que depuis For m1 (dans unit 1) on veuille ouvr ir For m2 (dans unit 2); il
convient de placer la clause uses unit 2 ; dans la par t ie implement at ion de l' unit é unit 1.
En cas d' oubli, Delphi pr opose de placer cet t e clause à vot r e place par le message
suivant :
®
Samirboualam@HOTMAI L.COM 25 juin
Programmation Delphi 7.0
Fig V.1
Apr ès avoir accept é voici la clause uses que Delphi aj out e à l' unit é de la For m1:
unit Unit1;
interface
…
implementation
uses Unit2;
Voyons maint enant ce que signif ie exact ement af f icher une f enêt r e. Quand on
commence une nouvelle applicat ion (avec une f iche vide) le pr oj et se pr ésent e sous la
f or me suivant e:
program Project1;
uses Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
On peut alor s aj out er une seconde f iche au pr oj et à l' aide de l' opt ion Nouvelle
f iche du menu Fichier . Le pr oj et devient alor s:
program Project1;
uses Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
Par déf aut , Delphi cr ée aut omat iquement les deux f iches. Mais cr éer ne signif ie
pas mont r er . Une seule f iche (la pr emièr e) est af f ichée lor s du lancement du
pr ogr amme. La seconde est cr ée, mais pas af f ichée. On peut l' af f icher et la cacher à
l' aide des mét hodes Show, Hide et Close. Show mont r e la f iche. Hide cache la f iche
(met la pr opr iét é visible à f alse). Close f er me la f iche.
®
Samirboualam@HOTMAI L.COM 26 juin
Programmation Delphi 7.0
VI PREMIERS PAS
A la f in de cet t e par t ie, vous ser ez capable de:
? accéder au code sour ce d' une applicat ion,
? const r uir e une applicat ion t r ès simple.
Fig. VI.1
Voici comment le code cor r espondant à la f iche est aut omat iquement modif ié par Delphi
Fig. VI.2
®
Samirboualam@HOTMAI L.COM 27 juin
Programmation Delphi 7.0
Fig. VI.3
J usqu' à pr ésent nous avons vu une unit, mais pas de pr ogr amme pr incipal. Où se
cache-t -il ? On peut le voir à l' aide de la commande Voir le Sour ce du pr oj et du menu
Pr oj et . Sur la f igur e VI .3 on voit une f enêt r e avec deux onglet s: un pour le pr ogr amme
pr incipal (pr oj et ) et un pour la unit. Si le pr oj et f ait appel à plus d' unit, il y aur ait plus
d' onglet s.
®
Samirboualam@HOTMAI L.COM 28 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 29 juin
Programmation Delphi 7.0
Fig. VI.6
®
Samirboualam@HOTMAI L.COM 30 juin
Programmation Delphi 7.0
Nous décr ivons ici une des diver ses mét hodes per met t ant de placer des
inst r uct ions de pr ogr amme (du code) "der r ièr e" un obj et en r éponse à un événement .
Commencez par cliquer sur le champ Edit pour le sélect ionner .
Fig. VI.7
Dans l' inspect eur d' obj et s, choisissez l' onglet "Evénement s" et double-cliquez
dans la case blanche en f ace de l' événement "OnChange". Cela signif ie que l' on veut
écr ir e du code qui ser a exécut é chaque f ois que le cont enu de cet obj et change:
Fig. VI.9
Fig. VI.8 Voici ce qui appar aît alor s:
Nous allons placer le code suivant à l' endr oit où Delphi a posit ionné le cur seur . A
chaque f ois que le cont enu du champ Edit change, la pr océdur e Texemple.mot Change est
appelée. Quand le cont enu cor r espond à ce que nous avons pr é-déf ini pour r endr e le
bout on Dessin visible, la pr opr iét é "visible" de l' obj et "Dessin" est mise à "vr ai". I l est
donc possible, et même cour ant , de modif ier des pr opr iét és d' obj et s en r éponse à des
événement s.
®
Samirboualam@HOTMAI L.COM 31 juin
Programmation Delphi 7.0
Fig. VI.10
Pr océdez de la même manièr e avec le bout on "Fin". Voici le code cor r espondant :
Fig. VI.11
®
Samirboualam@HOTMAI L.COM 32 juin
Programmation Delphi 7.0
Fig. VI.13
Fig. VI.14
A ce st ade vous pouvez déj à exécut er le pr ogr amme, appeler la seconde f iche, la
f er mer , et c. Tout ef ois, la seconde f iche ne cont ient pas d' image visible. Nous allons voir
3 possibilit és de placer une image dans cet t e f iche.
Première solut ion: placer une image dans la pr opr iét é "Pict ur e" de l' obj et "I mage1’’ en
cliquant sur les 3 point s à côt é de "(vide)" puis cliquer sur le bout on Char ger et
sélect ionnez à par t ir d’un dossier une image.
®
Samirboualam@HOTMAI L.COM 33 juin
Programmation Delphi 7.0
Voici comment se
pr ésent e la f iche
apr ès avoir choisi
une image
Fig. VI.17
Deuxième solut ion: char ger une image depuis le code lor sque la f iche "Expo" est act ivée.
Par exemple, placez le code suivant dans l' événement "OnAct ivat e" de la f iche
"Expo": En ef f et , la pr opr iét é "pict ur e" possède une mét hode "loadf r omf ile" per met t ant
de char ger une image. Taper ent r e par ent hèse et ent r e cot e le nom du f ichier , du
lect eur et du chemin.
Fig. VI.18
®
Samirboualam@HOTMAI L.COM 34 juin
Programmation Delphi 7.0
Troisième solut ion: pr oposer à l' ut ilisat eur de choisir lui-même l' image qu' il veut voir .
Pour cela, on ut ilise un des composant s de dialogue st andar d pr oposés par Windows.
Suppr imez le code f igur ant sur la
f igur e VI .18. Aj out er un bout on dont le
nom est "Char ger " sur la seconde f iche.
Aj out er sur cet t e même f iche un
OpenDialog à par t ir de la palet t e de
composant s que l' on appeller a "Ouvr ir ".
Voici comment se pr ésent e la f iche
Fig. VI.19
Fig. VI.20
Lor s de l' exécut ion du pr ogr amme, une boit e de dialogue appar aît quand on clique
sur le bout on "Char ger ", sélect ionner le lect eur , le dossier puis le f ichier de l' image
ensuit e cliquer sur le bout on Ouvr ir . Dans le code que nous avons écr it (f igur e VI .20),
"Ouvr ir " est l' obj et "dialogue st andar d d' ouver t ur e de f ichier ", "execut e" est une des
mét hodes de ce dialogue; elle per met de l' exécut er ou de le mont r er . "Filename" est une
pr opr iét é de ce dialogue cont enant le nom du f ichier choisi. I l est f or t ement conseillé
de t est er le r ésult at de la mét hode "execut e" avant d' ut iliser "Ouvrir. f ilename", car si
l' ut ilisat eur abandonne le dialogue ("cancel") la pr opr iét é " f ilename" n' est pas ut ilisable.
I l est bien ent endu possible de spécif ier le r éper t oir e de dépar t , le ou les ext ensions de
f ichier s accept ées par déf aut , et c. Ces dif f ér ent es amélior at ions sont laissées comme
exer cice.
VI.7 Conclusion
Le pet it exemple const r uit ci-dessus a pour but de:
- mont r er quels sont les pr incipes de base à ut iliser pour const r uir e une applicat ion avec
Delphi.
- mont r er qu' avec quelques lignes de code il est possible de const r uir e une applicat ion
f onct ionnelle, sûr e et d' un aspect pr opr e
- donner envie de r éf léchir sur de nouveaux pr oblèmes à r ésoudr e à l' aide de Delphi
Rappelons encor e que :
Delphi per met d' obt enir des pr ogr ammes dont les per f or mances sont au moins aussi
bonnes que celles obt enues avec le meilleur compilat eur C, car der r ièr e Delphi il y a du C
pour ce qui est de la génér at ion du code et de l' opt imisat ion.
®
Samirboualam@HOTMAI L.COM 35 juin
Programmation Delphi 7.0
Fig 6.1
Pour qu’à l’exécut ion, la f iche pr incipale de l’applicat ion occupe le plein écr an,
choisissez la valeur WsMaximized pour la pr opr iét é WindowSt at e de la f iche.
®
Samirboualam@HOTMAI L.COM 36 juin
Programmation Delphi 7.0
Fig 6.2
Astuces
Pour placer plusieur s copies du même composant , combiner la t ouche Shif t au clic
de sour is au moment de la sélect ion du composant . I l suf f it ensuit e de déposer sur la
f iche par dif f ér ent clics le nombr e de copies souhait ées. Pour libér er la sour is, cliquer
sur le pr emier composant (le plus à gauche) sous f or me d' une f lèche.
Pour sélect ionner plusieur s composant s de la f iche en même t emps, maint enez la
t ouche Shif t enf oncée et cliquer sur les dif f ér ent s composant s.
®
Samirboualam@HOTMAI L.COM 37 juin
Programmation Delphi 7.0
Fig 6.3
Double cliquer sur la commande Fermer (à par t ir du concept eur des menus). Vous
êt es alor s dans l' unit é cor r espondant e de la f iche, à l' int ér ieur d' un cor ps de pr océdur e
génér ée aut omat iquement par le mot eur de Delphi. Taper la commande Close ;
Procedure TForm1.Button1Click (Sender: TObject);
begin
Close
end;
la commande Close per met de f er mer le pr ogr amme. Revenez sur la f iche en
appuyant au clavier sur F12.
®
Samirboualam@HOTMAI L.COM 38 juin
Programmation Delphi 7.0
Remarque: On est obligé de conver t ir les valeur s saisies dans les dif f ér ent s composant s
Edit af in de pouvoir r éaliser des opér at ions de calculs avec ces données par ce qu’elles
sont , par déf aut , de t ype t ext e (Car act èr e). Si cet t e conver sion ne s’est pas f ait e,
l’opér at ion d’addit ion se solder ait par un r ésult at de concat énat ion de deux chaînes de
car act èr es (Ex: 5+3 donner ait comme r ésult at 53).
VII.6 Des commandes sans programmation
Dans Delphi, il est possible d’int r oduir e des commandes dans des menus sans
avoir à écr ir e la moindr e ligne de code. En ef f et , Delphi est dot é d’un composant appelé
Act ionList qui pr opose un j eu de commandes qu’on r et r ouve dans la plupar t d’applicat ions
pr of essionnelles.
Exemple : Les commandes du menu Edit ion : couper , Copier et Coller .
Fig 6.4
Une aut r e boit e de dialogue appar aît , elle cont ient le j eu de commandes pr oposé
par le Act ionList . Sélect ionner les act ions que vous voulez aj out er , puis conf ir mer par
OK. Dans not r e cas ce sont : Tedit Cut , Tedit Copy, Tedit Past e.
Fig 6.5
®
Samirboualam@HOTMAI L.COM 39 juin
Programmation Delphi 7.0
De r et our à la f iche, double cliquer sur le composant du menu, puis sélect ionner la
commande Couper du menu Edit ion, ensuit e à l’aide de la pr opr iét é Act ion de la
commande, lier la à Tedit Cut . Pr océder de la même manièr e pour Copier (TEdit Copy) et
Coller (TEdit Past e).
VII.7 Création d’un menu contextuel
Ce t ype de menu exist e depuis longt emps, mais il a acquis une signif icat ion
par t iculièr e avec Windows95 : Lor squ’on appuie sur le bout on dr oit de la sour is, un menu
cont ext uel s’af f iche, il pr opose de nombr euses f onct ions ut iles.
Comme son nom l’indique, ce t ype de menu se r éf èr e à un obj et pr écis. Si vous
appuyez sur le bout on dr oit de la sour is alor s que le cur seur est dans une zone de saisie,
un menu s’af f iche, dif f ér ent de celui qui s’af f icher a si le cur seur ét ait dans une zone de
list e. Le menu n’est donc pas accessible à par t ir de la t ot alit é de l’applicat ion.
Pour cr éer un menu cont ext uel, commencer d’abor d par le dépôt sur la f iche d’un
composant PopupMenu. Double cliquer dessus, et r aj out er les même commandes incluses
dans les menu Opér at ions et Edit ion.
Pour aj out er du code aux commandes du menu cont ext uel, il suf f it d’associer les
codes des commandes du menu Opérat ions aux commandes de ce menu et cela on
ut ilisant l’événement OnClick de chaque commande du menu cont ext uel. Pour les
commandes Couper , Copier et Coller ut iliser la pr opr iét é Act ion de chaque commande.
Pour associer ce menu cont ext uel à un obj et , sélect ionner cet t e obj et et
af f ect er à sa pr opr iét é PopupMenu le nom du menu. Dans not r e cas, sélect ionner la f iche
pr incipale et met t ez la pr opr iét é PopupMenu à PopupMenu1 du moment qu’on a cr éer
qu’un seul menu cont ext uel.
Fig 6.6
VII.8 Création d'une barre d'outils
A par t ir de la palet t e Win32 , déposer sur la f iche un composant Toolbar . Par
déf aut , ce composant s' appelle ToolBar 1 et s' af f iche en haut de la f iche car sa
pr opr iét é Align Vaut AlTop par déf aut .
Cliquer avec le bout on dr oit de la sour is sur le composant ToolBar et choisir dans
le menu cont ext uel qui s' af f iche Nouveau bout on ou Nouveau séparat eur . Aj out er de
cet t e manièr e quat r e bout ons pour les opér at ions de calcul puis un sépar at eur ensuit e
t r ois bout ons pour les opér at ions du pr esse papier s Couper , Copier et Coller .
®
Samirboualam@HOTMAI L.COM 40 juin
Programmation Delphi 7.0
Fig 6.7
Pour af f ect er les images ainsi sélect ionnées aux bout ons de la bar r e d' out ils,
sélect ionnez le composant Toolbar et met t ez sa pr opr iét é images à I mageList 1 .
Fig 6.8
Pour associer du code aux bout ons de la bar r e d' out ils, sélect ionner les bout ons
un à un puis dans l' événement OnClick lier chaque bout on à la commande de menu
équivalent e. De même, pour les commandes Couper , Copier et Coller ut iliser la pr opr iét é
Act ion de chaque bout on pour le lier à une act ion du Act ionList .
®
Samirboualam@HOTMAI L.COM 41 juin
Programmation Delphi 7.0
Fig 6.9
Ast uce : Pour simplif ier le t r avail dans l’envir onnement de pr ogr ammat ion, appuyer sur
la t ouche F11 pour appeler l’inspect eur d’obj et s et modif ier les pr opr iét és d’un
composant . Pour basculer ent r e l’édit eur de t ext e sour ce et l’édit eur de f iches appuyer
sur F12.
Revenez sur la f iche pr incipale par F12 et sélect ionner les composant s lesquels
vous voudr iez qu’ils af f ichent des messages d’aides. pour ce f air e, sélect ionner un
composant quelconque, met t ez sa pr opr iét é ShowHint à Tr ue et t aper le t ext e d’aide
dans la pr opr iét é Hint .
®
Samirboualam@HOTMAI L.COM 42 juin
Programmation Delphi 7.0
Remar que
Le sépar at eur ‘’| ’’ qui s’obt ient au clavier par la combinaison Alt Gr + 6 per met de
sépar er le t ext e de l’inf o-bulle de celui à af f icher sur la ligne d’ét at .
Si le conseil ne compr end pas de sépar at eur , la t ot alit é du t ext e est considér ée
comme un conseil cour t (inf o-bulle) et comme conseil long (t ext e de la ligne d’ét at ) et
donc il ser a af f iché et comme inf o-bulle et comme t ext e de la ligne d’ét at . En r evanche,
si vous début ez le t ext e par le sépar at eur , seul le t ext e de la ligne d’ét at s’af f iche. Et si
par cont r e, vous t apez un t ext e que vous t er minez par le sépar at eur , il ne s’af f iche alor s
que le t ext e de l’inf o-bulle.
VII.10 Ajout d’une fiche d'information
Cr éer une nouvelle f iche (nommée par déf aut Form2 ) en cliquant sur l' icône
Nouvelle Fiche sit ué sur la bar r e d' out ils, ou bien choisir dans le menu Fichier la
commande Nouvelle Fiche.
- Af f ect ez à la pr opr iét é Capt ion de cet t e f iche le nom : A pr opos…
- Af f ect ez à la pr opr iét é Height (Haut eur ) la valeur 220.
- Af f ect ez à la pr opr iét é Widt h (Lar geur ) la valeur 300.
- Af f ect ez à la pr opr iét é Bor der St yle la valeur bsDialog, cet t e pr opr iét é per met de
r endr e la t aille de la f iche non modif iable, c’est à dir e qu’on ne peut ni la r éduir e, ni
l’agr andir (Boit e de dialogue st andar d).
- Af f ect ez à la pr opr iét é Posit ion la valeur PoScr eenCent er af in qu’elle s’af f iche au
cent r e de l’écr an. En ef f et , la pr opr iét é Posit ion per met de choisir l’emplacement de la
f iche lor s de l’appel.
- Déposer sur cet t e f iche t r ois composant s label dont les pr opr iét és Capt ion sont
r espect ivement : La mini calculat r ice, Version : Du vendr edi 14-05-2004, Copyright ® :
t ous dr oit s r éser vés.
- Ut iliser la code ASCI I Alt +169 pour le obt enir le symbole du copyr ight ®
- Raj out er un composant But t on dont les pr opr iét és sont les suivant es:
Propriét é Valeur
Capt ion OK
ModalResult mr Ok
- Raj out er ent r e le t r oisième label et le bout on, un composant Bevel à par t ir de la
palet t e Supplément pour cr éer un t r ait sépar at eur ent r e les labels et le bout on. Les
pr opr iét é du Bevel sont :Height est égale à 3, Widt h est égale à 270 et Shape est
égale à bsTopLine.
®
Samirboualam@HOTMAI L.COM 43 juin
Programmation Delphi 7.0
Maint enant que la f iche A propos est t er minée, on doit r éaliser l’appel à celle ci à
par t ir de la f iche pr incipale. Lor squ’on décide de l’af f ichage, on peut choisir s’il est
modal ou non.
®
Samirboualam@HOTMAI L.COM 44 juin
Programmation Delphi 7.0
Nous avons af f air e à une except ion de la classe EZer oDivide. Le nom de
l' except ion indique qu' une er r eur s' est pr oduit e lor s de l' opér at ion de division.
L' exécut ion du pr ogr amme est int er r ompue mais elle n' est pas t er minée. Appuyer une
deuxième sur la t ouche F9 pour cont inuer l' exécut ion, et examiner sa f enêt r e de
messages.
®
Samirboualam@HOTMAI L.COM 45 juin
Programmation Delphi 7.0
Fig 6.12
Les pr ogr ammeur s ne t olèr ent pas de t els messages d' er r eur ! nous devons t r ait er
nous mêmes les mauvaises saisies des ut ilisat eur s et r édiger un message compr is par
t ous. C' est exact ement le sens dans lequel vous pouvez exploit er le t r ait ement des
except ions sous Delphi. Rédigez des blocs d' inst r uct ion appelés uniquement en cas
d' er r eur . vot r e pr ogr amme aur a t out le loisir de r éagir aux er r eur s.
VII.12.3 Traiteme nt de l'exception
Modif ions l' inst r uct ion de division par t out dans le pr ogr amme. I l doit vér if ier si
la donnée saisie dans Argument est dif f ér ent de zér o (0). Si c' est le cas, l' opér at ion de
division se r éalise et un r ésult at s' af f iche. dans le cas cont r air e, not r e pr ogr amme
émet t r a un message d' er r eur .
L' élément décisif dans le t ext e sour ce est le bloc Try … Except . Le mot r éser vé
Try int r oduit le bloc. Le pr ogr amme t est e les except ions des inst r uct ions qui suivent
Try. Except f er me le bloc d' inst r uct ions sur veillé. Si dans l' une de ces inst r uct ions une
except ion se pr oduit , nous quit t ons immédiat ement le bloc. L' exécut ion se pour suit
apr ès Except . A cet endr oit f igur ent des inst r uct ions appelées lor squ' une er r eur se
pr oduit . Si aucune except ion n' est signalée, cet t e zone est saut ée.
Try
edit3.text:= floattostr(strtofloat(edit1.text)/strtofloat(edit2.text))
Except
Application.MessageBox ('Revoyez vos domaines de définition', 'Division par
zéro', mb_ok)
End;
Dans la sect ion Tr y, le pr ogr amme t ent e de f air e un opér at ion de division ent r e
les données saisies dans Edit 1 (Valeur ) et Edit 2 (Ar gument ). Si cela n' ent r aîne aucune
er r eur , l' exécut ion se pour suit , et le r ésult at de l' opér at ion est af f ichée dans Edit 3
(Résult at ). Si par cont r e l' opér at ion de division n' est pas possible, elle déclenche une
except ion. Le pr ogr amme se br anche à la sect ion Except et émet un message d' er r eur .
Fig 6.13
VII.13Conclusion
V ous venez de découvrir quelques composants fondamentaux vous permettant de concevoir
une interface très simple. V ous avez traité leurs propriétés (caractéristiques) et leurs comportements
pendant l'exécution du programme, c’est à dire leurs réactions à des événements (actions) donnés (tel
qu'un double click ou une sortie de la fenêtre) en effectuant une opération bien définie. A travers cet
exemple vous aurez compris que la gestion des événements n'est rien d'autre qu'un appel de procédure
pris en charge par le gestionnaire d'événement dont vous vous contentez de préciser les réactions.
®
Samirboualam@HOTMAI L.COM 46 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 47 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 48 juin
Programmation Delphi 7.0
Nommons par exemple Oper at eur (sans accent ) une var iable ent ièr e r et enant ce
code. Voici la mét hode pour le bout on « plus ». Fait es de même pour les t r ois aut r es
opér at eur s.
privat e
NouveauNombr e :boolean; Pile:ext ended;Oper at eur :int eger ;
procedure TForm1.Calcule;
begin
// cette procédure n'est pas encore réalisée
end;
procedure TForm1.BoutonPlusClick(Sender: TObject);
begin
Pile := StrToFloat(LabelAffichage.Caption);
NouveauNombre := true;
Operateur := 1;
end;
St r ToFloat per met de conver t ir une chaîne en un nombr e décimal avec une
pr écision impor t ant e.
VIII.4 La touche "égal"
I l s' agit d' ef f ect uer le calcul et d' init ialiser la var iable NouveauNombr e. Le
calcul consist e à ef f ect uer l' opér at ion ent r e le nombr e r et enu dans la var iable Pile et le
nombr e qui est à l' af f ichage en t enant compt e de l' opér at ion demandée. C' est le r ôle de
la pr océdur e Calcule que nous allons t er miner maint enant :
procedure TForm1.Calcule;
begin
if Operateur = 1 then
begin
LabelAffichage.Caption :=
FloatToStr(Pile + StrToFloat(LabelAffichage.Caption));
end;
if Operateur = 2 then
begin
LabelAffichage.Caption :=
FloatToStr(Pile - StrToFloat(LabelAffichage.Caption));
end;
if Operateur = 3 then
begin
LabelAffichage.Caption :=
FloatToStr(Pile * StrToFloat(LabelAffichage.Caption));
end;
if Operateur = 4 then
begin
LabelAffichage.Caption :=
FloatToStr(Pile / StrToFloat(LabelAffichage.Caption));
end;
Operateur := 0;
end;
procedure TForm1.BoutonEgalClick(Sender: TObject);
begin
Calcule;
NouveauNombre := true;
end;
®
Samirboualam@HOTMAI L.COM 49 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 50 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 51 juin
Programmation Delphi 7.0
Vous r emar quez que le symbole & a ét é ut ilisé, il per met de déf inir la let t r e qui
ser a soulignée et qui per met t r a donc à l' ut ilisat eur de choisir r apidement dans le menu à
l' aide du clavier . Le signe moins (-) per met de cr éer une ligne sépar at r ice.
Vous pouvez f er mer la f enêt r e d' édit ion du menu. Pour cor r iger ce menu par la
suit e, f ait es un double clic sur le composant placé sur vot r e f or me et ut ilisez
évent uellement les t ouches <Ent er > <I nser > <Suppr >.
Si vous exécut ez ce pr ogr amme maint enant , vous ver r ez le menu mais il est
encor e inef f icace.
®
Samirboualam@HOTMAI L.COM 52 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 53 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 54 juin
Programmation Delphi 7.0
On peut aussi ut iliser la pr opr iét é Text de Memo1. Text cont ient la t ot alit é du
t ext e cont enu dans le composant Mémo, chaque chaîne aut r e que la der nièr e est
t er minée par les codes 13 et 10 cor r espondant au passage à la ligne (r et our char iot ).
Pour indiquer la valeur de r et our d' une f onct ion nous ut iliser ons result. Dans not r e cas
nous pouvons quit t er cet t e f onct ion avec
result:=true;
ou
result:=false;
Ut ilisez MessageDlg pour poser la quest ion.
Ut ilisez l' inst r uct ion Case of pour envisager les t r ois cas.
Function TForm1.Fermer:boolean;
var Abandon:boolean;
begin
Abandon:=false;
while (Memo1.Lines.Count<>0) and not Abandon do
begin
if Modif then
begin
case MessageDlg('Enregistrer ?',mtConfirmation,[mbYes,mbNo,mbCancel],0) of
mrYes:
begin Enregistrer1Click(nil);
if not Modif then Memo1.Lines.Clear;
end;
mrNo:
begin
Memo1.Lines.Clear;
Modif:=false;
end;
mrCancel:Abandon:=true;
end;{case}
end
else
begin
Memo1.Lines.Clear;
end;
end;
if Memo1.Lines.Count=0 then
begin
result:=true;
NomFich:=' ';
end
else
begin
result:=false;
end;
end;
IX.7 Fichier Nouveau
I l suf f it d' appeler la f onct ion Fermer sans même se pr éoccuper de sa valeur de r et our .
IX.8 Menu Quitter
Le mot close est suf f isant pour quit t er .
procedure TForm1.Quitter1Click(Sender: TObject);
begin
Close;
end;
®
Samirboualam@HOTMAI L.COM 55 juin
Programmation Delphi 7.0
end;
®
Samirboualam@HOTMAI L.COM 56 juin
Programmation Delphi 7.0
l' ut ilisat eur d' accéder dir ect ement à un obj et comme on pouvait le f air e avec les "vieux"
pr ogr ammes dos. Le handle est at t r ibué par Windows lor s de la cr éat ion de l' obj et et
ne changer a pas pendant t out e la dur ée de vie cet obj et .
Le handle de Memo1 est obt enu par : Memo1.Handle
Msg est un numér o (un integer) de message. Pour avoir une list e des messages
ut ilisés par Windows vous pouvez r egar der le f ichier Message.pas par exemple avec le
bloc-not es. Si Delphi a ét é inst allé dans le r éper t oir e habit uel sur le disque C, voici le
chemin à ut iliser pour ouvr ir ce f ichier :
c:\Program Files\Borland\Delphi7\Source\Rtl\Win\Messages.pas
Vous t r ouver ez par exemple que WM_UNDO cor r espond à $304.
Pour déf air e la der nièr e act ion f ait e par l' ut ilisat eur dans Memo1, nous pouvons
ut iliser : SendMessage(Memo1.Handle,WM_UNDO,0,0);
Memo1 r ecevr a le message WM_UNDO et exécut er a la pr océdur e cor r espondant e.
Edition Copier, Couper, Coller :
I l est possible d' ut iliser également SendMessage avec :
WM_COPY, WM_CUT et WM_PASTE.
I l est cependant plus f acile d' ut iliser les mét hodes
CopyToClipboard;
CutToClipboard;
PasteFromClipboard;
Vous t r ouver ez ces mét hodes dans l' aide de TMemo.
IX.11 A propos
Beaucoup d' applicat ions Windows possèdent une boît e de dialogue souvent
nommée "A pr opos", qui donne le nom du pr ogr amme, sa ver sion, le nom de l' aut eur …
Fait es "Fichier " et "Nouvelle Fiche" (avec Delphi vous pouvez aussi f air e
"Fichier " "Nouveau" "Fiches" et "Boît e à pr opos"). Nommez cet t e f or me par exemple
Bap et enr egist r ez l' unit é en l' appelant par exemple Ubap Amélior ez cet t e f iche…
I l f aut au moins un bout on "Ok" ou "Fer mer " qui aur a pour r ôle de f er mer cet t e
f enêt r e f acilement . Pour l' appeler à par t ir du menu "A pr opos" de la f or me pr incipale,
vous pouvez at t acher la pr océdur e suivant e au sous menu "A pr opos".
Bap.Showmodal;
L' ut ilisat eur devr a quit t er la boît e "A pr opos" pour pouvoir cont inuer à ut iliser le
mini édit eur .
®
Samirboualam@HOTMAI L.COM 57 juin
Programmation Delphi 7.0
Par exemples
AjouteEventuellementExtension('Bonjour','.txt') retournera 'Bonjour.txt'
AjouteEventuellementExtension('Bonjour.abc','.txt') retournera 'Bonjour.abc'
AjouteEventuellementExtension('Bonjour.','.txt') retournera 'Bonjour.'
®
Samirboualam@HOTMAI L.COM 58 juin
Programmation Delphi 7.0
Sommaire
INTRODUCTION.................................................................................................................................1
I INTRODUCTION .........................................................................................................................3
I.1 P RÉSENTATION ........................................................................................................................ 3
I.2 DELPHI ET LES AUTRES ............................................................................................................. 3
I.3 P RINCIPES DE DÉVELOPPEMENT EN DELPHI................................................................................ 4
I.4 DELPHI ET WINDOWS ............................................................................................................... 4
II ENVIRONNEMENT DE TRAVAIL .............................................................................................5
II.1 L’INTERFACE DE DÉVELOPPEMENT DE DELPHI ........................................................................... 5
II.2 LA BARRE DE MENU.................................................................................................................. 5
II.3 LA BARRE D'OUTILS.................................................................................................................. 6
II.4 LA PALETTE DES COMPOSANTS.................................................................................................. 6
II.5 L'INSPECTEUR D'OBJET ............................................................................................................. 8
II.5.1 Modifier les propriétés ......................................................................................................9
II.5.2 Les propriétés événement..................................................................................................9
II.6 LES ÉDITEURS ........................................................................................................................ 10
II.6.1 Editeur de fiches .............................................................................................................10
II.6.2 L'éditeur de texte source..................................................................................................10
II.7 STRUCTURES DES FICHIERS DU PROJET DELPHI......................................................................... 11
III NOTIONS DE BASE SUR LA POO ........................................................................................12
III.1 ENCAPSULATION :.................................................................................................................. 12
III.2 HÉRITAGE :............................................................................................................................ 12
III.3 DROITS D'ACCÈS :................................................................................................................... 13
III.4 LA PROGRAMMATION STRUCTURÉE ......................................................................................... 14
III.5 LES VARIABLES ...................................................................................................................... 15
III.6 OÙ PEUT -ON PLACER LES DÉCLARATIONS?............................................................................... 15
III.7 LES TYPES ............................................................................................................................. 16
III.7.1 Généralités sur les types..................................................................................................16
III.7.2 Les types numériques......................................................................................................16
III.7.3 Les types chaînes............................................................................................................17
III.7.4 Le type boolean..............................................................................................................17
III.7.5 Les types tableaux...........................................................................................................17
III.7.6 Les types enregistrements................................................................................................18
III.8 TESTS .................................................................................................................................... 18
III.8.1 If then...........................................................................................................................18
III.8.2 If then else......................................................................................................................20
III.9 UNE BOUCLE.......................................................................................................................... 21
III.10 DÉBOGAGE......................................................................................................................... 22
III.11 COMMENT SUPPRIMER UN COMPOSANT ................................................................................ 22
IV QUELQUES CONSEILS.........................................................................................................23
IV.1 QUESTIONS FONDAMENTALES ................................................................................................. 23
IV.2 COMMENT IMPRIMER ? ........................................................................................................... 24
IV .2.1 Impression du contenu d'une fiche....................................................................................24
IV .2.2 Utilisation du printdia log................................................................................................24
IV .2.3 Impression par ma méthode "Brute".................................................................................24
IV.3 COMMENT INTRODUIRE UN DÉLAI D'ATTENTE ?........................................................................ 25
®
Samirboualam@HOTMAI L.COM 59 juin
Programmation Delphi 7.0
®
Samirboualam@HOTMAI L.COM 60 juin