abracadabraPDF › Forums › PDF – Général › Affichage aléatoire › Répondre à : Affichage aléatoire
bonjour,
Je vois ! En fait j’ai rajouté le script de document à la dernière minute avant d’envoyer le fichier et sans le tester… Erreur de débutant lol
Du coup, la table “reponses” est déclarée à l’ouverture du document et if (reponses==null) n’est plus vrai.
J’ai donc modifié légèrement les scripts :
// Script de document
var reponses=[];
var nbQuestions=0;
var nbReponses=0;
this.getField("Reponse").setItems(["-"]);
this.getField("Question").value="";
this.getField("Score").value="";
// Script de calcul "Démarrer"
if (!reponses.length) {
var lesReponses=this.getField("entreesListe").value.split("\r");
var nb=lesReponses.length;
var reponses=[];
for (var i=0; i<nb; i++) {
lesReponses=lesReponses.split("\/");
reponses.push([lesReponses[1],0]);
}
}
var moyenne=0;
for (var i=1; i<nb; i++) moyenne+=reponses[1];
moyenne/=(reponses.length-1);
var aleatoire=Math.floor(Math.random()*nb);
var laQuestion="-";
while (reponses[aleatoire][1]>moyenne || laQuestion=="-") {
var aleatoire=Math.floor(Math.random()*nb);
var laQuestion=lesReponses[aleatoire][0];
var laReponse=lesReponses[aleatoire][1];
}
this.getField("Reponse").setItems(reponses);
this.getField("Question").value=laQuestion;
// Script de touches personnalisé "Reponse"
if (!event.willCommit) {
nbQuestions++;
if (event.change!=laReponse) app.alert("Erreur !!!\rLa bonne réponse est : "+laReponse,3);
else {
reponses[aleatoire][1]=Number(event.changeEx)+1;
this.getField("Reponse").setItems(reponses);
nbReponses++;
}
}
// Script de calcul "vérifier"
if (reponses.length) this.getField("Score").value=nbReponses+"/"+nbQuestions;
… et ce coup ci c’est testé !
Il y a juste à voir comment se compte le nombre de question. Dans mon script il est incrémenté par la réponse (correcte ou mauvaise). Si l’utilisateur clique plusieurs fois sur “Démarrer” sans répondre, le nombre de question n’augmente pas.
@+
😎