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

Bases de données Delphi Discussion :

Valeur en pourcentage


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Valeur en pourcentage
    Bonsoir
    SVP je suis sur une application de gestion et là, je bloque sur l'affichage d'un résultat calculant un pourcentage ?
    le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var
    Actions, CSocial, Resultats : real;
    Begin
    Actions := strtofloat (Actions.text);
    Csocial := strtofloat(Csoacial.text);
    resultat := (actions / Csocial) *100;
    la suite j l'ignore 
    svp aidez moi merci d'avance
    dbedit3.text := floattostr (resultat);

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Je vais lever plusieurs objections à votre code , car vous ne gérez pas les possibilités d'erreurs de saisie .
    La version de Delphi aurait été un plus , StrToFloatDef (unité sysutils en ce qui concerne D7)
    que je vais utiliser dans un premier temps, ne sera peut être pas disponible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var
    Actions, CSocial, Resultats : real;
    Begin
    Actions := strtofloatdef (Actions.text,0.00); 
    Csocial := strtofloatdef(Csocial.text,0.00);
    try 
      resultat := (actions / Csocial) *100;
    except
      resultat:=0.00;
    end;
    pas de strtofloat dans votre version ? utilisez un bloc try except
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    try Actions:=StrToFloat(actions.text) except actions:=0.00 end; 
    try CSocial:=Strtofloat(Csocial.text) 
      except
         Showmessage('CSocial ne peut être a 0');
         CSocial.SetFocus;
         exit;
      end;
    un mix des deux solutions pourrait être un bon compromis (en cause la valeur de CSocial)
    passons au résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    label.caption:=format('%3.2f %',[resultat]);
    on peut également utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    label.caption:=FormatFloat('#0.00 %',resultat);
    label.caption:=floattostrf(resultat,ffFixed,8,2)+' %';
    maintenant , je vois qu'il s'agit d'un DBEDit dans ce cas, normalement, il ne faut pas "jouer" sur la propriété Text mais sur la valeur du champ
    (c'est pour cela que j'ai mis label.caption plutôt que DBEdit3.text) , En admettant que l'ensemble de données soit en mode édition , on fera
    <nomtable>.fieldbyname('<champ>').asFloat:=resultat;
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Bonjour
    je vous remercie bien vivement pour votre réponse, vous me sauver.
    une précision svp,

    ce code dans quel événement ou dois-je l’insérer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var
    Actions, CSocial, Resultats : real;
    Begin
    Actions := strtofloatdef (Actions.text,0.00); 
    Csocial := strtofloatdef(Csocial.text,0.00);
    try 
      resultat := (actions / Csocial) *100;
    except
      resultat:=0.00;
    le code final que j'ai repris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var
      Actions, Csocial,  : real;
      Prixsocial : real;
      Rdiv : real;
      Rfinal : real;
    begin
       valeurAction := strtoint(Form1.Actions.Text);
      Prixsocial := strtofloat(Form1.Csocial.Text);
      Rdiv := (ValeurAction / Prixsocial);
      Rfinal := Rdiv * 1000;
      taux.Text := floattostrf(Rfinal, ffFixed,8,2)+' %';
    exemple :
    (13699 / 229583000)*1000) me donnerais [60%]
    sauf que le résultat s'affiche avec virgule, [0,60%]
    comment pouvoir corriger cela SVP.
    en dernier SVP j'utilise une dbedit base données (ACCESS 2007 )
    merci pour votre compréhension

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par kesmus Voir le message
    ce code dans quel événement ou dois-je l’insérer:
    je n'ai fait que reprendre votre code , je n'en ai donc aucune idée
    le code final que j'ai repris
    merci de bien utiliser les balises pour marquer les codes (bouton #) , c'est plus simple et plus lisible
    (13699 / 229583000)*1000) me donnerais [60%]
    sauf que le résultat s'affiche avec virgule, [0,60%]
    alors là , je me demande comment vous arrivez a 60% , il s'agit bien de 0.60% pour être précis 0.5966 % , sauf que en plus vous ne demandez pas des pourcentages (* par 100 et non 1000) mais des millièmes avec le calcul donné en exemple ! revoyez votre exemple !

    je remarque également au niveau de ce code que vous persistez à ne pas contrôler les deux valeurs , ce qui est de mon point de vue une erreur.

    en dernier SVP j'utilise une dbedit base données (ACCESS 2007 )
    Que ce soit ACCES ou une autre BDD ne change rien au bout de code (et à la question posée au départ)
    Si vous voulez un tant soit plus d'aide , il faut :
    - montrer ce que vous avez codé , et ce par un bon copier-coller , plutôt qu'une copie approximative
    - indiquer votre problème précisément
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Affichage valeur de pourcentage d'une boucle
    Par neo_2000_2006 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 18/12/2012, 09h53
  2. Réponses: 2
    Dernier message: 14/03/2012, 11h32
  3. [WD15] Valeurs en pourcentage dans l'Histogramme
    Par samou_ha dans le forum WinDev
    Réponses: 0
    Dernier message: 21/12/2011, 15h46
  4. [CR XI] Graphique : valeur et pourcentage pour les étiquettes
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 29/04/2010, 11h30
  5. Réponses: 3
    Dernier message: 09/02/2009, 22h18

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