मैं Xcode के बिना ड्रॉप-डाउन मेनू के साथ AppleScript कैसे बनाऊं?


8

मैं एक AppleScript कैसे बनाते हैं जो Xcode का उपयोग किए बिना एक ड्रॉप-डाउन मेनू प्रदर्शित करता है?

जवाबों:


1

AppleScript भाषा के भीतर संवाद-अलर्ट में मेनू की अवधारणा में कोई अंतर्निहित नहीं है।

आप जो निकटतम कार्य कर सकते हैं वह उपयुक्त कार्रवाई के साथ कुछ डमी फ़ाइलों (एक अस्थायी फ़ोल्डर में) का नाम होगा और उपयोगकर्ता उस फ़ाइल को चुनें जिसे आप कार्रवाई करना चाहते हैं।

open folder blah
  with selected file bah
    do whatever

एक समस्या का एक भयावह "समाधान" जिसे कोको मेनू की आवश्यकता है - चाहे आप इसे Xcode में बनाते हैं या कोई अन्य करता है - Xcode / IB एक उपकरण है जो मेनू बनाता है । MacRuby ऐसे ऐप को स्क्रिप्ट करने का एक अच्छा तरीका है जिसमें AppleScript की तुलना में अधिक पूर्ण विशेषताओं वाला UI होना चाहिए। आपको शुद्ध स्क्रिप्ट से एप्लिकेशन को रूबी करने के लिए Xcode / IB की आवश्यकता नहीं है।

आप इंटरफ़ेस बिल्डर का उपयोग करके एक एनआईबी बना सकते हैं और यह सब AppleScript का उपयोग करके स्क्रिप्ट कर सकता है, लेकिन निब मेनू को ही परिभाषित करता है - AppleScript नहीं (भले ही AppleScript रन टाइम में मेनू आइटम को पॉप्युलेट या हटा सकता है)।


11

एक विकल्प कोकोआडियोगॉग ** का उपयोग करना होगा :

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

तुम भी बस का उपयोग कर सकते हैं choose from list:

choose from list {"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed


** इस Github रेपो के लिए मूल URL mstratmanबदल गया है। शोध से ऐसा लगता है कि CocoaDialog ने एक org को संक्रमण किया है। यहाँ नए बदलाव हैं:


1

इसके अतिरिक्त, यदि आपको केवल चुनने के लिए सूची की आवश्यकता है, तो आप भी कर सकते हैं

choose from list listYouDefined with prompt "Choose from the list."

Google "AppleScript सूची में से चुनें"।


1

मैं समझता हूं कि यह एक पुराना सवाल है, लेकिन चूंकि कोकोआडियलॉग 2 के लिए प्रलेखन में सबसे अच्छा मतदान वाला जवाब कहता है:

डाउनलोड काम नहीं करते हैं coccadialog 2 के लिए डाउनलोड अब उपलब्ध नहीं हैं। यह विभिन्न परिवर्तनों और वर्षों में स्थायी भंडारण की कमी के कारण ज्यादातर हिस्सा है।

और 3 वसंत / गर्मियों तक नहीं आ रहा है 18 मैं अन्य विकल्पों के लिए खोज कर रहा था और मुझे पशुआ मिला :

यहां छवि विवरण दर्ज करें (साइट से ली गई तस्वीर)

प्रलेखन के तहत यह एक कहा जाता है popup:

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

स्क्रीनशॉट:

यहां छवि विवरण दर्ज करें

गितुब रेपो

इसका उपयोग करने के बाद मैंने पाया कि आप अपने एप्लिकेशन डायरेक्टरी में पशुआ.ऐप स्थापित कर सकते हैं या पशुआ को अपने ऐप में एम्बेड कर सकते हैं। मैं इसका लेखक नहीं हूं, लेकिन मुझे GUI के लिए आधार समाधान की आवश्यकता थी और इसका उल्लेख नहीं किया गया था।


0

आपको AppleScript के लिए Xcode की आवश्यकता नहीं है। बस एप्लिकेशन / यूटिलिटीज में ऐप्पलस्क्रिप्ट एडिटर खोलें (यूटिलिटी फ़ोल्डर के लिए खोजक शॉर्टकट: ⌘ Command+ Shift+ U)। MacScripter पर ड्रॉपडाउन मेनू के लिए कुछ नमूना कोड है : Dropdown मेनू


मैंने पहले ही उस लिंक को देख लिया है। स्क्रिप्ट के लिए NIB / Xcode इंटरफ़ेस की आवश्यकता होती है।
daviesgeek

यह कैसे AppleScript हालांकि :-) रन टाइम पर मेनू आइटम संशोधित कर सकते हैं का एक बड़ा उदाहरण है
bmike

हाँ, लेकिन बिल्कुल नहीं मैं क्या देख रहा हूँ।
daviesgeek
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.