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 :

FMTBcd c'est quoi ?


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut FMTBcd c'est quoi ?
    Bonjour à tous

    Je développe un petit module d'analyse commercial et pour ce faire j'utilise un des composant VCL de devexpresse (ils ont certaines petites fonctionnalités très sympa)

    J’utilise Interbase 7.5 et certain champs sont des decimal 18,5 (saisi par l'utilisateur) et d'autre des numérique 18,5 (les champs calculé en général).

    Lorsque je veux faire un somme dans mes grille devExpresse il me tronque tjrs le résulta. Exemples 700+600 = 300 / 1230 + 50 + 5000 + 6000 = 2280. Comme vous le constater il conserve la taille des champs la plus grande mais ne s'adapte pas au résultat.

    Ma question n'est pas comment résoudre le formatage de la cellule mais qu'est ce que le type de FMTBcd... Car j'ai constaté que c'est tjrs avec ce type de valeur que j'ai mon problème.

    Merci d'avance ...

    Désolé pour les faute d'orthographe (dyslexie)

  2. #2
    Membre averti Avatar de Bejaia-In
    Inscrit en
    Avril 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 365
    Points : 392
    Points
    392
    Par défaut
    Tu trouveras la réponse en consultant l'aide de DELPHI.
    il suffit de taper ce mot "FMTBcd" dans la recerche pour avoir une explication mieux fournit que celle que l'on pourait te donner ici.

    bonne chance.

  3. #3
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    Citation Envoyé par Bejaia-In
    Tu trouveras la réponse en consultant l'aide de DELPHI.
    il suffit de taper ce mot "FMTBcd" dans la recerche pour avoir une explication mieux fournit que celle que l'on pourait te donner ici.

    bonne chance.
    +1 @ Bejaia-In
    @ kmakam
    il faut veiller à suivre les règles du forum

  4. #4
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 677
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 677
    Points : 7 085
    Points
    7 085
    Par défaut
    Voici ce que me donne l'aide :
    Citation Envoyé par Aide Delphi 2010
    Indique la valeur du paramètre quand il représente un champ décimal codé binaire (BCD) avec plus de 4 positions décimales ou 20 chiffres significatifs.

    Définissez AsFMTBCD pour affecter la valeur d'un champ BCD au paramètre lorsque ce champ est représenté par un objet TFMTBCDField. Les objets TFMTBCDField et la propriété AsFMTBCD utilisent un vrai type BCD pour représenter la valeur des champs BCD. Ce type est plus précis mais plus lent que le type Currency utilisé par TBCDField et la propriété AsBCD. L'affectation de AsFMTBCD attribue à la propriété DataType la valeur ftFMTBCD.

    La lecture de la propriété AsFMTBCD permet de déterminer la valeur affectée au paramètre de sortie, sous la forme d'une valeur de type TBcd. La valeur du paramètre est convertie, si possible, en une valeur TBcd.

    Conseil : Si le champ BCD utilise moins de 4 places décimales ou 20 chiffres significatifs, vous pouvez améliorer les performances en utilisant à la place un champ TBCDField et la propriété AsBCD.
    Mais, je n'ai pas vu d'exemple qui explique comment on fait pour donner un nombre à une procédure stockée qui n'accepte que ce type en paramètre.

    Comment transtyper un entier en FMTBcd ?

    J'ai bien trouvé IntegerToBcd, mais ca ne change rien.
    erreur numérique ou erreur sur une valeur: erreur de conversion des caractères en chiffres

  5. #5
    Expert éminent sénior
    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 : 61
    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
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    As-tu essayé de définir la valeur du paramètre 'AsCurrency' ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyPS.Params[0].AsCurrency := 10;
    A tester puisque ta valeur est un entier.

    @+

  6. #6
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 677
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 677
    Points : 7 085
    Points
    7 085
    Par défaut
    Ca ne marche pas mieux.
    J'ai presque tout essayé, et ca donne le même résulat.
    DBExpress n'a pas l'air d'aimer Oracle.


  7. #7
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 292
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 292
    Points : 1 944
    Points
    1 944
    Par défaut
    Quelle version de Delphi et quelle version d'Oracle?

    Par exemple pour Delphi 7 et oracle 11g (serveur) , j'ai été obligé d'utiliser la dernière version des drviers DBExpress de DevArt pour les procédures stockées, sinon erreur (alors que le code marche très bien avec Oracle 9i et 10g).

    On utilise ce code pour les paramètres(déclaré en INTEGER dans la procédure stockée):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        MaStoredProc.ParamByName('MonParam').AsFMTBCD := IntegerToBcd(MaValeurEntiere);

  8. #8
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 677
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 677
    Points : 7 085
    Points
    7 085
    Par défaut
    Citation Envoyé par Linkin Voir le message
    Quelle version de Delphi et quelle version d'Oracle?
    Delphi 2010 et Oracle 10g.

    Le paramètre de ma procédure stockée est déclaré (dans Oracle) en NUMBER.

    Citation Envoyé par Linkin Voir le message
    On utilise ce code pour les paramètres(déclaré en INTEGER dans la procédure stockée):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        MaStoredProc.ParamByName('MonParam').AsFMTBCD := IntegerToBcd(MaValeurEntiere);
    J'ai testé, mais même erreur.

  9. #9
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 677
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 677
    Points : 7 085
    Points
    7 085
    Par défaut
    C'est à priori résolu !

    En fait, il faut mettre une virgule dans le DecimalSeparator du SQLConnexion.
    C'est tordu ...

  10. #10
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 175
    Points : 41 367
    Points
    41 367
    Billets dans le blog
    63
    Par défaut
    cela faisait 2 ans que je butais régulièrement sur ces BCD c'est d'ailleurs aussi à cause de cela que j'ai complètement laissé tombé DBexpress (à mon grand soulagement) .

    Cependant , j'ai appris quelque chose aujourd'hui donc encore

  11. #11
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 677
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 677
    Points : 7 085
    Points
    7 085
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    c'est d'ailleurs aussi à cause de cela que j'ai complètement laissé tombé DBexpress (à mon grand soulagement) .
    Tu utilises quoi d'autre ?

  12. #12
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 175
    Points : 41 367
    Points
    41 367
    Billets dans le blog
    63
    Par défaut
    travaillant avec Firebird : les FIBplus , UIB et dernierement ZEOSDBO

  13. #13
    Expert éminent sénior
    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 : 61
    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
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par Lung Voir le message
    C'est tordu ...
    Ca pour être tordu !

    Merci pour l'info. Chapeau.

Discussions similaires

  1. [sbadecoder a dit].. C'est quoi pour vous un beau programme?
    Par seb.49 dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 13/02/2004, 10h41
  2. c'est quoi un 'system catalogs' ...
    Par jaimepasteevy dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 08/12/2003, 16h47
  3. C'est quoi XMLRAD ?
    Par laffreuxthomas dans le forum XMLRAD
    Réponses: 10
    Dernier message: 09/08/2003, 02h42
  4. C'est quoi "Profile" dans le assign du XMLGram ?
    Par Lux interior dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/02/2003, 11h37
  5. C'est quoi exactement un générateur d'états
    Par Henry Cesbron Lavau dans le forum Outils de restitution et d'analyse
    Réponses: 0
    Dernier message: 02/04/2002, 19h15

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