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

 Delphi Discussion :

3 questions : Comment mettre une ligne du TListBox dans un TEdit ?


Sujet :

Delphi

  1. #21
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    SAlut
    Entre temps tu as rajouter un poste
    Alors 2 petite chose avant de regarder ton code
    1) utilise les balise code pour entourer ton text
    Si tu ne sais pas faire, il faut selectionner ton text et cliquer sur le bouton # qui se trouve dans le petit editeur de text (tout ceci au moment de la redaction de ton message ou de sa modification)

    2)Utilise les indentation dans ton code, met des espace ou des tabulations, prend cette habitude tu verras que la comprenhension de ton code en sera que plus simple.
    Comme ceci
    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
    var 
    Form1: TForm1;
    lettre: char;
    longeurmot : integer;
     
    procedure TForm1.ButtontestcorrectionClick(Sender: TObject);
    var
      i : integer;
      lettrejuste : boolean;
    begin
      longeurmot := length(Editmot.Text);
      if Editresultat.Text = 'partie en cours' then
      begin
        if Pos(lettre,Editmotcache.Text) > 1 then
          for i:= 1 to longeurmot do
            if Editmot.Text[i] = lettre then
            begin
                Editmotcache.Text[i] := lettre;
                lettrejuste := true;
            end
            else
                lettrejuste := false;
    Voila deja d'un coup d'oeil opn vois les difrente boucle et si celle ci sont bien toutes fermé avec des End

    Je regarde le code
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  2. #22
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    tout d'abbord merci pour toutes vos reponses, le probleme, c'est que ca marche toujours pas ...

    en fait, ca arrive a compiler
    MAIS
    quand je rentre une lettre, meme si dans le mot cette lettre est presente, elle ne s'affiche pas.

    sinon, merci, j'ai mit le mot (non caché) dans une variable et plus dans l'edit

  3. #23
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Alors on y va
    Donc deja je te laisse reprendre les modif par rapport a mon post precedent.

    Ensuite
    [LIST=1] Les declarartions et leur portées
    tu declares longueurmot au niveau de ton module complet (Form1).
    Si tu utilise uniquement longueurmot dans ButtontestcorrectionClick du devrais le declarer dans cette procedure plutot.
    Si tu te sert de longueurmot uniquement dans la procedure du bouton, il est inutil de créer une variable pour cela met directement length(Editmot.Text) dans ton code
    comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          for i:= 1 to length(MotATrouver) do
    [LIST=2] Erreur courante
    Je pense que cette ligne va te poser probleme a terme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Pos(lettre,Editmotcache.Text) > 1 then
    il vaudrait mieux mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Pos(lettre,Editmotcache.Text) > 0 then
    sinon tu ne tiens pas compte de la 1er lettre de ton mot a trouver

    1. Les boucles et leur fin
      Attention dans ta derniere boucle
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
       
            for i:= 1 to longeurmot do
              if Editmot.Text[i] = lettre then
              begin
                  Editmotcache.Text[i] := lettre;
                  lettrejuste := true;
              end
              else
                  lettrejuste := false;
      Garde bien en tete que celle ci va se repeter jusqu'a la derniere lettre du mot.
      Imagine le Mot Bonjour, je te propose le 'o', la boucle trouve le 1er 'o', le 2eme 'o', puis continue 'u' et 'r'.
      Les 2 derniere lettre vont faire passer ta boucle par le Else et lettrejuste sera mis a False ... meme si le joueur a trouver des lettres...
      Je te laisse modifier ton code pour trover la solution

      A++
      Qwaz

      [edit]As tu fait en sorte de mettre les etoile dans le mot caché?[/Edit]

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #24
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    ah oui pas bete pour lettrejuste:=false;
    mais sinon, ca marche toujours pas pour afficher la lettre choisi si elle est juste

  5. #25
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Alors oui y'a encore une petite boulette

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        if Pos(lettre,Editmotcache.Text) > 1 then
    regarde, tu cherche si la lettre existe dans le mot caché, il faut lma charche dans le motatrouver

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #26
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    merci beaucoup j'ai reussi ...
    il me manque une seule chose :
    comment je peux dire : si il n'y a plus d'etoiles dans le mot cache, ecrire gagne dans editresultat ?
    sinon, regarde ce que j'ai mis :

    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
     
    var
      i : integer;
      Motcacheprec : string;
    begin
      MotCache := Editmotcache.Text;
      Motcacheprec := MotCache;
      longeurmot := length(MotATrouver);
      if Editresultat.Text = 'partie en cours' then
        begin
        if  Pos(lettre,MotATrouver) > 0 then
          for i:= 1 to longeurmot do
            if MotATrouver[i] = lettre then
              MotCache[i] := lettre;
        Editmotcache.Text := MotCache;
        if Motcacheprec = MotCache then
            if Shapeterre.Visible = false then

  7. #27
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Tu dois apprendre a utiliser ton delphi pour debugger se genre de probleme.
    Tu commence par mettre un point d'arret au debut de ta procedure, sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        if Pos(lettre,Editmot.Text) > 1 then
    par exemple
    Pour mettre un point d'arret tu clique sur la ligne et tu appui sur la touche F5.
    Ou alors tu clique dans la marge grise a gauche de ton text.

    Tu lance ton programme tu clique sur ton bouton et qd ton programme arriverra sur ton point d'arret il va te mettre le code sous les yeux, a l'aide te ta souris tu survoles tes differente variable et tu peux ainsi savoir ce qu'elle contiennent, tu execute ensuite ton code pas a pas avec la touche F8, ainsi tu verras quel chemin prend ton programme en fonction des valeur des differentes varriable.
    Je te laisse regarder un peu tout ca, prend le temps de bien te familiariser avec cette utilisation.

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  8. #28
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Alors meme remarque que plus haut utilise les balise Code et met des espace dans ton code, c'est vraiment une habitude a prendre, mettre du commentaire aussi et tres utile
    Je regarde ton code

    Edit tes post et met des balise ou il doit y en avoir, inutil de faire du boulot en plus pour les moderateur en les obligeant a editer ton text pour mettre eux meme les balises code. Merci pour eux

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  9. #29
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    ok tant pis pour moi lol !!!

    non je rigole, merci beaucoup a vous tous qui m'ont aidé...
    je vais essayer de me debrouiller seul maintenant

    merci encore
    A+

  10. #30
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Alors comme dis plus haut en mettant les espace en debut de code tu te rendrais compte qu'il te manque plusieur End;
    Sinon le code a l'air de coller.
    Par contre ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if Motcacheprec = MotCache then
    if Shapeterre.Visible = false then
    Je ne comprend pas ce que tu veux faire,
    La 1er ligne ok tu verrifi si ton motcaché est identique au mot a trouver, ca ca roule par contre apres ... tu met une condition (2 meme) mais pas d'action a leur suite. Je te laisse corriger ca.

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  11. #31
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    oui oui je sais c'est que c'est un copier collé d'une partie du programme, c'est pour ca que certains end ne sont pas presents...
    mais c'est pas grave sinon, je vais y reflechir, merci

  12. #32
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    c'est bon j'ai reussi
    j'ai mit ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        if MotCache = MotATrouver then
          Editresultat.Text := 'gagne';

  13. #33
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    tres bien

    Par contre encore une fois met des balise code dans tes messages, edit les message que tu as deja ecrit.
    Pour editer un message c'est le bouton Editer en bas a droite de chaqu'un de tes messages.
    Ensuite tu selectionne tes parties code et tu clique sur le Bouton # de ton editeur de text.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if MotCache = MotATrouver then
    Editresultat.Text := 'gagne';
    Je te met meme une piece jointe pour que tu saisisse bien j'suis gentil hein

    Par ce que si les modo te tombent dessus

    a++
    Bonne nuit

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/09/2011, 16h45
  2. [VBA-E]Comment mettre une ligne entière d'un fichier excel en gras ?
    Par pauletta22 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 24/05/2006, 09h23
  3. Réponses: 7
    Dernier message: 21/03/2006, 14h01
  4. Comment mettre des lignes de couleur dans une TCheckListBox ?
    Par Isa31 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 31/03/2005, 09h40
  5. [C#] Comment mettre une ligne en couleur dans mon DataGrid ?
    Par vandeyy dans le forum Windows Forms
    Réponses: 7
    Dernier message: 19/07/2004, 11h03

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