2010-04-09 8 views
20

क्या अन्य ऐप्पलैंक में परिभाषित ऐप्पलस्क्रिप्ट विधियों का उपयोग करने का कोई तरीका है जो मूल ऐप्पलस्क्रिप्ट को आयात के समान कुछ (PHP में) के साथ संदर्भित करता है?ऐप्पलस्क्रिप्ट विधियों को अन्य ऐप्पलस्क्रिप्ट में आयात करें?

on setSkypeStatus(status, mood_text) 
    tell application "System Events" 
     set skypeRunning to count (every process whose name is "Skype") 

     if skypeRunning > 0 then --only set status if skype is running 
      tell application "Skype" 
       set myStatus to "SET USERSTATUS " & status 
       set myMood to "SET PROFILE MOOD_TEXT " & mood_text 

       send command myStatus script name "AppleScript" 
       send command myMood script name "AppleScript" 
       return skypeRunning 
      end tell 
     else 
      return skypeRunning 
     end if 
    end tell 
end setSkypeStatus 

अब मैं की तरह आयात skype_methods.scpt किसी चीज़ को खोजने हूँ:

मैं स्काइप स्थिति और मूड-पाठ सेट करने के लिए एक methode लिखा था। क्या ऐसी कार्यक्षमता है। मैं Google से संबंधित कुछ नहीं कर सकता।

उत्तर

22

एक ही रास्ता आरई एक ऐसी संपत्ति को परिभाषित करना है जिसे लाइब्रेरी को स्क्रिप्ट ऑब्जेक्ट के रूप में लोड करके प्रारंभ किया गया है। फिर आप पुस्तकालय कार्यों को आमंत्रित करने के लिए tell कमांड का उपयोग कर सकते हैं।

property pSkypeLibrary : load script POSIX file "/Users/sakra/Desktop/skype_methods.scpt" 

tell pSkypeLibrary 
    setSkypeStatus("status", "mood") 
end tell 
3

स्क्रिप्ट Foo.scpt

set theBar to "path:to:Bar.scpt" as alias 
run script (theBar) 

स्क्रिप्ट Bar.scpt

display dialog "Bar" 

परिणाम: एक विंडो प्रदर्शित करता है कि "बार" एक तुला के रूप में एक और स्क्रिप्ट आयात करने के लिए

1

ऐसा करने का एक और शानदार तरीका है। आप अपने कंप्यूटर पर स्क्रिप्ट पुस्तकालय फ़ोल्डर के अंदर अपनी skype_methods.scpt फ़ाइल को सहेज सकते हैं।

इस पुस्तकालय की उपलब्धता को परिभाषित करने के तरीके के आधार पर, आप एक अलग फ़ोल्डर का उपयोग करते हैं।

  • /Library/Script Libraries फ़ोल्डर के अंदर skype_methods.scpt फ़ाइल को कंप्यूटर पर सभी उपयोगकर्ताओं के लिए उपलब्ध कराने के लिए रखें।
  • इसे ~/Library/Script Libraries फ़ोल्डर में केवल एक विशिष्ट उपयोगकर्ता के लिए उपलब्ध कराने के लिए रखें।

फिर आप इस प्रकार है कि पुस्तकालय में सभी संचालकों का उपयोग कर सकते हैं:

property Skype : script "skype_methods" 
Skype's setSkypeStatus("status","mood") 

इसके बाद कई बताई ब्लॉक की जरूरत से बचाता है जब विभिन्न पुस्तकालयों से संचालकों का उपयोग कर।

0

आप इस रेपो https://github.com/abbeycode/AppleScripts जो पुस्तकालयों

यहाँ में अपनी स्क्रिप्ट का आयोजन पालन कर सकते हैं एक उदाहरण https://github.com/abbeycode/AppleScripts/blob/master/Scripts/Download%20Chase%20Activity.applescript

property LibLoader : load script file ((path to scripts folder from user domain as text) & "Libraries:Library Loader.scpt") 
property TransmissionLib : LibLoader's loadScript("Libraries:Transmission.applescript") 
property GrowlLib : LibLoader's loadScript("Libraries:Growl.applescript") 
property SafariLib : LibLoader's loadScript("Libraries:Safari.applescript") 
property DatesLib : LibLoader's loadScript("Libraries:Dates.applescript") 
है
संबंधित मुद्दे