Donnez vie à vos documents numériques !
 

michel c.

Toutes mes réponses sur les forums

Affichage de 26 réponses de 397 à 422 (sur un total de 422)
  • Auteur
    Réponses
  • en réponse à : Verrouiller un fichier PDF #69431
    michel c.
    Participant

    Ça ne protège que contre les grand-mères et ceux qui ne savent pas utiliser Googol, il existe des dizaines de sites et d’utilitaires comme celui-ci :
    https://smallpdf.com/fr/unlock-pdf

    :geek:

    Mince, je ne pensais pas que ce type de protection ne valait pas un clou…

    en réponse à : Verrouiller un fichier PDF #69429
    michel c.
    Participant

    Bonjour, après vérification, ça a l’air de fonctionner sur les scripts associées à des boutons ou a des champs mais cela ne masque pas les scripts du document.
    Voici une vidéo montrant ce que je fais (sur un fichier téléchargé sur ce forum) : Lien

    Et un lien vers le fichier : Lien

    en réponse à : Verrouiller un fichier PDF #69426
    michel c.
    Participant

    Je viens de trouver….

    en réponse à : Champs visibles conditionnels #69404
    michel c.
    Participant

    Merci bebarth ! C’est de toute beauté.  :jerisjaune:

    Effectivement….

    Sinon 2 questions : dans cette ligne :

    Code:
    this.getField(theField).display=this.getField(theField).display==display.visible?display.hidden:display.visible;

    à quoi sert le “?”

    Et dans cette ligne :

    Code:
    checkABC(event.target.name.substr(0,1));

    substr(0,1)) veut dire que l’on extrait 1 caractère à partir de la position 0 du nom du bouton cible ?

    Merci

    en réponse à : Champs visibles conditionnels #69397
    michel c.
    Participant

    Je pense que oui, il suffit que les 2 conditions soient remplies. 
    Si la variable b = 5 alors le champ Cb est visible. 
    Si la variable c = 7 alors le champ Cc est visible. 
    Si la variable b=5 et la variable c= 7 alors le champ Ca est visible. 

    Code:
    var b = (this.getField(“saisieB”).value);
    var c = (this.getField(“saisieC”).value);

    if (b == 5 &&  c ==7) {
    this.getField(“Ca”).display = display.visible;
    this.getField(“Cb”).display = display.visisble;
    this.getField(“Cc”).display = display.visible;
    }

    else if (b == 5 && c!=7) {
    this.getField(“Ca”).display = display.hidden;
    this.getField(“Cb”).display = display.visible;
    this.getField(“Cc”).display = display.hidden;
    }

    else if (c == 7 && b!=5) {
    this.getField(“Ca”).display = display.hidden;
    this.getField(“Cb”).display = display.hidden;
    this.getField(“Cc”).display = display.visible;
    }

    else {
    this.getField(“Ca”).display = display.hidden;
    this.getField(“Cb”).display = display.hidden;
    this.getField(“Cc”).display = display.hidden;
    }

     

    ça devrait marcher je pense.

    en réponse à : Bouton reset #69389
    michel c.
    Participant

    Merci pour la réponse, j’ai pas mal tergiversé car même après avoir renommé mes checkbox, cela ne fonctionnait pas, j’ai dû faire ce que vous m’aviez expliqué précédemment :.

    Code:
    var positionMenu=this.getField(“repOpi”).currentValueIndices;
    this.getField(“operateur1”).value=this.getField(“repOpi”).getItemAt(positionMenu,true);
    this.getField(“operateur2”).value=this.getField(“repOpi”).getItemAt(positionMenu,true);

    .
    repOpi est une checkbox cachée, sur le choix “?” et operateur1&2 les checkbox que je souhaite initailiser.
    En tout cas, tout marche à merveille maintenant…

    en réponse à : Réduction fraction #69382
    michel c.
    Participant

    Bonjour, je ne suis pas découragé, au contraire.
    Je suis enseignant et tout a commencé avec le 1er confinement pendant lequel j’ai commencé à utiliser les formulaires pdf afin de faciliter le travail à distance des élève.
    J’ai fait acheter pour notre lycée 25 licences d’un logiciel permettant de créer des formulaires pdf afin que d’autres collègues puissent également en profiter.

    Au bout d’un an d’utilisation, j’ai découvert de plus en plus de possibilités et depuis quelques mois j’ai commencé à tenter d’intégrer quelques scripts, pour rendre les documents un peu plus interactifs et attractifs.

    Mais avec le javascript, c’est l’engrenage, je découvre qu’il y a énormément de possibilités et étant de nature curieuse, j’ai envie d’en apprendre toujours un peu plus…
    En tout cas, je trouve que vous faites un travail admirable sur ce forum et c’est extrêmement agréable de disposer d’une aide aussi précieuse.

    en réponse à : Réduction fraction #69377
    michel c.
    Participant

    It’s working. Thank you.
    I understand english but i don’t speak very well.
    I would have liked to find books in French on javascript for pdf forms but this kind of book does not exist, so I have no other choice to learn javascript for pdf than to do it in English …

    en réponse à : Réduction fraction #69374
    michel c.
    Participant

    Merci pour ta réponse, le javascript est nouveau pour moi et j’essaye de me dépatouiller avec votre aide et les différents sites qui traitent du sujet. J’ai l’impression d’avancer mais aussi peut être d’avancer sans maitriser les fondamentaux…J’ai également commandé un ouvrage mais il tarde un peu à arriver…

    Bref, tout ça pour dire que j’ai un peu étudié le script modifié et j’ai quelques incertitudes ; voici ce que j’ai compris :


    Code:
    // on déclare la fonction que l’on nomme simplify. pour str je suppose que c’est l’argument à passer à la fonction
    function simplify(str) {
    // on déclare la variable result et on lui donne une valeur nulle   
        var result=””;
    // supposition : on déclare la variable data qui sera séparée par un/   
        var data=str.split(“/”);
    // on déclare la variable numOne qui aura comme valeur …là je sèche   
        var numOne=Number(data[0]);
        var numTwo=Number(data[1]);
    //boucle pour chaque valeur de i égal au maximum entre numOne et numTwo et i>1 …la suite je sèche
        for (var i=Math.max(numOne,numTwo); i>1; i–) {
            if (numOne%i==0 && numTwo%i==0) {
                numOne/=i;
                numTwo/=i;
            }
        }
    // si numTwo égal à 1 alors on donne à la variable result la valeur de numOne je suppose
        if (numTwo===1)  result=numOne.toString();
    // sinon on donne à la variable result la valeur de numOne puis / puis la valeur de numTwo
        else result=numOne.toString()+”/”+numTwo.toString();
    // on met fin à la fonction et on renvoie la valeur result à la fonction simplify
        return result;
    }
    // on affecte au champ Text1 la valeur 4/6 traitée par la fonction simplify
    this.getField(“Text1”).value=simplify(“4/6”);
    // on affecte au champ Text2 la valeur 84810/985612 traitée par la fonction simplify
    this.getField(“Text2”).value=simplify(“84810/985612”);


    Sinon, j’ai également essayé de déclarer 2 variables avant la déclaration de la fonction pour pouvoir saisir la fraction à simplifier sans avoir à modifier le script (j’ai également crée 2 champs : nombre1 et nombre2 sur ma page)

    Code:
    var numerateur = this.getField(nombre1).value;

    Code:
    var denominateur = this.getField(nombre2).value;

    J’ai ensuite essayé de modifier la fin du script en mettant :


    Code:
    this.getField(“Text1”).value=simplify(“numerateur/denominateur”);

    Mais ça ne donne rien…

    michel c.
    Participant

    Merci beaucoup, ça fonctionne

    en réponse à : Compter et bloquer 5 cases à cocher (checkbox) #69364
    michel c.
    Participant

    Peut être en exportant la valeur 1 pour chaque case cochée puis un script verrouille en écriture chaque checkbox (this.getField(“nom_de_ta_checkbox”).readOnly=true) si la somme des valeurs exportées = 5

    en réponse à : Compter et bloquer 5 cases à cocher (checkbox) #69362
    michel c.
    Participant

    Comme ça ?Cases

    en réponse à : Affichage d’un champ de texte si un code est saisi #69356
    michel c.
    Participant

    En réalité j’utilise PDF X-Change editor qui était moins cher pour notre établissement (scolaire). Il y a une console mais je ne l’avais jamais utilisée, je vais m’y mettre…

    en réponse à : Affichage d’un champ de texte si un code est saisi #69354
    michel c.
    Participant

    C’est pour le cas de figure ou je supprimerais un des champs c* ? Ce qui empêcherait le script de tourner ?

    en réponse à : Affichage d’un champ de texte si un code est saisi #69352
    michel c.
    Participant

    ça marche très bien, merci.

    en réponse à : Affichage d’un champ de texte si un code est saisi #69350
    michel c.
    Participant

    Merci pour le lien, je m’endormirais moins bête.
    Autre question en passant : y a-t-il un moyen d’éviter les répétitions de ce style :

     

    Code:
    this.getField(“c1”).display = display.visible;
        this.getField(“c2”).display = display.visible;
        this.getField(“c3”).display = display.visible;
        this.getField(“c4”).display = display.visible;
        this.getField(“c5”).display = display.visible;
        this.getField(“c6”).display = display.visible;
        this.getField(“c7”).display = display.visible;

    En cherchant sur le forum, je viens de tester ça :

    Code:
    var i = 0;
    for (i=0 ; i<=7 ; i++){
    this.getField(“c” +i ).display = display.visible;

    Mais sans grand succès
    Test4
    Merci

    en réponse à : Affichage d’un champ de texte si un code est saisi #69348
    michel c.
    Participant

    Avec ce code ça à l’air de marcher :

    Code:
    var cSaisie = Number(this.getField(“codesaisi”).value);

    if (cSaisie == 1024) {
    app.alert({cMsg:”code ok”, nIcon:1});
        this.getField(“bravo”).display = display.visible;
    }

    else {
    app.alert({cMsg:”code faux”, nIcon:1});
        this.getField(“codesaisi”).value = 0;
        this.getField(“bravo”).display = display.hidden;
    }

    Je ne sais pas pourquoi cela ne marchait pas avec le précédent…

    en réponse à : Validation de valeur d’un champ de saisie #69280
    michel c.
    Participant

    Merci beaucoup, tout fonctionne implacablement bien maintenant.
    J’ai en plus trouvé sur un autre fil un moyen de faire ce qu’il me manquait : faire apparaitre en rouge les champs non remplis.
    Je ne connaissais rien à la programmation avant de me mettre aux formulaires pdf et je trouve cela très intéressant.
    Avez vous un ouvrage à conseiller (en français) pour que je puisse m’y mettre sérieusement ?

    en réponse à : Validation de valeur d’un champ de saisie #69278
    michel c.
    Participant

    Bonsoir, j’espère ne pas être trop pénible avec mes questions, mais je voulais savoir pourquoi ce script :

    Code:
    if (this.getField(“b1”).isBoxChecked(0)) {
        this.getField(“aa1”).display = display.visible;
    }

    else {this.getField(“aa1”).display = display.hidden;
    }

    fonctionne correctement avec une seule checkbox b1 mais pas avec les autres ?

    • Je voudrais que si la checkbox a1a est cochée ; les checkbox b1 ne puissent pas être cochées et le champ aa1 apparaisse pour masquer le texte. (ça c’est ok)
    • et sinon, si une des 4 checkbox b1 est cochée, l’avertissement soit masqué par le champ aa1
    • [/list]En gros je souhaite que l’avertissement soit visible si aucune case n’est cochée sur la ligne…
      .
      .
      Je pensais avoir tout bon mais quand ça veut pas…Merci pour votre patience

      fichier

    en réponse à : Validation de valeur d’un champ de saisie #69276
    michel c.
    Participant

    Message écrit par erreur, je viens de découvrir mon erreur après avoir relu mon message…

    en réponse à : Validation de valeur d’un champ de saisie #69275
    michel c.
    Participant

    Merci pour la réponse, étant débutant en javascript, je tatonne pas mal et j’apprend un peu plus tous les jours…
    Je n’avais pas pensé au calcul de valeur par le maximum entre la note calculée et la note proposée.
    Merci encore pour ton aide précieuse.

    en réponse à : Validation de valeur d’un champ de saisie #69273
    michel c.
    Participant

    Là j’ai un truc qui fonctionne à peu près ; il faut juste que je vois comment déclencher l’action : il ne faut pas que le document puisse être imprimé avec une valeur erronée :

    Code:
    var noteproposee= this.event.value;
    var nNotauto = Number(this.getField(“note20”).value);

        if (noteproposee < nNotauto || event.value > 20) {
    app.alert({cMsg:”La valeur saisie n’est pas conforme, merci de recommencer.”, nIcon:2});
        this.getField(“note20p”).value = Math.ceil(this.getField(“note20”).value*2)/2
        }

    en réponse à : Validation de valeur d’un champ de saisie #69272
    michel c.
    Participant

    Avec ce code la boite d’alerte s’affiche mais si on la ferme, une saisie précédente incorrecte peut rester.

    Code:
    var noteproposee= this.event.value;
    var nNotauto = Number(this.getField(“note20”).value);

    if (noteproposee < nNotauto || event.value > 20) {
    app.alert({cMsg:”La valeur saisie n’est pas conforme, merci de recommencer.”, nIcon:2});
    }

    J’aimerais qu’en cas de saisie incorrecte, une valeur calculée par ce code remplace la valeur erronée :

    Code:
    this.getField(“note20p”).value = Math.ceil(this.getField(“note20”).value*2)/2

    merci

    en réponse à : Validation de valeur d’un champ de saisie #69271
    michel c.
    Participant

    Merci  pour le conseil, j’ai supprimé le lien vers le document.
    Je n’arrive pas à faire fonctionner le script. Qu’il soit déclenchée par une action (souris vers le bas) ou dans la validation de la valeur, rien n’y fait. Quelle que soit la valeur saisie, le message d’alerte n’apparait pas. Je vais continuer à chercher.
    Merci

    en réponse à : Validation de valeur d’un champ de saisie #69268
    michel c.
    Participant

    Bonjour, effectivement c’est peut être plus simple en partageant le contenu.Ce document ne pouvant être public, voici un lien vers un document identique avec des zones masquées.
    document

    Il s’agit du champ nommé note20p ; dans ce document temporaire, j’ai utilisé un script pour le calcul d’une valeur arrondie au demi point supérieur car je n’arrivais pas à faire autrement mais il faudrait que l’examinateur puisse proposer la note qu’il souhaite et que celle ci valide les conditions suivantes :

    • valeur supérieure ou égale au champ “note20”
    • valeur inférieure ou égale à 20
    • uniquement une valeur entière ou avec 5 dixième comme valeur décimale acceptée uniquement
    • la valeur obtenue est ensuite utilisée pour le calcul du champ “note60”
    • [/list]Merci

    en réponse à : calculs à l’aide de boutons radio #69266
    michel c.
    Participant

    Je viens de réussir sans avoir à faire de script.
    http://meca05.fr/edu/documentation/files/test2.pdf

    a+

Affichage de 26 réponses de 397 à 422 (sur un total de 422)