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 :

Formater colonne StringGrid


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut Formater colonne StringGrid
    Bonjour,
    Je cherche pour avoir le sigle € dans toute une colonne
    d'un StringGrid avec des chiffres différents, j'ai trouvé ceçi mais
    le chiffre est fixe,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringGrid1.Cells[1,1] := FloatToStrF(121.25, ffCurrency,15,2);
    Et idem sans € mais avec Litres ou autres, pour avoir 2 chiffres après la virgule dans les calculs.

    Merci
    mic38

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Ben remplace ces 121.25 par une variable

    Pour d'autres unités, utilise FormatFloat en intégrant l'unité entre double guillements:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //Euro (autre exemple)
    StringGrid1.Cells[1,1] := FormatFloat('"€" 0.00', MaVariable);
     
    //Litre
    StringGrid1.Cells[1,1] := FormatFloat('0.00 "l"', MaVariable);

  3. #3
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut Re
    Bonjour,
    Avec un virtual tree view c'est tout à fait possible parceque chaque cellule est indépendante de l'autre (point de vue paramétrage)
    Sinon je pense pas que c'est faisable avec le StringGrid enfin moi j'ai jamais réussi à le faire.

    Cordialement,
    et vint le 20siècle et l'homme se mit à réflechir comme la machine auteur: diden138
    Langage: Pascal,OCaml,Delphi,c/c++.
    Langages web:Xhtml,Css,Php/Mysql,Javascript,Actionscript 2.0
    Plate forme:Windows XP Pro SP2./Red Hat 9.0/SUSE 10.2
    Config :Intel P4 3.2GHZ,2MO cach,512 RAM.
    Outils:Tp7,objective caml,Delphi 6 perso, C++builder 6,Visual C++ Express edition sous win,code-block sous linux(Ubuntu) .

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut Re
    Merci pour les réponses,
    avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    StringGrid1.Cells[1,1] := FormatFloat(' "€" 0.00', MaVariable);
    StringGrid1.Cells[1,1] := FormatFloat('0.00 "L" ', MaVariable);
    J'ai l'erreur suivante:
    Aucune version surchargée de FormatFloat ne peut être
    appelée avec ces arguments.
    J'ai essayé avec GetEditText,GetEditMask,et StringGrid1Click.
    mic38

  5. #5
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 345
    Points : 3 123
    Points
    3 123
    Par défaut
    Bonjour,

    ça devrait pourtant fonctionner

    Est ce que tu as bien déclaré MaVariable de type Double par exemple ?

    A+

    Charly

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut re
    Bonjour,
    Je suis débutant, j'ai inscrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var MaVariable : string;
    mic38

  7. #7
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut essaie au niveau du dataset
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      with Mondataset do
      begin
        TNumericField(FieldByName('monchamp')).DisplayFormat:= '#0.00 €';
      end;
    dans le after scroll par exemple

    André

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    FormatFloat attend une donnée de type extended (numérique décimale) ou compatible (double, real, integer, etc).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var
      MaVariable :extended;
    ...
    MaVariable := 12.345;
    StringGrid1.Cells[1,1] := FormatFloat('"€" 0.00', MaVariable);

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut re
    Merci à tous j'essaie demain.
    Bonsoir
    mic38

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut re
    Bonjour,
    Cela marche mais je cherche pour un chiffre indéfini
    (le résultat d'un calcul) et dans toutes les cellules d'une colonne.
    mic38

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    On t'a donné toutes les infos nécessaires. Fait un effort s'il te plaît !

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut re
    Désolé, j'ai essayé avec 'double,real,integer' cela fonctionne
    pour MaVariable := là je bute!
    ainsi que pour Cells[StringGrid1.Col 1, 1..10]
    ça ne marche pas.
    Quelques pistes serait bienvenue.
    merci
    de mic38
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var
      MaVariable :extended;
    ...
    MaVariable := 12.345;
    StringGrid1.Cells[1,1] := FormatFloat('"€" 0.00', MaVariable);

  13. #13
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 345
    Points : 3 123
    Points
    3 123
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells[StringGrid1.Col 1, 1..10]
    ça ne peut pas marcher c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells[StringGrid1.Col, 1]
    si tu expliques comment tu fais ton calcul, et ce que tu veux afficher, on pourra t'aider, sinon c'est difficile.

    Montre nous ton code

    A+

    Charly

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut re
    Bonjour,
    Avec ce code j'ai le format € dans la ligne et je
    cherche pour l'avoir dans la colonne 2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MaVariable:=120.415;
    StringGrid1.Cells[StringGrid1.Col,2]:= FormatFloat('0.00 "€"', MaVariable);
    mic38

  15. #15
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 345
    Points : 3 123
    Points
    3 123
    Par défaut
    Bonjour,

    pour l'avoir en colonne 2 de la ligne courante, tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MaVariable:=120.415;
    StringGrid1.Cells[1,StringGrid1.Row]:= FormatFloat('0.00 "€"', MaVariable);
    car la première colonne est la colonne 0

    A+

    Charly

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

Discussions similaires

  1. couleur colonne StringGrid
    Par ludojojo dans le forum C++Builder
    Réponses: 5
    Dernier message: 09/06/2008, 11h40
  2. [Designer BO] Format colonnes
    Par arsinoe dans le forum Designer
    Réponses: 7
    Dernier message: 19/09/2007, 08h37
  3. format colonnes differentes zone de liste
    Par yoyoo dans le forum Access
    Réponses: 3
    Dernier message: 18/07/2006, 20h01
  4. format colonnes dans un (sous-)formulaire
    Par patbeautifulday1 dans le forum IHM
    Réponses: 4
    Dernier message: 14/02/2006, 18h00
  5. [VB.NET] définir format colonne datetime d'un datatable
    Par HULK dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/12/2005, 16h58

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