Donnez vie à vos documents numériques !
 

Variables ayant comme nom la valeur des champs

abracadabraPDF Forums PDF – Général Variables ayant comme nom la valeur des champs

  • Créateur
    Sujet
  • #74939
    michel c.
    Participant

    Bonjour, j’aimerais savoir si des valeurs de champs peuvent donner leur nom à des variables?

     

    Merci

    Attachments:
    You must be logged in to view attached files.
Affichage de 7 réponses de 1 à 7 (sur un total de 7)
  • Auteur
    Réponses
  • #74941
    bebarth
    Maître des clés

    bonjour,
    Oui, il faut utiliser la méthode “eval”.
    Pour un chiffre :
    eval("var "+this.getField("nomChamp").value+"=5;");
    ou chaîne de caractères :
    eval("var "+this.getField("nomChamp").value+"=\"la chaîne de caractères\";");
    Mais attention, il faut respecter la règle de nomination des variables… donc pas de caractères spéciaux et ne pas commencer par un chiffre !

    @+
    😎

    #74942
    michel c.
    Participant

    Merci mais je ne suis pas sur d’avoir compris. Ce que je dois mettre à la place de “la chaîne de caractères”

    Et pour la suite, je ne vois pas trop ce que je pourrais faire pour exploiter ces variables.

    Dans mon document, je souhaite que dans le champs calcul, la somme des variables E et F soit calculée.

    Le nom de ces variables serait la valeur des champs Var.1.0 et Var.2.0 et les valeurs de ces variables seraient respectivement les

    valeurs des champs Var.1.3 et Var.2.3

    Autre question : si je déclare ces variables par var, celles ci ne sont déclarées que dans le script de document ou dans tout le document?

    Merci

    Attachments:
    You must be logged in to view attached files.
    #74944
    Merlin
    Maître des clés

    Bonjour

    Attention, le point est aussi un caractère spécial non toléré dans un nom de variable. Donc pas de noms de champs contenant des points !

     

    Autre question : si je déclare ces variables par var, celles ci ne sont déclarées que dans le script de document ou dans tout le document?

    En utilisant “var” dans la déclaration d’une variable :

    var toto = "Blablabla";

    Si elle est déclarée dans une fonction elle n’est disponible que dans cette fonction.

    Si elle est déclarée ailleurs que dans une fonction (script de document ou d’objet) elle est disponible dans tout le document actif, et seulement dans celui là.

     

    En n’utilisant pas “var” dans la déclaration :

    toto = "Blablabla";

    Elle est disponible pour tous les scripts de tous les documents ouverts et ceux qu’on ouvrira par la suite tant qu’on n’aura pas quitté l’application.

    Ce qui est parfois trompeur car on peut avoir un document avec des scripts qui fonctionnent très bien alors que le lendemain, après avoir quitté l’application, ou bien quand on le transmet à quelqu’un d’autre ça ne fonctionne plus. En cause : la variable avait été déclarée ailleurs dans un autre document.

    Ce qui peut aussi causer des erreurs si plusieurs documents utilisent un même nom de variable : il en résulte que chaque document écrase la variable déclarée dans un autre.

    #74945
    Merlin
    Maître des clés

    PS : ci-dessus c’est le principe que j’ai décrit, je n’ai pas vérifié mais il est possible que pour des “raisons de sécurité” Adobe ait limité l’échange de variables entre les documents.

    Cependant ce qui vaut chez Adobe ne vaut pas pour tous les éditeurs de logiciels.

    #74946
    michel c.
    Participant

    Merci beaucoup, j’avance…

    J’aimerais maintenant que pour chaque variable (E et F) , au lieu d’avoir “la chaine de caractère comme valeur” j’ai le contenu des champs Var.1.3 pour la variable E et Var.2.3 pour la variable F

    Merci

     

     

     

    Merci

    • Cette réponse a été modifiée le il y a 2 mois et 3 semaines par michel c..
    Attachments:
    You must be logged in to view attached files.
    #74949
    bebarth
    Maître des clés

    Tu écris :
    function variables () {
    eval("var "+this.getField("Var.2.0").value+"="+this.getField("Var.2.3").value);
    eval("var "+this.getField("Var.1.0").value+"="+this.getField("Var.1.3").value);
    app.alert("Valeur de la variable E : "+E+" ; Valeur de la variable F : "+F);
    }

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #74951
    michel c.
    Participant

    Merci beaucoup !

Affichage de 7 réponses de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.