La boucle "répéter" en Delphi Pascal

InputBox: une petite fonction Delphi bien utile

Durant cette leçon, nous allons intensivement utiliser l'interaction avec l'utilisateur des programmes que nous allons écrire.
Une fonction Delphi va nous permettre de demander des informations à l'utilisateur durant le fonctionnement d'un programme: la fonction InputBox.

InputBox

Une fonction, dites-vous? Mais c'est une boîte de dialogue que vous me montrez là. Il n'y aurait pas erreur sur la personne?

Non, pas d'erreur. Il s'agit bien d'une fonction qui, comme toutes les fonctions, demande un certain nombre d'arguments et retourne une valeur. Simplement, durant son déroulement, elle affiche une boîte de dialogue en plus.

L'appel de la fonction fait apparaître une boîte de dialogue dans laquelle l'utilisateur est invité à fournir une valeur qui peut être utilisée dans la suite du programme.

Dans sa forme la plus simple, la fonction InputBox demande trois arguments et renvoie une valeur qui est une chaîne de caractères.

function InputBox(const ACaption, APrompt, ADefault: string): string;

ACaption: chaîne de caractères qui sera le titre de la boîte de dialogue; dans l'exemple ci-dessus "Calcul de votre âge".
Aprompt: chaîne de caractères qui indique la nature de la question posée; dans l'exemple ci-dessus "Votre année de naissance".
Adefault: chaîne de caractères qui présente la valeur par défaut qui sera indiquée dans la zone de saisie.

  • DialogueDémarre une nouvelle application.
  • Enregistre l'application dans ton répertoire personnel sous le nom age.dpr. Enregistre la fiche sous un nom approprié.
  • Sur la fiche, dépose un composant tButton et un composant tLabel, comme illustré ci-contre.
  • Définis le clic du bouton selon la méthode indiquée ci-dessous:
procedure TForm1.Button1Click(Sender: TObject);
var millesime: integer;
age: integer;
votreAge: string;
begin
annee := inputbox('Calcul de votre âge', 'Votre année de naissance', annee);

millesime := strToInt (annee);
age := 2006-millesime;
votreAge := IntToStr(age);

Label1.Caption := concat('Vous avez ', votreAge, ' ans.');
end;

Ouuuups, je vois déjà une faute dans le texte de cette procédure: la variable annee n'est pas déclarée.

Ce n'est pas une faute; tout au plus une petite imprécision. La variable Annee sera déclarée au niveau global, dans l'application. De cette manière, elle conservera sa valeur précédente à chaque déclenchement de l'événement clic.

  • Définis la variable annee au niveau global de l'application. Quel doit-être son type? Examine les informations données pour trouver la réponse à cette question.
  • Exécute l'application.

Vérifie que tu as bien compris le mécanisme de la fonction InputBox.

  • Modifie l'application de manière à ce qu'elle demande l'heure actuelle (sans les minutes) et qu'elle calcule le nombre d'heures restant avant minuit.
  • Enregistre l'application sous le nom cendrillon.dpr. Donne un nom qui convient à la fiche.

Quand tu as as exécuté les deux applications et bien compris leur mode de fonctionnement, passe à la page suivante. Vers la page suivante Page suivante


Dernière modification 20/08/2016 Test dans /info ...