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

XMLRAD Discussion :

problème de formatage à l'écran


Sujet :

XMLRAD

  1. #1
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Points : 56
    Points
    56
    Par défaut problème de formatage à l'écran
    je veux formater mes données à l'écran en décimal (1 dec) et en monétaire (4 dec) donc ds le xmlgran j'utilise le champ "format" ds le table des champs avec les caractéristiques suivantes :

    %.1f et %.4m

    1 / ça marche bien sauf que les valeurs nulle ne sont pas affichées et si je vire ces formatage elle apparaissent (0).

    2 / kel type de formatge existe t'il autrement ?
    Température de l'eau : 28 °
    Température extérieure : 32°
    Température au fond du verre : 50° ~ 55°
    ------ Mangez des bananes ----------

  2. #2
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    1/ bug connnu:
    http://www.developpez.net/forums/viewtopic.php?t=81468

    2/ les formatages standard delphi. voir l'aide pour cela.
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  3. #3
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Points : 56
    Points
    56
    Par défaut Comment uitiliser FormatCultureFloat ?
    J'ai bien trouvé la fonction FormatCultureFloat ds xmlutils.pas, aussi dans mon prog delphi je fais :

    Context.SetValue('PBRUT', FormatCultureFloat(Context.GetValue('PBRUT')));

    Mais j'ai le message d'erreur : type icompatible widestring & IXMLrequest ; normal au vue de la structure de la fonction FormatCultureFloat(Request: IXMLRequest; FloatFormat: WideString; Float: Double): WideString;

    Est-ce bien ds Delphi que j'utilise cette fonction ? quels arguments me manquent-ils alors ?
    Dois laisser ds mon xmlgram le formar %.1f ?
    Température de l'eau : 28 °
    Température extérieure : 32°
    Température au fond du verre : 50° ~ 55°
    ------ Mangez des bananes ----------

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 284
    Points : 349
    Points
    349
    Par défaut
    FormatCultureFloat s'utilise comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormatCultureFloat(XMLRequest, '%1.f', Context.Values['PBrut']);
    RDM voulait dire dans son post que les chaines de formatage de XMLRAD etaient les memes que dans Delphi. Recherche dans l'aide Delphi "Format strings" et tu trouveras ton bonheur.
    Nicolas

  5. #5
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Points : 56
    Points
    56
    Par défaut problème de type
    La fonction FormatCultureFloat a pour dernier argument un double et je lui envoie Context.GetValue('PBRUT') qui est un widestring aussi à la compile j'ai une erreur de type !

    Context.SetValue('PBRUT', FormatCultureFloat(XMLRequest, '%1.f', Context.GetValue('PBRUT')));
    Température de l'eau : 28 °
    Température extérieure : 32°
    Température au fond du verre : 50° ~ 55°
    ------ Mangez des bananes ----------

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 284
    Points : 349
    Points
    349
    Par défaut
    Euh, voui.
    Et bien alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var
      Num: Double;
    begin
      Num := StrToFloat(Context.Values['PBrut']);
      FormatCultureFloat(XMLRequest, '%1.f', Num);
      ...
    end;
    Nicolas

  7. #7
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Points : 56
    Points
    56
    Par défaut merci
    c'est ce que j'ai fais mais je pensais qu'il y avait une solution sans passer par une variable !

    Merci
    Température de l'eau : 28 °
    Température extérieure : 32°
    Température au fond du verre : 50° ~ 55°
    ------ Mangez des bananes ----------

  8. #8
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Points : 56
    Points
    56
    Par défaut ça compile, mais ...
    Mon prog sous Delphi compile bien mais les zéros ne s'affiche toujours pas sur mon datagrid!

    Je mets l'instruction suite ds le before Xmlgram :
    Context.SetValue('PNET', FormatCultureFloat(XMLRequest, '%1.f', StrToFloat(Context.GetValue('PNET'))));

    et j'ai le message d'erreur :
    '' n'est pas une valeur en virgule flottante correcte

    ça se comprend car si je regarde le XML généré aucune valeur n'est dans ma grappe XML, bien que ds ma base de données il y ait "0" ; donc il arrive pas à faire l'opération sur ''.

    ???? .....
    Température de l'eau : 28 °
    Température extérieure : 32°
    Température au fond du verre : 50° ~ 55°
    ------ Mangez des bananes ----------

  9. #9
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  10. #10
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Points : 56
    Points
    56
    Par défaut désolé
    Je suis désolé, mais je comprends pas la réponse fournie !

    J'ai une unité XmlUtils avec une function FormatCultureFloat que j'utilise. Dans la réponse fournie tu écris le code :

    begin
    - Result := '';
    + Result := '0';
    if Float = 0.0 then Exit;


    alors que ds XmlUtils, on a seulement :

    Result := '';
    if Float = 0.0 then Exit;


    Que veulent dire les signes (-) et (+) devant "result" et que faut-il faire clairement : modifier la function FormatCultureFloat, en écrire une nouvelle. Je suis pas très fufute ou je tourne autour du pot mais tout ce que j'essaie plante !

    Merci
    Température de l'eau : 28 °
    Température extérieure : 32°
    Température au fond du verre : 50° ~ 55°
    ------ Mangez des bananes ----------

  11. #11
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut
    Si je lis bien, ce devrait être :
    Result := '0';
    if Float = 0.0 then Exit;

  12. #12
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    le moins devant indique qu'il faut retirer cette ligne qui était existante
    le plus indique qu'il faut ajouter cette nouvelle ligne

    donc avant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    begin 
      Result := ''; 
      if Float = 0.0 then Exit;
    après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    begin 
      Result := '0'; 
      if Float = 0.0 then Exit;
    ce traduit en condensé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    begin 
    - Result := ''; 
    + Result := '0'; 
      if Float = 0.0 then Exit;
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  13. #13
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Points : 56
    Points
    56
    Par défaut ça marche à peu près !
    J'ai fini par comprendre, avec le temps j'apprendrais de mieux en mieux ! rien ne vaut l'empirisme !
    Bon, j'ai bien un zéro qui s'affiche, mais il ne prend pas le format voulu ! En effet, j'ai des poids qui sont formaté avec 1 décimale, même pour un poids nul car à l'affichage il y a un décallage, c'est pas très propre !
    Avez-vous le même résultat que moi ou les valeurs nulles sont elles formatées correctement ?
    Mais je peux attendre la RC4 tranquillement car cet été c'est réplication et VACANCES ... en métropole !
    Température de l'eau : 28 °
    Température extérieure : 32°
    Température au fond du verre : 50° ~ 55°
    ------ Mangez des bananes ----------

  14. #14
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    hmm alors retire le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Float = 0.0 then Exit;
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

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

Discussions similaires

  1. Problème de formatage
    Par philippef dans le forum Langage
    Réponses: 2
    Dernier message: 20/11/2005, 17h32
  2. [HTML] Tableau problème de formatage avec internet Explorer
    Par rabobsky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/11/2005, 09h50
  3. Réponses: 3
    Dernier message: 13/10/2005, 21h39
  4. Problème de rafraichissement d'écran
    Par Chercheur dans le forum MFC
    Réponses: 2
    Dernier message: 26/09/2005, 22h35
  5. Problème de formatage de disque dur
    Par Marekh dans le forum Composants
    Réponses: 10
    Dernier message: 04/07/2005, 14h08

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