Fermer toutes les revues à une exception prèsJe recherche une ligne de code de script qui me permet de fermer tous les journaux ouverts, sauf une fenêtre.
En fait, l'extraction de la liste de noms correcte ne fonctionne pas. Il n'est alors pas possible de le faire correspondre au nom du journal qui doit rester ouvert. Voir le script ci-dessous ***.
CloseAllJournalsExcept = Function( {},
JournalName = "StaysOpen";
For( i = N Items( Window() ), i > 0, i--,
If( Window( i ) << GetName != JournalName, //***
Window( i ) << close window()
)
);
);
Merci.
Re: Fermer toutes les revues avec une exception
Utilisation findAll (journaux) faire une liste de revues, et utiliser loc () pour aider à supprimer le gardien de la liste. Puis envoyez le Fermer la fenêtre commande à la liste. En-dessous, l’icône verrouillée est ajoutée à chaque journal pour indiquer à JMP "que ce journal est verrouillé, créez un autre journal la prochaine fois, plutôt que d’ajouter à celui-ci". Sinon, il est difficile de faire un tas de journaux. Les journaux sont également marqués setDirty (0) il n'y a donc pas d'invite pour les fermer. Vous ne voudrez peut-être pas cela pour celui que vous gardez ouvert.
myJrns = {};
For( i = 1, i <= 5, i += 1,
w = New Window( Char( i ), V List Box( Text Box( Char( i ) ) ) );
j = w << journalwindow;
w << closewindow;
j[Text Box( 1 )] << sibAppend( Icon Box( "Locked" ) ); // locked: just to make a new window each time
Insert Into( myJrns, j );
);
myJrns << setDirty( 0 ); // these were just created, make it easy to close them
// get a list of all open journals
alljournals = Find All( Journals );
// close all but the 2nd one just created...
// myJrns[...] is the list of journals just created
// myJrns[2] is the 2nd one that we decide to keep
// the allJournals list might be in a different order, so
// use loc() to find the matching index in allJournals
keeper = Loc( alljournals, myJrns[2] ); // returns a matrix
keeper = keeper[1]; // was a matrix of one element, now a scalar
// modify the allJournals list so we can close all of its items
Remove From( allJournals, keeper ); // remove the keeper from the list
allJournals << closewindow; // closes all the journals that remain in the list