Résultats de 1 à 3 sur 3

Sujet : string, voir chaque caractère

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    1
    bonjour
    je suis debutant en pasca.Je suis en train de faire un pendut ...mais j\'ai un probleme avec le mot a entrer ...le mieux ca serait de le mettre en string
    comme ca l\'ulitisateur pourait le l\'entree en un coup mais apres comment je fais pour etudier chaque lettre ( en fait faudrait mettre chaque lettre dans une case de tab) ...je ne connais pas bien les string..je ne trouve pas d\'info dessus.
    Merci d\'avance.
    eric

  2. #2
    Visiteur MP
    Visiteur MP

    string, voir chaque caractère

    bonjour,

    exemples:
    Code:
    ====================
    program CommandLine;
    {  PROGRAMME UTILISANT COMMANDLINE Version 1.00A
      Ce programme récupère les paramètres placés dans la ligne de commande
      INSTRUCTIONS
        1.  Compilez ce programme avec TURBO PASCAL et créez un fichier .COM
        2.  Quittez TURBO et exécutez ce programme avec des paramètres.
            Essayez:
                    cmdlin abc def
                    cmdlin Salutations de Frank Borland !
                    cmdlin
      NOTE: Pour de plus amples informations sur cette fonction,
            consultez le manuel de TURBO-PASCAL 3.0.
    }
    var
      i : integer;
    begin
      for i := 1 to ParamCount do
        writeln(ParamSTR(i));
    end.
    Code:
    ====================
    Program Date_du_jour;
    Const    CRLF        = 13;
             BS          = 8;
    Type     S8          = String[8];
             Ligne       = String[79];
    Var
             Year,Month,Day,DayofWeek               : integer;
             J                                      : Array[1..7] of S8;
             M                                      : Array[1..12] of S8;
             Result,Z,I,I1,I2,Jour,Mois,Annee       : Integer;
             V41,B,Ch                               : Char;
             Blanc                                  : String[60];
             Nom_Jour,A,UA                          : String[20];
    Function Up(a:Ligne):Ligne;
    { --------------------------------- }
    { Conversion majuscule de la chaŒne }
    { fournie en entr‚e                 }
    { --------------------------------- }
    var
      B            : Ligne;
      C            : String[1];
      I,J          : Integer;
    begin
      B:=\'\';
      For I:=1 to Length(A) do
      begin
        C:=Copy(A,I,1);   { On isole un caractŠre }
        V41:=C[1];
        C:=Upcase(V41);   { On le convertit en majuscule }
        B:=Concat(B,C);   { et on le concatŠne … la sous-chaŒne convertie }
      end;
      Up:=B;
    end;
    Procedure Lecture;
    { ---------------------- }
    { Lecture d\'un caractŠre }
    { ---------------------- }
    begin
      While not Keypressed do;    { Attente de l\'appui sur une touche }
      Read(kbd,ch);               { Lecture du caractŠre tap‚         }
      If (Ch=#27) then            { CaractŠre ESCape                  }
      begin
        Read(kbd,ch);
        I1:=Ord(Ch)+128;
        Ch:=Chr(I1);
      end;
    end;
    Procedure Lit(Longueur : Integer);
    { --------------------------------------- }
    { Lecture d\'une chaŒne de longueur        }
    { fixe avec retour … la ligne automatique }
    { --------------------------------------- }
    begin
      A:=\'\'; B:=\' \'; Z:=1;
      Repeat
        Lecture;
        Case Ord(Ch) of
          CRLF : Z:=Longueur+1;
          BS   : begin
                   I1:=WhereX-1; I2:=WhereY;
                   If Z>1 then  { Pas de BS si retour trop loin }
                   begin
                     Z:=Z-1;
                     GotoXY(I1,I2); Write(\' \'); GotoXY(I1,I2);
                     A:=Copy(A,1,Length(A)-1);
                   end;
                 end;
          else
          begin
            A:=Concat(A,Ch);    { M‚morisation du caractŠre tap‚ }
            Write(Ch);          { Affichage … l\'‚cran            }
            Z:=Z+1;
          end;
        end;
      until (Z>Longueur)
    end;
    { ------------------- }
    { Programme Principal }
    { ------------------- }
    begin
      { Initialisation des jours de la semaine }
      J[1]:=\'Dimanche\'; J[2]:=\'Lundi\'; J[3]:=\'Mardi\';
      J[4]:=\'Mercredi\'; J[5]:=\'Jeudi\'; J[6]:=\'Vendredi\';
      J[7]:=\'Samedi\';
      { Initialisation du nom des mois }
      M[1]:=\'Janvier\'; M[2]:=\'F‚vrier\'; M[3]:=\'Mars\'; M[4]:=\'Avril\';
      M[5]:=\'Mai\'; M[6]:=\'Juin\'; M[7]:=\'Juillet\'; M[8]:=\'Ao–t\';
      M[9]:=\'Septembre\'; M[10]:=\'Octobre\'; M[11]:=\'Novembre\'; M[12]:=\'D‚cembre\';
      { Initialisation de la chaŒne d\'effacement }
      Blanc:=\'\';
      For I:=1 to 60 do Blanc:=Concat(Blanc,\' \');
      {GetDate(Year,Month,Day,DayofWeek);}  { Lecture de la date }
      ClrScr;
      Write(\'Nous sommes le \');
      Writeln(J[DayofWeek+1],\' \',Day,\' \',M[Month],\' \',Year);  { Affichage }
      Repeat
        GotoXY(1,6);
        Write(\'Cette date est-elle correcte (O/N) : \');
        Lit(1);   { Lecture de la r‚ponse }
        UA:=Up(A);
      until (UA[1]=\'N\') OR (UA[1]=\'O\');
      { Saisie de la nouvelle date si la date courante n\'est pas correcte }
      If UA[1]=\'N\' then
      begin
      GotoXY(1,9);
      Write(\'Entrez les jour, mois et ann‚e corrects.\');
        Repeat
          GotoXY(1,11);
          Write(\'Jour de la semaine :\',Blanc);
          GotoXY(24,11);
          Lit(2);
          Val(A,Jour,Result);
        until Jour in [1..31];
        Repeat
          GotoXY(1,12);
          Write(\'Mois :\',Blanc);
          GotoXY(8,12);
          Lit(2);
          Val(A,Mois,Result);
        until Mois in [1..12];
        Repeat
          GotoXY(1,13);
          Write(\'Ann‚e :\',Blanc);
          GotoXY(9,13);
          Lit(4);
          Val(A,Annee,Result);
        until (Annee<2000);
        {SetDate(Annee,Mois,Jour);}  { Initialisation de la date }
      end;
    end.
    ====================
    2 exemples, faudrait voir les fournisseurs
    de pascal ( borland .....)
    la question c\'est plutôt pourquoi
    pascal aujourd\'hui ?
    cordialement.

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    6 517
    Salut, je vais essayer de répondre à cette question plus simplement.

    Imaginons que ton string s\'appelle s.

    Il suffit de faire s[1] pour avoir la permière lettre.

    Length(s) pour avoir sa taille, donc le nombre de caractères.

    Et s[Length(s)] pour récupérer le dernier caractère.

    Voila, voilou.
    Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
    N'oubliez pas le Tag [Résolu]http://www.ressources.moteurprog.com...rum/Resolu.gif.

    Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé