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 :

Calcul en Delphi


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Algérie

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

    Informations forums :
    Inscription : Février 2015
    Messages : 4
    Par défaut Calcul en Delphi
    Bonjour,

    Je suis sur un projet de calcul de paye. Les rubriques de paye sont soit un taux, soit une valeur fixe, un calcul ...

    Je veux que l'utilisateur de l'application lui-même entre la formule de calcul.

    Exemple :

    indemnitex = 25% du salaire de base

    Il y a quelques idées svp ?

    Salutations

  2. #2
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 064
    Par défaut
    C'est quoi la question ?

  3. #3
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 941
    Par défaut
    Bonjour,

    Si j'ai bien compris son message, il y a eu des réponses sur cette problématique voir ci-dessous:

    https://www.developpez.net/forums/d5...xique-formule/

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 595
    Billets dans le blog
    65
    Par défaut
    Bonjour
    La version de Delphi a aussi son importance, pour des expressions simples, avec les versions de Delphi proposant les LiveBindings on peut utiliser ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    unit Parser;
     
    interface
     uses
      System.Rtti,
      System.Bindings.EvalProtocol,
      System.Bindings.Evaluator,
      System.Bindings.EvalSys,
      System.SysUtils;
     
     function CalcExpr(Expression : String) : Double; cdecl; export;
     
    implementation
     
    function CalcExpr(Expression : String) : Double;
    Var
      LScope : IScope;
      LCompiledExpr : ICompiledBinding;
      LResult : TValue;
    begin
      LScope:= BasicOperators;
      LCompiledExpr:= Compile(Expression, LScope);
      LResult:=LCompiledExpr.Evaluate(LScope, nil, nil).GetValue;
      if not LResult.IsEmpty then Result:=LResult.AsExtended
                             else Result:=1;
    end;
    end.
    reste donc avant à faire les remplacements nécessaires dans la formule saisie
    par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     formule:='SALAIREBASE * 25%';
     Formule:=StringReplace(Formule,'%','/100',[rfReplaceAll]);
     Formule:=StringReplace(Formule,'SALAIREBASE','1200.00',[rfReplaceAll, rfIgnoreCase]);
     indemnitex := CalcExpr(Formule);
    ATTENTION à l'ordre de priorité des opérateurs dans les formules quand même !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Algérie

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

    Informations forums :
    Inscription : Février 2015
    Messages : 4
    Par défaut
    merci et si j'ai des calcules complexe avec des tests ?

  6. #6
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 510
    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 510
    Par défaut
    Bonjour,
    je suppose que tous les paramètres variables de formules ne sont à changer que rarement (une fois par an ?). Sont ils variables pour chaque personne, ou communs à tous ? s'ils sont variables pour chaque personne, alors, faut les stocker en BD.

    Si les paramètres variables des formules sont communs à tous, et si les formules ont toujours la même structure, pourquoi ne pas rentrer les paramètres variables dans une Fiche, les sauver dans un fichier ini ou dans la base de registre et faire tous les calculs et tests dans le programme après extraction des données de la BD, avant d'afficher ou d'imprimer la fiche de paye ?

    A+
    Charly

Discussions similaires

  1. Difference entre calculatrice et calcul en delphi
    Par sp2308 dans le forum Débuter
    Réponses: 3
    Dernier message: 23/07/2014, 13h14
  2. Interfacer code de calcul avec Delphi
    Par aharel dans le forum Fortran
    Réponses: 3
    Dernier message: 14/04/2009, 11h24
  3. Calculs avec Delphi
    Par od.dev dans le forum Delphi
    Réponses: 3
    Dernier message: 25/12/2006, 13h07
  4. Probleme calcul Delphi
    Par kennes dans le forum Delphi
    Réponses: 4
    Dernier message: 19/11/2006, 01h00
  5. calcul sous delphi
    Par djedje-08 dans le forum Langage
    Réponses: 5
    Dernier message: 08/02/2003, 17h39

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