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

Langage Delphi Discussion :

Problème de pourcentage ...


Sujet :

Langage Delphi

  1. #1
    K20
    K20 est déconnecté
    Membre du Club
    Profil pro
    Ingé DevOps
    Inscrit en
    Novembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingé DevOps

    Informations forums :
    Inscription : Novembre 2005
    Messages : 183
    Points : 64
    Points
    64
    Par défaut Problème de pourcentage ...
    Bonjour tout le monde !

    Voilà, j'ai un petit problème avec les pourcentage ...

    J'ai une grille composée de 225 cases (ce nombre peut varier)
    Quand je clique sur une case ça occupe cette case par un "objet".

    J'ai fait un Label qui permet d'afficher le taux d'occupation de ma grille.

    Quand je clique sur une case j'ai une procédure qui augmente à chaque fois le pourcentage d'occupation.
    La procédure ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure Ts_editeur.Infos(Champ : TLabel; nb : integer);
    var
      nb_cases : integer;
    begin
     
    // Affichage de l'info
      Champ.Caption := FloatToStr (StrToFloat(Champ.Caption) + (nb * 100) / 225);
    end;
    La variable nb est en général toujours égale à 1 (mais elle variera plus tard dans mon programme )

    Seul problème c'est que le pourcentage d'une case c'est 0,44444444444444 infini ...
    Donc mon champ Label est TRES Long avec plein de 4 et ça fait moche ...

    Donc j'ai voulu essayé un Round ou un Floor mais ça devient égale à 0 ... Et Ceil le pourcentage devient faux ...

    Donc comment faire ? Sachant que 225 peut varier donc je ne peux pas mettre directement + 0.4

    Merci d'avance !

  2. #2
    Membre averti
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Points : 400
    Points
    400
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Champ.Caption := lefstr(FloatToStr (StrToFloat(Champ.Caption) + (nb * 100) / 225),3);
    En limitant l'affichage à 3 caractéres, celà ne régle pas ton probléme?
    Cordialement,
    Hauwke

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    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 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Champ.Caption := FormatFloat('0.00',(StrToFloat(Champ.Caption) + (nb * 100) / 225));
    FormatFloat ira tres bien pour ce que tu veux afficher

  4. #4
    K20
    K20 est déconnecté
    Membre du Club
    Profil pro
    Ingé DevOps
    Inscrit en
    Novembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingé DevOps

    Informations forums :
    Inscription : Novembre 2005
    Messages : 183
    Points : 64
    Points
    64
    Par défaut
    Ok, merci bequcoup, je teste ca ce soir

  5. #5
    K20
    K20 est déconnecté
    Membre du Club
    Profil pro
    Ingé DevOps
    Inscrit en
    Novembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingé DevOps

    Informations forums :
    Inscription : Novembre 2005
    Messages : 183
    Points : 64
    Points
    64
    Par défaut
    C'est bon, j'ai pris cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Champ.Caption := FormatFloat('0.00',(StrToFloat(Champ.Caption) + (nb * 100) / 225));
    ça fonctionne très bien !

    Merci !

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

Discussions similaires

  1. Problème calcul pourcentage
    Par AZzjeioafh dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 18/11/2009, 14h15
  2. Problème affichage pourcentage
    Par ThieBEN dans le forum Excel
    Réponses: 3
    Dernier message: 24/09/2008, 13h59
  3. CrossTable (Table pivot) problème de pourcentage.
    Par WwiloO dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 21/05/2008, 17h22
  4. [CR 9] Problème de pourcentage
    Par Maltus dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 21/08/2006, 22h11
  5. Statistiques : problèmes de pourcentages de progresion
    Par oceanediana dans le forum Access
    Réponses: 6
    Dernier message: 20/07/2006, 14h12

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