Cours débutant Delphi

Cours débutant Delphi, tutoriel & guide de travaux pratiques en pdf.

Passage Pascal – Delphi – un premier exemple

L’interface

En Delphi, nous utiliserons les composants de l’interface graphique (les fenêtres de Windows) pour entrer les données et afficher les résultats. Les algorithmes PASCAL que nous avons utilisés jusqu’à maintenant pour obtenir les résultats pourront rester inchangés.
D’abord, nous allons créer l’interface du programme. Nous allons adapter les noms internes (propriété Name) de chaque composant que nous utilisons.
En plus, nous allons modifier les inscriptions sur les différents composants (propriétés Caption ou Text).

Les conversions de types

Les données inscrites dans les boîtes d’édition sont de type texte (string). Nous devons donc les transformer afin de pouvoir effectuer des calculs.
Voici quelques fonctions permettant d’effectuer certaines conversions :
StrToInt(string) : convertit une chaîne de caractères en un nombre entier (type integer)
StrToFloat(string) : convertit une chaîne de caractères en un nombre réel (type real).
De même, pour pouvoir afficher le résultat, nous devons le transformer en texte. Ceci peut se faire grâce aux fonctions FloatToStr et IntToStr.

Le traitement

Après la saisie des données dans les boîtes d’édition, l’utilisateur va cliquer sur le bouton btnCalcul. À cet instant l’événement OnClick du bouton est généré et la méthode btnCalculClick est lancée. Nous allons donc entrer les instructions à effectuer dans la méthode
btnCalculClick :
procedure TfrmMain.btnCalculClick(Sender: TObject);
var A,B,MOY : real;
begin
A := StrToFloat(edtA.Text);
B := StrToFloat(edtB.Text);
MOY := (A+B)/2;
lblMoy.Caption := FloatToStr(MOY); end;

Exercices

Exercice 7-1
Ecrivez un programme qui affiche le plus grand de trois nombres réels A, B, C.
Exercice 7-2
Ecrivez un programme qui calcule la somme d’une série de nombres entrés au clavier, en utilisant deux boîtes d’édition et un bouton pour la remise à zéro de la somme.
Exercice 7-3
Réalisez le programme PUISSANCE qui calcule et affiche la puissance XN (puissance X exposant N pour un réel X et un entier N positif, négatif ouzéro).
Pour les cas où XN ne se laisse pas calculer, affichez un message d’erreur !
Exercice 7-4
a) Réalisez un programme qui permet de simplifier unefraction.
b) Utilisez une partie du programme réalisé sous a) pour faire un programme qui additionne deux fractions.

Calcul de la factorielle

Comme premier programme essayons d’implémenter en Delphi le calcul de la factorielle.
1×K× x si x ³ 1
Rappelons que pour tout entier naturel x, x!= 1 si x = 0e
Pour élaborer ce calcul nous pouvons utiliser le programme développé dans le cours de 2 et l’incorporer dans celui en Delphi.

Présentation visuelle

Commençons par établir un formulaire dans lequel nous notons les valeurs et éditons les résultats.
Voici un exemple d’un tel formulaire.
Ce formulaire est un nouvel objet que nous appellerons Tformulaire, de capture (Caption) :
Factorielle (algorithme itératif).
Il est évident que tous ces champs possèdent encore davantage de propriétés. Nous n’avons énuméré ici que les plus importantes.

Code

Une fois ce formulaire établi, nous pouvons écrirele code nécessaire pour calculer la factorielle.
Rappelons que nous y utiliserons le code Pascal établi en 2 (voir également les « Algorithmes obligatoires »).
Delphi s’occupera de la déclaration du formulaire et de ses propriétés.
La seule partie du code que nous devons écrire est celle de la procédure btnOkClick qui va être exécutée, comme son nom le dit, après que l’utilisateur ait poussé sur le bouton Ok. Nous dirons que la procédure s’exécute après l’événementonClick appliqué à la propriétébtnOk.
Le tout se trouvera dans l’unité Unit1.
Voici une possibilité de code pour la procédure enquestion.
procedure Tformulaire.btnOkClick(Sender: TObject); var n,fact:integer;
begin
n:=StrToInt(edtnum.Text);
fact:=factorielle(n);
lblresult.Caption:=IntToStr(fact)
end;
Bien entendu, cette procédure suppose que la fonction factorielle(n:integer):integer est définie.

