Donnez vie à vos documents numériques !
 

Répondre à : Multiliste déroulante

abracadabraPDF Forums PDF – Général Multiliste déroulante Répondre à : Multiliste déroulante

#74571
bebarth
Maître des clés

bonjour,
Voilà, je redonne l’ensemble des scripts qui ont, pour certains, un peu évolués :
// Scripts de document
//
var nbDepart=0;
for (var i=0; i<this.numFields; i++) {
if (/^Départ\.\d+/.test(this.getNthFieldName(i))) nbDepart++;
}
var fichier=this.getDataObjectContents("Départ.csv");
var donnees=util.stringFromStream(fichier);
var lignes=donnees.split("\r\n");
var colonnes=new Array();
for (var ii=0 ; iivar colonne0=[];`
for (var j=0 ; jif (colonnes[j][0]) colonne0.push([colonnes[j][0]]);`
}
for (var i=1; i<=colonne0.length; i++) {
eval("var colonne"+(i+1)+"=[];");
for (var j=0 ; jif (colonnes[j][i+1]) eval(“colonne”+(i+1)).push(colonnes[j][i+1]);`
}
}
colonne0[0].push(0);
for (var ii=1; ii<colonne0.length; ii++) {
colonne0[ii].push(eval("colonne"+(i+1)))
}
// Fichier "Départ Arrivée.csv"
var fichierDA=this.getDataObjectContents("Départ Arrivée.csv");
var donneesDA=util.stringFromStream(fichierDA);
var lignesDA=donneesDA.split("\r\n");
var colonnesDA=new Array();
for (var i=0 ; ifor (var i=1; i<=colonnesDA[0].length; i++) {`
eval("var colonne"+(i+1)+"DA=[\"- Sélectionnez -\"];");
for (var j=1 ; jif (colonnesDA[j][i+1]) eval(“colonne”+(i+1)+”DA”).push(colonnesDA[j][i+1]);`
}
}
//
var leCanal=this.getField("Canal").value;
this.getField("Canal").clearItems();
this.getField("Canal").setItems(colonne0);
this.getField("Canal").value=leCanal;
//
function menuCanal(laValeur) {
try {
for (var i=0; i<nbDepart; i++) {
this.getField("Départ."+i).clearItems();
this.getField("Arrivée."+i).clearItems();
}
if (laValeur!=0) {
var leMenu=laValeur.split(",");
var ind=leMenu[0].substr("Canal ".length);
leMenu[0]=["- Sélectionnez -",0];
for (var ii=1; ii<leMenu.length; ii++) {
leMenu[ii]=[leMenu[ii],eval("colonne"+(i+1)+"DA")];
}
for (var i=0; i<nbDepart; i++) {
this.getField("Départ."+i).clearItems();
this.getField("Départ."+i).setItems(leMenu);
}
}
} catch(e) {}
}
//
function menuDepart(ind,laValeur) {
this.getField("Arrivée."+ind).clearItems();
this.getField("Arrivée."+ind).setItems(laValeur.split(","));
}
function menuArrivee(leChamp) {
try {
var ind=leChamp.name.substring(leChamp.name.indexOf(".")+1);
var laTable=this.getField("Départ."+ind).value.split(",");
for (var i=0; i<nbDepart; i++) {
if (i==ind) continue;
for (j=0; j<leChamp.numItems; j++) {
if (this.getField("Départ."+i).getItemAt(this.getField("Départ."+i).currentValueIndices,false)==this.getField("Départ."+ind).getItemAt(this.getField("Départ."+ind).currentValueIndices,false) && this.getField("Arrivée."+i).value==laTable[j]) laTable.splice(j,1);
}
}
var lArrivee=leChamp.value;
leChamp.clearItems();
leChamp.setItems(laTable);
leChamp.value=lArrivee;
} catch(e) {}
}
//
function cAc(arrivee) {
if (this.getField("Canal").value && this.getField("Départ.0").value && arrivee!="- Sélectionnez -") {
this.getField("Check Box1").display=display.noPrint;
} else {
this.getField("Check Box1").display=display.hidden;
var modeles=this.templates;
if (this.getField("Check Box1").value!="Off") {
for (ii=0; ii<modeles.length; ii++) {
if (modeles[ii].name=="page2") {
this.deletePages(1);
break;
}
}
}
this.getField("Check Box1").value="Off";
this.pageNum=0;
}
}

// Script de touches personnalisé Menu "Canal"
if (!event.willCommit) {
menuCanal(event.changeEx);
cAc(this.getField("Arrivée.0").value);
}
// Script de touches personnalisé des Menus "Départ" sauf "Départ.0"
if (!event.willCommit) {
if (event.changeEx!=0) {
menuDepart(event.target.name.substring(event.target.name.indexOf(".")+1),event.changeEx);
cAc(this.getField("Arrivée.0").value);
} else {
this.getField("Arrivée."+event.target.name.substring(event.target.name.indexOf(".")+1)).clearItems();
}
}
// Script de touches personnalisé Menu "Départ.0"
if (!event.willCommit) {
if (event.changeEx!=0) {
menuDepart(event.target.name.substring(event.target.name.indexOf(".")+1),event.changeEx);
cAc(this.getField("Arrivée.0").value);
} else {
this.getField("Arrivée."+event.target.name.substring(event.target.name.indexOf(".")+1)).clearItems();
this.getField("Check Box1").display=display.hidden;
var modeles=this.templates;
if (this.getField("Check Box1").value!="Off") {
for (ii=0; ii<modeles.length; ii++) {
if (modeles[ii].name=="page2") {
this.deletePages(1);
break;
}
}
}
this.getField("Check Box1").value="Off";
this.pageNum=0;
}
}

// Ajout Script de touches personnalisé de TOUS les Menus "Départ" sauf "Départ.0"
for (var i=1; i<30; i++) {
this.getField("Départ."+i).setAction("Keystroke","if (!event.willCommit) {\r\tif (event.changeEx!=0) {\r\t\tmenuDepart(event.target.name.substring(event.target.name.indexOf(\".\")+1),event.changeEx);\r\t\tcAc(this.getField(\"Arrivée.0\").value);\r\t} else {\r\t\tthis.getField(\"Arrivée.\"+event.target.name.substring(event.target.name.indexOf(\".\")+1)).clearItems();\r\t}\r}");
}

// Script de touches personnalisé Menu "Arrivée.0"
if (!event.willCommit) {
if (event.changeEx!="- Sélectionnez -") cAc(event.changeEx);
}

// Souris entrée de tous les Menus "Arrivée"
menuArrivee(event.target);

// Ajout Script Souris entrée de TOUS les Menus "Arrivée"
for (var i=0; i<30; i++) {
this.getField("Arrivée."+i).setAction("MouseEnter","menuArrivee(event.target);");
}

// Script d'ouverture de page
if (app.viewerType!="Exchange-Pro") this.viewState={overViewMode:2};
this.viewState={overViewMode:5}

// Script Affichage Page 2
if (event.target.value!="Off") {
var modeles=this.templates;
for (ii=0; ii<modeles.length; ii++) {
if (modeles[ii].name=="page2") {
modeles[ii].spawn(1, false, false);
break;
}
}
this.pageNum=0;
} else {
this.deletePages(1);
}

// Ajouter page 4
var modeles=this.templates;
for (ii=0; ii<modeles.length; ii++) {
if (modeles[ii].name=="page4") {
modeles[ii].spawn(this.numPages-1, false, false);
break;
}
}

PS : Les [ii] dans les scripts ci-dessus sont en fait de simples “i” entre crochets dans le document joint. Il est donc préférable de se reporter aux scripts contenus dans le fichier ci-joint.

@+
😎

  • Cette réponse a été modifiée le il y a 4 semaines par bebarth.
Attachments:
You must be logged in to view attached files.