fonctionnement pointeur d’instructions

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #232926 quote
    RICO74320
    Participant
    New

    Bonjour, Voici un 1 er programme :

    defparam CALCULATEONLASTBARS=10
    
    print(barIndex)
    //x = x + 2
    if barindex >=1 then
    x=x[1]+100
    endif
    x = x + 2
    print(x)
    
    return

    Dans celui-ci, les valeurs de x sont les suivantes : 102, 204, 306, … 1020 : c’est à dire l’ancienne valeur de x auquel on ajoute 2.

    Voici un autre code, où l’instruction x = x +2 est placée avant le IF :

    defparam CALCULATEONLASTBARS=10
    
    print(barIndex)
    x = x + 2
    if barindex >=1 then
    x=x[1]+100
    endif
    //x = x + 2
    print(x)
    
    return

    dans celui-ci les valeurs de x sont : 100, 200, 300, 400 … 1000. Comme si l’instruction x = x +2 était ignorée. pourtant dans les 2 cas, l’instruction print(barIndex) est effectuée.

    Si quelqu’un pouvait expliquer cette différence …

    Merci à vous.

    #232938 quote
    druby
    Participant
    New

    Salut… Dans un graphique, il y a environ 500 barres chargées par défaut.

    Dans vos programmes, vous avez CALCULATEONLASTBARS=10.

    Par conséquent, les calculs commenceront à barindex ~490.

    La condition IF est vraie et exécute le code et, calcule X cependant, elle utilise X[1], la barre X précédente qui était avant le début des calculs, donc sera par défaut à 0.

    Donc, dans le programme 1, X = 100 puis +2 =102.

    Dans le programme 2, X=2 avant le bloc IF, mais ensuite vous l’écrasez avec le IF  X    avec X[1] est à nouveau 0 + 100 = 100 par défaut.

    En continuant, program1 ajoute le 2 à X, mais le programme 2 écrase X quand c’est 2, donc jamais ajouté. Changer X[1] en X[0] ou simplement X donne le même résultat que le programme 1.

    druby

    robertogozzi thanked this post
    #232939 quote
    druby
    Participant
    New

    De plus, X[1] sera zéro par défaut lorsqu’il sera récupéré à partir de barindex 489.

    #232942 quote
    druby
    Participant
    New

    Mettez X dans une autre variable Y pour PRINT() X avant et après.

    #232949 quote
    RICO74320
    Participant
    New

    En effet x est bien redéfini dans le bloc IF. Tout est clair !

    Un grand merci pour le temps passé.

    Bonne journée.

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

fonctionnement pointeur d’instructions


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
RICO74320 @rico74320 Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by RICO74320
1 year, 8 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 05/22/2024
Status: Active
Attachments: 1 files
Logo Logo
Loading...