Come faccio a creare un AppleScript che visualizza un menu a discesa senza utilizzare Xcode?
Come faccio a creare un AppleScript che visualizza un menu a discesa senza utilizzare Xcode?
Non esiste un concetto incorporato di un menu nelle finestre di dialogo-avvisi all'interno del linguaggio AppleScript.
Il più vicino possibile è il nome di alcuni file fittizi (in una cartella temporanea) con l'azione appropriata e l'utente sceglie il file etichettato con l'azione che si desidera eseguire.
open folder blah
with selected file bah
do whatever
Un'orribile "soluzione" a un problema che richiede un menu di cacao - che lo facciate in Xcode o in qualcun altro - Xcode / IB è lo strumento che crea un menu . MacRuby è un buon modo per creare script per un'app che richiede un'interfaccia utente più completa rispetto ad AppleScript. Non hai bisogno di Xcode / IB per rubare un'app da puro script.
Potresti creare un NIB usando Interface Builder e scriptarlo tutto usando AppleScript, ma il pennino definisce il menu stesso - non AppleScript (anche se AppleScript può popolare o eliminare le voci di menu in fase di esecuzione).
Un'opzione sarebbe utilizzare CocoaDialog **:
set l to {"aa", "bb", "cc"}
set choices to ""
repeat with x in l
set choices to choices & quoted form of x & " "
end repeat
set dialog to paragraphs of (do shell script "/Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog" & " standard-dropdown --title title --text text --items " & choices)
if item 1 of dialog is "2" then return -- pressed cancel button
item ((item 2 of dialog) + 1) of l
Potrestiancheutilizzarechoosefromlist
:
choosefromlist{"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed
**L'URLoriginaleperquestorepositoryGithubdimstratman
ècambiato.DallaricercasembracheCocoaDialogsiapassatoaun'organizzazione.Eccolenuovemodifiche:
Inoltre, se hai solo bisogno di un elenco tra cui scegliere, puoi anche fare
choose from list listYouDefined with prompt "Choose from the list."
Google "AppleScript Scegli dalla lista".
Capisco che questa è una vecchia domanda ma dal momento che la migliore risposta up-votata dice nella documentazione di CocoaDialog 2:
Downloads do not work Downloads for cocoadialog 2 are no longer available. This is mostly in part due to the various changes and lack of permanent storage over the years.
e 3 non arrivano fino alla primavera / estate 18 Stavo cercando altre alternative e ho trovato Pashua :
Nellapopup
:
Example: Using popup
p.type = popup
p.label = Example popup menu
p.width = 310
p.option = Popup menu item #1
p.option = Popup menu item #2
p.option = Popup menu item #3
p.default = Popup menu item #2
Cattura schermo:
Github
Dopo averlo utilizzato ho scoperto che puoi installare Pashua.app nella tua directory dell'applicazione o puoi incorporare Pashua nella tua app. Non sono l'autore di questo, ma avevo bisogno di una soluzione di base per una GUI e questo non è stato menzionato.
Non hai bisogno di Xcode per AppleScript. Apri l'editor AppleScript in Applicazioni / Utility (scorciatoia del Finder per la cartella Utility: ⌘ Comando + Maiusc + U ). Esiste un codice di esempio per i menu a discesa su MacScripter: menu a discesa .
Leggi altre domande sui tag applescript