NEO ::: TEAM
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

NEO ::: TEAM

New Evolution Owner
 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -50%
Ampli Home Cinema Denon AVR-X1700H à 399€
Voir le deal
399 €

 

 XXII : Une bonne interface MS-DOS

Aller en bas 
AuteurMessage
hou$$am
Fondateur
Fondateur
hou$$am


Nombre de messages : 386
Localisation : Tlemcen-Algeria
Date d'inscription : 04/01/2007

XXII : Une bonne interface MS-DOS Empty
MessageSujet: XXII : Une bonne interface MS-DOS   XXII : Une bonne interface MS-DOS Icon_minitimeMar 16 Jan - 4:23

Lors de la création d'un programme informatique, l'élaboration de l'interface utilisateur est très critique, demande du code et de la patience. Outre les procédures systématiques de gestion des erreurs et de contrôle des entrées, la présentation des données aussi bien en mode MS-DOS qu'en mode graphique conditionne bien souvent la qualité de la difusion d'un programme. Il est vrai qu'en règle générale, un programme écrit en Pascal est surtout destiné à une utilisation personnelle mais dans le cas d'une distribution plus large (internet, amis...) il est capital de présenter à l'utilisateur les données de façon ordonnée, aérée et claire. Car quand dans un programme des informations apparaissent à l'écran et qu'on ne sait pas d'où elles viennent, ni comment intervenir sur son déroulement, l'utilisateur est frustré et l'abandonne.
Il est donc nécessaire, ne serait-ce que pour être à l'aise devant son écran, de construire une interface simple et claire.

Doter son programme d'une inferface efficace commence déjà par lui donner nom ou du moins un descriptif de l'objectif ou du travail qu'il doit produire ainsi que des diverses opérations qu'il est capable de réaliser. En générale, cela commence par l'affichage d'un menu du type suivant :

- GESTION D'UN TABLEAU -

[A] - Abandon
[B] - Création du tableau
[C] - Affichage du tableau
[D] - Modification d'un élément du tableau
[E] - Ajout d'un élément à la fin du tableau
[F] - Suppression d'un élément du tableau
[G] - Insertion d'un élément dans le tableau
[H] - Recherche du plus petit élément dans le tableau
[I] - Recherche du plus grand élément dans le tableau

Entrez votre choix au clavier : _

Il faut être capable de gérer correctement l'entrée de l'utilisateur pour être sûr qu'il entre un paramètre correct :

Syntaxe :

Code:
Procedure menu(Var reponse : Char) ;
Begin
Repeat
ClrScr;
WriteLn('[A] - Abandon') ;
WriteLn('[B] - Création du tableau') ;
WriteLn('[C] - Affichage du tableau') ;
WriteLn('[D] - Modification d''un élément du tableau') ;
WriteLn('[E] - Ajout d''un élément à la fin du tableau') ;
WriteLn('[F] - Suppression d''un élément du tableau') ;
WriteLn('[G] - Insertion d''un élément dans le tableau');
WriteLn('[H] - Recherche du plus petit élément dans le tableau') ;
WriteLn('[I] - Recherche du plus grand élément dans le tableau') ;
WriteLn;
Write('Entrez votre choix au clavier : ');
ReadLn(reponse) ;
Until UpCase(reponse) In ['A'..'I'] ;
End ;

Ensuite, il faut pouvoir détailler les opération et leurs résultats afin d'offir le maximum d'information à l'utilisateur :

[H] - RECHERCHE DU PLUS PETIT ELEMENT DU TABLEAU

Résultat de la recherche :
- rang : 27
- valeur : -213

Recherche terminée, tapez sur <ENTREE> pour retourner au menu.

La recherche d'erreur fait également parti des prorogatives du programmeur, c'est-à-dire que le programme doit être capable de repérer des entrées éronnées, d'expliquer à l'utilsateur ce qui ne vas pas, pourquoi ça ne vas pas et lui permettre de recommencer sa saisie.
Syntaxe :

Code:
Procedure modifier(Var tab1:tableau; n:Integer) ;
Var rang,valeur : Integer ;
    test : Boolean ;
Begin
ClrScr ;
WriteLn('[D] - MODIFICATION D'UN ELEMENT DU TABLEAU') ;
If n>=1 Then
Begin
    Repeat
    Write('Entrez le rang [1,',n,'] de l''élément à modifier : ') ;
    ReadLn(rang) ;
    test := (rang>0) And (rang<=n) ;
    Until test ;
Write('Entrez la nouvelle valeur de l''élément : ') ;
ReadLn(valeur) ;
tab1[rang] := valeur ;
WriteLn('Modification terminée, tapez sur ENTREE pour retourner au menu.') ;
End
Else WriteLn('Aucun élément dans le tableau.') ;
ReadLn ;
End ;

Très souvent le tableau est la forme la plus appropriée pour présenter des données à l'écran texte, il est donc souhaite de construire des tableau multi-cardes afin d'avoir à l'écran plusieurs informations simultanément comme le montre l'exemple suivant :
Exemple sous dos d'un tableau de cractères ASCII

Ici, les caractères spéciaux de la table ASCII (pour MS-DOS) ont été remplacés par des tirets ou des I car non affichables sous Windows.

Code:
Program exemple28 ;

Uses Crt ;

Var i,j : Integer;
    x : Real ;
    test : Boolean ;

Procedure menu(i : Integer; test : Boolean) ;
Begin
WriteLn(' ----------------------------------------------------------------') ;
WriteLn(' I      SuperCalculator      2.5      I') ;
WriteLn(' ----------------------------------------------------------------') ;
If test Then WriteLn('Faire afficher le menu principal...')
Else
Begin
    WriteLn(' ----------------------------------------------------------------') ;
    WriteLn(' I  Module : CALCUL DE FONCTION  I  Page : ',i,' I') ;
    WriteLn(' ----------------------------------------------------------------') ;
    WriteLn(' I      Valeur de X      I      Valeur de Y=f(X)      I') ;
    WriteLn(' I          I          I') ;
End ;
End ;

Function f(x : Real) : Real ;
Begin
    f:=Sqr(x) ;
End ;

BEGIN
ClrScr ;
i := 0 ;
j := 1 ;
test := False ;
menu(j,test) ;
x := 0 ;
Repeat
  Inc(i) ;
  x := x+50 ;
  WriteLn(' I',Round(x):12,'    I',Round(f(x)):15,' I') ;
  test := x>1700;
  If ((i Mod 14)=0) Or test Then
  Begin
      WriteLn(' --------------------------------') ;
      WriteLn(' I      Appuyez sur <ENTREE> pour continuer...      I') ;
      Write(' --------------------------------') ;
      ReadLn ;
      ClrScr ;
      Inc(j) ;
      menu(j,test) ;
  End ;
Until test ;
ReadLn ;
END.

Revenir en haut Aller en bas
 
XXII : Une bonne interface MS-DOS
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
NEO ::: TEAM :: Informatique :: Languages de programmation :: Turbo Pascal-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser