Multiple commandes SCREENERS est-ce possible?

Forums ProRealTime forum Français Support ProScreener Multiple commandes SCREENERS est-ce possible?

Viewing 4 posts - 1 through 4 (of 4 total)
  • #107586
    Wim

    Bonjour,

    Je me pose la question si il est possible de mettre 2 commandes SCREENER dans le même screener. Je m’explique. Je veux afficher dans la liste de résultats d’un screener parfois le variable “pattern” et d’autres fois le variable “ratio”. En plus je veux que l’entête de la colonne critère reflète quel variable est montré. Et ça just een modifiant la valeur du variable “type” avant de lancer le screener.

    Pour cela j’ai écrit ce bout de code:

    if type=1 then
    SCREENER[ (condition1) AND c6 ] (pattern as “pattern”)
    else
    SCREENER[ (condition1) AND c6 ] (ratio as “ratio”)
    endif

    Ca fonctionne à merveille, sauf . . . la colonne a toujours, vraiment toujours, l’entête “ratio”. Si je commence avec ratio en premier et pattern en seconde, eh bien, cela affiche toujours l’entête “pattern”. Je me pose la question si on a le droit de mettre 2 fois une commande SCREENER dans un fichier. La partie condition est bien respecté au sein de la construction IF, mais la partie AS execute toujours la seconde même si le IF ne passe pas par là.

    Au secours, Wim

    #107648

    Il n’y a qu’une seule colonne critère, avec un seul titre, donc le titre utilisée sera toujours celui de la dernière condition testée.

    Par conséquent, on ne peut pas le faire varier à volonté.

    #107742
    Wim

    Merci Nicolas pour la réponse. J’en déduit que je peux avoir plusieurs exemplaires de la commande SCREENER dans une IF … THEN  … ELSE … ENDIF.

    Mais dans mon exemple avec type = 1 je dirais que seulement la partie THEN sera exécuté. Et c’est bien ce qui se passe, mais que partiellement. La valeur de pattern est bien affiché mais pas le texte “pattern”. Pour l’entête c’est toujours, indépendant de la valeur de type, le texte “ratio” qui est affiché. Ce texte se retrouve dans la partie ELSE. Je dirais que cette partie n’est pas du tout évalué si type = 1.

    Dis d’une autre façon: si type = 1 dans la colonne critère s’affiche la valeur de variable pattern (venant de THEN) et le texte “ratio” (venant de ELSE).

    Ou est-ce que ta réponse veut dire que la dernière << as “….” >> dans une programme est celui qui compte? Même si le critère final ne se retrouve pas dans la dernière commande SCREENER. Si c’est ça, j’appellerais ça un bug, non?

    Merci, Wim

     

    #107748

    ça n’est pas un bug.. enfin presque.

    En fait, on ne peut pas avoir plusieurs instruction SCREENER, même si elles sont contenues dans des blocs conditionnels. Ce sera toujours la dernière instruction SCREENER lu qui affichera le nom de la colonne critère..

    Exemple simple:

    la deuxième instruction ne devrait jamais être évaluée et c’est pourtant bien “open” qui s’affiche dans la colonne critère avec le Close !

    Cela fait donc partit des choses à savoir avec ProScreener, même si aucun message d’erreur ne vient prévenir de ce comportement.

    1 user thanked author for this post.
Viewing 4 posts - 1 through 4 (of 4 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login