ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : Re: code un peu spécial : prise 2   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

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
20 088 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :


www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3