|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
| gestion de signes enregistrés dans un fic |
| Débuté par deaddate, 16 nov. 2004 12:59 - 6 réponses |
| |
| | | |
|
| |
| Posté le 16 novembre 2004 - 12:59 |
bonjour, j'ai créé un fichier de paramètrage avec des conditions et des valeurs pour les utiliser dans mon code ci-dessous. Malheureusement, le code interprete les valeurs comme des chaines de caractères: exemple: MontantTTC0 Condition10=">" MontantATester 00 donne : "150>1500" = vrai alors que je voudrai 150>1500 = faux.
Merci d'avance....
SI MontantTTC + {Monfic+".Condition10"} + MontantATester ALORS MontantFrais = MontantTTC * Val({Monfic+".Coeff10"}) SINON SI MontantTTC + {Monfic+".Condition20"} + Val({Monfic+".MontantMini20"}) ALORS SI MontantTTC + {Monfic+".Condition30"} + Val({Monfic+".Plafond30"}) ALORS MontantFrais = Val({Monfic+".Resultat30"}) FIN SI (MontantTTC * Val({Monfic+".Coeff40"}) + {Monfic+".Condition41"} + Val({Monfic+".Plancher40"})) ET (MontantTTC * Val({Monfic+".Coeff40"}) + {Monfic+".Condition41"} + Val({Monfic+".Plafond41"})) ALORS MontantFrais = MontantTTC * Val({Monfic+".Coeff42"}) FIN SI MontantTTC * Val({Monfic+".Coeff50"}) + {Monfic+".Condition50"} + {Monfic+".Plancher50_Corps"} ALORS MontantFrais= {Monfic+".Resultat50_Corps"} FIN |
| |
| |
| | | |
|
| | |
| |
| Posté le 16 novembre 2004 - 13:38 |
Je pense qu'il faut utiliser la compilation dynamique pour celà. Regarde l'aide de compile et de ExecuteTraitement. En gros, il faut que tu crée de toute pièce une procédure qui contient l'ensemble de tes tests, et qui te renvoie vrai ou faux.
Frédéric. |
| |
| |
| | | |
|
| | |
| |
| Posté le 16 novembre 2004 - 14:01 |
| Et bien le problème c'est qu'il execute le traitement mais il interprete pas comme il faut les valeurs... |
| |
| |
| | | |
|
| | |
| |
| Posté le 16 novembre 2004 - 16:22 |
En gros, et pas testé :
TexteProc est une chaine
texteproc = "SI MontantTTC " + {Monfic+".Condition10"} + " MontantATester ALORS MontantFrais = MontantTTC * Val({Monfic+"".Coeff10""})" + ... "SINON" + ... "SI MontantTTC " + {Monfic+".Condition20"} + "Val({Monfic+"".MontantMini20""}) ALORS SI MontantTTC "+ {Monfic+".Condition30"} + "Val({Monfic+"".Plafond30""}) ALORS" + ... "MontantFrais = Val({Monfic+"".Resultat30""}) " + ... "FIN" + ... "SI (MontantTTC * Val({Monfic+"".Coeff40""})" + {Monfic+".Condition41"} + "Val({Monfic+"".Plancher40""})) ET (MontantTTC * Val({Monfic+"".Coeff40""})" + {Monfic+".Condition41"} + "Val({Monfic+"".Plafond41""})) ALORS " + ... "MontantFrais = MontantTTC * Val({Monfic+"".Coeff42""})" + ... "FIN" + ... "SI MontantTTC * Val({Monfic+"".Coeff50""}) " + {Monfic+".Condition50"} + "{Monfic+"".Plancher50_Corps""} ALORS" + ... "MontantFrais= {Monfic+"".Resultat50_Corps""} " + ... "FIN"
compile("ProcDynamique",TextePRoc) executetraitement("ProcDynamique",trtprocédure) On doit pouvoir supprimer les indirections du code généré, mais je te laisse le soin de le faire .
Frédéric. |
| |
| |
| | | |
|
| | |
| |
| Posté le 16 novembre 2004 - 16:32 |
wouhaou , je m'empresse de tester sa, Merci beaucoup... |
| |
| |
| | | |
|
| | |
| |
| Posté le 16 novembre 2004 - 16:32 |
Salut
En WinDev 8, tu peux écrire des chaines de caractères multilignes plus simplement avec la syntaxe entre crochet [ ]. Un exemple :
MaChaine est une chaine = [ Ce texte est composé de plusieurs lignes. ]
Ciao http://wdgotcha.atspace.com |
| |
| |
| | | |
|
| | |
| |
| Posté le 17 novembre 2004 - 16:59 |
salut, merci pour cette simplification de mon texte mais cela me pose un problème. En effet, ce code est dans une procédure qui comporte 3 paramètres que je dois utiliser dans mon code. Ceux ci ne sont pas reconnu entre les crochets (voilà le morceaux de code qui correspond)
PROCEDURE Calcul_Frais_Sinistre(MontantTTC est un monétaire, MontypePolice est une chaîne, DateCompagnie est une chaîne, TypeOperation est un entier) MaChaine , Res, res2 sont des chaînes MaChaine = [ MontantFrais est un monétaire sRubCléParcours est une chaîne Monfic est une chaîne="Fic_Sin_Tableau_De_Parametrage_Frais" sRubCléParcours = HFiltre(Fic_Sin_Tableau_De_Parametrage_Frais,"Categorie='" + MontypePolice +"' ET Date_Du<='"+ DateCompagnie + "' ET Date_Au>='"+ DateCompagnie + "'") HLitPremier(Fic_Sin_Tableau_De_Parametrage_Frais,sRubCléParcours) |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|