IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

Lettres communes de deux mots


Sujet :

Turbo Pascal

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 31
    Points
    31
    Par défaut Lettres communes de deux mots
    Bonjour,

    J'ai un peu de mal avec cet énoncé :

    On souhaite disposer d'une application permettant d'afficher les lettres
    communes à deux mots tapés au clavier. On suppose que les mots ne
    peuvent pas comporter plus de 26 lettres. Le programme doit faire un affichage du type :
    Donnez un premier mot : pain
    Donnez un deuxième mot : maison
    La lettre a est commune aux deux mots
    La lettre i est commune aux deux mots
    La lettre n est commune aux deux mots
    Pouvez-vous m'aider ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 308
    Points
    4 308
    Par défaut
    As-tu déjà codé quelque chose ? Sinon il faut voir ton algo à la main d'abord puis le traduire en Pascal.

    Petite aide: il faut parcourir le mot n°1 lettre par lettre, et pour chaque lettre, si elle n'a pas déjà été trouvée dans le mot n°1, parcourir le mot n°2 et la chercher.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 31
    Points
    31
    Par défaut
    Je suis en BTS IG 1ère année et nous codons des choses assez simples pour l'instant. J'ai toujours eu du mal avec les souschaîne, longueurchaîne etc. Je vais tenter d'y réfléchir.

    Merci pour l'aide

  4. #4
    Membre éclairé
    Avatar de Wachter
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2008
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 404
    Points : 734
    Points
    734
    Par défaut
    Bonjour,

    La solution proposée par wormful_sickfoot est correcte, sauf qu'il faut vérifier à chaque fois si la lettre courante a déjà été parcourue (trouvée) ou non dans le premier mot. Si tu veux t'éviter cela, tu n'as qu'à parcourir les vingt-six lettres non accentuées de l'alphabet et vérifier une à une son appartenance aux deux mots lus au clavier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Pour chaque lettre de l''alphabet
      Si la lettre existe dans les deux mots
        Afficher cette lettre;
    --
    Wachter
    Code parrain certification Voltaire : NTMPH759

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 31
    Points
    31
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Program Lettres Communes ;
     
    {$APPTYPE CONSOLE}
     
    uses
      SysUtils;
     
    Var mot1 , mot2 , let1, rep : String ;
    Var i , j : Integer ;
     
    Begin
     
         WriteLn ('Programme permettant de trouver les lettres communes a deux mots');
         WriteLn;
     
         rep := 'oui';
         While rep = 'oui' Do Begin
     
         WriteLn ( 'Veuillez saisir le premier mot' ) ;
         ReadLn (mot1) ;
         WriteLn;
     
         WriteLn ( 'Veuillez saisir le deuxieme mot' ) ;
         ReadLn (mot2) ;
         WriteLn;
     
     
         //Structure permettant de comparer chaque lettre du premier mot au deuxieme mot
     
         For i := 1 to Length ( mot1 ) DO BEGIN;
              Let1 := mot1[i] ;
     
              For j := 1 to Length ( mot2 ) DO BEGIN;
                   If let1 = mot2[j] Then Begin
                        WriteLn ( 'La lettre, ' , let1 , ' est commune aux deux mots' ) ;
     
                   End;
     
              End;
         End;
         WriteLn ('Voulez-vous rejouer ? oui/non');
         ReadLn (rep);
     
     
    End;
    End.
    Voilà ce que j'ai fais. Cependant j'ai une autre question. Lors de l'execution de mon programme (mot1 = avion et mot2 = bateau) il m'affiche :

    'La lettre, a est commune aux deux mots'
    'La lettre, a est commune aux deux mots'

    Comment faire pour mettre qu'une seule fois la réponse ?

  6. #6
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour
    C'est pour régler ce problème que precedement :
    Citation Envoyé par wormful_sickfoot
    Petite aide: il faut parcourir le mot n°1 lettre par lettre, et pour chaque lettre, si elle n'a pas déjà été trouvée dans le mot n°1, parcourir le mot n°2 et la chercher.
    Meme chose :
    Citation Envoyé par Wachter
    sauf qu'il faut vérifier à chaque fois si la lettre courante a déjà été parcourue (trouvée) ou non dans le premier mot. Si tu veux t'éviter cela, tu n'as qu'à parcourir les vingt-six lettres non accentuées de l'alphabet et vérifier une à une son appartenance aux deux mots lus au clavier :
    Cordialement
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  7. #7
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 308
    Points
    4 308
    Par défaut
    J'ajouterai que, si la lettre a été trouvée dans le mot n°2, il faut sortir de la boucle qui parcourt le mot n°2.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut petite question
    j'aimerais savoir comment faire pour quitter la boucle après lecture de lettre similaire mais si les mot sont : barbara et ravage comment je peut faire pour que cela maffiche 2 a et non 3

  9. #9
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    J'ajouterais du poivre : Pour ne pas trop compliquer le code, on pourra écrire une fonction qui filtre les mots avant de les comparer.
    Cette fonction supprime de la chaîne en entrée les lettres répétées en n'en laissant qu'une seule du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function MotSimplifie(strMot:String):String;   
       Var lg, i, j :integer;
       Begin
        lg:= Length(strMot);
        For i:= 1 To lg Do
             begin
               For j:= i+1 To lg  Do
                  Begin
                    If strMot[j] = strMot[i] Then begin Delete(strMot,j, 1); end;
                  End;
            end;
         MotSimplifie:=strMot;
      End;
    On applique la fonction aux mots à comparer puis on procède à la comparaison.

    Pour Mc_Chiken : BIENVENU sur DVP

    La procédure Exit permet de sortir immédiatement d'un bloc d'instructions si elle est placée dans un sous-programme(procédure ou fonction) mais dans le corps du programme principal, elle arrête son exécution.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  10. #10
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 671
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 671
    Points : 13 065
    Points
    13 065
    Par défaut
    Citation Envoyé par l_autodidacte Voir le message
    Cette fonction supprime de la chaîne en entrée les lettres répétées en n'en laissant qu'une seule du genre
    Problèmes assurés avec ce genre de code

  11. #11
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Problèmes assurés avec ce genre de code
    Oui en effet le code étant écrit sans EDI car je n'avais TP ou BP d'installé(j'ai dû le faire après ta remarque) pour vérifier le résultat. De plus, j'avais oublié de préciser qu'il fallait faire 2 passages successifs de la fonction sur la chaîne donnée en paramètre. Exemple ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Uses Crt; {WinCrt si TPW ou BPW}
    Var ch:String;
    {===============================}
    Function MotSimplifie(strMot:String):String;
      Var i, j :integer;
      Begin
        For i:= 1 To Length(strMot) Do
             begin
               For j:= i+1 To Length(strMot) Do
                  Begin
                    If (strMot[j] = strMot[i]) Then
                         Delete(strMot,j, 1);
                  End;
             end;
         MotSimplifie:=strMot;
      End;
    {================================}
    BEGIN
        ClrScr; {Si TP ou BP}
        ch:='00111223445566   777890025643195  oopsthisissamp   lecode0056notcoolorno????';
        Writeln(ch);
        Writeln('Longueur de la chaine: ',Length(ch));
        Writeln;
        WriteLn('Avec 1 passage :');
        Writeln(MotSimplifie(ch));   Writeln;
        WriteLn('Avec 2 passages :');
        Write(MotSimplifie(MotSimplifie(ch)));
        ReadLn; {Si TP ou BP}
        {DoneWinCrt; { apres ReadLn Si TPW ou BPW}
    END.
    On va certes me demander pourquoi 2 passages ? Question d'occupation
    et peut-être aussi de vieillesse car on n'a plus le goût de rester longtemps sur un même sujet(à demander aux vieux enseignants !)
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  12. #12
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 671
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 671
    Points : 13 065
    Points
    13 065
    Par défaut
    Ça n'est pas mieux !

    Length(strMot) n'est interprété qu'une seule fois à l'initialisation de la boucle (dans les faits, le compilateur va générer une boucle repeat dec(i) until i <> 0).

    Si tu effaces une lettre, "i" (ou "j") sera immanquablement supérieur à l'index du dernier caractère à un certain moment.
    De plus pour "j", si "i" égale Length(strMot), j := i +1 sera hors limite.

    Si tu n'effaces qu'une seuls lettre, tu as de la chance, tu vas pointer sur le #0 de la chaîne longue et ça passera inaperçu. Mais si tu en effaces plusieurs, il se peut que tu atteignes une zones protégées, et là, violation d'accès !
    C'est par la suite (quelques semaines/mois plus tard si tu n'as vraiment pas de bol) le genre d'erreurs sporadiques qui pourrait être difficile à débusquer

  13. #13
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Parfois, on écrit sans trop penser, c'était hélas mon cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Uses Crt; {WinCrt si TPW ou BPW}
    Var ch:String;
    {===============================}
    Function NoRepeatChar(S:String;tm:char):String;
      Var lg, i, j, x :integer;
      Begin
        If Pos(tm, S) > 0 Then
          Begin
            WriteLn;
            Writeln('Le caractere temoin(',tm,'),second parametre de la procedure ');
            Writeln('"NoRepeatChar", existe dans la chaine, sa position est: ', Pos(tm,S),'.');
            Write('Modifier ce caractere pour obtenir un resultat convenable.');
            Readln;
            Halt;
          End;
        Lg:=Length(S);
        For i:= 1 To Lg-1 Do
          begin
            For j:= i+1 To Lg Do
              Begin
                If (S[j] = S[i]) Then
                   S:=Copy(S,1,j-1)+tm+Copy(S,j+1,Lg-j);
              End;
     
     
          end;
     
     
        While Pos(tm, S) > 0 Do
          Begin
            x:=Pos(tm, S);
            S:=Copy(S, 1, x-1) + Copy(S, x+1, Lg-x);
          End;
        NoRepeatChar:=S;
      End;
    {================================}
    BEGIN
        ClrScr; {Si TP ou BP}
        ch:='00111223445566195 oops this is a sample code but it is not cool or correct!';
        Writeln(ch); Writeln;
        Write(NoRepeatChar(ch,Chr(184)));
        ReadLn; {Si TP ou BP}
        {DoneWinCrt; { apres ReadLn Si TPW ou BPW}
    END.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  14. #14
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 671
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 671
    Points : 13 065
    Points
    13 065
    Par défaut
    Ta fonction ne répond pas vraiment à l'intitulé

    Mais pour te donner mon avis, elle est beaucoup trop compliquée. Une boucle associée à un tableau de caractères est amplement suffisante et sera beaucoup plus efficace.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Function NoRepeatChar(S:String):String;
    var
      List :array[#0..#255] of boolean; //Taille table ANSI
      i    :Integer;
    begin
      Result := '';
     
      // Tous les flags à zéro
      ZeroMemory(@List, SizeOf(List));
     
      for i := 1 to Length(s) do
        // Première occurence du caractère ?
        if not List[s[i]] then
        begin
          Result := Result +s[i];
          List[s[i]] := TRUE;
        end;
    end;
    Et ce n'est pas plus compliqué pour trouver les caractères communs de deux chaînes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    procedure ListSameChars(s1, s2 :string);
    var
      List :array[#0..#255] of boolean; //Taille table ANSI
      i    :Integer;
    begin
      // Tous les flags à zéro
      ZeroMemory(@List, SizeOf(List));
     
      //Chaîne 1
      // Positionne le flag des caractères présents
      for i := 1 to Length(s1) do
        List[s1[i]] := TRUE;
     
      //Chaîne 2
      for i := 1 to Length(s2) do
        //Trouvé ?
        if List[s2[i]] then
        begin
          WriteLn(s2[i]);
     
          // Supprime le flag pour éviter de lister une 2ème fois le même caractère
          List[s2[i]] := FALSE;
        end;
    end;

  15. #15
    Membre éclairé

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 807
    Points
    807
    Par défaut
    La remarque que l'on peut faire à propos du problème initial (a part le fait qu'il est déterré après plus de 10 ans ) est que c'est typiquement le genre d'exercice que l'on peut soumettre à des étudiants qui abordent l'utilisation des ensembles Pascal.

    Exemple de résolution par les ensembles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    program Ensembles;
    Type
      AlphaChar = 'a'..'z';
      AlphaSet = SET Of AlphaChar;
     
    Var SetA, SetB, SetResult : Alphaset;
        Mot : String;
        k : Char;
     
    { StrToAlphaSet renvoie l'ensemble des lettres a à z utilisées dans UneChaine}
    Function StrToAlphaSet(UneChaine : String):Alphaset;
    Var i: Integer;
        R: AlphaSet;
    Begin
      R := [];
      For i:= 1 To Length(UneChaine) do begin
          If UneChaine[i] In [Low(AlphaChar)..High(AlphaChar)]
             Then R := R + [UneChaine[i]]
      end;
      StrToAlphaSet := R;
    End;
     
    begin
      Repeat
        { saisie des deux mots }
        Write('Donnez un premier mot : ');
        Readln(Mot);   SetA := StrToAlphaSet(Mot);
        Write('Donnez un second mot  : ');
        Readln(Mot);   SetB := StrToAlphaSet(Mot);
     
        { c'est cette unique ligne de code qui fait tout le boulot :}
        SetResult := SetA * SetB;
     
        {affichage du résultat}
        If SetResult = [] Then Writeln('Pas de lettre commune !')
        Else For k := Low(AlphaChar) To High(AlphaChar) Do
            If (SetResult * [K]) <> [] Then Writeln('La lettre ',k,' est commune aux deux mots');
     
        Write('Autres mots (O/N) ?') ; Readln(k)
      until LowerCase(k) <> 'o';
    end.

  16. #16
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Le forum actuel étant TURBO PASCAL(Console / Windows), j'aurais alors quelques remarques à propos des réponses postées :
    1. Les commentaires utilisant les symboles '//' ne sont pas reconnus: il s'agit donc d'un EDI autre que celui de ce forum.
    2. ZeroMemory n'est pas reconnue(même sous Lazarus) et si la méthode appartient à une bibliothèque, je pense qu'on aurait dû la mentionner. Pour y remédier j'ai dû utiliser FillChar .
    3. La déclaration Function StrToAlphaSet(UneChaine : String):Alphaset; n'est pas acceptée par TP, BP, TPW ou BPW : Message d'erreur : Invalid function return type. Il s'agirait alors(si je ne me trompe pas) de l'environnement Lazarus(ici pas de problème) ou peut-être Delphi.


    PS : Toutes les réponses données n'ont aucunement éveillé le posteur de la question qui n'a, depuis, fait aucun signe de vie.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  17. #17
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 671
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 671
    Points : 13 065
    Points
    13 065
    Par défaut
    Tu as parfaitement raison et je te remercie de me remettre à l'ordre

    Je me contenterai dorénavant de n'intervenir que sur mon EDI favori.

  18. #18
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Tu as parfaitement raison et je te remercie de me remettre à l'ordre
    Je me contenterai dorénavant de n'intervenir que sur mon EDI favori.
    ِCe n'était nullement mon intention mais c'était juste des remarques qui pourraient aiguiller les intervenants pour qu'ils essaient de se limiter, dans la mesure du possible, à l'EDI concerné; car comme tu as pu voir, le code pourrait ne pas fonctionner(et on n'a pas tous , tous les EDIs ou du moins les plus couramment utilisés).
    Cdt
    @+
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  19. #19
    Membre éclairé

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 807
    Points
    807
    Par défaut
    Citation Envoyé par l_autodidacte
    La déclaration Function StrToAlphaSet(UneChaine : String):Alphaset; n'est pas acceptée par TP, BP, TPW ou BPW : Message d'erreur : Invalid function return type. Il s'agirait alors(si je ne me trompe pas) de l'environnement Lazarus(ici pas de problème) ou peut-être Delphi.
    En fait j'ai fait les tests avec FPC en mode Turbo Pascal.

  20. #20
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 062
    Points : 15 353
    Points
    15 353
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Citation Envoyé par Andnotor Voir le message
    Je me contenterai dorénavant de n'intervenir que sur mon EDI favori.
    Je ne pense pas que c'était là que voulait en venir notre collègue, qui a contribué de façon utile à la discussion en rapportant des erreurs dues à la différence de compilateur.

    La prochaine fois vous n'aurez qu'à indiquer dans votre message le compilateur utilisé.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

Discussions similaires

  1. Réponses: 49
    Dernier message: 26/05/2010, 22h58
  2. communication entre deux executables
    Par semenzato dans le forum MFC
    Réponses: 8
    Dernier message: 13/04/2005, 23h19
  3. Communication entre deux Threads
    Par rvzip64 dans le forum Langage
    Réponses: 13
    Dernier message: 28/01/2005, 10h14
  4. communication de deux elements via des threads
    Par alexandre21130 dans le forum C++Builder
    Réponses: 1
    Dernier message: 22/07/2004, 02h25
  5. Réponses: 5
    Dernier message: 25/03/2003, 20h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo