PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Debutant compilation dynamique
Debutant compilation dynamique
Iniciado por Yoan Mercier, abr., 23 2005 6:47 PM - 3 respostas
Publicado em abril, 23 2005 - 6:47 PM
Bonjour,
comme vous me l'avez gentillement conseillez dans se poste je doit utiliser la compilation dynamique pour resoudre mon probleme.
http://forum.pcsoft.fr/post.awp…


Voici mon code de test qui ne marche pas (erreur l'element x est inconnue) :

source est une chaîne
x est un entier
x=1

sResultatCompile est une chaîne

source="info(Cosinus(x))"
POUR x=1 A 10 PAS 1
sResultatCompile = Compile ("Proc_dynamique", source)
SELON sResultatCompile
CAS "" : ExécuteTraitement("Proc_dynamique", trtProcédure )
FIN
FIN

je cherche a retourner les differents resultat de Cosinus en fonction de la valeur de x.

Merci de votre aide.
Publicado em abril, 24 2005 - 6:02 PM
Attention, pour que ton traitement fonctionne, x doit être déclaré en global
à la fenetre ou au projet.
Voici ensuite le code à utiliser

//Variables
source est une chaîne

sResultatCompile est une chaîne

//Affectation

x = 1

source=[

externe x

info(Cosinus(x))

]

//Traitement

POUR x=1 A 10 PAS 1

sResultatCompile = Compile ("Proc_dynamique", source)

SELON sResultatCompile

CAS "" : ExécuteTraitement("Proc_dynamique", trtProcédure )

FIN

FIN

Antoine

Yoan Mercier wrote:
Bonjour,
comme vous me l'avez gentillement conseillez dans se poste je doit
utiliser la compilation dynamique pour resoudre mon probleme.
http://forum.pcsoft.fr/post.awp…


Voici mon code de test qui ne marche pas (erreur l'element x est
inconnue) :

source est une chaîne
x est un entier
x=1

sResultatCompile est une chaîne

source="info(Cosinus(x))"
POUR x=1 A 10 PAS 1
sResultatCompile = Compile ("Proc_dynamique", source)
SELON sResultatCompile
CAS "" : ExécuteTraitement("Proc_dynamique", trtProcédure )
FIN
FIN

je cherche a retourner les differents resultat de Cosinus en fonction
de la valeur de x.

Merci de votre aide.
Publicado em abril, 24 2005 - 7:53 PM
Merci pour ton aide.

Mais j'ai encore un probleme.

Ton code marche tres bien, mais je souhaiterai faire une modification quant au contenue de la variable source.

En effet elle est declaré comme ceci:

source=[
externe x
info(Cosinus(x))
]


et ce que j'aimerai faire c'est remplacé le info(Cosinus(x)) par info(mon_champ..valeuraffichée) dans le quel est contenu Cosinus(x)

J'ai fait cette modif, mais ca e marche pas :(
le info m'affiche Cosinus(x) et non le resultat

merci de votre aide ...
Publicado em abril, 25 2005 - 11:38 AM
re bonjour

de nouveau le code de la procedure de compilation
PROCEDURE CALCUL(MonCalcul)

sResult est une chaine
sMonCode est une chaine = "Renvoyer "+MonCalcul
sResultCompil est une chaine = Compile("ProcLocal",sMonCode)
SELON sResultCompil
CAS "" : sResult = ExécuteTraitement("ProcLocal",trtProcédure)
CAS "ERR" : sResult = "Compilation impossible." + RC + ErreurInfo()
AUTRES CAS : sResult = sResultCompil
FIN
Renvoyer sResult

appel de la procédure depuis le code de sortie du champ ou d'un bouton

QUAND EXCEPTION DANS
MonChamp est une chaine = moimeme..Nom // ou Nom du champ si le code est ailleurs
info(CALCUL("Cosinus("+{MonChamp}+")"))
FAIRE
//traitement de l'erreur
...
exceptionactive()
FIN

je me repette jettes un coup d'oeil sur WD compile tout y est !

bon courage
patrice