BlueGEEK Journal

Accueil > Manip’s > Delphi > Atelier Delphi pour les Nuls > Exercices > Addition > Ex1- 1er Programme = ADDITION

Ex1- 1er Programme = ADDITION

jeudi 10 avril 2008, par bluegyn_spip

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

  1. PROJECT1.DPR (pour Delphi Project) qui contient tous les chemins des fichiers du projet
  1. UNIT1.DFM (pour Delphi Form) qui correspond au dessin du formulaire sur notre écran
  1. 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 :

  1. Edit1
  1. Edit2
  1. Label1
  1. 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 :

  1. Pascal s’écrit aussi bien en majuscules qu’en minuscules
  1. Chaque INSTRUCTION se termine toujours par un ;
  1. Une instruction peut tenir sur plusieurs lignes
  1. Le signe d’affectation n’est pas = mais := (sans aucun espace entre le : et le =)
  1. Sur chaque composant appelé, il faut obligatoirement préciser quelle propriété on utilise
  1. 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’ ; )