Recuperer texte et afficher *

drodidier Messages postés 4 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
j'aimerai écrire un petit programme en turbo pascal qui nous permet de remplacer un texte saisi par le caractère (*),mais je me demande quelle fonction utiliser car je ne suis pas vraiment un pro en pascal.
merci d'avance.

4 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Je ne sais pas trop comment le faire avec des étoiles, mais voici une méthode qui t'ira surement.

    1) Je change la couleur du texte avec celle du fond de la console.
    2) Je remonte mon curseur pour effacer les lignes que je ne veux plus voir affichées.

    Tu trouveras plus d'informations sur le tutoriel de Cyberzoïde auquel je me réfère toujours lorsque je veux faire des trucs un peu sophistiqué de ce genre.

    program drodidier;
    
    uses crt; // ou wincrt selon les versions
    
    const FONDECRAN = 0; // noir
    const COULEURTEXTE = 7; // gris
    
    var s:string; i,y:integer;
    begin
         // Début du programme
    
         textbackground(FONDECRAN);
         textcolor(COULEURTEXTE);
    
         for i:=1 to 5 do
             writeln('bla bla bla');
    
         // Début de la section à protéger
    
         y:=wherey; // position de la ligne à partir de laquelle effacer
         write('Entrez un texte secret : ');
         
         // On cache le texte écrit
    
         textcolor(FONDECRAN);
    
         readln(s);    
    
         // On efface les lignes précédentes
    
         for i:=wherey downto y do // on remonte jusqu'à l'indicateur
         begin
              gotoxy(1,i); // on remonte d'une ligne
              clreol;      // on efface la ligne
         end;
    
         // On reprend le cours normal du programme
    
         textcolor(COULEURTEXTE);
    
         writeln('Votre texte a bien ete pris en compte, merci.');
    
         for i:=1 to 5 do
             writeln('bla bla bla');
    
         readln;
    end.
    La confiance n'exclut pas le contrôle
    1
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Remarque : dans un premier temps j'avais dit qu'une seule méthode suffisait, or la combinaison des deux est de loin la plus sûre, car même si les couleurs sont confondues, le texte est bien écrit sur la console, et pourrait être copier-coller, d'où l'intérêt de l'effacer proprement.
      0
  2. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonne idée !
    Et bien, en cas de problème tu sais où nous trouver ;-)
    0
  3. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bon alors je m'y colle quand même, qu'est-ce que tu veux faire exactement ?
    0
  4. drodidier Messages postés 4 Statut Membre
     
    Ce que je veux faire exactement: un programme en turbo pascal.
    lorsqu'on tape une lettre sur le clavier au lieu d'afficher la lettre en question qu'il affiche * a la place de cette lettre.
    exemple:
    bonjour --->*******.
    0