jeu. 03 novembre 2016, 21h20
eddymaue
atoutfox.public.association
Re: code un peu spécial : prise 2
merci Gilles pour ta réponse mais je donne raison à Jean que la macro
substitution a été appliquée à toutes les sauces... et curieusement la
période correspond ... 2004. C'est ce que j'appele du code dynamique ,
du code occupant un faible espasse de code mais avec une couverture
large. J'ai aussi eu ce trip ... utiliser à toutes les sauces la macro
substitution. L'histoire c'est que quand le temps d'opération compte
.... j'ai compris qu'il fallait s'éloigner de la macro-substition ...
J'ai bien analysé ce code et je crois etre capable de tripler voir
quintupler la vitesse de ce code....
Peut être que dans le cadre d'un framework cette utilisation abusive de
la macro-substitution est justifiable... peut etre...
La non utilisation des curseurs (table temporaire) au lieu de tableaux
ou les performances restent médiocres est une autre réponse de non
performante d'affichage propriété/méthode d'une classe dans une
librairie dans le browser.app
bref le tout sera déposer un jour ... quand... un jour dans mon blog...
bonne fds à tous
une réponse pour GLS
Allo,
> Bonjour,
> j'ai découvert ce type de macro-substitution avec ConviSAV.
> C'est un peu ardu, mais cela permet facilement de pouvoir traiter avec la
> même méthode des tables différentes comportant des champs aux noms
> identiques, voir à séquence de nom d'objets type monbouton1, monbouton2,
monbouton3 etc.. * */ Définition et activation des boutons vendeurs
caisse *
LOCAL ntop as Integer, nleft as Integer, nnumtf as Integer, i as Integer, a
as String, ccmd as String
WITH m.THISFORM
IF .cmodemaj = "C" AND THIS.VALUE = DATE() AND m.oappli.lcaisse = .T. &&
Ticket de caise ntop = 25
nleft = 85
nnumtf = 5
FOR i = 1 TO 5
a = STR(m.i,1)
IF NOT EMPTY(.ccoddep&a)
IF NOT PEMSTAT(m.THISFORM, "cmdboutvend" + m.a, 5)
=.ADDOBJECT("cmdboutvend" + m.a, "cmdboutvend")
.cmdboutvend&a..TOP = m.ntop
.cmdboutvend&a..LEFT = m.nleft
.cmdboutvend&a..CAPTION = "F" + STR(m.nnumtf, 1) + " Vend. " +
.ccoddep&a .cmdboutvend&a..coddep = .ccoddep&a
nleft = m.nleft + .cmdboutvend&a..WIDTH
nnumtf = m.nnumtf + 1
ENDIF
.cmdboutvend&a..VISIBLE = .T.
IF ogene.nversionfox >= 7
.cmdboutvend&a..VISUALEFFECT = 0
ENDIF
ccmd = ogene.exprthisform("THISFORM.clicvendeur(m.THISFORM.cmdboutvend" +
m.a + ".coddep," + m.a + ")", m.THISFORM) ON KEY LABEL "F" + STR(m.i+4,
1) &ccmd ENDIF
ENDFOR
ENDIF
ENDWITH
> Cordialement
> Gilles
--
a+ Eddy
L'incompréhensible se réalise toujour avant le compréhensible parce que
tout simplement on ne l'a pas encore assimilé
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000017944