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 :

Incrémenter dans un TLabel


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 67
    Par défaut Incrémenter dans un TLabel
    Donc ma prochaine question est la suivante. A l'aide d'une procédure je génére une suite, je dois deviner la quatrième valeur de cette suite donc à l'aide d'une deuxième procédure associé à un bouton je valide ma réponse et un memo me dit si j'ai bon ou pas. Ce que je veux faire moi c'est incrémenté le nombre de bonnes réponses dans un label tout en sachant que je change de suite a chaque bonne réponse et je veux pas que mes bonnes répones reviennent à 0. Voial merci encore.

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Re,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if MonLabel.Caption = '' then
      MonLabel.Caption := '1'
    else
      MonLabel.Caption := IntToStr(StrToInt(MonLabel.Caption) + 1);
    @+

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Pour son cas, je pense qu'il serait préférable d'avoir une variable globale, de l'incrémenté puis de l'afficher.

    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
     
    interface 
    uses ...
     
    types ...
      procedure monbutton(sender : TObject);
    private
      iResultat : integer;
    public
     ...
    end;
     
    var
      ...
     
    implementation
     
    procedure MAForm.monbutton(sender : TObject);
    begin
     
    //
    //  Traitement de la question
    //   
     
    if MaQuestionVrai then
      inc(iResultat);
     
    MonLabel.caption := IntToStr(iResultat);
     
    end;
     
    end.
    Enfin bon, c'est comme ca que je ferais ^^
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 67
    Par défaut
    Alors ouais je suis plus partant pour la seconde proposition oui mais je vous montre comment se fait mon code car j'ai un problème avec les boolean.

    If g = Ttab[4] then Memo2.lines.add('Vrai') else Memo2.Lines.Add('Faux');
    If Memo2.Lines.add('Vrai') then inc(iresultat);
    Label1.Caption:=IntToStr(iresultat);

    Donc vous voyez il accepte pas Memo2.Lines.add('Vrai') then inc(iresultat); cette implication marche pas je vois un peu pourquoi mais je vois pas comment faire pour la contourner. Merci de votre aide vous assurez

  5. #5
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Re,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      If g = Ttab[4] then 
        begin
          Memo2.lines.add('Vrai');
          Inc(iResultat);
        end
      else
        Memo2.Lines.Add('Faux');
     
      Label1.Caption:=IntToStr(iresultat);
    Ca devrait mieux aller comme ca.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Memo2.Lines.add('Vrai')
    Ne renvoie pas un boolean, donc incompatible avec le if.
    @+

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2002
    Messages : 35
    Par défaut
    Reponse supprimée car battu de vitesse par Cl@udius ;-)


    Michel

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 207
    Par défaut
    Citation Envoyé par A0080
    Alors ouais je suis plus partant pour la seconde proposition oui mais je vous montre comment se fait mon code car j'ai un problème avec les boolean.

    If g = Ttab[4] then Memo2.lines.add('Vrai') else Memo2.Lines.Add('Faux');
    If Memo2.Lines.add('Vrai') then inc(iresultat);
    Label1.Caption:=IntToStr(iresultat);

    Donc vous voyez il accepte pas Memo2.Lines.add('Vrai') then inc(iresultat); cette implication marche pas je vois un peu pourquoi mais je vois pas comment faire pour la contourner. Merci de votre aide vous assurez
    Ton code ne peut pas fonctionner correctement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If g = Ttab[4] then 
      Memo2.lines.add('Vrai')  // Ici, tu ajoutes vrai
    else
      Memo2.Lines.Add('Faux'); // Sinon, ici tu ajoutes faux
     
    If Memo2.Lines.add('Vrai') then // Ici, tu tentes à nouveau d'ajouter vrai
      inc(iresultat); // Et comme ça risque de fonctionner à chaque foi, tu incrémentes tout le temps ton compteur!
     
    Label1.Caption:=IntToStr(iresultat);
    Le mieux serait encore de faire quelque chose dans ce style la:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (g = Ttab[4]) then
    begin
      Memo2.lines.add('Vrai');  // Ici, tu ajoutes vrai
      inc(iresultat);
    end
    else
      Memo2.Lines.Add('Faux'); // Sinon, ici tu ajoutes faux
     
    Label1.Caption:=IntToStr(iresultat);
    Ou encore, pour ne pas surcharger ta procédure inutilement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (g = Ttab[4]) then
    begin
      Memo2.lines.add('Vrai');  // Ici, tu ajoutes vrai
      Label1.Caption:=IntToStr(inc(iresultat));
    end
    else
      Memo2.Lines.Add('Faux'); // Sinon, ici tu ajoutes faux

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 67
    Par défaut
    Je viens de trouver tout seul merci quand même j'ai quand même une question HS. Lorque qu'on travaille comme cela sur un prog et que au fur et à mesure du prog on n'a plein de question à poser concernant différents domaines et différents codes sa dérange pas les modos d'avoir plusieurs topics créer, genre 10 topics de la même personne en moins d'une heure?

    P.S : J'ai d'autres questions en cours.

    Edit : Merci à toi Gaadek en fait ce que j'avais déjà fait correspond à ta dernière proposition merci quand même c'est cool.

  9. #9
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Citation Envoyé par A0080
    Je viens de trouver tout seul merci quand même j'ai quand même une question HS. Lorque qu'on travaille comme cela sur un prog et que au fur et à mesure du prog on n'a plein de question à poser concernant différents domaines et différents codes sa dérange pas les modos d'avoir plusieurs topics créer, genre 10 topics de la même personne en moins d'une heure?
    Il faut quand même que tu recherches par toi-même avant de venir poser une question.
    De plus , tu apprends mieux en recherchant seul qu'en ayant une réponse toute faite, donné par un membre du forum.
    Suis ce qu' j'ai écrit dans ma signature et viens poster ici, seulement si tu es bloqué car tu as épuisé toutes les ressources possibles ^^
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/11/2005, 20h57
  2. [batch] incrémentation dans une boucle for
    Par bart64 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 08/09/2004, 20h05
  3. Format dans un TLabel
    Par AnneOlga dans le forum C++Builder
    Réponses: 3
    Dernier message: 24/03/2004, 11h53
  4. Ajustement automatique de la taille de la police dans un TLabel
    Par Poisson Rouge dans le forum Composants VCL
    Réponses: 3
    Dernier message: 05/09/2003, 15h13
  5. comment changer d'attribut de fonte dans un Tlabel?
    Par sb dans le forum Composants VCL
    Réponses: 3
    Dernier message: 21/08/2002, 16h53

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