Se "STOP" è digitato fai questo

1

Sarebbe possibile Per esempio sarebbe possibile per me codificare un codice di ripetizione molto semplice ma dire Se ho appena scritto STOP che avrebbe terminato il programma ecco il mio codice di inizio per la ripetizione.

set x to 1

repeat while x is 1
    tell application "Finder"
       activate
       make new Finder window
    end tell
end repeat

e così ad esempio se STOP è inserito, imposta x su 2 o qualcosa del genere?

Grazie

    
posta rauf543 26.01.2016 - 15:47
fonte

1 risposta

2

No - Applescript non è multi-thread nel senso che puoi impostare due cose per accadere contemporaneamente.

Per fare ciò che vuoi, ti serve un altro linguaggio che possa aprire una finestra in modo che l'utente possa digitare i caratteri da interpretare e cambiare la variabile del segnale per uscire dal ciclo. Quel linguaggio gestiva più thread e comunicazioni tra i due processi in modo che l'impostazione del nuovo valore X fosse visibile all'altro thread che esegue il ciclo.

Se preferisci attenersi ad AppleScript, potresti probabilmente fare ciò che vuoi usando l'esistenza di un file per mantenere attivo il ciclo:

if file "semaphore" of application "Finder" exists then
   -- continue processing...
end if

Questo è documentato su link

Cerca la sezione Parametro diretto o utilizza la stringa del semaforo per individuare lo snippet che ho copiato sopra. Quindi potresti fare in modo che l'utente elimini il file "scelto", magari mettendolo sul desktop e chiamandolo "keepRunning" o qualcosa in modo che lo cestinino quando lo script dovrebbe smettere di funzionare.

    
risposta data 26.01.2016 - 16:21
fonte

Leggi altre domande sui tag