اپل اسکریپت چیست؟ اسکریپت برای Mac OS X: شروع برنامه نویسی با پنل AppleScript با دکمه های اضافی

در این مقاله، یاد خواهید گرفت که AppleScript چیست، چرا و چه کسی به آن نیاز دارد، چگونه می توانید برنامه های دیگران را خودکار کنید و قابلیت خودکارسازی برنامه های خود را اضافه کنید.

آن را خودکار کنید

اغلب چنین کارهایی وجود دارد که ساخت یک پروژه جداگانه در یک زبان کامپایل شده برای آنها غیرمنطقی است. به عنوان مثال، زمانی که نیاز دارید به سرعت کدی را روی زانوی خود ایجاد کنید که باید به سادگی یک کار خاص را انجام دهد - بدون هیچ گونه تزئینات رابط کاربری گرافیکی، مدیریت انواع استثناها، بهینه سازی ها و غیره. اینجاست که زبان های اسکریپت وارد می شوند - پوسته، پرل، PHP و غیره که می دانید. همه آنها (یا تقریباً همه آنها) تحت سیستم عامل Mac OS X نیز در دسترس هستند. اما علاوه بر زبان های برنامه نویسی پذیرفته شده عمومی، این سیستم عامل دارای یک زبان برنامه نویسی خاص نیز می باشد که به طور خاص بر روی Mac OS X متمرکز شده است و ارتباط نزدیکی با آی تی. این اپل اسکریپت است.

AppleScript از زمان سیستم 7 با سیستم همراه شده است. با رشد از پروژه HyperCard (که حاوی یک زبان برنامه نویسی HyperTalk بسیار شبیه به انگلیسی طبیعی بود)، AppleScript در ابتدا برای ایجاد ارتباط بین وظایف و همچنین برای کنترل عملکرد سوم ایجاد شد. -برنامه های مهمانی AppleScript به خودی خود عملکرد نسبتاً متوسطی دارد: در این زبان حتی اسکریپت هایی برای انجام کارهای نسبتاً ساده اغلب شبیه تماس با سایر برنامه ها هستند. با این حال، پس از یک بازنگری قابل توجه در سیستم در انتقال به خط Mac OS X، زبان AppleScript انعطاف پذیرتر و قدرتمندتر شد و چارچوب جدید Cocoa به توسعه دهندگان اجازه داد تا با کمترین تلاش، اتوماسیون AppleScript را در برنامه های خود ادغام کنند.

سناریوی ساده

ما از ویرایشگر استاندارد اسکریپت برای ویرایش و اجرای اسکریپت ها استفاده خواهیم کرد. می توانید آن را در پوشه /Application/AppleScript پیدا کنید. ابتدا بیایید یک اسکریپت ساده "HelloWorld" بنویسیم.

نمایش هشدار "سلام جهان!" # نمایش گفتگو
بگویید "Hello World" # خروجی به ستون ها

من فکر می کنم نیازی به توضیح در اینجا نیست، اما می خواهم به دسترسی بسیار ساده به سینت سایزر گفتار از AppleScript با استفاده از دستور say اشاره کنم. این ارتباط واقعی با کاربر به سبک اپل است :). البته این گفتگو را می توان به راحتی شخصی سازی کرد. به عنوان مثال، دکمه های لازم را اضافه کنید:

پنل با دکمه های اضافی

نمایش هشدار "سلام جهان!" دکمه ها ("سلام"، "بای")
پاسخ را روی دکمه بازگردانده شده از نتیجه تنظیم کنید
اگر پاسخ "سلام" است، پس
...
دیگر
...
پایان اگر

حالا بیایید چیز مفیدتری بنویسیم. به عنوان مثال، اجازه دهید کاربر یک فایل را انتخاب کند و محتوای آن را بخواند:

# پنل انتخاب فایل
فایل را روی (فایل را با فرمان "انتخاب فایل برای خواندن:" از نوع ("TEXT") انتخاب کنید)
برای دسترسی به فایل باز کنید

خواندن مطالب

محتوای فایل را روی (فایل را بخوانید) تنظیم کنید
دسترسی به فایل را ببندید

این مثال ها به وضوح ایده اصلی AppleScript را نشان می دهد - به انگلیسی زنده بسیار نزدیک است. بنابراین خواندن اسکریپت ها حتی برای افرادی که از کدنویسی دور هستند نیز آسان است. هر دستور فعل را می توان با اسم ها و پارامترهای اصلاح کننده تکمیل کرد.

تعامل با اپلیکیشن ها

برای برقراری ارتباط با سایر برنامه ها، AppleScript از مکانیزم پیام استفاده می کند:

به برنامه "Microsoft Word" بگویید
ترک کردن
پایان بگو

با استفاده از دستور tell، اپلیکیشنی را که برای آن پیام ارسال می کنیم انتخاب کنید. در این مورد، ما از MS Word می خواهیم که خارج شود. هر تعداد دستور را می توان در بلوک "tell - end tell" ارسال کرد. پیام هایی که به برنامه ارسال می شوند می توانند دقیق تر باشند. همه چیز بستگی به دستوراتی دارد که توسط توسعه دهندگان آن اجرا شده است. به عنوان مثال، iTunes، دستورات و ویژگی های زیادی را به محیط AppleScript صادر می کند:

راه اندازی لیست پخش مورد نظر در iTunes

به برنامه "iTunes" بگویید
پخش لیست پخش با نام "مورد علاقه من"
پایان بگو

می‌توانید مجموعه پیام‌ها و انواع داده‌هایی را که یک برنامه کاربردی به محیط AppleScript صادر می‌کند، با نگاه کردن به اصطلاحات آن (فایل AppName.scriptRerminology در منابع برنامه) دریابید. برای انجام این کار، در ویرایشگر اسکریپت، به منوی "File - Open Dictionary - ..." بروید و برنامه مورد نظر را انتخاب کنید.

برای سهولت کار با کلاس ها و دستوراتی که برنامه صادر می کند، آنها را در بخش هایی سازماندهی می کنند. همه برنامه هایی که از اسکریپت پشتیبانی می کنند حداقل دو بخش دارند: یکی استاندارد و دیگری خاص تر این نرم افزاربخش ها بخش استاندارد شامل مجموعه ای از دستورات استاندارد است که هر برنامه Mac از آنها پشتیبانی می کند: باز کردن، چاپ کردن، بستن و خروج. محتوای بخش های باقی مانده به تخیل توسعه دهندگان بستگی دارد.

اجرای AppleScript از داخل برنامه شما

اگر در حال نوشتن برنامه ای در Objective-C/Cocoa هستید، ممکن است انجام برخی کارها با استفاده از AppleScript راحت تر باشد. برای ایجاد و اجرای اسکریپت ها در برنامه های Cocoa، کلاس NSAppleScript وجود دارد. در اینجا یک مثال ساده از استفاده از آن است - پیاده سازی دریافت خط وضعیت کاربر از برنامه iChat.

NSAppleScript *iChatGetStatusScript = صفر;
iChatGetStatusScript = [ initWithSource: @"به برنامه "iChat" بگویید تا پیام وضعیت را دریافت کند"];
NSString *statusString = [stringValue];

این امکان وجود دارد که همین کار را به روش دیگری بدون استفاده از اسکریپت تولید شده در زمان اجرا انجام دهید، اما بعید است که کد جایگزین ساده تر از این به نظر برسد. اگر اسکریپت ها بزرگ هستند، می توانید آنها را در منابع بسته ذخیره کنید و در صورت لزوم آنها را بخوانید.

اتوماسیون در برنامه کاکائو

افزودن پشتیبانی از اسکریپت به برنامه های کاکائو بسیار مفید است، زیرا اگر برنامه شما رابطی با AppleScript داشته باشد، کاربر با نوشتن چند خط در AppleScript می تواند آن را برای نیازهای خود شخصی سازی کرده و با سایر برنامه ها ادغام کند. که او نصب کرده است، و سپس، برای مثال، کارهای روتین را خودکار می کند. برای صادر کردن انواع و دستورات به محیط AppleScript باید در فایل های خاصی توضیح داده شوند. انجام این کار در فایل های .scriptSuite و .scriptTerminology یا در یک فایل .sdef امکان پذیر است. در هر دو مورد، فایل ها با فرمت XML هستند، اما کار با sdef آسان تر است.

هنگام مشاهده فرهنگ لغت برنامه، محتویات فایل scriptTermonology در ویرایشگر اسکریپت نمایش داده می شود. این فایل حاوی توضیحاتی در مورد اشیاء صادر شده به AppleScript است.

با باز کردن فایل scriptSuite در Plist Editor، می بینید که شامل بخش های اصلی زیر است:

  • AppleEventCode - یک کد چهار حرفی که برنامه را برای محیط AppleScript شناسایی می کند (کد باید در یک سیستم منحصر به فرد باشد).
  • نام - نام بخشی که شامل دستورات و کلاس های صادر شده است.

جدا کردن ساختار داخلی این فایل ها منطقی نیست، زیرا به احتمال زیاد فقط باید با فایل های sdef سر و کار داشته باشید.

نمونه فایل sdef
















sdef اصطلاحات اسکریپت نویسی را با توصیف همراه با جزئیاتدستورات و انواع، که در فایل های .scriptingSuit یافت می شود. بیایید با ایجاد یک برنامه کاکائو که از AppleScripting پشتیبانی می کند، این را عملی کنیم. برای انجام این کار، در پروژه جدید Cocoa، پرچم Scripting و OSAScriptingDefinition را با نام فایل sdef به فایل Info.plist اضافه کنید:

...
NSAppleScriptEnabled

OSAScriptingDefinition
Scripting.sdef

بیایید یک فایل Scripting.sdef با محتوای زیر به پروژه اضافه کنیم:












بنابراین، از AppleScript، ما یک ویژگی در دسترس داریم - myprop. باقی مانده است که کد ObjC را بنویسیم که خواندن را انجام دهد ملک داده شدهاز اسکریپت ها برای انجام این کار، شما باید دسته NSApplication را ایجاد کنید، زیرا این کلاسی است که ما به عنوان گیرنده پیام از اسکریپت ها انتخاب کرده ایم.

#وارد كردن
@interface NSApplication (Scripting) - (NSString *) myprop;
@پایان
@implementation NSApplication (Scripting) - (NSString *) myprop
{
بازگشت @"این دارایی من است";
}

اگر اکنون از AppleScript به ویژگی های برنامه خود بپردازیم، ویژگی خود و ارزش آن را در بین آنها خواهیم دید:

به برنامه "اسکریپت" بگویید
خواص
پایان بگو

نتیجه

البته در اینجا نمی توان تمام امکانات اپل اسکریپت و تعامل آن با اپلیکیشن های کاکائو را شرح داد. بله، این ضروری نیست - دستورالعمل هایی برای این وجود دارد. و ما نیز به نوبه خود سری مقالات در مورد کدنویسی برای پلتفرم های اپل را ادامه خواهیم داد و چیزهای جدید و جالب بیشتری را به شما خواهیم گفت.

AppleScript یک زبان برنامه نویسی قدرتمند است که قدمت آن به Mac OS 7 برمی گردد. با این حال، علیرغم بلوغ آن، برنامه نویسان باتجربه مک اغلب از AppleScript به دلیل ساده بودن، یادگیری آسان و بسیار شبیه به انگلیسی معمولی انتقاد می کنند.

البته شما دوست دارید زبان کامپیوترفقط این ویژگی ها را داشت - البته اگر اصلاً به زبان کامپیوتری نیاز دارید. AppleScript است ساده ترین زبانبرنامه نویسی که با آن می توانید مک خود را خودکار کنید، حتی اگر یک کاربر ساده باشید، نه یک دانشمند کامپیوتر.

برنامه های AppleScript (که اسکریپت یا اسکریپت نامیده می شود) را می توان ربات نرم افزاری در نظر گرفت. یک اپل اسکریپت ساده می تواند برخی از کارهای عادی مانند پشتیبان گیری از پوشه Documents را انجام دهد. یک اسکریپت پیچیده تر ممکن است چندین صفحه را شامل شود. در انتشارات حرفه ای، جایی که اپل اسکریپت محبوب ترین است، این اسکریپت می تواند از طریق اینترنت به هارد دیسک عکاس متصل شود، عکس را از یک پوشه مشخص بازیابی کند، آن را با رنگ در فتوشاپ تصحیح کند، نتیجه را در یک سند طرح بندی مشخص بچسباند، یک طرح بندی ناهموار چاپ کند. ، یک اعلان ایمیل به ویرایشگر ارسال کنید—و همه این کارها به صورت خودکار انجام می شود.

حتی بدون اینکه بداند، کاربر دائماً از فناوری AppleScript اساسی استفاده می کند. بسیاری از اجزای مک با استفاده از رویدادهای اپل، پیام هایی که دستورالعمل ها یا داده ها را از برنامه ای به برنامه دیگر منتقل می کنند، در پشت صحنه ارتباط برقرار می کنند. اگر دستور Show Original روی یک نام مستعار یا دستور Get Info روی یک فایل (پوشه) اعمال شود، رویداد Apple به Finder می گوید که چگونه به آن پاسخ دهد.

AppleScript از جهات مختلفی نسبت به Automator برتری دارد، به ویژه به دلیل قدرت آن. و یک چیز دیگر: AppleScript آنقدر موضوع عمیق است که باید به یک کتاب جداگانه اختصاص داده شود. این فصل فقط یک پیش غذای خوشمزه است: کتابی مانند AppleScript: The Essential Guide یک وعده غذایی هفت وعده ای است.

مشاورهمی توانید کل فصل AppleScript را که در نسخه قبلی این کتاب آمده است، از صفحه سی دی گمشده در www.missingmanuals.com دانلود کنید.

برای لذت بردن از ثمرات این فناوری، نیازی به نوشتن AppleScript ندارید. Mac OS X دارای ده ها اسکریپت است که واقعاً مفید هستند و برای اجرای هر یک از آنها، فقط نام آن را در منو انتخاب کنید. این نوع "تولید" یک AppleScript دقیقاً به مهارت فنی نیاز دارد که فشار دادن یک دکمه در آسانسور.

می‌توانید با افزودن یک منوی اسکریپت به نوار منو، برخی از این اسکریپت‌های شروع جالب را امتحان کنید (شکل 7-16، سمت راست).

منوی سناریوها دارای 16 دسته بندی آماده است که حدود 100 سناریو را متحد می کند. برای اجرای یک اسکریپت، به سادگی نام آن را انتخاب کنید. در اینجا لیستی از مفیدترین و جالب ترین سناریوها آورده شده است.

مشاورهاگر هنگام انتخاب نام اسکریپت در منو، کلید Shift را نگه دارید، Mac OS X شما را مستقیماً به جایی که اسکریپت در Finder قرار دارد (به عنوان مثال، در پوشه Home>Library>Scripts) می برد. علاوه بر این، اگر هنگام انتخاب نام، کلید Option را فشار دهید، اسکریپت در ویرایشگر اسکریپت باز می شود، جایی که می توانید آن را بررسی یا ویرایش کنید.

این منوی فرعی فقط شامل اسکریپت Import Addresses برای کپی کردن نام ها و آدرس ها از Entourage، Outlook Express، Palm Desktop، Eudora، Claris Emailer، یا Netscape در دفترچه آدرس است. اگر دوستان زیادی دارید، از این اسکریپت استفاده کنید تا مجبور نباشید همه نام، شماره تلفن و آدرس پستی آنها را دوباره وارد کنید. (زیرپوشه Address Importers اسکریپت هایی را برای وارد کردن از سه برنامه خاص ارائه می دهد.)

زیر منوی Basics شامل سه اسکریپت کوچک مفید مرتبط با AppleScript است: AppleScript Help (نمایشگر Help را باز می کند و کلمه AppleScript را جستجو می کند). وب سایت AppleScript (یک صفحه وب AppleScript را در مرورگر وب شما باز می کند) Open Script Editor (برنامه ویرایشگر اسکریپت را برای خواندن و ویرایش اسکریپت های AppleScript باز می کند).

این پوشه حاوی گروهی از اسکریپت های ColorSync از نوع قطره ای است (اگر چیزی را روی نماد آن بکشید، چنین اسکریپتی اجرا می شود) که مورد علاقه هنرمندان، طراحان وب سایت، ناشران و غیره است.

در برخی موارد، هنگامی که یک اسکریپت را از این منو انتخاب می کنید، یک پیام اطلاعاتی مختصر و سپس یک کادر محاوره ای باز برای انتخاب مشاهده می کنید. فایل گرافیکیپردازش شود.

دیگران بلافاصله وارد عمل می شوند. به عنوان مثال، اسکریپت مانیتور PC Mimic رنگ های صفحه را طوری تنظیم می کند که با رنگ های کمی متفاوت در مانیتور رایانه ویندوز مطابقت داشته باشد. اگر روی آن کار می کنید این بسیار مفید است

دوره های با تجربه
اسرار منوی اسکریپت
منوی اسکریپت محتویات دو را نمایش می دهد پوشه های مختلفاسکریپت ها: یکی از آنها Home>Library>Scripts و دیگری در پوشه اصلی Library است. سناریوهایی که از پوشه شخصی شما گرفته شده اند با یک خط نقطه چین در منوی سناریوها از هم جدا می شوند.

این اسکریپت ها نه تنها می توانند اجرا شوند. آنها همچنین برای باز کردن آنها در ویرایشگر اسکریپت (به سادگی با دوبار کلیک کردن) و تجزیه و تحلیل خط به خط نحوه کار آنها ایده آل هستند. هنگامی که نحو را درک کردید، می توانید تکه های کد را کپی کرده و آنها را برای استفاده در اسکریپت های خود تغییر دهید. (ویرایشگر اسکریپت برنامه ای است که در پوشه Applications > AppleScript یافت می شود که به شما امکان می دهد اسکریپت های خود را ایجاد کنید.)

یک عکس یا یک صفحه وب و می خواهم بدانم که در چشم توده های ناروشن چگونه خواهد بود. (برای بازیابی رنگ‌های اصلی، به تب رنگ (رنگ) صفحه نمایش (نمایشگرها) در پنجره تنظیمات سیستم (تنظیمات سیستم) بروید.)

همه این سناریوها مربوط به کار در Finder هستند - مثلاً به دستکاری فایل ها و ویندوزها. در اینجا مفیدترین آنها هستند:

افزودن به نام‌های فایل، افزودن به نام‌های پوشه. این اسکریپت ها یک پیشوند یا پسوند به نام هر فایل یا پوشه در جلو (فعال) پنجره Finder متصل می کنند (یا اگر نه پنجره ها را باز کن، بر روی دسکتاپ). با استفاده از این اسکریپت ها می توانید به نام تمام فایل های یک پوشه کلمه "پیش نویس" یا "پایانی" یا "قدیمی" را اضافه کنید.

Replace Text in Item Names به شما امکان می دهد در نام فایل ها، پوشه ها یا هر دو جستجوی جایگزین انجام دهید. اگر یکی از ناشران پیشنهاد کتاب 45 فصلی شما را رد کرد، این اسکریپت می‌تواند همه 45 فصل را از "تاریخچه پد ماوس - فصل 1 پیشنهاد خانه تصادفی" به "تاریخچه پد ماوس - پیشنهاد سایمون" و شوستر، فصل 1 تغییر نام دهد.

برش نام فایل ها، برش نام پوشه ها. اگر هنگام اجرای اسکریپت Add to File Names اشتباهی مرتکب شدید، همیشه می توانید با Trim File Names آن را برطرف کنید. این اسکریپت پسوندها، پسوندها یا پیشوندهای انتخابی کاربر را حذف می کند.

فرض کنید چند پوشه جدید را همزمان ایجاد کرده اید. Mac OS X چنین پوشه‌هایی را "پوشه بدون عنوان"، "پوشه بدون عنوان 2" و غیره نامگذاری می‌کند. اما اگر با نام‌های "پوشه 1"، "پوشه 2" و غیره راحت‌تر باشید چه؟ اسکریپت Trim Folder Names را اجرا کنید. untitled را در کادر محاوره ای تایپ کنید و OK کنید.

احتمالاً از اسکریپت‌های Folder Actions به طور گسترده استفاده نخواهید کرد، زیرا دقیقاً همان دسترسی به عملیات پوشه با کلیک روی یک پوشه (یا داخل پنجره آن) فراهم می‌شود.

این اسکریپت ها نشان می دهند که چگونه می توانید برخی از کارهای مرتبط با فونت را خودکار کنید.

FontSync تلاش شریف اپل برای حل یک مشکل قدیمی انتشار دسکتاپ است. بنابراین شما ایجاد یک خبرنامه زیبا را به پایان رسانده اید و آن را به چاپخانه محلی خود می برید تا بر روی تجهیزات باکیفیت چاپ شود، تنها به این دلیل که مجبور هستید چاپ ها را دور بیندازید و همه چیز را از نو شروع کنید - و فقط به خاطر فونت ها اونجوری که میخواستی نگاه نکن چاپخانه دقیقاً فونت هایی را که شما برای تهیه سند استفاده کرده اید نداشت. یا حتی بدتر از آن، فونت‌ها دقیقاً نام‌های مشابهی داشتند، اما توسط شرکت دیگری ایجاد شده‌اند، و بنابراین در پارامترهای خاص کمی با شما تفاوت داشتند.

ایده FontSync این است که کاربر را از قبل از ناسازگاری های احتمالی مطلع کند. اسکریپت Create FontSync Profile یک فایل نمایه FontSync را در چند دقیقه ایجاد می کند. این سند حاوی اطلاعات خیره کننده ای در مورد طراحی، فاصله و پیچش تمام فونت های نصب شده بر روی سیستم است. در یک چاپخانه، چنین سندی را می توان با اسکریپت Match FontSync Profile اضافی پردازش کرد. تفاوت فونت بین Mac کاربر و ماشین‌های چاپخانه را با دقت شناسایی می‌کند.

البته، این فناوری به طور ضمنی بیش از حد فرض می‌کند: اینکه رایانه‌های مکینتاش در چاپخانه نصب شده‌اند، می‌توانند FontSync را مدیریت کنند و همچنین کاربر فراموش نخواهد کرد که نمایه FontSync را از قبل به چاپخانه بسازد و منتقل کند.

IChat در نسخه 10.5 دستخوش تغییر قابل توجهی شده است - اپل بسیاری از ویژگی های جالب (هر چند گاهی اوقات بی فایده) را اضافه کرده است. به طور خاص، زمانی که رویدادی مربوط به مخاطبین شما رخ می دهد، می توان AppleScripts را به عنوان سیگنال اجرا کرد. برای مثال، می‌توانید به‌طور خودکار دعوت‌های چت را از مخاطبین فردی بپذیرید، یا حتی با یک تبریک از پیش ساخته شده به آنها پاسخ دهید. حتی می توانید با وارد کردن دستورات در پنجره iChat مک دیگری در خانه، پخش موسیقی را در یک مک کنترل کنید. جزئیات در فصل 21.

این دو سناریو فایده چندانی ندارند. تاریخ و زمان کنونی تاریخ و زمان فعلی را در یک کادر محاوره ای مجهز به دکمه کلیپ بورد برای کپی کردن اطلاعات آماده برای چسباندن نمایش می دهد. Font Sampler صفحه‌ای را نشان می‌دهد که فونت‌هایی را که در Mac OS X نصب شده‌اند (نام‌گذاری شده در اسکریپت) را نشان می‌دهد.

دو سناریو در این منو شایسته ذکر ویژه هستند. دمای فعلی توسط کد پستی نشان می دهد که دمای خارج از پنجره چقدر است - فارنهایت و سانتیگراد. این هم دلیل دیگری برای ترک خانه در تمام طول روز است.

قیمت سهام، قیمت سهام شرکت منتخب را با 20 دقیقه تاخیر دریافت می کند. نه به اندازه دریافت نقل قول های زمان واقعی، اما رایگان است.

اکثر اسکریپت‌های این زیرمنو کار خاصی را حل می‌کنند، مانند شمارش ایمیل‌های موجود در صندوق ورودی ایمیل یا راه‌اندازی یک حساب جدید. البته خنده دارتر از همه، اسکریپت Crazy Message Text است (شکل 7.17).

اسکریپت‌های موجود در این پوشه به شما امکان می‌دهند تا به پوشه‌های Finder خاص بروید - مستقیماً از منو، از هر برنامه‌ای. اگر پوشه ای که می خواهید باز کنید دارای اسکریپت سفارشی نیست، آن را از لیست موجود در اسکریپت Open Special Folder انتخاب کنید.

مشاورهکسانی که بدشان نمی آید که این اسکریپت را با ویرایشگر اسکریپت ویرایش کنند، می توانند آن را تغییر دهند تا امکان انتخاب و باز شدن همزمان بیش از یک پوشه (مثلاً از طریق یک میانبر کلیکی) فراهم شود. تنها کاری که باید انجام دهید این است که چند انتخاب مجاز درست را درست بعد از باز شدن پوشه انتخاب کنید تایپ کنید: (در انتهای خط، تقریباً در ابتدای یک سوم دوم اسکریپت). فراموش نکنید که تغییرات خود را ذخیره کنید.

این اسکریپت ها برای نشان دادن قدرت AppleScript در چاپ و ایجاد اسناد PostScript و PDF هستند.

یکی از آنها، پنجره چاپ، شکاف طولانی مدت در Mac OS X را می بندد. باید فهرست متنی محتویات هر پوشه انتخابی را چاپ کند. (البته، کمی باگ است.)

به گفته تیم درباره این اسکریپت‌ها، این 48 اسکریپت از پیش ساخته شده به شما کمک می‌کند تا اسکریپت‌های سریع‌تر و دقیق‌تری بنویسید، زیرا قطعه کد شما فاقد اشتباهات نگارشی و نحوی است. همانطور که بهتر می‌شوید، می‌توانید اسکریپت‌های خود را در اینجا با تکه‌های کد متناسب با اسکریپت‌هایی که معمولاً می‌نویسید، اضافه کنید تا کار شما کارآمدتر شود. (هنگام ایجاد یک اسکریپت در ویرایشگر اسکریپت، این قطعه کد را با استفاده از ترکیبی از Control-click و انتخاب منو در متن وارد می کنید. دسترسی سریع.)

در بیشتر موارد، فیلمنامه ها کار خود را بی سر و صدا و بدون توجه انجام می دهند. اما اگر می‌خواهید برنامه‌ای را خودکار کنید که دستورات عادی AppleScript را درک نمی‌کند، اسکریپت‌ها می‌توانند با شبیه‌سازی انتخاب‌های منو، فشار دادن دکمه‌ها و غیره آن را به صورت دستی مدیریت کنند.

توجه داشته باشیداین ابزار که اسکریپت‌های رابط کاربری (UI) نام دارد، تنها پس از باز کردن کنسول دسترسی جهانی برنامه System Preferences و انتخاب کادر فعال کردن دسترسی برای دستگاه‌های کمکی، کار می‌کند.

اجرای اسکریپت ها از زیر منوی UI Element Scripts به این شکل که هستند فایده ای ندارد: آنها فقط نمونه هایی هستند که نحو صحیح را نشان می دهند.

این آخرین مجموعه از اسکریپت ها دسترسی سریع به برخی از وب سایت های محبوب را فراهم می کند. استثنا اسکریپت Download Weather Map است که نقشه آب و هوای فعلی قاره ایالات متحده را دانلود می کند، آن را به عنوان weathermap.jpg در دسکتاپ ذخیره می کند و سپس آن را در پیش نمایش باز می کند.

مشاورهمی توانید اسکریپت ها، فایل ها و حتی آدرس های اینترنتی را به منو اضافه کنید و سپس راه اندازی همه آنها از نوار منو آسان است. هر چیزی که به پوشه Library>Scripts بکشید به طور خودکار در منوی Scripts ظاهر می شود.

از طرف دیگر، اگر شروع به اضافه کردن تعداد زیادی از آیتم های خود به منوی Script کنید، حذف نمونه ها از اپل از آن راحت تر خواهد بود. مشکلی نیست برنامه AppleScript Utility را باز کنید و علامت Show Computer scripts را بردارید.

کار با AppleScript های از پیش ساخته شده

همانطور که از طریق منوی اسکریپت ها کار می کنید، به زودی متوجه خواهید شد که ده ها اسکریپت داخلی رایگان در مک خود دارید. نکته مهم این است که می توانید نحوه کار آنها را درک کنید و حتی آنها را تغییر دهید، زیرا به تدریج نحوه نوشتن اسکریپت های AppleScript خود را یاد می گیرید. حتی می‌توانید کل اسکریپت‌های اپل را کپی کرده و در اسکریپت‌های خود استفاده کنید.

البته ابتدا باید اسکریپت را باز کنید. ساده ترین راه برای انجام این کار این است که منوی اسکریپت را باز کنید، دسته مورد نظر را انتخاب کنید و روی نام اسکریپت مورد نظر Option کلیک کنید.

شما می توانید با تماشای یک اسکریپت ساده شروع به یادگیری AppleScript کنید. برای مثال، اسکریپت New Application Window (در دسته Navigation Scripts) را با کلیک بر روی نام آن در حین فشار دادن باز کنید. کلید گزینه. در نتیجه، ویرایشگر اسکریپت فایل را در یک پنجره جدید باز می کند (شکل 7.18).

در اینجا نحوه کار این اسکریپت آمده است:

به برنامه «Finder» بگویید به Mac OS X کدام برنامه باید دستورات زیر را اجرا کند.

Activate Finder را به جلو می آورد - گویی روی نماد آن در Dock کلیک کرده اید.

باز کردن پوشه "Applications" از دیسک راه اندازی به Finder دستور می دهد که پنجره جدیدی را باز کند که پوشه Applications را روی هارد دیسک اصلی نمایش می دهد.

End tell به Finder می‌گوید که به کار خود ادامه دهد و دستورات بیشتر از اسکریپت شما را نادیده بگیرد.

برای تست اسکریپت، روی دکمه Run کلیک کنید یا -R را فشار دهید.

مشاورهشما می توانید این اسکریپت را طوری ویرایش کنید که با نیازهای خود مطابقت داشته باشد. برای مثال، سعی کنید "Applications" را با "Users" جایگزین کنید تا اسکریپت پوشه Users را باز کند.

AppleScript های خود را ایجاد کنید

Mac OS X با ده ها برنامه ارائه می شود - فقط تعداد کمی از آنها وجود دارد! بسیار خوب، چیزی کم است - مثلاً یک مترونوم. چگونه می‌خواهید پیانو را با ریتمی ثابت و بدون شنیدن کلیک‌های ریتمیک مک خود بنوازید؟ البته، مترونوم GarageBand در کوتاه مدت کمک خواهد کرد، اما این شلیک توپ به سوی گنجشک ها است.

به جای آن می توانید از AppleScript استفاده کنید. یک سند جدید را در ویرایشگر اسکریپت باز کنید (File (File)> New (New) یا -N) و موارد زیر را تایپ کنید:

نمایش گفتگوی "به AppleScript Metronome خوش آمدید"

bpm را روی متن بازگردانده شده تنظیم کنید (نمایش گفتگو ¬

"چند ضربه در دقیقه؟" پاسخ پیش فرض 60)

pauseBetweenBeeps را روی (60/bpm) تنظیم کنید

تاخیر مکث بین بوق ها

توجه داشته باشیدشما نیازی به چاپ کاراکتر ¬ ندارید. اینگونه است که برنامه نویسان می گویند: "این باید در یک خط باشد، اما عرض صفحه کافی نبود."

وقتی این اسکریپت را اجرا می کنید، یک کادر محاوره ای ظاهر می شود که از شما می پرسد مترونوم باید چند ضربه در دقیقه داشته باشد. عددی که وارد می‌کنید (مثلاً 120) در یک متغیر ذخیره‌سازی موقت در داخل اسکریپت به نام bpm ذخیره می‌شود.

سپس اسکریپت مکث بین بوق ها را محاسبه می کند و آن کسری از ثانیه را روی متغیر pauseBetweenBeeps می نویسد. اگر گفتید فیلمنامه منتشر شود سیگنال صوتیبه عنوان مثال، 120 بار در دقیقه، سپس pauseBetweenBeeps روی 0.5 تنظیم می شود، زیرا بین نمونه ها باید نیم ثانیه مکث وجود داشته باشد.

در نهایت، اسکریپت یک حلقه بی پایان ایجاد می کند: بوق، مکث برای مدت زمان مشخص شده، و سپس تکرار.

روی دکمه Run کلیک کنید تا اسکریپت خود را تست کنید و وقتی صداها به اندازه کافی شنیدید، روی دکمه Stop کلیک کنید.

تکنیک های مورد علاقه من
پیوست های دسکتاپ با یک کلیک
در اینجا یک ترفند کوچک Automator وجود دارد که می تواند برای هر کسی که نیاز به ارسال مکرر اسناد دارد، نجات دهد. پست الکترونیک. (او بسیار راحت مدل می کند ارسال فرمانبه (ارسال)، موجود در منوی میانبر ماشین های ویندوز.)

فرآیندی را در Automator تنها با دو مرحله ایجاد کنید: موارد یاب انتخاب شده (در زیر دسته Finder) و پیام نامه جدید (در زیر دسته نامه ایمیل).

اگر همیشه فایل‌ها را به همان مقصد ارسال می‌کنید، مثلاً رئیس خود، می‌توانید آدرس را در نوار فرآیند Automator از قبل تنظیم کنید. اگر موضوع و متن پیام هر بار تکرار می شود، می توان آنها را نیز از قبل تنظیم کرد.

اکنون File (File)> Save As Plug-in (Save as a module) را انتخاب کنید. نام این فرآیند را ایمیل کنید یا هر چیزی که می خواهید.

از این مرحله به بعد، می توانید سند را از Finder با کلیک روی Control و انتخاب Automator>Email This از منوی ظاهر شده ارسال کنید.

پیروزی! Mac OS X Mail را راه‌اندازی می‌کند و یک پیام خروجی ایجاد می‌کند که قبلاً یک فایل به آن پیوست شده است.

نکته رایگان: اگر یک اکشن دیگر Create Archive (از دسته Finder) را بین این دو عمل قرار دهید، دستور منوی شما نیز فایل (یا پوشه) را قبل از ارسال پست در یک فایل .zip فشرده می‌کند!

مشاورهاگر چک باکس تنظیمات سیستم (تنظیمات سیستم)> دسترسی جهانی (دسترسی جهانی)> شنیدن (شنوایی)> فلش کردن صفحه نمایش هنگامی که صدای هشدار رخ می دهد (هنگامی که صدای هشدار رخ می دهد، صفحه را فلش کنید) را در سیستم علامت بزنید، خنک تر خواهد شد. تنظیمات. اکنون وقتی اسکریپت شما در حال اجرا است، صفحه نمایش همراه با صدا چشمک می زند. اگر در حال ضبط موسیقی هستید، مک خود را بی صدا کنید: مترونوم بصری خواهید داشت، اما صدایی شنیده نخواهد شد.

مقایسه AppleScript و Automator

AppleScript را می توان به صدها روش مورد استفاده قرار داد - خودکار کردن فرآیندهای بسیار پیچیده برای Automator، مدیریت برنامه هایی که Automator نمی تواند ببیند، و برنامه نویسی چیزهایی مانند حلقه فرمان که Automator نمی تواند انجام دهد.

اگر AppleScript را فقط به عنوان جایگزینی برای Automator در نظر بگیرید، قدرت زیادی را از دست خواهید داد. در حقیقت، AppleScript ویژگی هایی را ارائه می دهد که Automator احتمالا تا 10 سال دیگر نخواهد داشت: این ابزار بسیار پیشرفته تری است.

Automator برای کارهای ساده خوب است. اگر برای خودکارسازی مک خود به AppleScript نیاز دارید، ناامید نشوید. شما در حال استفاده از یک ابزار واقعا قدرتمند هستید. (شما حتی می توانید آنها را ترکیب کرده و AppleScripts را در فرآیندهای Automator با اکشن Run AppleScript جاسازی کنید.)

موفقیت در اتوماسیون!

  • اپل اسکریپت اپل . AppleScript AppleScript. ، - .

    اپل اسکریپت.

    0 . . . . . . . . . . . . . . . . . . . . . 6

    1 . . . . . . . . . 7

    2 . . . . . . 10

    3 (I). . . . . . . . 13

    4 . . . . . . . . . . . . . . . . . . . . . 15

    5 . . . . . . . . . . . . . . . . . . . . . 17

    6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    8 (II). . . . . . . سی

    9 ? ! . . . . . . . . 32

    10 . . . . . . . . . . . . . . . . . . 34

    11 . . . . . . . . . . . . . . 40

    13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    14 . . . . . . . . . . . . . . . . . . . 53

    16 . . . . . . . . . . . . . . . . 59

    17 . . . . . . . . 60 . . . . . . . . 60

    اپل اسکریپت اپل . ، AppleScript:

    اپل اسکریپت، اپل اسکریپت. ، -، .

    اپل اسکریپت، . - AppleScript (Adobe PhotoShop، QuarkXPress، Adobe InDesign). File Maker Pro. , GraphicConverter, BBEdit, Microsoft Word AppleScript(). , AppleScript . ، . . , AppleScript, AppleScript. ، - AppleScript.

    . (. پانزده). - AppleScript. ، .

    اپل اسکریپت، اپل اسکریپت:

    , AppleScript , .. , AppleScript; (Mac OS X)

    AppleScript; AppleScript; AppleScript (Mac OS X).

    اپل اسکریپت. ، جاوا ، . AppleScript , 10- , - . .

    5 اپل اسکریپت، . - AppleScript Studio، (Developer Tools XCode).

    جاوا اسکریپت، .

    () . , . , . , .

    . , : . - . , . : .

    اپل اسکریپت، . . ویرایشگر اسکریپت (.2)، .

    حق چاپ (ج) 2003 توسط برت آلتنبرگ

    : برت آلتنبرگ، - .

    یک. . ، - . , AppleScript . اپل اسکریپت.

    2. , PC, . -، -. مانیتور CPU (ابزارها، برنامه های کاربردی)، - . (DC محاسباتی توزیع شده)، [ایمیل محافظت شده]، . DC-، -. DC-. -- , DC- . ، . ? DC- - . ()، -. , - , . DC--:،. , DC- :

    www.aspenleaf.com/distributed/distrib-projects.html

    3. . , . () , - . - , . - , . - , :

    http://www.macinstruct.com/tutorials/crash/index.html

    AppleScript Mac OS. ، - . ، .

    ، -. ، (بیانیه)، . ، .

    اپل اسکریپت، . ، یکی

    AppleScript:

    بگویید "این یک جمله گفتاری است."

    فرد، ترینوئیدز، سلوس، زروکس، ویکتوریا.

    بگویید "این یک جمله گفتاری است." با استفاده از "Zarvox"

    : AppleScript. ، . ویکتوریا زاروکس

    اپل اسکریپت. - , - . : . AppleScript - , . اپل اسکریپت، . (قابل اسکریپت). ، AppleScript (Mac OS X)، .

    یاب , یاب . ، . یاب , - , . -، سطل زباله، یاب.

    8، اپل اسکریپت.

    فتوشاپ. فتوشاپ ، یاب.

    اپل اسکریپت، .

    Tell، AppleScript (Mac OS X)، Finder. AppleScript (Mac OS X)، - end tell . AppleScript Finder Finder, . , :

    به برنامه "xyz" بگویید

    (بلاک بگو). xyz xyz. , AppleScript , - , . ، . (، ("". : , AppleScript . . .)

    یاب ، یاب. یاب، یاب.

    به برنامه بگویید "Finder" سطل زباله را خالی کنید دیسک راه اندازی پایان را باز کنید

    یاب یاب، -، . .

    Finder، AppleScript (Mac OS X).

    9 برنامه "Finder" را خالی کنید سطل زباله را باز کنید تا دیسک راه اندازی را پایان دهید

    یاب بوق اپل اسکریپت ، .

    بیپ (AppleScript (Mac OS X)).

    به برنامه بگویید "Finder" صدای بیپ سطل زباله را خالی کنید تا دیسک راه اندازی پایان را باز کنید

    بوق Finder، AppleScript (Mac OS X). ، . , -, Finder , Beep , Finder .

    AppleScript (Mac OS X). - ، یاب ، . ().

    به برنامه "Finder" بگویید بیپ سطل زباله را خالی کنید تا دیسک راه اندازی را باز کنید

    AppleScript (Mac OS X)، . () - ، .

    به برنامه بگویید "Finder" سطل زباله را خالی کنید و بگویید disksay startup را باز کنید "من سطل زباله را خالی کردم و راه اندازی را باز کردم دیسک برایشما" با استفاده از "ویکتوریا"

    AppleScript (Mac OS X)، Finder. ، .

    ویرایشگر اسکریپت، . ویرایشگر اسکریپت اپل اسکریپت، برنامه های کاربردی. ، . .

    گردآوری. , AppleScript , AppleScript . ای یاب! زباله های من را بریز (یاب!) هی یاب! سطل (Finder,) Finder را تمیز کنید. (تلفیق) AppleScript (Mac OS X): - . ، . ، - . ویرایشگر اسکریپت

    AppleScript (Mac OS X).

    بگویید "من به روش آسان AppleScript را یاد می گیرم!" با استفاده از "Zarvox"

    اجرا کن، . ویرایشگر اسکریپت، !

    وارد . Enter - Space()(). بازگشت (Shift) -. برگشت.

    گردآوری. - اجرا کن، .

    Run, Command-R. : , -

    , (اسکریپت کامپایل شده) (کاربرد).

    : , - AppleScript,

    ویرایشگر اسکریپت اجرا شود.

    : , AppleScript ,

    ویرایشگر اسکریپت ، - ، (تنظیمات سیستم). ، . -، ویرایشگر اسکریپت، باز کردن فایل.

    : ذخیره، - (فقط اجرا). ، - .

    به برنامه "Finder" بگویید انتهای سطل زباله را خالی کنید

    ویرایشگر اسکریپت

    کاربرد ، :

    برنامه ویرایشگر اسکریپت. xyz. - (-)، pqr. - , AppleScript . , AppleScript pqr , بگویید .

    ویرایشگر اسکریپت، - . ، کنترل . :

    1) ویرایشگر اسکریپت را کنترل کنید. (.)، به بلوک ها بگویید. ، به "یاب" بگویید.

    2) Finder سطل زباله را خالی کنید، ()، 1. . - .

    2 + 6 = ...... = 3 * 4

    2+6=xy=3*4

    اپل اسکریپت. (متغیرها)، . - (شناسه ها)، . - AppleScript، مجموعه.

    x را روی 25 تنظیم کنید و y را روی 4321.234 تنظیم کنید

    اپل اسکریپت، . : (-، (اشکالات)). ، ایکس. , عرض تصویر .

    pictureWidth را روی 8 تنظیم کنید

    ، (، -،). , AppleScript, - . ، (هشت) .

    AppleScript - . , set, say, to, beep , - AppleScript. , تصویرعرض, . -،

    اپل اسکریپت، . ، .

    تنظیم تصویرWidth به 8 مجموعه تصویر ارتفاع به 6 تنظیم تصویر سطح سطح روی تصویرWidth * تصویر ارتفاع

    ، (اپراتورها)، - .

    cubeEdgeLength را روی 10.0 تنظیم cubeVolume روی cubeEdgeLength ^3

    ویرایشگر اسکریپت، . ، . (نتیجه). ، 10.0. 1000.0. , cubeEdgeLength ^ 3 , .

    : . - . (اعداد صحیح) , - , (.13)

