Schließen Sie alle Journale mit einer AusnahmeIch suche nach einer Skriptcodezeile, mit der ich alle geöffneten Journale mit Ausnahme eines Fensters schließen kann.
Das Extrahieren der korrekten Namensliste funktioniert tatsächlich nicht. Es ist dann nicht möglich, ihn mit dem Namen des Journals abzugleichen, der offen bleiben soll. Siehe unten Skript ***.
CloseAllJournalsExcept = Function( {},
JournalName = "StaysOpen";
For( i = N Items( Window() ), i > 0, i--,
If( Window( i ) << GetName != JournalName, //***
Window( i ) << close window()
)
);
);
Vielen Dank.
Betreff: Alle Journale mit einer Ausnahme schließen
Benutzen findAll (Zeitschriften) um eine Liste von Zeitschriften zu erstellen und zu verwenden loc () um den Keeper aus der Liste zu entfernen. Dann senden Sie die Fenster schließen Befehl zur Liste. Im Folgenden wird das gesperrte Symbol an jedes Journal angehängt, um JMP mitzuteilen, dass "dieses Journal gesperrt ist und beim nächsten Mal ein anderes Journal erstellt wird, anstatt dieses Journal zu ergänzen". Andernfalls ist es schwierig, eine Reihe von Zeitschriften zu erstellen. Die Zeitschriften sind ebenfalls gekennzeichnet setDirty (0) Daher erfolgt beim Schließen keine Aufforderung. Vielleicht möchten Sie das nicht für den, den Sie offen halten.
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