Accueil > Manip’s > Delphi > Atelier Delphi pour les Nuls > Exercices > Addition > Ex1- 1er Programme = ADDITION
Ex1- 1er Programme = ADDITION
jeudi 10 avril 2008, par
PREAMBULE
Delphi n’est pas un programme compliqué,
Delphi est un programme rigoureux
- Limite Obtus !
Delphi est le nom moderne du langage PASCAL
- qui est le prototype du langage rigoureux
Contrairement au langage C, qui est également un langage rigoureux, Pascal est un langage qui ne laisse strictement aucune fantaisie au programmeur,
- Limite Paranoïaque
Plaçant derrière chaque touche de code frappée un système de contrôle de la syntaxe qui s’affole à la moindre entorse
C’est aussi la sa grande différence avec des langages très permissifs comme le Basic ou le Php, qui devinent instinctivement l’intention du programmeur dans son écriture
Ici point de divination, ce qui n’est pas déclaré n’est pas exécuté, pire même pas compilé, pire, même pas lu !
En contre partie, PASCAL fournit un code compact, très rapidement compilé (d’où son nom de Turbo), fournissant des exécutables prêt à fonctionner au premier clic
DELPHI S’OUVRE SUR UNE FICHE VIERGE
Cette fiche appelée "Formulaire" en Basic,
- Est toujours intitulée Form1 par défaut
- Et s’intègre dans un projet qui s’appellera Project1
La sauvegarde de ce projet génèrera toujours au moins 3 fichiers
- PROJECT1.DPR (pour Delphi Project) qui contient tous les chemins des fichiers du projet
- UNIT1.DFM (pour Delphi Form) qui correspond au dessin du formulaire sur notre écran
- UNIT1.PAS (pour pascal objet) qui correspond au code attaché au formulaire précédent
POUR NOTRE PREMIER EXEMPLE
Nous placerons 4 composants sur notre fiche vierge :
- Edit1
- Edit2
- Label1
- Button1
Dans la BARRE DE COMPOSANT "Standard"
- Nous double-cliquons sur le petit Icône AB 2 fois de suite (edit)
- Une fois sur l’icône A (label)
- Et une fois sur le Bouton OK (button)
Ensuite avec la souris nous plaçons et redimensionnons nos "composants" comme bon nous semble :
- Il n’y a strictement aucun code à saisir, tout est transparent
- Je dessine ma fiche et Delphi s’occupe de générer tout seul le code pascal ad-hoc
Une autre manière de placer les composants, est de cliquer sur un composant,
puis de le dessiner sur la fiche. Le composant apparaitra au lâché de la souris
ANALYSONS CES COMPOSANTS
EDIT
- Est une Zone d’édition de texte (équivalent de TextBox en Basic, ou Input Text en Javascript)
- Contrairement au Basic un composant ne possède pas de propriété par défaut
- Ici IL FAUT TOUT DECLARER
-
- En basic on peut écrire
TextBox1 = "Bonjour"
-
- En Pascal il FAUT écrire
Edit1.Text := ’Bonjour’ ;
On dit que TEXT est la propriété par défaut du composant EDIT, car un champ d’édition est fait pour recevoir un TEXTE
LABEL
- Est une zone d’affichage d’une étiquette qui contrairement à EDIT ne peut être pas être modifié par l’utilisateur
- Mais on peut écrire par programmation dans une étiquette en utilisant sa propriété CAPTION
Label1.caption := ’Bonjour’ ;
On dit que CAPTION (titre) est la propriété par défaut du composant LABEL, car une étiquette est faite pour afficher un titre
BUTTON
- Est un Bouton Cliquable
- Sa Fonction est d’être cliqué, et de déclencher une ACTION
On peut mettre un Titre sur ce bouton en utilisant sa propriété CAPTION
Button1.CAPTION := ’Calculer’ ;
Mais ce qui nous intéresse ici n’est pas sa "Propriété" mais ses "évènements"
On dit que Click est la Fonction par défaut du composant BUTTON, car un Bouton est fait pour être Cliqué
Si je double clic sur ce bouton pour activer sa fonction par défaut,
- Une page de code s’ouvre :
procedure TForm1.Button1Click(Sender : TObject) ;
begin
end ;
Button1Click
- Est l’évènement appelé quand je Clique sur Button1
Je n’ai plus qu’a entrer le code "Action " de ce bouton pour pouvoir ADDITIONNER mes 2 champs de saisie, et afficher le résultat sur l’Etiquette.
Delphi est très intuitif
- Car ayant peur que le programmeur saisisse n’importe quoi, il lui suggère ce qu’il est possible de faire
Pour demander à Delphi
Qu’est ce que je peux écrire sur formulaire ???
Il suffit d’appeler le formulaire par son Nom et de mettre un Point
FORM1.
Comme le formulaire s’appelle quasi toujours form1, il suffit de taper form1 point
Les composants et les actions disponibles se déroulent AUTOMATIQUEMENT
- YAPLUKA faire son choix.
Je veux mettre dans LABEL1 la somme de EDIT1 et de EDIT2,
En Basic, j’écris simplement :
- LABEL1 = EDIT1 + EDIT2
Pascal étant extrêmement pointilleux refusera d’additionner 2 composants EDIT (car pour lui ça ne veut rien dire), et refusera ensuite de placer le résultat d’une combinaison d’EDIT dans un LABEL.
En PASCAL on ne mélange jamais les torchons et les serviettes
SYNTAXE PASCAL
- Entre le BEGIN et le END ; j’écris donc :
- Form1.
Je choisis LABEL1 puis je mets un point pour connaitre la suite des options,
Je choisis maintenant CAPTION et j’appuie simplement sur ENTREE pour valider mon choix. (la ligne de code se complète automatiquement)
Ensuite je tape le signe d’affectation qui en Pascal s’écrit
:=
Deux Points Egal
Je désigne ensuite le premier champ EDIT en tapant form1.
- Je choisis EDIT1
-
- Puis je pointe sa propriété TEXT
Je tape le symbole de l’addition
+
Puis je rajoute de même le champ Edit2
Observons cette ligne de CODE :
Chaque Objet est décrit de façon très précise (Pascal est un langage fortement typé)
En Pascal l’affectation n’est pas le Signe = mais :=
Chaque ligne se termine toujours par un Point Virgule ;
NB : On est pas obligé d’écrire form1.edit1.text (edit1.text suffit)
LANCER LA COMPILATION
Une fois le code écrit, il ne me reste plus qu’à le tester
C’est la qu’est toute la puissance de DELPHI, car si le test réussit
- Non seulement le projet est compilé
- Mais l’exécutable est construit, prêt à fonctionner
Il suffit de cliquer sur la petite flèche verte
SI TOUT VA BIEN CETTE FENETRE APPARAIT
J’entre 1 dans le 1er champ
J’entre 1 dans le second
Je clique sur le bouton ADDITION
Ooops
Ou est le BUG ?
A suivre les mystères de la conversion des types...
DANS CETTE LECON ON RETIENT QUE :
- Pascal s’écrit aussi bien en majuscules qu’en minuscules
- Chaque INSTRUCTION se termine toujours par un ;
- Une instruction peut tenir sur plusieurs lignes
- Le signe d’affectation n’est pas = mais := (sans aucun espace entre le : et le =)
- Sur chaque composant appelé, il faut obligatoirement préciser quelle propriété on utilise
- Les chaînes sont toujours délimitées par des ’ SIMPLES’ QUOTES ’, et non par des " DOUBLE QUOTES " comme en Basic (pour mettre une apostrophe dans une chaine il suffit de la doubler A := ’Un c’’est bien, mais deux c’’est mieux’ ; )
Messages
1. 3- 1er Programme = ADDITION, 10 avril 2008, 21:59, par BlueGYN
CLIQUEZ ICI POUR LES SOURCES