Explication du programme

En regardant de près ce code quelques remarques s’imposent :
– Comme la procédure s’emploie dans le formulaire Tformulaire, elle s’appellera sous son nom complet : Tformulaire.btnOkClick.
– La valeur saisie du nombre est la valeur de la propriétéText du champ edtNombre. Nous notons donc cette valeur par edtNombre.Text. De plus, comme il s’agit d’une chaîne de caractères, nous devons encore transformer cette chaîne en une valeur numérique par la fonction StrToInt, fonction prédéfinie dans Delphi.
– La valeur de la factorielle calculée sera affectéeà la propriété Caption du champ lblResultat que nous noterons par lblResultat.Caption. Comme de plus cette valeur doit être du type chaîne de caractères, nousdevons transformer fact par la fonction IntToStr, autre fonction prédéfinie dans Delphi.
L’unité Unit1 se présentera finalement ainsi :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
Tformulaire = class(TForm)
lblTitre: TLabel;
page 55 de 87
edtNombre: TEdit;
lblEgal: TLabel;
btnOk: TButton;
lblResultat: TLabel;
procedure btnOkClick(Sender: TObject);
procedure FormCreate(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
formul: Tformulaire;
implementation
{$R *.dfm}
//fonction permettant de calculer une factorielle function factorielle(n:integer):integer;
var fact:integer;
begin
fact:=1;
while n>1 do
begin
fact:=fact*n;
n:=n-1
end;
result:=fact
end;
procedure TFormulaire.btnOKClick(Sender: TObject); var n,fact:integer;
begin
n:=StrToInt(edtnum.Text);
fact:=factorielle(n);
lblresult.Caption:=IntToStr(fact)
end;
procedure TFormulaire.btnexitClick(Sender: TObject);
begin
Application.Terminate;
end;
end.

Exécution du programme

Une fois ce code saisi, nous sauvegardons le tout dans un répertoire réservé à cette application. Nous cliquons ensuite sur le bouton qui représente un petit triangle vert et le programme s’exécutera.

Remarques

 La méthode Tformulaire.btnExitClick aura comme seule commande Application.Terminate. De cette manière l’événement Click lié au bouton btnExit aura comme effet net d’arrêter l’application.
– La saisie fautive respectivement d’un nombre négatif ou décimal ne conduira pas à un message d’erreur de la part du programme mais nous affichera un résultat erroné. Nous laissons au lecteur le soin de corriger le programme pour l’améliorer de ce point de vue.

Equation du second degré

Écrivons maintenant un programme qui demande à la saisie les trois coefficients a, b et c d’une équation du second degré et qui calcule, si elles xistent, les racines de l’équation ax 2  bx  c  0
Ce même programme a été demandé comme exercice dans le cours de 2e. Nous en faisons ici un programme Delphi.

Présentation visuelle

Comme dans l’exemple précédent nous commençons par dessiner un formulaire que nous appellerons Tformulaire, dont l’instance formulaire nous permet de saisir les coefficients et de lire le(s) résultat(s). La propriétéCaption de l’objet Tformulaire aura comme valeur :
équation du 2 degré.
Nous remarquons tout-de-suite une nouvelle notion :
– les champs du type TGroupBox : Ils servent à regrouper différents champs dans un même groupe qu’ils affichent avec un cadre et un nom donné sous Caption. Dans notre exemple la TGroupBox gbCoeff regroupe les champs lblA, lblB et lblC, tandis la TGroupBox gbRes affichera les résultats et contient ainsi les champs lblTexte, lblX1 et lblX2.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *