AppleScript nedir? Mac OS X için Komut Dosyası Oluşturma: Ek Düğmelerle AppleScript Panel ile Programlamaya Başlarken

Bu makalede, AppleScript'in ne olduğunu, neden ve kimin buna ihtiyacı olduğunu, başkalarının uygulamalarını nasıl otomatikleştirebileceğinizi ve kendi uygulamanızı otomatikleştirme yeteneği ekleyeceğinizi öğreneceksiniz.

otomatikleştir

Çoğu zaman, derlenmiş bir dilde ayrı bir proje yapmanın mantıksız olduğu bu tür görevler vardır. Örneğin, herhangi bir GUI dekorasyonu olmadan, her türlü istisnayı, optimizasyonu vb. İşte burada betik dilleri devreye giriyor - bildiğiniz kabuk, Perl, PHP vb. Hepsi (neredeyse hepsi) Mac OS X altında da mevcuttur. Ancak genel kabul görmüş betik dillerine ek olarak, bu işletim sisteminin ayrıca özellikle Mac OS X'e odaklanan ve onunla yakından ilişkili özel bir betik dili vardır. . Bu AppleScript'tir.

AppleScript, Sistem 7'den beri sistemdedir. (Doğal İngilizceye çok benzeyen HyperTalk betik dilini içeren) HyperCard projesinden büyüyen AppleScript, orijinal olarak görevler arasında iletişim sağlamak ve üçüncünün çalışmasını kontrol etmek için yaratılmıştır. -parti uygulamaları. Kendi başına, AppleScript oldukça mütevazı bir işlevselliğe sahiptir: bu dilde, nispeten basit görevleri gerçekleştirmek için kullanılan komut dosyaları bile genellikle diğer uygulamalara yapılan çağrılar gibi görünür. Bununla birlikte, Mac OS X hattına geçişte sistemin önemli ölçüde elden geçirilmesinden sonra, AppleScript dili daha esnek ve güçlü hale geldi ve yeni Cocoa çerçevesi, geliştiricilerin AppleScript otomasyonunu minimum çabayla uygulamalarında oluşturmalarına olanak sağladı.

Basit Senaryo

Komut dosyalarını düzenlemek ve yürütmek için standart Komut Dosyası Düzenleyicisini kullanacağız. /Application/AppleScript klasöründe bulabilirsiniz. Öncelikle basit bir "HelloWorld" scripti yazalım.

"Merhaba Dünya!" uyarısını göster # İletişim kutusunu göster
"Merhaba Dünya" deyin # Sütunlara çıktı alın

Burada açıklamaya gerek olmadığını düşünüyorum, ancak say komutunu kullanarak AppleScript'ten konuşma sentezleyiciye son derece basit erişimi not etmek isterim. Bu, kullanıcı ile gerçek iletişimdir. Elma stili:). Tabii ki, bu iletişim kutusu kolayca özelleştirilebilir. Örneğin, gerekli düğmeleri ekleyin:

Ek düğmeleri olan panel

"Merhaba Dünya!" uyarısını göster düğmeleri("Merhaba", "Hoşçakal")
cevabı sonuçtan döndürülen düğmeye ayarla
cevap "Merhaba" ise o zaman
...
başka
...
eğer bitirmek

Şimdi daha faydalı bir şeyler yazalım. Örneğin, kullanıcının bir dosya seçip içeriğini okumasına izin verelim:

# Dosya seçim paneli
theFile öğesini şu şekilde ayarlayın ("Okunacak bir dosya seçin:" türünde ("TEXT") istemiyle dosyayı seçin)
dosyaya erişim için aç

İçerik okuma

fileContents öğesini şu şekilde ayarlayın (Dosyayı oku)
dosyaya erişimi kapat

Bu örnekler, AppleScript'in ana fikrini açıkça gösteriyor - yaşamaya çok yakın ingilizce dili. Bu nedenle, kodlamadan uzak bir kişi için bile senaryo okumak kolaydır. Her fiil komutu, değiştirici isimler ve parametrelerle desteklenebilir.

Uygulamalarla etkileşim

AppleScript, diğer uygulamalarla iletişim kurmak için bir mesaj mekanizması kullanır:

uygulama söyle" Microsoft Word"
çıkış yapmak
son söyle

Tell komutunu kullanarak, mesaj göndereceğimiz uygulamayı seçin. Bu durumda MS Word'den çıkmasını istiyoruz. "Tell - end tell" bloğunda herhangi bir sayıda komut gönderilebilir. Uygulamaya gönderilen mesajlar daha spesifik olabilir. Her şey, geliştiricileri tarafından hangi komutların uygulandığına bağlıdır. Örneğin iTunes, epeyce komut ve özelliği AppleScript ortamına aktarır:

İTunes'da istenen çalma listesini başlatma

uygulamaya "iTunes" söyle
"Favorim" adlı çalma listesini çal
son söyle

Terminolojisine (uygulamanın kaynaklarındaki AppName.scriptRerminology dosyası) bakarak, bir uygulamanın AppleScript ortamına aktardığı mesaj ve veri türlerini öğrenebilirsiniz. Bunu yapmak için Komut Dosyası Düzenleyici'de "Dosya - Sözlüğü Aç - ..." menüsüne gidin ve istediğiniz uygulamayı seçin.

Uygulamanın dışa aktardığı sınıflar ve komutlarla çalışmanızı kolaylaştırmak için bunlar bölümler halinde düzenlenmiştir. Komut dosyası oluşturmayı destekleyen tüm uygulamaların en az iki bölümü vardır: bir standart ve bir daha özel bu başvuru bölümler. Standart bölüm, herhangi bir Mac uygulamasının desteklediği bir dizi standart komut içerir: aç, yazdır, kapat ve çık. Kalan bölümlerin içeriği, geliştiricilerin hayal gücüne bağlıdır.

AppleScript'i uygulamanızın içinden yürütme

Objective-C/Cocoa'da bir uygulama yazıyorsanız, bazı şeyleri AppleScript kullanarak yapmak daha uygun olabilir. Kakao uygulamalarında komut dosyaları oluşturmak ve yürütmek için NSApleScript sınıfı vardır. İşte kullanımının basit bir örneği - iChat uygulamasından kullanıcının durum satırını alma uygulaması.

NSAppleScript *iChatGetStatusScript = sıfır;
iChatGetStatusScript = [ initWithSource: @"iChat" uygulamasına durum mesajını almasını söyle"];
NSString *statusString = [dizeDeğeri];

Çalışma zamanında oluşturulan komut dosyası kullanılmadan aynı işlemin başka bir şekilde yapılması mümkündür, ancak alternatif kodun bundan daha basit görünmesi pek olası değildir. Komut dosyaları büyükse, bunları paketin kaynaklarında saklayabilir ve gerekirse okuyabilirsiniz.

Kakao uygulamasında otomasyon

Kakao uygulamalarınıza betik desteği eklemek çok faydalıdır, çünkü uygulamanızın AppleScript'e bir arayüzü varsa, kullanıcı, AppleScript'te birkaç satır yazarak, onu kendi ihtiyaçlarına göre özelleştirebilecek ve diğer uygulamalarla entegre edebilecektir. ve ardından örneğin rutin görevleri otomatikleştirin. Türleri ve komutları AppleScript ortamına aktarmak için özel dosyalarda tanımlanmaları gerekir. Bunu .scriptSuite ve .scriptTerminology dosyalarında veya tek bir .sdef dosyasında yapmak mümkündür. Her iki durumda da dosyalar XML biçimindedir, ancak sdef ile çalışmak daha kolaydır.

Uygulama sözlüğü görüntülenirken scriptTermonology dosyasının içeriği, Komut Dosyası Düzenleyici'de görüntülenir. Bu dosya, AppleScript'e aktarılan nesnelerin açıklamasını içerir.

ScriptSuite dosyasını Plist Editor'da açtığınızda, aşağıdaki ana bölümleri içerdiğini görebilirsiniz:

  • AppleEventCode - AppleScript ortamı için uygulamayı tanımlayan dört harfli bir kod (kod, bir sistem içinde benzersiz olmalıdır);
  • Ad - dışa aktarılan komutları ve sınıfları içeren bölümün adı.

Büyük olasılıkla sadece sdef dosyalarıyla uğraşmanız gerekeceğinden, bu dosyaların iç yapısını sökmek pek mantıklı değil.

sdef dosyası örneği
















sdef, komut dosyası terminolojisini Detaylı Açıklama.scriptingSuit dosyalarında bulunabilen komutlar ve türler. AppleScripting'i destekleyen bir Kakao uygulaması oluşturarak bunu uygulamaya koyalım. Bunu yapmak için, yeni Cocoa projesinde, sdef dosyamızın adıyla Info.plist dosyasına Scripting ve OSAScriptingDefinition bayrağını ekleyin:

...
NSAppleScript Etkin

OSAScripting Tanımı
Komut dosyası oluşturma.sdef

Projeye aşağıdaki içeriğe sahip bir Scripting.sdef dosyası ekleyelim:












Yani, AppleScript'ten elimizde bir özellik var - myprop. Okumayı işleyecek ObjC kodunu yazmaya devam ediyor verilen mülk komut dosyasından. Bunu yapmak için, NSApplication kategorisini oluşturmanız gerekir, çünkü bu, betiklerden gelen mesajların alıcısı olarak seçtiğimiz sınıftır.

#içe aktarmak
@interface NSApplication (Komut Dosyası Oluşturma) - (NSString *) myprop;
@son
@implementation NSApplication (Komut Dosyası Oluşturma) - (NSString *) myprop
{
return @"Bu benim mülküm";
}

Şimdi AppleScript'ten uygulamamızın özelliklerine dönersek, aralarında mülkümüzü ve değerini göreceğiz:

uygulamaya "Komut Dosyası Yazma" deyin
özellikler
son söyle

Çözüm

Tabii ki, burada AppleScript'in tüm olanaklarını ve Kakao uygulamalarıyla etkileşimini açıklamak imkansızdır. Evet, bu gerekli değil - bunun için kılavuzlar var. Ve biz de kendi payımıza Apple platformları için kodlamayla ilgili makaleler dizisine devam edeceğiz ve size daha birçok yeni ve ilginç şey anlatacağız.

AppleScript, geçmişi Mac OS 7'ye kadar uzanan güçlü bir programlama dilidir. Ancak, olgunluğuna rağmen, deneyimli Mac programcıları AppleScript'i genellikle çok basit, öğrenmesi kolay ve normal İngilizceye çok benzer olmakla eleştirir.

tabii ki istersin bilgisayar dili sadece bu niteliklere sahipti - tabii ki bir bilgisayar diline ihtiyacınız varsa. AppleScript en basit dil bilgisayar bilimcisi değil, basit bir kullanıcı olsanız bile Mac'inizi otomatikleştirebileceğiniz programlama.

AppleScript programları (komut dosyaları veya komut dosyaları olarak adlandırılır) yazılım robotları olarak kabul edilebilir. Basit bir AppleScript, Belgeler klasörünü yedeklemek gibi bazı sıradan görevleri yapabilir. Daha karmaşık bir komut dosyası birkaç sayfaya yayılabilir. AppleScript'in en popüler olduğu profesyonel yayıncılıkta, komut dosyası İnternet üzerinden fotoğrafçının sabit diskine bağlanabilir, fotoğrafı belirli bir klasörden alabilir, Photoshop'ta renk düzeltmesi yapabilir, sonucu belirli bir düzen belgesine yapıştırabilir, kaba bir düzen yazdırabilir , düzenleyiciye bir e-posta bildirimi gönderin ve tüm bunlar otomatik olarak yapılır.

Kullanıcı farkında bile olmadan sürekli olarak temeldeki AppleScript teknolojisini kullanıyor. Çok sayıda Mac bileşeni, programdan programa yönergeleri veya verileri ileten mesajlar olan Apple Events'i kullanarak perde arkasında iletişim kurar. Orijinali Göster komutu bir takma ada uygulanırsa veya Bilgi Al komutu bir dosyaya (klasör) uygulanırsa, Apple Etkinliği Finder'a buna nasıl yanıt vereceğini söyleyecektir.

AppleScript, özellikle gücü nedeniyle, Automator'dan birçok yönden üstündür. Ve bir şey daha: AppleScript o kadar derin bir konu ki, ayrı bir kitaba ayrılmalıdır. Bu bölüm sadece lezzetli bir atıştırmalık: AppleScript: The Essential Guide gibi bir kitap, yedi çeşit yemek olurdu.

Tavsiye Bu kitabın önceki baskısında yer alan AppleScript ile ilgili bölümün tamamını www.missingmanuals.com adresindeki Eksik CD sayfasından indirebilirsiniz.

Bu teknolojinin meyvelerinden yararlanmak için AppleScript yazmak zorunda değilsiniz. Mac OS X, gerçekten yararlı olan düzinelerce komut dosyasıyla birlikte gelir ve bunlardan herhangi birini çalıştırmak için menüden adını seçmeniz yeterlidir. Bir AppleScript'in bu tür "yeniden üretilmesi", tam olarak bir asansörde bir düğmeye basmak kadar teknik beceri gerektirir.

Menü çubuğuna bir komut dosyası menüsü ekleyerek bu harika başlangıç ​​komut dizilerinden bazılarını deneyebilirsiniz (Şekil 7-16, sağ).

Senaryolar menüsü, yaklaşık 100 senaryoyu birleştiren 16 hazır kategoriye sahiptir; bir betiği çalıştırmak için adını seçmeniz yeterlidir. İşte en kullanışlı ve ilginç senaryoların bir listesi.

Tavsiye Menüde bir betik adı seçerken Shift tuşunu basılı tutarsanız, Mac OS X sizi doğrudan Finder'da betiğin bulunduğu yere (örneğin, Home>Library>Scripts klasörüne) götürür. Ayrıca, bir ad seçerken Option tuşuna basarsanız, komut dosyası, inceleyebileceğiniz veya düzenleyebileceğiniz Komut Dosyası Düzenleyici'de açılır.

Bu alt menü, yalnızca Entourage'dan Adres Defteri programına adları ve adresleri kopyalamayı amaçlayan Import Addresses komut dosyasını içerir. Outlook Ekspres, Palm Desktop, Eudora, Claris Emailer veya Netscape. Çok sayıda arkadaşınız varsa, tüm adlarını, telefon numaralarını ve bilgilerini yeniden girmek zorunda kalmamak için bu komut dosyasını kullanın. posta adresleri. (Eşlik eden Adres Aktarıcıları alt klasörü, üç özel programdan içe aktarma için komut dosyaları sunar.)

Temel bilgiler alt menüsü, AppleScript ile ilgili üç kullanışlı küçük komut dosyası içerir: AppleScript Yardım (Yardım Görüntüleyiciyi açar ve AppleScript kelimesini arar); AppleScript Web Sitesi (Web tarayıcınızda bir AppleScript web sayfası açar) Komut Dosyası Düzenleyici'yi açın (AppleScript komut dosyalarını okumak ve düzenlemek için Komut Dosyası Düzenleyici programını açar).

Bu klasör, sanatçıların, web sitesi tasarımcılarının, yayıncıların vb.

Bazı durumlarda, bu menüden bir komut dosyası seçtiğinizde, kısa bir bilgi mesajı ve ardından seçmek için bir Aç iletişim kutusu görürsünüz. grafik dosyası işlenecek.

Diğerleri hemen harekete geçer; örneğin, Mimic PC monitör betiği, ekran renklerini bir Windows bilgisayar monitöründeki biraz farklı tonlarla yakından eşleşecek şekilde ayarlar. üzerinde çalışıyorsanız bu çok kullanışlıdır.

DENEYİMLİ KURSLAR
Script Menüsünün Sırları
Komut dosyası menüsü, iki içeriği görüntüler farklı klasörler Komut Dosyaları: Bunlardan biri Ana Sayfa>Kütüphane>Komut Dosyaları, diğeri ise ana Kitaplık klasöründedir. Kişisel klasörünüzden alınan bu senaryolar, senaryolar menüsünde noktalı çizgi ile ayrılır.

Bu komut dosyaları yalnızca çalıştırılamaz. Ayrıca, Komut Dosyası Düzenleyici'de açmak (yalnızca çift tıklayarak) ve nasıl çalıştıklarını satır satır analiz etmek için idealdirler. Sözdizimini anladığınızda, kod parçacıklarını kopyalayabilir ve komut dosyalarınızda kullanmak üzere değiştirebilirsiniz. (Komut Dosyası Düzenleyici, Uygulamalar > AppleScript klasöründe bulunan ve kendi komut dosyalarınızı oluşturmanıza izin veren bir programdır.)

Bir fotoğraf veya bir web sayfası ve aydınlanmamış kitlelerin gözünde nasıl görüneceğini bilmek istiyor. (Orijinal renkleri geri yüklemek için, Sistem Tercihleri ​​(Sistem ayarları) penceresindeki Renk (Renk) paneli Ekran (Moniors) sekmesine gidin.)

Bu senaryoların tümü, Finder'da çalışmakla, örneğin dosya ve pencereleri değiştirmekle ilgilidir. İşte en kullanışlı olanlar:

Dosya Adlarına Ekle, Klasör Adlarına Ekleyin. Bu komut dosyaları, ön (etkin) Finder penceresindeki (veya değilse) her dosya veya klasörün adına bir önek veya sonek ekler. açık pencereler, masaüstünde). Bu betiklerle, bir klasördeki tüm dosyaların adlarına "taslak" veya "son" veya "eski" kelimesini ekleyebilirsiniz.

Öğe Adlarındaki Metni Değiştir, dosyaların, klasörlerin veya her ikisinin adlarında değiştirme araması yapmanızı sağlar. Bir yayıncı 45 bölümlük kitap teklifinizi reddederse, bu komut dosyası "Mouse Pad History - Random House Proposal Chapter 1" olan 45 bölümün tümünü "Mouse Pad History - Simon Proposal" & Schuster, Chapter 1" olarak yeniden adlandırabilir.

Dosya Adlarını Kırp, Klasör Adlarını Kırp. Dosya Adlarına Ekle komut dosyasını çalıştırırken bir hata yaptıysanız, Dosya Adlarını Kırp ile her zaman düzeltebilirsiniz. Bu komut dosyası, kullanıcının seçtiği dosya uzantılarını, son ekleri veya önekleri kaldırır.

Diyelim ki aynı anda birkaç yeni klasör oluşturdunuz. Mac OS X, bu tür klasörleri "adsız klasör", "adsız klasör 2" vb. olarak adlandırır. Peki ya "klasör 1", "klasör 2", vb. adlarıyla daha rahatsanız? Klasör Adlarını Kırp komut dosyasını çalıştırın; İletişim kutusuna adsız yazın ve Tamam'ı tıklayın.

Klasör işlemlerine tam olarak aynı erişim, bir klasöre (veya penceresinin içine) Control tuşu basılı olarak tıklatılarak sağlandığından, muhtemelen Klasör Eylemleri komut dosyalarını kapsamlı bir şekilde kullanmayacaksınız.

Bu komut dosyaları, yazı tipiyle ilgili bazı görevleri nasıl otomatikleştirebileceğinizi gösterir.

FontSync, Apple'ın eski bir masaüstü yayıncılık sorununu çözmeye yönelik asil girişimidir. Güzel bir haber bülteni oluşturmayı bitirdiniz ve yüksek kaliteli ekipmana yazdırılması için yerel matbaanıza götürüyorsunuz, ancak kendinizi baskıları atmak ve her şeye yeniden başlamak zorunda buluyorsunuz - ve yalnızca yazı tipleri onlara istediğin gibi bakma.. Matbaa, belgeyi hazırlarken kullandığınız yazı tiplerine tam olarak sahip değildi. Veya daha da kötüsü, yazı tiplerinin adları tam olarak aynıydı, ancak farklı bir şirket tarafından oluşturuldu ve bu nedenle belirli parametrelerde sizinkinden biraz farklıydı.

FontSync'in fikri, kullanıcıyı olası tutarsızlıklardan önceden haberdar etmektir. FontSync Profili Oluştur komut dosyası, birkaç dakika içinde bir FontSync profil dosyası oluşturur. Bu belge, sistemde yüklü olan tüm yazı tiplerinin tasarımı, aralığı ve kıvrımları hakkında şaşırtıcı miktarda bilgi içerir. Bir matbaada, böyle bir belge, ek bir Match FontSync Profile komut dosyasıyla işlenebilir. Kullanıcının Mac'i ile matbaanın makineleri arasındaki yazı tipi farklılıklarını titizlikle belirleyecektir.

Tabii ki, bu teknoloji üstü kapalı olarak çok fazla varsayar: Macintosh bilgisayarların matbaada yüklü olması, FontSync'i yönetebilmeleri ve ayrıca kullanıcının FontSync profilini önceden oluşturup matbaaya aktarmayı unutmaması.

IChat, 10.5'te önemli bir yeniden tasarımdan geçti - Apple, pek çok ilginç (bazen yararsız olsa da) özellik ekledi. Özellikle, kişilerinizle ilgili bir olay meydana geldiğinde AppleScript'leri sinyal olarak çalıştırmak mümkün hale geldi. Örneğin, bireysel kişilerden gelen sohbet davetlerini otomatik olarak kabul edebilir, hatta onlara önceden hazırlanmış bir selamlamayla yanıt verebilirsiniz. Evinizdeki başka bir Mac'in iChat penceresine komutlar girerek bir Mac'te müzik çalmayı bile kontrol edebilirsiniz. Ayrıntılar 21. bölümde.

Bu iki senaryonun pek bir faydası yoktur. Geçerli Tarih ve Saat, geçerli tarih ve saati, yapıştırmaya hazır bilgileri kopyalamak için bir Pano düğmesiyle donatılmış bir iletişim kutusunda görüntüler. Yazı Tipi Örnekleyici, Mac OS X ile yüklenen yazı tiplerini (komut dosyasında adı geçen) listeleyen bir sayfa görüntüler. (Yazı Tipi Kitabı benzer yerleşik yazdırma komutlarına sahip olduğundan komut dosyası daha az kullanışlı hale gelmiştir.)

Bu menüdeki iki senaryo özel olarak anılmayı hak ediyor. Posta Koduna Göre Mevcut Sıcaklık, pencerenin dışındaki sıcaklığı gösterir - Fahrenheit ve Celsius. Bu, bütün gün evden çıkmamak için başka bir nedendir.

Hisse Senedi Fiyatı, seçilen şirketin hisse senedi fiyatlarını 20 dakikalık bir gecikmeyle alır. Gerçek zamanlı fiyat teklifi almak kadar iyi değil ama ücretsiz.

Bu alt menüdeki betiklerin çoğu, e-postalarınızdaki e-postaları saymak gibi bazı belirli görevleri çözer. posta kutuları veya yeni bir hesap oluşturma. Elbette en komik olanı, Çılgın Mesaj Metni komut dosyasıdır (Şekil 7.17).

Bu klasördeki betikler, herhangi bir programdan doğrudan menüden özel Finder klasörlerine gitmenizi sağlar. Açmak istediğiniz klasöre atanmış özel bir komut dosyası yoksa, Özel Klasör Aç komut dosyasındaki listeden klasörü seçin.

Tavsiye Bu betiği Betik Düzenleyici ile düzenlemek zorunda kalmaya aldırış etmeyenler, aynı anda birden fazla klasörün seçilip açılmasına izin verecek şekilde değiştirebilirler (örneğin, bir -tıklama kısayolu aracılığıyla). Tek yapmanız gereken, açılacak klasörü seçin'in hemen ardından (satırın sonunda, kabaca komut dosyasının ikinci üçte birinin başında) birden çok seçime izin vermektir (true). Değişikliklerinizi kaydetmeyi unutmayın.

Bu betiklerin amacı, AppleScript'in PostScript ve PDF belgelerini yazdırma ve oluşturmadaki gücünü göstermektir.

Bunlardan biri olan Yazdır Penceresi, Mac OS X'te uzun süredir devam eden bir boşluğu kapatıyor. Seçilen herhangi bir klasörün içeriğinin metinsel bir listesini yazdırmalıdır. (Kuşkusuz, biraz hatalı.)

Bu betikler hakkında ekibine göre, bu önceden hazırlanmış 48 betik, daha hızlı ve daha doğru betikler yazmanıza yardımcı olur, çünkü kod parçacıkları yazım hatası ve sözdizimi hatası içermez. İyileştikçe, çalışmanızı daha da verimli hale getirmek için normalde yazdığınız komut dosyalarına göre uyarlanmış kod parçacıklarıyla kendi komut dosyalarınızı buraya ekleyebileceksiniz. (Komut Dosyası Düzenleyici'de bir komut dosyası oluştururken, bu kod parçacıklarını Control tuşuna basarak tıklama ve menü seçimi kombinasyonunu kullanarak metne eklersiniz. hızlı erişim.)

Komut dosyaları çoğunlukla işlerini sessizce ve fark edilmeden yapar. Ancak normal AppleScript komutlarını anlamayan bir programı otomatikleştirmek istiyorsanız, komut dosyaları menü seçimlerini, düğme basmalarını vb. simüle ederek programı manuel olarak "yönetebilir".

Not Kullanıcı arabirimi (UI) betikleri olarak adlandırılan bu özellik, yalnızca Sistem Tercihleri ​​programının Evrensel Erişim konsolunu açıp Yardımcı cihazlar için erişimi etkinleştir onay kutusunu seçtikten sonra çalışacaktır.

Kullanıcı Arabirimi Öğe Komut Dosyaları alt menüsünden komut dosyalarını oldukları gibi çalıştırmanın bir anlamı yoktur: bunlar yalnızca doğru sözdizimini gösteren örneklerdir.

Bu son betik grubu, bazı popüler web sitelerine hızlı erişim sağlar. Bunun istisnası, Amerika Birleşik Devletleri kıtası için geçerli hava durumu haritasını indiren, onu masaüstüne weathermap.jpg olarak kaydeden ve ardından Önizleme'de açan Hava Durumu Haritasını İndir komut dosyasıdır.

Tavsiye Menüye komut dosyaları, dosyalar ve hatta İnternet adresleri ekleyebilirsiniz ve ardından hepsini menü çubuğundan başlatmak kolaydır. Library>Scripts klasörüne sürüklediğiniz herhangi bir şey otomatik olarak Scripts menüsünde görünecektir.

Öte yandan, kendi öğelerinizden birçoğunu Komut Dosyası menüsüne eklemeye başlarsanız, örnekleri Apple'dan kaldırmak daha uygun olacaktır. Sorun değil. AppleScript Yardımcı Programını açın ve Bilgisayar komut dosyalarını göster'in işaretini kaldırın.

Önceden oluşturulmuş AppleScript'lerle çalışma

Komut dosyaları menüsünde çalışırken, kısa süre sonra Mac'inizde düzinelerce ücretsiz yerleşik komut dosyanız olduğunu fark edeceksiniz. Harika olan şey, nasıl çalıştıklarını anlayabilmeniz ve hatta kendi AppleScript betiklerinizi nasıl yazacağınızı yavaş yavaş öğrenirken değiştirebilmenizdir. Hatta Apple betiklerinin tamamını kopyalayıp kendi betiklerinizde kullanabilirsiniz.

İlk olarak, elbette, komut dosyasını açmanız gerekir. Bunu yapmanın en kolay yolu komut dosyası menüsünü açmak, istenen kategoriyi seçmek ve istenen komut dosyasının adına Option tuşunu basılı tutarak tıklamaktır.

Basit bir komut dosyası izleyerek AppleScript öğrenmeye başlayabilirsiniz. Örneğin, Yeni Uygulama Penceresi komut dosyasını (Navigasyon Komut Dosyaları kategorisinde) düğmesine basarken adına tıklayarak açın. Seçenek tuşu. Sonuç olarak, Script Editor dosyayı yeni bir pencerede açacaktır (Şekil 7.18).

İşte bu betiğin nasıl çalıştığı:

Tell uygulaması "Finder", Mac OS X'e hangi programın aşağıdaki komutları yürütmesi gerektiğini söyler.

Etkinleştir, Finder'ı Dock'taki simgesine tıklamışsınız gibi öne getirir.

Başlangıç ​​diskindeki "Uygulamalar" klasörünü aç, Finder'a ana sabit sürücüdeki Uygulamalar klasörünü görüntüleyen yeni bir pencere açması talimatını verir.

End tell, Finder'a işine devam etmesini ve betiğinizden gelen diğer komutları yok saymasını söyler.

Komut dosyasını test etmek için Çalıştır düğmesine tıklayın veya -R'ye basın.

Tavsiyeİhtiyaçlarınıza daha iyi uyacak şekilde bu komut dosyasını düzenleyebilirsiniz. Örneğin, komut dosyasının Kullanıcılar klasörünü açması için "Uygulamalar"ı "Kullanıcılar" ile değiştirmeyi deneyin.

Kendi AppleScript'lerinizi oluşturun

Mac OS X düzinelerce programla gelir; bunlardan sadece birkaçı var! Tamam, bir şey eksik - örneğin bir metronom. Mac'inizin yaptığı ritmik tıklamaları duymadan nasıl sabit bir ritimde piyano çalacaksınız? Tabii ki, bir tutamda, GarageBand metronomu yardımcı olacaktır, ancak bu, serçelere bir top ateşliyor.

Bunun yerine AppleScript kullanabilirsiniz. Açık yeni belge Komut Dosyası Düzenleyici'de (Dosya (Dosya)> Yeni (Yeni) veya -N) ve aşağıdakini yazın:

"AppleScript Metronom'a Hoş Geldiniz" iletişim kutusunu göster

bpm'yi döndürülen metne ayarla (diyaloğu göster ¬

"Dakikada kaç vuruş?" varsayılan cevap 60)

duraklatmaBetweenBeeps'i (60/bpm) olarak ayarlayın

gecikme duraklatBeeps Arasında

Not¬ karakterini yazdırmanıza gerek yoktur. Programcılar şöyle der: "Bu tek satırda olmalı, ancak sayfa genişliği yeterli değildi."

Bu komut dosyasını çalıştırdığınızda, metronomun dakikada kaç vuruş sayması gerektiğini soran bir iletişim kutusu görüntülenir. Girdiğiniz sayı (örneğin, 120), betiğin içindeki bpm adlı geçici bir depolama değişkeninde saklanır.

Betik daha sonra bip sesleri arasındaki duraklamayı hesaplar ve bir saniyenin o kısmını stallBetweenBeeps değişkenine yazar. Komut dosyasına yayınlamasını söylediyseniz ses sinyali, örneğin, dakikada 120 kez, ardından stallBetweenBeeps 0,5 olarak ayarlanacaktır, çünkü numuneler arasında yarım saniyelik bir duraklama olmalıdır.

Son olarak, komut dosyası sonsuz bir döngü oluşturur: bip sesi, belirtilen süre boyunca duraklama ve ardından tekrarlama.

Komut dosyanızı test etmek için Çalıştır düğmesine tıklayın ve yeterince ses aldığınızda Durdur düğmesine tıklayın.

FAVORİ TEKNİKLERİM
Tek tıkla masaüstü ekleri
İşte sık sık belge göndermesi gereken herkes için hayat kurtarıcı olabilecek küçük bir Automator numarası. e-posta. (Çok rahat modeller komut gönder Kime (Gönder), Windows makinelerinin kısayol menüsünde bulunur.)

Automator'da yalnızca iki adımla bir işlem oluşturun: Seçilen Bulucu Öğelerini Alın (Finder kategorisi altında) ve Yeni Posta Mesajı (Posta kategorisi altında).

Dosyaları her zaman aynı hedefe, örneğin patronunuza gönderiyorsanız, adresi Automator işlem çubuğunda önceden ayarlayabilirsiniz. Mesajın konusu ve metni her seferinde tekrarlanıyorsa bunlar da önceden ayarlanabilir.

Şimdi Dosya (Dosya)> Eklenti Olarak Kaydet (Modül olarak kaydet) öğesini seçin. Süreci E-postayla adlandırın veya ne isterseniz.

Bu noktadan sonra, belgeyi Control tuşuna basarak tıklayıp açılan menüden Automator>Bunu E-postayla Gönder'i seçerek Finder'dan belgeyi gönderebilirsiniz.

Zafer! Mac OS X, Mail'i başlatır ve kendisine eklenmiş bir dosya bulunan bir giden ileti oluşturur.

Ücretsiz ipucu: Bu iki eylem arasına başka bir Arşiv Oluştur eylemi (Bulucu kategorisinden) eklerseniz, menü komutunuz dosyayı (veya klasörü) postalamadan önce bir .zip dosyasına da sıkıştırır!

Tavsiye içine koyarsan daha da güzel olur sistem ayarları Sistem Tercihleri>Evrensel Erişim>Duyma>Bir uyarı sesi geldiğinde ekranı yakıp söndür onay kutusunu işaretleyin. Artık komut dosyanız çalışırken, ekran sesle birlikte yanıp sönecektir. Müzik kaydediyorsanız, Mac'inizin sesini kapatın: görsel bir metronomunuz olacak, ancak ses duyulmayacak.

AppleScript ve Automator'ın Karşılaştırılması

AppleScript yüzlerce şekilde kullanılabilir - Automator için fazla karmaşık olan süreçleri otomatikleştirme, Automator'ın göremediği programları yönetme ve Automator'ın yapamadığı döngüsel komutlar gibi şeyleri programlama.

AppleScript'i yalnızca Automator'ın yerine geçen bir araç olarak görürseniz, çok fazla güç kaçırmış olursunuz. Gerçekte, AppleScript, Automator'ın muhtemelen 10 yılda sahip olmayacağı özellikler sağlar: çok daha gelişmiş bir araçtır.