این یک زبان برنامه نویسی است، یک فناوری که متعلق به شرکت است، اغلب برای خودکارسازی گردش کار استفاده می شود و ارتباط ممکنبرنامه ها بین خودشان در چگونه 🙂 .

من قصد ندارم یک سری مقاله با این موضوع باز کنم: «Applescript for dummies. گام به گام "به یک دلیل ساده - مطالب زیادی در مورد این موضوع در شبکه وجود دارد. و برای اینکه پرایمر را به روش خودم بازنویسی نکنم و چرخ را دوباره اختراع نکنم، فقط به چند منبع اشاره می کنم که به نظر من مناسب ترین هستند. به قول او من خودم روشن می شوم.

تقریباً هر نویسنده ای می نویسد که زبان اسکریپت به قدری ساده است که هر کاربری با حداقل دانش انگلیسی سنتی می تواند در آن بنویسد. و نیازی به دانستن تمام جنبه های برنامه نویسی شی گرا نیست. حقیقتی در آن وجود دارد، زیرا در فیلمنامه

به برنامه "Finder" بگویید

نمایش گفتگوی "سلام دیوانه ها!"

درک نکردن چه چیزی و از کدام برنامه مورد نیاز است دشوار است. اما من کاملاً در مورد OOP موافق نیستم. اگر چیزهای بیهوده ای مانند بوق بنویسید یا بگویید "مرد کیست؟" ، بله، ممکن است ندانید چرخه و کلاس چیست، و حتی این هنوز با OOP فاصله دارد. اما اگر می‌خواهید یاد بگیرید که چگونه برنامه‌ها یا اسکریپت‌هایی بنویسید تا کارهای روزانه را برای خود یا برخی پایگاه‌داده‌ها تسهیل کنید، بهتر است بدانید "ارثیه" و "Encapsulation" چیست.

از کجا شروع کنیم؟

همه چیز ساده و درست در نوک انگشتان شماست. ویرایشگر اسکریپت را راه اندازی کنید و ابتدا به کمک بروید. اگر از نسخه روسی زبان استفاده می کنید، به هیچ وجه نباید مشکلی وجود داشته باشد.

کتاب برای کی؟

اگر دفترچه راهنمای استاندارد کافی نیست، یا به گونه ای نوشته شده است که همه چیز بلافاصله برای شما روشن نیست، می توانید به کتاب ها (الکترونیک یا چاپی - شما تصمیم می گیرید) مراجعه کنید. اغلب به کتاب «راهنمای زبان اپل اسکریپت» اشاره می شود. به نظر می رسد که پیوندی به آن در کمک ویرایشگر اسکریپت وجود دارد.

غیرممکن است منابع دیگری را که خود شرکت توسعه دهنده به ما ارائه می دهد در نظر نگیریم. یک کتاب برای مبتدیان وجود دارد "AppleScript 1-2-3" یا می توانید آن را با همین نام خریداری کنید.

هرچه بزرگتر بهتر

چرا منابع آنلاین را در نظر نمی گیریم؟ از این گذشته، در اینجا می توانید تازه ترین ها را پیدا کنید و خوانندگان بیشتر و سریعتر به بازخوردها واکنش نشان می دهند. ما به دنبال ادبیات به زبانی در دسترس خواهیم بود.

علاوه بر مقالات بررسی مختلف، می توانید "" را در اینترنت پیدا کنید. من می گویم که آنها برای کسانی است که به اپل اسکریپت علاقه دارند. این کتاب برای مبتدیان است، به سادگی نوشته شده است، صفحات کمی وجود دارد، اما نمونه های زیادی وجود دارد. دقیقا همان چیزی که نیاز است. در آنجا می توانید کتابی به نام "" را نیز دانلود کنید.

کتاب های راهنما روسی خوب هستند، اما بدون دانش اولیه انگلیسی، یادگیری زبان اسکریپت، به زبان ساده، دشوار خواهد بود.

از بین مقالات، من به این یکی توجه خواهم کرد. من آن را برای جزئیات برخی از اصول اساسی خود زبان برنامه نویسی، "کوتاه و واضح" دوست داشتم.

همچنین در مورد انجمن های مختلف که در آن کاربران نظرات، تجربیات و سناریوهای آماده تبادل نظر می کنند فراموش نکنید. من شخصا این یکی را نشانه گذاری می کنم.

قبل از شروع جستجو و دانلود مطالب، توصیه می کنم در مورد هدف تصمیم بگیرید. برای توسعه کلی، می توانید با برخی منابع آشنا شوید. برای نوشتن اسکریپت های واقعا مفید، باید چندین روز/هفته/ماه (بسته به توانایی ها و زمان آزادتان) وقت بگذارید. بسیار جالب و اعتیاد آور است.

اکنون نمی‌توانم شانس یک فرد به‌عنوان برنامه‌نویس یا تستر applescript را ارزیابی کنم. به احتمال زیاد خیلی بزرگ نیست. اما اگر احساس می کنید که این مال شماست - ادامه دهید. اگر هدف را می بینید و هیچ مانعی نمی بینید، مهم نیست چه کسی به آن نیاز دارد (حداقل شما). استعداد واقعی همیشه قدردانی خواهد شد. و شما فرصتی برای انجام کاری که دوست دارید دارید.