BlueGEEK Journal

Accueil > Manip’s > Delphi > Atelier Delphi pour les Nuls > Exercices > Addition > Ex2- Correction du Programme Addition 1

Ex2- Correction du Programme Addition 1

samedi 12 avril 2008, par bluegyn_spip

- Notre premier Programme ne nous donne pas tout à fait le résultat escompté

  • A la question 1+1
    • On nous répond "11"

POURQUOI ?

- Parce que dans cette ligne de code

Label1.caption := Edit1.text + Edit2.text ;

- Nous avons demandé au programme d’additionner 2 TEXTES (en clair une concaténation), et non pas 2 nombres

- Et si je mets "Bout à Bout" 1 et 1, ça me donne bien "11"


- Pour additionner 2 nombres Entiers, il faut transformer notre saisie d’un texte en nombre :

- Nous utiliserons la Fonction StrToInt (string to integer) de cette façon :

label1.caption := StrToInt ( Edit1.text ) + StrToInt ( Edit2.text ) ;


- J’appuie sur F9 pour compiler le Module

Oops encore un Bug

- Que c’est il passé, j’ai pourtant bien additionné 2 entiers ?

- J’obtiens bien un nombre, mais je tente de placer un Nombre dans un Caption qui attend un texte !!!

  • Je dois donc faire la conversion inverse avec IntToStr (Integer to String) :

label1.caption :=

IntToStr(

StrToInt ( Edit1.text ) +

StrToInt ( Edit2.text ) ) ;

Attention aux 2 T (dans IntTo et bon appariement des parenthèses)

 [1]


Cette fois ci ça marche :


[1Remarquez que le code Pascal ne tient pas compte des sauts de lignes qui placés ici rendent le code beaucoup plus lisible

Messages

  • Q

    > Je trouve compliqué cette transformation de string en integer et vice versa tout le temps, visual basic est bien plus simple.


    - Quand tu regardes Delphi en venant du Basic ou du Php, tu te dis :

    • "Pourquoi tant de complications ?"

    - Par contre quand tu débarques du langage C, tu te dis

    • "Mon Dieu mais ce n’est pas possible comment ont il réussi à tant simplifier l’écriture du code !!!

     :’-))

    - Basic et Php sont des langages interprétés qui utilisent un pseudo code, très proche du langage Macro

    • Ce pseudo code et lu et traduit par l’interpréteur puis pseudo compilé dans un premier temps
    • Pour créer un Programme autonome tu es obligé de créer un pseudo exécutable qui fait appel pour pouvoir être activé à un grand nombre de bibliothèques externes, spécifiques à ton programme ou commune à Windows

    => Ces langages sont des langages dirigés vers l’Utilisateur, et donc axés simplicité en contre partie d’une certaine limitation

    - L’éditeur C ou Pascal (qui est d’ailleurs commun sous Delphi) parle directement à la machine

    - Et le code textuel de ton programme est écrit "comme si tu parlais à la machine"

    - Avec ses conventions, qui sont pour le quidam "relativement très stupides"

    - La machine veut toujours savoir, très précisément, si elle te réserve un octet ou deux octets, ou un nombre indéfini d’octets (qu’on appelle aussi un pointeur)

    - A chaque fois que tu testes ton code (en appuyant sur F9), c’est ton exécutable lui même qui est entièrement reconstruit à une vitesse phénoménale qui a fait la gloire du TurboPascal

    => Ces langages sont des langages dirigés vers la Machine, et donc axés efficacité & puissance en contre partie d’une absence complète de limitation

    Il faut relire la première Leçon, ou je qualifie le Pascal de

    - langage "Obtus et Paranoïaque"

    - langage "fortement typé"

    Ex1- 1er Programme = ADDITION

    - Tu n’as pas le choix, si tu veux parler à ta machine , du dois apprendre son langage.

    - Pascal c’est peu la Formule 1 à portée de Tous ’la vraie formule 1 étant le langage C, dont la syntaxe et complètement inaccessible au débutant)