Automator basit görevler için iyidir. Mac'inizi otomatikleştirmek için AppleScript'e ihtiyacınız varsa, umutsuzluğa kapılmayın. Gerçekten güçlü bir araç alıyorsunuz. (Hatta AppleScript'i Çalıştır eylemiyle bunları birleştirebilir ve AppleScript'leri Automator işlemlerine gömebilirsiniz.)

Otomasyonda başarılar!

  • AppleScript Apple . AppleScript AppleScript. , - .

    AppleScript.

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

    1 . . . . . . . . . 7

    2 . . . . . . 10

    3(ben). . . . . . . . 13

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

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

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

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

    8(II) . . . . . . . otuz

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

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

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

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

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

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

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

    AppleScript Apple . , AppleScript:

    AppleScript, AppleScript. , -, .

    AppleScript, . - AppleScript ( adobe photoshop, QuarkXPress, Adobe InDesign). Dosya Yapıcı Pro. , GraphicConverter, BBEdit, Microsoft Word AppleScript(). , AppleScript . , . . , AppleScript, AppleScript. , - AppleScript.

    . (.15). - AppleScript. , .

    AppleScript, AppleScript:

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

    AppleScript; AppleScript ; AppleScript (Mac OS X).

    AppleScript. , Java, . AppleScript , 10- , - . .

    5 AppleScript , . - AppleScript Studio, (Geliştirici Araçları XCode).

    JavaScript, .

    () . , . , . , .

    . , : . - . , . : .

    AppleScript, . . Komut Dosyası Düzenleyicisi (.2), ​​​​.

    Telif hakkı (c) 2003, Bert Altenburg

    : Bert Altenburg, - .

    1. . , - . , AppleScript . AppleScript.

    2. , Bilgisayar, . - , -. CPU Monitörü (Yardımcı Programlar, Uygulamalar), - . (Dağıtılmış Bilgi İşlem DC), [e-posta korumalı], . 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. , - . , .

    , -. , (ifade), . , .

    AppleScript, . 1.

    AppleScript:

    "Bu sözlü bir cümledir" deyin.

    Fred, Trinoidler, Çellolar, Zarvox, Victoria.

    "Bu sözlü bir cümledir" deyin. "Zarvox" kullanarak

    : AppleScript . , . , Victoria Zarvox .

    AppleScript. - , - . : . AppleScript - , . AppleScript, . (yazılabilir). , AppleScript (Mac OS X), .

    bulucu , Bulucu . , . Bulucu , - , . -, Çöp Kutusu, Bulucu.

    8, AppleScript.

    Adobe Photoshop. photoshop. , Bulucu.

    AppleScript, .

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

    uygulamaya "xyz" söyle

    (bloğa söyle). xyz xyz. , AppleScript , - , . , . (, ("". : , AppleScript . . .)

    bulucu , Bulucu. bulucu, bulucu.

    "Finder" uygulamasına söyle çöp kutusunu boşalt başlangıç ​​diskini aç son söyle

    bulucu Bulucu, - , . .

    Bulucu, AppleScript (Mac OS X) .

    9tell uygulaması "Finder" çöp kutusunu boşalt başlangıç ​​diskini aç son tellbeep

    bulucu bip AppleScript. , .

    Bip (AppleScript (Mac OS X)) .

    "Finder" uygulamasına söyle çöp bip sesini boşalt başlangıç ​​diskini aç bitir söyle

    Bulucu bip sesi, AppleScript (Mac OS X) . , . , -, Bulucu , bip sesi, Bulucu .

    AppleScript (Mac OS X) . - , Bulucu, . ().

    "Finder" uygulamasına çöp kutusunu boşalt bip sesinin bitmesini söyle başlangıç ​​diskini aç

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

    "Finder" uygulamasına çöp kutusunu boşalt deyin başlangıç ​​disketini aç deyin "Çöp kutusunu boşalttım ve başlatmayı açtım için disk sen" "Victoria" kullanarak

    AppleScript (Mac OS X), Finder. , .

    komut dosyası düzenleyicisi, . Komut Dosyası Düzenleyici AppleScript, Uygulamalar. , . .

    derlemek , AppleScript , AppleScript . Ey Bulucu! Çöpümü at (Finder!) Hey Finder! Çöp kutusunu (Finder,) Finder'ı temizleyin. (derleme) AppleScript (Mac OS X): - . , . , - . komut dosyası düzenleyicisi.

    AppleScript (Mac OS X) .

    "AppleScript'i kolay yoldan öğreniyorum!" deyin. "Zarvox" kullanarak

    koşmak, . komut dosyası düzenleyici, !

    Girmek . Girin - Boşluk()(). Dönüş (Shift) -. geri dönmek.

    Derle. - Koşmak, .

    Çalıştır, Command-R. : , -

    , (derlenmiş betik) (uygulama).

    : , - AppleScript,

    Komut Dosyası Düzenleyici Çalıştır.

    : , AppleScript ,

    komut dosyası düzenleyicisi. , - , (Sistem Tercihleri). , . - , Betik Düzenleyici, Dosya Aç.

    : Kaydet, - (sadece çalışma). , - .

    "Finder" uygulamasına söyle çöpü boşalt son söyle

    komut dosyası düzenleyicisi.

    Başvuru , :

    Komut Dosyası Düzenleyici uygulaması. .xyz. - (-), sıra. - , AppleScript . , AppleScript pqr söyle .

    Komut Dosyası Düzenleyicisi , - . , kontrol . :

    1) Kontrol Komut Dosyası Düzenleyicisi. (.), Blokları Söyle. , "Finder" deyin.

    2) Bulucu çöpü boşalt, (), 1. . - .

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

    2+6=xy=3*4

    AppleScript. (değişkenler) , . - (tanımlayıcılar), . - AppleScript, ayarlayın.

    x'i 25'e ayarla y'yi 4321.234'e ayarla

    AppleScript, . : (- , (hatalar)). , X. , resim Genişliği .

    pictureWidth'i 8 olarak ayarla

    , (, -,). , AppleScript, - . , (8 ) .

    AppleScript - . , ayarla, söyle, bip , - AppleScript. , resim Genişliği, . -, .

    AppleScript, . , .

    pictureWidth'i 8 olarak ayarlayın pictureHeight'ı 6 olarak ayarlayın pictureSurfaceArea'yı pictureWidth olarak ayarlayın * pictureHeight

    , (operatörler), - .

    cubeEdgeLength'i 10.0 olarak ayarlayın cubeVolume'u cubeEdgeLength ^3 olarak ayarlayın

    komut dosyası düzenleyicisi, . , . (sonuç) . , 10.0. 1000.0. , cubeEdgeLength ^ 3 , .

    : . - . (tamsayılar) , - , (.13)

Şirkete ait bir teknoloji olan ve en çok iş akışlarını otomatikleştirmek için kullanılan bir programlama dilidir ve olası iletişim programları kendi aralarında nasıl 🙂 .

Konuyla ilgili bir dizi makale açmayacağım: “Aptallar için el yazısı. Adım adım ”tek bir basit nedenden dolayı - internette bu konuda pek çok materyal var. Ve astarı kendi yolumda yeniden yazmamak ve tekerleği yeniden icat etmemek için, bana en uygun görünen birkaç kaynağı göstereceğim. Ona göre ben kendim aydınlanmış olacağım.

Hemen hemen her yazar, betik dilinin o kadar basit olduğunu ve en azından biraz geleneksel İngilizce bilgisine sahip herhangi bir kullanıcının yazabileceğini yazar. Ve nesne yönelimli programlamanın tüm yönlerini bilmek gerekli değildir. Bunda bazı gerçekler var, çünkü senaryoda

uygulamaya "Finder" deyin

"Merhaba deliler!" iletişim kutusunu göster

ne ve hangi programdan gerekli olduğunu anlamamak zor. Ancak OOP konusunda tam olarak aynı fikirde değilim. Bip sesi gibi gereksiz şeyler yazarsanız ya da "kim o" derseniz. adam?" , o zaman evet, bir döngünün ve bir sınıfın ne olduğunu bilmiyor olabilirsiniz ve bununla hala OOP'den çok uzaktır. Ancak, kendiniz veya bazı veri tabanları için günlük görevleri kolaylaştırmak için programlar veya komut dosyaları yazmayı öğrenmek istiyorsanız, o zaman "Miras" ve "Kapsülleme" gibi şeyleri daha iyi bilirsiniz.

Nereden başlamalı?

Her şey basit ve parmaklarınızın ucunda. Komut Dosyası Düzenleyici'yi başlatın ve önce yardıma gidin. Rusça sürümünü kullanırsanız, hiçbir zorluk olmamalıdır.

Kimin için bir kitap?

Standart kılavuz yeterli değilse veya her şeyin sizin için hemen net olmayacağı şekilde yazılmışsa, kitaplara dönebilirsiniz (elektronik veya basılı - siz karar verin). "AppleScript Language Guide" kitabına sık sık başvurulur. Komut Dosyası Düzenleyici'nin yardımında bir bağlantı olduğu ortaya çıktı.

Geliştirici şirketin kendisinin bize sunduğu diğer kaynakları hesaba katmamak mümkün değil. Yeni başlayanlar için "AppleScript 1-2-3" adlı bir kitap var veya aynı adla satın alabilirsiniz.

Daha büyük daha iyi

Neden çevrimiçi kaynakları dikkate almıyorsunuz? Sonuçta, burada en yenilerini bulabilirsiniz ve okuyucular geri bildirime daha sık ve daha hızlı tepki verir. Erişilebilir bir dilde literatür arayacağız.

Çeşitli inceleme makalelerine ek olarak, İnternette "" bulabilirsiniz. El yazısı ile ilgilenenler için olduklarını söyleyebilirim. Kitap yeni başlayanlar için, sade yazılmış, az sayfa var ama bol örnek var. Tam olarak ihtiyaç duyulan şey. Orada ayrıca "" adlı bir kitap da indirebilirsiniz.

Rusça kılavuzlar iyidir, ancak temel bir İngilizce bilgisi olmadan, en hafif deyimiyle betik dilini öğrenmek zor olacaktır.

Makalelerden buna dikkat ederdim. Komut dosyası dilinin temel ilkelerinden bazılarını "kısa ve net" olarak detaylandırması hoşuma gitti.

Kullanıcıların fikir, deneyim ve hazır senaryo alışverişinde bulunduğu çeşitli forumları da unutmayın. Bunu kişisel olarak işaretliyorum.

Materyal aramaya ve indirmeye başlamadan önce, hedefinize karar vermenizi tavsiye ederim. Genel gelişim için, bazı kaynaklara aşina olabilirsiniz. Gerçekten faydalı senaryolar yazmak için birkaç gün/hafta/ay harcamanız gerekecek (yeteneklerinize ve boş zamanınıza bağlı olarak). Çok ilginç ve bağımlılık yapıyor.

Artık bir kişinin el yazısı programcısı veya testçisi olarak iş bulma şansını değerlendiremiyorum. Büyük ihtimalle çok büyük değil. Ama bunun senin olduğunu hissediyorsan - devam et. Hedefi görürseniz ve hiçbir engel görmezseniz, kimin ihtiyacı olduğu önemli değildir (en azından sizin için). Gerçek yetenek her zaman takdir edilecektir. Ve sevdiğin şeyi yapma şansın var.