Komputery Okna Internet

MAC OS X Wprowadzenie do AppleScript. AppleScript dla absolutnych początkujących Automatyzacja aplikacji kakao

Otwórz, przytnij, przekonwertuj na inny model kolorów, zapisz. Otwórz, przytnij, przekonwertuj na inny model kolorów, zapisz. Otwórz Lub jeszcze tutaj: Wybieramy, przenosimy do bufora, przełączamy do innej aplikacji, kopiujemy z bufora. Wybierz, bufor, przełącznik

Nie brzmi jak twórcza działalność, prawda? Ale prawie każdy, kto ma do czynienia z komputerem, musi codziennie wykonywać dziesiątki i setki powtarzalnych, w zasadzie identycznych operacji. A po trzech tygodniach pracy z czymś w rodzaju „inteligentnego konwertera” to nie jest jak nauka nowej wersji „Photoshopa” czy opanowanie InDesigna – nie chcę nawet zbliżyć się do komputera. Jednym słowem - potrzebujesz asystenta. Który przejmie wykonanie wszystkich (no, a przynajmniej większości) nudnych i rutynowych, ale oczywiście niezbędnych powtarzalnych czynności.

AppleScript - jaka bestia?

I mamy takiego asystenta. Jest to specjalny język do pisania skryptów (lub, jeśli wolisz, skryptów) o nazwie AppleScript. Po raz pierwszy język ten pojawił się w systemie Mac OS 7.5 (wtedy jeszcze Macintosh System) i był tak dobrze zaimplementowany, a także miał tak szerokie możliwości, że wraz z wydaniem dziesiątej wersji systemu operacyjnego „dotarł” tylko do wersja 1.8. Ale, co dziwne, pomimo ogromnego potencjału lub ponad dekady istnienia, technologia AppleScript nie stała się powszechna wśród użytkowników komputerów Mac. Co można winić - mity o jego złożoności, bezwładność użytkowników przyzwyczajonych wyłącznie do sterowania "ikona-mysz" swoich Maców, czy coś innego - nie mogę ocenić, ale faktem jest, że setki wiedzą o istnienie AppleScript, ale używaj tylko jednostek. Dlatego moim zdaniem rozważenie podstawowych zasad tej technologii nie jest zbyteczne.
Rdzeniem AppleScript jest Macintosh Apple Events, usługa przetwarzania zdarzeń systemowych, która umożliwia wymianę poleceń sterujących, danych i żądań między aplikacjami, systemem operacyjnym, usługami sieciowymi, a nawet różnymi komputerami. Silnik skryptów (będący prostym rozszerzeniem znajdującym się w folderze System) konwertuje polecenia skryptu na sekwencję zdarzeń i przekazuje je do określonej w skrypcie aplikacji, a po ich przetworzeniu otrzymuje wynik i przesyła go do źródła skryptu.
Chociaż AppleScript jest prawdziwym językiem programowania (obsługuje zmienne, pętle, instrukcje warunkowe, podprogramy, pozwala na wykonywanie skomplikowanych obliczeń, a nawet posiada narzędzia do budowania i przetwarzania okien dialogowych), to główne zadania nadal spadają na barki aplikacji zewnętrznych. A AppleScript działa jak rodzaj „kleju”, który przenosi dane między programami („przenieś plik z Illustratora do Photoshopa”), ocenia aktualny stan środowiska pracy poszczególnych programów, systemu operacyjnego i sieci („jest rasteryzacja pliku już ukończone, czy jeszcze nie?” ) i umożliwia podejmowanie działań na podstawie wyników poprzednich operacji („jeśli wszystkie pliki są zrastrowane, to wyślij materiały do ​​specjalnego folderu i uruchom skrypt odpowiedzialny za złożenie strony gazety ").
Istnieje kilka poziomów „scenariuszowości” aplikacji. Na przykład te programy, które są najmniej przystosowane do automatyzacji, rozumieją tylko podstawowe, najprostsze polecenia: załaduj aplikację, otwórz dokument, wyślij go do drukowania i zamknij aplikację (uruchom, otwórz, wydrukuj i zakończ). Bardziej „zgodne” (takie jak na przykład Photoshop, Illustrator i FreeHand) mają w swoim arsenale narzędzia, które wystarczają do pisania programów do przetwarzania wsadowego plików i wykonywania określonych sekwencji działań (polecenia makr). Cóż, te, które obsługują prawie wszystkie funkcje technologii AppleScript (w tym QuarkXPress, Adobe InDesign i większość programów Apple) umożliwiają kontrolowanie pracy na najbardziej „głębokich” poziomach: ustawianie opcji drukowania, korzystanie ze schowka, sprawdzanie i zmienić wartości zmiennych wewnętrznych itp.

Podstawy skryptologii

Do wprowadzania tekstów źródłowych i wykonywania skryptów można użyć programu Script Editor - głównego i jedynego narzędzia do tworzenia skryptów w standardowej dystrybucji Mac OS.
Edytor skryptów znajduje się w folderze Apple Extras/AppleScript (dla zlokalizowanej wersji Mac OS - Add-ons/AppleScript), a po uruchomieniu wyświetla okno podobne do pokazanego na ryc. jeden.


Ryż. 1. Edytor skryptów

Górne i dolne pola wejściowe mają na celu opisanie odpowiednio skryptu i jego tekstu i nie wymagają dodatkowych komentarzy. Przycisk Nagraj pozwala nagrać makropolecenie, w tym celu musisz przejść do żądanej aplikacji po naciśnięciu przycisku i wykonać serię czynności; po czym tekst skryptu pojawi się w dolnym polu wejściowym (należy zauważyć, że nie każdy program obsługuje możliwość rejestrowania makropoleceń). Przycisk Sprawdź składnię sprawdza, czy w tekście skryptu nie ma błędów, a także przenosi go do postaci „rynkowej” - podświetla słowa kluczowe i zagnieżdżone bloki pogrubioną czcionką i wcięciami.
Scenariusz pierwszy. Na początek, zgodnie z oczekiwaniami, napiszemy prosty program, który wykonuje kilka podstawowych czynności: zamyka wszystkie otwarte okna, usuwa wszystkie dyski wymienne z nośników, układa ikony na ekranie, opróżnia kosz i wyłącza komputer. Tekst takiego programu wygląda tak:

powiedz aplikacji "Wyszukiwarka"

zamknij każde okno
wyrzuć każdy dysk
posprzątaj pulpit
opróżnić kosz
zamknięcie

koniec powiedz

Co to wszystko znaczy? Usługa Apple Events („szkielet” technologii AppleScript) przekazuje dane, żądania i komunikaty nie tylko między programami, ale także między elementami programu, które nazywane są obiektami i mogą mieć zagnieżdżoną strukturę zwaną modelem obiektowym. Na przykład dla programu Finder model obiektowy (dokładniej tylko jedna z gałęzi tego modelu) może być reprezentowany w następujący sposób: Finder - Desktop - Folder - File; w przypadku edytora tekstu model ten przyjmie postać Dokument - Strona - Akapit - Zdanie; w przypadku ilustracji wektorowych będzie wyglądać tak: Ilustracja - Kształt podstawy - Krzywa Beziera - Punkt (ryc. 2).


Ryż. 2. Przykłady modeli obiektowych

Każdy obiekt ma zazwyczaj jedną lub więcej właściwości (Rysunek 3), które można ustawić ("ustaw wysokość strony na 14 cali"), zmodyfikować ("zmień szerokość z 8" na 8,5") i kontrolować ("co jest równe prawemu marginesowi strony?").


Ryż. 3. Właściwości obiektu

Aby sterować tym lub innym obiektem, należy go wybrać (wskazać) na modelu obiektu. W tym celu konstrukcja powiedz koniec powiedz, a wszystkie polecenia sterujące obiektem są zawarte w tej konstrukcji; jeśli obiekt jest „głęboki” w jednej z gałęzi modelu, to używanych jest kilka zagnieżdżonych bloków powiedz koniec powiedz. W poniższym przykładzie skrypt uzyskuje dostęp do pulpitu (jeden z elementów modelu obiektowego Findera) etapami, a następnie przenosi folder „test” na pulpicie do kosza.

powiedz aplikacji "Wyszukiwarka"
powiedz pulpitowi

Usuń folder „test”

koniec powiedz
koniec powiedz

Pisząc skrypt kontrolujący dowolny program — nie ma znaczenia, czy jest to Finder, FileMaker, Adobe Acrobat, czy coś innego — musisz wiedzieć, jakie polecenia języka AppleScript obsługuje ten program, jakie obiekty są zawarte w jego modelu obiektowym jako nazwy i cele wszystkich właściwości dostępnych obiektów. Wszystkie te informacje są przechowywane bezpośrednio w pliku wykonywalnym programu, w tzw. słowniku aplikacji. Aby użyć tego słownika, w programie Script Editor należy wykonać polecenie Plik / Otwórz słownik (Plik / Otwórz słownik), a w wyświetlonym oknie wybrać plik wykonywalny aplikacji, która Cię interesuje. W rezultacie okno podobne do pokazanego na ryc. 4 - w prawej części znajduje się lista wszystkich poleceń i obiektów, w lewej podane są ich krótkie opisy.


Ryż. 4. Słownik aplikacji

Drugi scenariusz. Przejdźmy do rozwiązywania praktycznych problemów. Projektanci stron internetowych często muszą sprawdzać swoje strony pod kątem zgodności ze starszymi wersjami przeglądarek. Aby to zrobić, musisz otworzyć okna z folderami, poszukać tam plików wykonywalnych programów przeglądarek, pobrać je, a następnie poszukać na dyskach folderów ze stronami internetowymi. Ogólnie - nie najprzyjemniejsze zajęcie. Stwórzmy skrypt, który ułatwi przeglądanie stron: automatycznie załaduje kilka różnych przeglądarek i otworzy w każdej potrzebny nam dokument.

powiedz aplikacji "Wyszukiwarka"

Wybierz (określ) żądany plik
wybierz plik "index.html" z folderu "Aktualna witryna" pulpitu
-- przypisz ścieżkę do wybranego pliku do zmiennej myFile
ustaw myFile na zaznaczenie jako ciąg

Pobierz Microsoft IE i otwórz wybraną stronę
powiedz aplikacji „Internet Explorer 3.01”
otwórz (alias myFile)
koniec powiedz

Tę samą operację wykonujemy z Netscape Navigator
powiedz aplikacji "Netscape Navigator 3.01"
otwórz (alias myFile)
koniec powiedz

W powyższym programie pojawiło się kilka nowych projektów. Wszystkie linie zaczynające się od znaków "--" są komentarze. W języku AppleScript komentarze można pisać zarówno w osobnym wierszu, jak i na końcu wiersza, zaraz po poleceniu.W każdym razie wszystkie znaki następujące po "--" i przed początkiem nowej linii są uważane za komentarze i są ignorowane podczas wykonywania skryptu.

Polecenie „wybierz” symuluje wyraźne zaznaczenie elementu za pomocą kursora myszy, a jego działanie jest nieco podobne do użycia konstrukcji powiedz koniec powiedz, ale z tą różnicą, że przy użyciu polecenia Wybierz możemy przypisać niektóre właściwości wybranego obiektu (na przykład ścieżkę do pliku lub folderu) do zmiennej.

Operator ustawić służy do wskazania wartości zmiennych, które są tworzone w momencie pierwszego do nich wywołania. Oznacza to, że nie ma potrzeby wstępnego opisywania nazwy i typu zmiennej: napisaliśmy np. ustaw myDate na aktualną datę, a AppleScript utworzył zmienną i wybrał dla niej odpowiedni rozmiar oraz typ. Ale to nie wszystko: z pomocą operatora ustawić Możesz zmienić wszystkie właściwości obiektów. Odbywa się to w następujący sposób:

powiedz aplikacji "Wyszukiwarka"
powiedz pulpitowi
powiedz plik "Cennik"

-- zmiana komentarza (komentarza) właściwości pliku "Cennik"
-- plik znajduje się na pulpicie
ustaw komentarz na "Ten cennik jest nieaktualny!"

koniec powiedz
koniec powiedz
koniec powiedz

Lub to samo, tylko z poleceniem select:

powiedz aplikacji "Wyszukiwarka"

Wybierz plik "Cennik" pulpitu
ustaw komentarz wyboru na "Ten cennik jest nieaktualny!"

koniec powiedz

Jak widać, do tej pory cała praca ze skryptami – pisanie i wykonywanie – odbywała się wyłącznie przy pomocy specjalnego edytora. Ta metoda jest dobra, gdy musisz utworzyć nowy skrypt lub przerobić stary. Ale do codziennego użytku nie jest to dobre - gdy otwierasz Edytor skryptów, gdy znajdujesz potrzebny skrypt na dyskach, mimowolnie myślisz - czy nie byłoby szybciej wykonać tę samą pracę ręcznie, bez żadnej automatyzacji? Programiści AppleScript zadbali o to - skrypty mogą być przechowywane nie tylko jako pliki tekstowe, ale także w postaci skompilowanej, w pełni nadającej się do wykonywania offline. Aby przetłumaczyć skrypt na kod wykonywalny, należy w edytorze skryptów wykonać polecenie Save As Run-Only (Zapisz jako program). W wyświetlonym oknie dialogowym (podobnym do tego, co widać na rys. 5), wybierz aplikację z listy rozwijanej; zresetuj checkbox Pozostań otwarty (Pozostaw otwarty - jeśli nie włączysz tej opcji, to po wykonaniu skrypt automatycznie zakończy swoją pracę, w przeciwnym razie pozostanie w pamięci komputera) oraz zaznacz checkbox Newer Show Startup Screen (Nie pokazuj ekran ładowania). Po wykonaniu wszystkich opisanych czynności, uruchomienie skryptu nie sprawi Ci żadnych trudności: wystarczy najechać na niego kursorem myszy i dwukrotnie kliknąć przycisk.


Ryż. 5. Zapisywanie skryptu jako programu wykonywalnego

Scenariusz trzeci i ostatni. Z pewnością wielu słyszało o zaletach tworzenia kopii zapasowych. A ci, którzy choć raz w życiu stracili wyniki swojej miesięcznej (w najgorszym przypadku przynajmniej tygodniowej) pracy, wiedzą na pewno, że lepiej poświęcić 15 minut każdego dnia na archiwizację potrzebnych plików, niż wyrywać włosy z głowy i posyp popiołem na monitorze. Ale z reguły nawet po utracie ważnych informacji ludzie nie zmieniają swoich przyzwyczajeń: mówisz, że ci się to przydarzyło – „To tyle, od dziś robię kopie wszystkich plików!”. I minie tydzień lub dwa - a programy typu "nie zawodzą" i nie ma wolnego czasu - "A po co mi ta kopia zapasowa! I tak będzie". Aby nieco ułatwić życie wszystkim, którzy chcą widzieć swoje pliki bezpiecznie i zdrowo, ale nie bardzo lubią pracować z programem StuffIt, napiszemy skrypt, który będzie codziennie archiwizował wszystkie potrzebne dane i umieszczał je na specjalnym dysku . Oto kod źródłowy takiego programu:

powiedz aplikacji "Wyszukiwarka"

Określ dysk i folder, w którym przechowywane są wszystkie pliki
-- do archiwizacji
ustaw myArhiveFolder na "Mac OS:Bieżąca praca:"
-- określ folder, w którym przechowywane są archiwa
ustaw myTargetFolder na "Dla archiwów:Publikuj archiwum:"
-- przypisz nazwę do przyszłego archiwum
-- (nazwa to aktualna data)
ustaw myFile na ciąg daty (bieżąca data) i ".sit"
-- utwórz pełną nazwę pliku (ścieżka + nazwa)
ustaw myArhiveFile na myTargetFolder i myFile

Jeśli plik o tej samej nazwie już istnieje
-- (tj. kopia zapasowa została wykonana dzisiaj)
-- po prostu zakończ skrypt
jeśli nie (istnieje (plik myArhiveFile)) to

Jeśli plik o podanej nazwie jeszcze nie istnieje,
-- następnie pobierz StaffIt Deluxe i zarchiwizuj,
-- i natychmiast wyładuj StuffIt z pamięci
powiedz aplikacji "StuffIt Deluxe"

Aktywuj
utwórz nowe archiwum z właściwościami (pathname:myArhiveFile)
rzeczy (alias myArhiveFolder) do archiwum 1
zamknij archiwum 1
zrezygnować

Podany skrypt upraszcza procedurę tworzenia kopii zapasowej, ale jeszcze nie tak bardzo, jak byśmy chcieli - aby rozpocząć archiwizację, trzeba będzie poszukać tego skryptu (na dyskach lub na pulpicie) i wykonać go. Aby w pełni zautomatyzować pracę, należy skompilować skrypt i zapisać go w folderze System / Shutdown Items (folder System / Shutdown Items). Teraz za każdym razem, gdy wyłączysz komputer, archiwizator automatycznie załaduje i zapisze wszystkie ważne pliki na specjalnym dysku. Należy zaznaczyć, że archiwizacja będzie wykonywana tylko raz dziennie, niezależnie od tego, czy komputer pracował 20 godzin z rzędu, czy restartował się co pół godziny – za pomocą operatora warunku jeśli koniec jeśli sprawdzamy, czy warto archiwizować, czy lepiej poczekać. Do następnego dnia.

Co następne?..

Po przeczytaniu o mocy AppleScript i stwierdzeniu, że skrypty są bardzo łatwe i dostępne nawet dla początkujących, możesz kontynuować odkrywanie tego narzędzia do automatyzacji. I tu czeka na Ciebie pierwsze rozczarowanie. Niestety, praktycznie nie ma informacji o AppleScript w języku rosyjskim: aby policzyć wszystkie publikacje, wystarczy palce jednej ręki. Dlatego do nauki języka skryptowego potrzebna jest również dobra znajomość języka angielskiego.

Istnieją dwa główne źródła informacji o technologii AppleScript. Pierwsza to oficjalna strona Apple Computer, a dokładniej sekcja witryny poświęcona wszystkim, co dotyczy skryptów: dokumentacja techniczna, samouczki, przykłady, kolekcje linków i wiele innych. Adres tej sekcji to http://www.apple.com/applescript/ . Gorąco polecam najpierw pobrać AppleScript Language Guide, dobrze ilustrowany samouczek, który zawiera wiele praktycznych przykładów (książka jest dostępna pod adresem http://developer.apple.com/techpubs/macosx/Carbon/pdf/AppleScriptLanguageGuide.pdf , rozmiar pliku - 2,6 MB). Drugie źródło, http://www.scripter.com, zawiera bogactwo materiałów dotyczących zarówno AppleScript, jak i innych alternatywnych języków skryptowych dla platformy Macintosh.

Ponadto, jeśli zdecydujesz się uporać z pisaniem skryptów, będziesz potrzebować dobrego środowiska narzędziowego — Edytor skryptów dostarczany z systemem Mac OS nadaje się tylko do prostych skryptów składających się z 20-30 wierszy kodu. W tym przypadku możemy polecić Scripter 2.5 firmy Main Event Software - edytor posiada tryb debugowania oraz przemyślany mechanizm wyświetlania słowników aplikacji. A jeśli zamierzasz tworzyć programy AppleScript, które będą miały własny interfejs użytkownika, równie dobrze możesz uzyskać FaceSpan 3.5 firmy Digital Technology – ta aplikacja skróci czas potrzebny na tworzenie menu ekranowych i okien dialogowych oraz unikaj długich i frustrujących majstrowania przy szkicach o fali milimetrowej.

Zamiast konkluzji

Pisanie skryptów to świetna zabawa. Przydatne jest pisanie skryptów. Pisanie skryptów jest nawet przyjemne. Chociaż oczywiście znacznie przyjemniej jest oddawać się upragnionemu bezczynności, w czasie, gdy „świeżo upieczony” scenariusz cierpliwie wypracowuje całą tygodniową rutynę.

Poświęć trochę czasu, poświęć kilka dni na naukę języka, napisz kilka skryptów, które ułatwią ci pracę, a przekonasz się, że AppleScript jest bardzo prostym, bardzo potężnym i bardzo elastycznym narzędziem. Chociaż czy powinniśmy spodziewać się czegoś innego od Apple?

AppleScript to potężny język programowania, którego początki sięgają systemu Mac OS 7. Jednak pomimo swojej dojrzałości, doświadczeni programiści Mac często krytykują AppleScript za to, że jest zbyt prosty, łatwy do nauczenia i zbyt podobny do zwykłego angielskiego.

Oczywiście chciałbyś, aby język komputerowy miał właśnie te cechy - jeśli oczywiście w ogóle potrzebujesz języka komputerowego. AppleScript to najprostszy język programowania, za pomocą którego możesz zautomatyzować komputer Mac, nawet jeśli jesteś prostym użytkownikiem, a nie informatykiem.

Programy AppleScript (nazywane skryptami lub skryptami) można uznać za roboty programowe. Prosty AppleScript może wykonać kilka przyziemnych zadań, takich jak tworzenie kopii zapasowej folderu Dokumenty. Bardziej złożony skrypt może obejmować kilka stron. W wydawnictwach profesjonalnych, gdzie AppleScript jest najbardziej popularny, skrypt może połączyć się przez Internet z dyskiem twardym fotografa, pobrać zdjęcie z określonego folderu, poprawić kolor w Photoshopie, wkleić wynik do określonego dokumentu układu, wydrukować zgrubny układ , wyślij powiadomienie e-mail do redaktora — a wszystko to odbywa się automatycznie.

Nawet nie wiedząc o tym, użytkownik stale korzysta z podstawowej technologii AppleScript. Wiele komponentów Maca komunikuje się zakulisowo za pomocą Apple Events, komunikatów, które przekazują instrukcje lub dane z programu do programu. Jeśli polecenie Pokaż oryginał zostanie zastosowane do aliasu lub polecenie Pobierz informacje zostanie zastosowane do pliku (folderu), zdarzenie Apple poinformuje Finder, jak na nie odpowiedzieć.

AppleScript jest lepszy od Automatora pod wieloma względami, nie tylko ze względu na jego moc. I jeszcze jedno: AppleScript to tak głęboki temat, że warto poświęcić mu osobną książkę. Ten rozdział to tylko pyszna przystawka: książka taka jak AppleScript: The Essential Guide byłaby siedmiodaniowym posiłkiem.

Rada Cały rozdział dotyczący AppleScript — który pojawił się w poprzednim wydaniu tej książki — można pobrać ze strony Brakujące płyty CD pod adresem www.missingmanuals.com.

Nie musisz pisać AppleScript, aby cieszyć się owocami tej technologii. Mac OS X zawiera dziesiątki skryptów, które są naprawdę przydatne i aby wykonać dowolny z nich, wystarczy wybrać jego nazwę w menu. Ten rodzaj „odtwarzania” AppleScriptu wymaga dokładnie takich umiejętności technicznych, jak naciśnięcie przycisku w windzie.

Możesz wypróbować niektóre z tych fajnych skryptów startowych, dodając menu skryptów do paska menu (Rysunek 7-16 po prawej).

Menu scenariuszy ma 16 gotowych kategorii, łączących około 100 scenariuszy; aby uruchomić skrypt, wystarczy wybrać jego nazwę. Oto lista najbardziej przydatnych i interesujących scenariuszy.

Rada Jeśli przytrzymasz klawisz Shift podczas wybierania nazwy skryptu w menu, Mac OS X przeniesie Cię bezpośrednio do lokalizacji skryptu w Finderze (na przykład w folderze Strona główna>Biblioteka>Skrypty). Co więcej, jeśli naciśniesz klawisz Opcja podczas wybierania nazwy, skrypt otworzy się w Edytorze skryptów, gdzie możesz go sprawdzić lub edytować.

To podmenu zawiera tylko skrypt Importowanie adresów do kopiowania nazw i adresów z programów Entourage, Outlook Express, Palm Desktop, Eudora, Claris Emailer lub Netscape do książki adresowej. Jeśli masz wielu znajomych, użyj tego skryptu, aby nie musieć ponownie wpisywać wszystkich ich nazwisk, numerów telefonów i adresów pocztowych. (Dołączony podfolder Address Importers oferuje skrypty do importowania z trzech określonych programów).

Podmenu Podstawy zawiera trzy przydatne skrypty związane z AppleScript: Pomoc AppleScript (otwiera przeglądarkę pomocy i wyszukuje słowo AppleScript); Witryna AppleScript (otwiera stronę AppleScript w przeglądarce internetowej) Open Script Editor (otwiera program Script Editor do czytania i edycji skryptów AppleScript).

Ten folder zawiera grupę skryptów ColorSync typu droplet (taki skrypt uruchamia się, jeśli przeciągniesz coś na jego ikonę) interesujących artystów, projektantów stron internetowych, wydawców itp.

W niektórych przypadkach po wybraniu skryptu z tego menu zostanie wyświetlony krótki komunikat informacyjny, a następnie okno dialogowe Otwórz, w którym można wybrać plik graficzny do przetworzenia.

Inni działają natychmiast; na przykład skrypt Mimic PC monitor dostosowuje kolory ekranu, aby ściśle odpowiadały nieco innym odcieniom na monitorze komputera z systemem Windows. Jest to bardzo przydatne, jeśli pracujesz nad

DOŚWIADCZONE KURSY
Sekrety menu skryptów
Menu skryptów wyświetla zawartość dwóch różnych folderów Skrypty: jeden to Strona główna>Biblioteka>Skrypty, a drugi znajduje się w głównym folderze Biblioteki. Scenariusze pobrane z osobistego folderu są oddzielone przerywaną linią w menu scenariuszy.

Te skrypty można nie tylko uruchamiać. Idealnie nadają się również do otwierania ich w edytorze skryptów (po prostu przez dwukrotne kliknięcie) i analizowania wiersz po wierszu, jak działają. Gdy zrozumiesz składnię, możesz skopiować fragmenty kodu i zmodyfikować je, aby były używane w swoich skryptach. (Edytor skryptów to program znajdujący się w folderze Aplikacje > AppleScript, który umożliwia tworzenie własnych skryptów).

Fotografię lub stronę internetową i chcesz wiedzieć, jak to będzie wyglądać w oczach nieoświeconych mas. (Aby przywrócić oryginalne kolory, przejdź do zakładki Kolor (Kolor) panel Wyświetlacz (moniory) w oknie Preferencje systemowe (Ustawienia systemowe).)

Wszystkie te scenariusze są związane z pracą w Finderze - powiedzmy, manipulowaniem plikami i oknami. Oto najbardziej przydatne:

Dodaj do nazw plików, Dodaj do nazw folderów. Skrypty te dołączają prefiks lub sufiks do nazwy każdego pliku lub folderu w przednim (aktywnym) oknie Findera (lub, jeśli nie ma otwartych okien, na pulpicie). Za pomocą tych skryptów możesz dodać słowo „wersja robocza”, „końcowa” lub „stara” do nazw wszystkich plików w folderze.

Zastąp tekst w nazwach elementów umożliwia wykonanie wyszukiwania zastępczego w nazwach plików, folderów lub obu. Jeśli jeden wydawca odrzucił twoją propozycję 45-rozdziałowej książki, ten skrypt może zmienić nazwy wszystkich 45 rozdziałów z „Historia podkładek pod mysz — propozycja losowych domów, rozdział 1” na „Historia podkładek pod mysz — propozycja Simona” i Schuster, rozdział 1”.

Przycinanie nazw plików, przycinanie nazw folderów. Jeśli popełniłeś błąd podczas uruchamiania skryptu Dodaj do nazw plików, zawsze możesz go naprawić za pomocą opcji Przytnij nazwy plików. Ten skrypt usuwa rozszerzenia plików, przyrostki lub przedrostki wybrane przez użytkownika.

Załóżmy, że właśnie utworzyłeś kilka nowych folderów jednocześnie. Mac OS X nazywa takie foldery „folderem bez tytułu”, „folderem bez tytułu 2” itd. Ale co, jeśli wygodniej będzie ci używać nazw „folder 1”, „folder 2” itd.? Uruchom skrypt Przytnij nazwy folderów; Wpisz bez tytułu w oknie dialogowym i kliknij OK.

Prawdopodobnie nie będziesz intensywnie używać skryptów akcji folderów, ponieważ dokładnie taki sam dostęp do operacji na folderach zapewnia kliknięcie folderu z wciśniętym klawiszem Control (lub wewnątrz jego okna)

Skrypty te pokazują, w jaki sposób można zautomatyzować niektóre zadania związane z czcionkami.

FontSync to szlachetna próba Apple rozwiązania starego problemu DTP. Skończyłeś więc tworzyć piękny biuletyn i zabierasz go do lokalnej drukarni, aby został wydrukowany na wysokiej jakości sprzęcie, tylko po to, by wyrzucić wydruki i zacząć wszystko od nowa – i to tylko dlatego, że czcionki nie wyglądają tak, jak chciałeś. Drukarnia nie dysponowała dokładnie czcionkami, których użyłeś do przygotowania dokumentu. Albo, co gorsza, czcionki miały dokładnie te same nazwy, ale zostały stworzone przez inną firmę i dlatego różniły się nieco od twoich pod pewnymi parametrami.

Ideą FontSync jest wcześniejsze powiadomienie użytkownika o ewentualnych niespójnościach. Skrypt Utwórz profil FontSync tworzy plik profilu FontSync w ciągu kilku minut. Ten dokument zawiera oszałamiającą ilość informacji o projekcie, odstępach i zawinięciach wszystkich czcionek zainstalowanych w systemie. W drukarni taki dokument można przetworzyć za pomocą dodatkowego skryptu Match FontSync Profile. Skrupulatnie zidentyfikuje różnice w czcionce między komputerem Mac użytkownika a maszynami drukarni.

Oczywiście ta technologia w domyśle zakłada zbyt wiele: że komputery Macintosh są zainstalowane w drukarni, że poradzą sobie z FontSync, a także, że użytkownik nie zapomni najpierw utworzyć i przenieść profilu FontSync do drukarni.

IChat przeszedł znaczące przeprojektowanie w 10.5 - Apple dodał wiele interesujących (choć czasem bezużytecznych) funkcji. W szczególności stało się możliwe uruchamianie skryptów AppleScript jako sygnałów w przypadku wystąpienia zdarzenia związanego z kontaktami. Na przykład możesz automatycznie akceptować zaproszenia do czatu od poszczególnych kontaktów, a nawet odpowiadać na nie gotowym powitaniem. Możesz nawet sterować odtwarzaniem muzyki na jednym Macu, wprowadzając polecenia w oknie iChat innego Maca w domu. Szczegóły w rozdziale 21.

Te dwa scenariusze są mało przydatne. Bieżąca data i godzina wyświetla bieżącą datę i godzinę w oknie dialogowym wyposażonym w przycisk Schowka do kopiowania informacji gotowych do wklejenia. Próbnik czcionek wyświetla stronę z listą czcionek (nazwanych w skrypcie) zainstalowanych z systemem Mac OS X. (Skrypt stał się mniej przydatny, ponieważ Książka z czcionkami ma podobne wbudowane polecenia drukowania).

Na szczególną uwagę zasługują dwa scenariusze w tym menu. Aktualna temperatura według kodu pocztowego pokazuje, jaka jest temperatura za oknem - Fahrenheita i Celsjusza. To kolejny powód, aby nie wychodzić z domu przez cały dzień.

Stock Quote otrzymuje notowania giełdowe wybranej spółki z 20-minutowym opóźnieniem. Nie tak wspaniałe, jak uzyskiwanie wycen w czasie rzeczywistym, ale to nic nie kosztuje.

Większość skryptów w tym podmenu rozwiązuje pewne specyficzne zadania, takie jak liczenie wiadomości e-mail w skrzynce odbiorczej lub zakładanie nowego konta. Najzabawniejszy ze wszystkich jest oczywiście skrypt Crazy Message Text (rysunek 7.17).

Skrypty w tym folderze umożliwiają nawigację do specjalnych folderów Findera — bezpośrednio z menu, z dowolnego programu. Jeśli folder, który chcesz otworzyć, nie ma przypisanego niestandardowego skryptu, wybierz go z listy w skrypcie Otwórz folder specjalny.

Rada Ci, którym nie przeszkadza konieczność edytowania tego skryptu za pomocą Edytora skryptów, mogą go zmodyfikować, aby umożliwić zaznaczanie i otwieranie więcej niż jednego folderu w tym samym czasie (np. za pomocą skrótu -kliknij). Wszystko, co musisz zrobić, to wpisać wielokrotne zaznaczenia dozwolone zaraz po wybraniu folderu do otwarcia: (na końcu linii, mniej więcej na początku drugiej trzeciej części skryptu). Nie zapomnij zapisać zmian.

Skrypty te mają zademonstrować moc AppleScript w drukowaniu i tworzeniu dokumentów PostScript i PDF.

Jedna z nich, Print Window, zamyka wieloletnią lukę w systemie Mac OS X. Powinna wydrukować tekstową listę zawartości dowolnego wybranego folderu. (Oczywiście, jest to trochę błędne.)

Według zespołu O tych skryptach te 48 gotowych skryptów pomaga pisać szybciej i dokładniej, ponieważ fragmenty kodu są wolne od literówek i błędów składniowych. W miarę postępów będziesz mógł dodawać tutaj własne skrypty z fragmentami kodu dostosowanymi do skryptów, które zwykle piszesz, aby Twoja praca była jeszcze bardziej wydajna. (Kiedy tworzysz skrypt w Edytorze skryptów, wstawiasz te fragmenty kodu do tekstu za pomocą kombinacji kliknięcia z wciśniętym klawiszem Control i wyboru z menu skrótów).

W większości skrypty wykonują swoją pracę cicho i niezauważalnie. Ale jeśli chcesz zautomatyzować program, który nie rozumie zwykłych poleceń AppleScript, skrypty mogą „zarządzać” nim ręcznie, symulując wybory menu, naciśnięcia przycisków i tak dalej.

Notatka To narzędzie, zwane skryptami interfejsu użytkownika (UI), będzie działać dopiero po otwarciu konsoli Universal Access programu Preferencje systemowe i zaznaczeniu pola wyboru Włącz dostęp dla urządzeń pomocniczych.

Nie ma sensu uruchamiać skryptów z podmenu Skrypty elementów interfejsu użytkownika w takim stanie, w jakim są: są to tylko próbki demonstrujące poprawną składnię.

Ten ostatni zestaw skryptów zapewnia szybki dostęp do niektórych popularnych stron internetowych. Wyjątkiem jest skrypt Pobierz mapę pogody, który pobiera aktualną mapę pogody dla kontynentalnych Stanów Zjednoczonych, zapisuje ją na pulpicie jako weathermap.jpg, a następnie otwiera ją w podglądzie.

Rada Do menu można dodawać skrypty, pliki, a nawet adresy internetowe, a następnie uruchamiać je wszystkie z paska menu. Wszystko, co przeciągniesz do folderu Biblioteka>Skrypty, automatycznie pojawi się w menu Skrypty.

Z drugiej strony, jeśli zaczniesz dodawać wiele własnych elementów do menu Skrypt, wygodniej będzie usunąć z niego próbki z Apple. Bez problemów. Otwórz narzędzie AppleScript i odznacz Pokaż skrypty komputera.

Praca z gotowymi skryptami AppleScript

Podczas pracy z menu skryptów szybko zorientujesz się, że na komputerze Mac masz dziesiątki bezpłatnych wbudowanych skryptów. Wspaniałą rzeczą jest to, że możesz zrozumieć, jak działają, a nawet je modyfikować, gdy stopniowo uczysz się pisać własne skrypty AppleScript. Możesz nawet kopiować i używać całych fragmentów skryptów Apple we własnych skryptach.

Najpierw oczywiście musisz otworzyć skrypt. Najprostszym sposobem, aby to zrobić, jest otwarcie menu skryptu, wybranie żądanej kategorii i kliknięcie nazwy żądanego skryptu z wciśniętym klawiszem Option.

Możesz rozpocząć naukę AppleScript, oglądając prosty skrypt. Otwórz na przykład skrypt Nowe okno aplikacji (w kategorii Skrypty nawigacji), klikając jego nazwę z wciśniętym klawiszem Option. W rezultacie Edytor skryptów otworzy plik w nowym oknie (rys. 7.18).

Oto jak działa ten skrypt:

Powiedz aplikacji „Finder” informującej Mac OS X, który program powinien wykonać następujące polecenia.

Aktywuj przenosi Finder do przodu — tak, jakbyś kliknął jego ikonę w Docku.

Otwórz folder „Aplikacje” na dysku startowym nakazuje Finderowi otwarcie nowego okna wyświetlającego folder Aplikacje na głównym dysku twardym.

End tell mówi Finderowi, aby zajął się swoimi sprawami i zignorował dalsze polecenia z twojego skryptu.

Aby przetestować skrypt, kliknij przycisk Uruchom lub naciśnij -R.

Rada Możesz edytować ten skrypt, aby lepiej odpowiadał Twoim potrzebom. Spróbuj na przykład zamienić „Aplikacje” na „Użytkownicy”, aby skrypt otworzył folder Użytkownicy.

Twórz własne skrypty AppleScript

Mac OS X zawiera dziesiątki programów — jest ich tylko kilka! Dobra, czegoś brakuje - na przykład metronom. Jak zamierzasz grać na pianinie w stałym rytmie, nie słysząc rytmicznych trzasków komputera Mac? Oczywiście w mgnieniu oka metronom GarageBand pomoże, ale to strzelanie z armaty do wróbli.

Zamiast tego możesz użyć AppleScript. Otwórz nowy dokument w Edytorze skryptów (Plik (Plik)> Nowy (Nowy) lub -N) i wpisz następujące polecenie:

wyświetl okno dialogowe „Witamy w Metronomie AppleScript”

ustaw bpm na zwrócony tekst (wyświetl okno dialogowe ¬

„Ile uderzeń na minutę?” domyślna odpowiedź 60)

ustaw pauzę między dźwiękami na (60/bpm)

opóźnienie pauzy między dźwiękami

Notatka Nie musisz drukować znaku ¬. Tak mówią programiści: „Powinno to być w jednej linii, ale szerokość strony była niewystarczająca”.

Po uruchomieniu tego skryptu pojawi się okno dialogowe z pytaniem, ile uderzeń na minutę powinien liczyć metronom. Wprowadzona liczba (na przykład 120) jest przechowywana w zmiennej pamięci tymczasowej w skrypcie o nazwie bpm.

Następnie skrypt oblicza przerwę między sygnałami dźwiękowymi i zapisuje ten ułamek sekundy w zmiennej pauseBetweenBeeps. Jeśli kazałbyś skryptowi wydać dźwięk, powiedzmy 120 razy na minutę, wtedy pauseBetweenBeeps byłoby ustawione na 0.5, ponieważ między dźwiękami powinna być przerwa półsekundowa.

Na koniec skrypt tworzy nieskończoną pętlę: sygnał dźwiękowy, pauza na określony czas, a następnie powtórz.

Kliknij przycisk Uruchom, aby przetestować swój skrypt, a gdy masz wystarczająco dużo dźwięków, kliknij przycisk Zatrzymaj.

MOJE ULUBIONE TECHNIKI
Załączniki pulpitu jednym kliknięciem
Oto mała sztuczka z Automatorem, która może być ratunkiem dla każdego, kto musi często wysyłać dokumenty pocztą e-mail. (Modeluje bardzo przydatne polecenie Wyślij do, które można znaleźć w menu skrótów na komputerach z systemem Windows.)

Utwórz proces w Automatorze, wykonując tylko dwa kroki: Pobierz wybrane elementy Findera (w kategorii Finder) i Nowa wiadomość pocztowa (w kategorii Mail).

Jeśli zawsze wysyłasz pliki do tego samego miejsca docelowego — na przykład do swojego szefa — możesz nawet wstępnie ustawić adres na pasku przetwarzania Automatora. Jeśli temat i treść wiadomości powtarzają się za każdym razem, można je również ustawić z wyprzedzeniem.

Teraz wybierz Plik (Plik)> Zapisz jako wtyczkę (Zapisz jako moduł). Nazwij proces Email To lub cokolwiek chcesz.

Od tego momentu możesz wysłać dokument z Findera, klikając go z wciśniętym klawiszem Control i wybierając Automator>Email This z menu, które się pojawi.

Zwycięstwo! Mac OS X uruchamia program Mail i tworzy wiadomość wychodzącą, do której jest już dołączony plik.

Bezpłatna wskazówka: jeśli wstawisz inną akcję Utwórz archiwum (z kategorii Finder) między te dwie akcje, polecenie menu skompresuje również plik (lub folder) do pliku .zip przed wysłaniem go pocztą!

Rada Będzie jeszcze fajniej, jeśli zaznaczysz Preferencje systemowe (Ustawienia systemu)> Uniwersalny dostęp (Uniwersalny dostęp)> Słuch (Słuch)> Migaj ekran, gdy pojawi się dźwięk ostrzeżenia (Migaj ekran, gdy pojawi się dźwięk ostrzeżenia) w systemie ustawienia. Teraz, gdy twój skrypt jest uruchomiony, ekran będzie migał wraz z dźwiękiem. Jeśli nagrywasz muzykę, wycisz komputer Mac: będziesz mieć wizualny metronom, ale dźwięk nie będzie słyszalny.

Porównanie AppleScript i Automatora

AppleScript może być używany na setki sposobów — automatyzując procesy zbyt złożone dla Automatora, zarządzając programami, których Automator nie widzi, oraz programując takie rzeczy, jak pętle poleceń, których Automator nie może wykonać.

Jeśli traktujesz AppleScript tylko jako zamiennik Automatora, tracisz dużo mocy. W rzeczywistości AppleScript zapewnia funkcje, których Automator prawdopodobnie nie będzie miał za 10 lat: jest to znacznie bardziej zaawansowane narzędzie.

Automator jest dobry do prostych zadań. Jeśli potrzebujesz AppleScript do automatyzacji komputera Mac, nie rozpaczaj. Przyjmujesz naprawdę potężne narzędzie. (Możesz nawet połączyć je i osadzić AppleScripts w procesach Automatora za pomocą akcji Uruchom AppleScript.)

Sukcesy w automatyzacji!

Jest to język programowania, technologia należąca do firmy, najczęściej wykorzystywana do automatyzacji przepływów pracy i umożliwiająca komunikowanie się programów ze sobą. W jaki sposób 🙂 .

Nie zamierzam otwierać serii artykułów na ten temat: „Applescript for manekinów. Krok po kroku” z jednego prostego powodu - materiałów na ten temat w sieci jest mnóstwo. I żeby nie przepisywać podkładu po swojemu i nie wymyślać koła na nowo, wskażę tylko kilka źródeł, które wydawały mi się najbardziej odpowiednie. Według niego ja sam będę oświecony.

Niemal każdy autor pisze, że język skryptowy jest na tyle prosty, że może w nim pisać każdy użytkownik, który choć trochę zna tradycyjny angielski. I nie trzeba znać wszystkich aspektów programowania obiektowego. Jest w tym trochę prawdy, bo w scenariuszu

powiedz aplikacji "Wyszukiwarka"

wyświetl okno dialogowe "Witaj szaleńcy!"

trudno nie zrozumieć, jaki i od jakiego programu jest wymagany. Ale nie do końca zgadzam się z OOP. Jeśli napiszesz tak bezużyteczne rzeczy, jak sygnał dźwiękowy lub powiesz „Kim jest ten mężczyzna?” , to tak, możesz nie wiedzieć, czym jest cykl i klasa, a nawet to jest wciąż dalekie od OOP. Ale jeśli chcesz nauczyć się pisać programy lub skrypty ułatwiające codzienne zadania sobie lub jakiejś bazie danych, to lepiej poznaj czym są „Dziedziczenie” i „Enkapsulacja”.

Gdzie zacząć?

Wszystko jest proste i na wyciągnięcie ręki. Uruchom Edytor skryptów i najpierw przejdź do pomocy. Jeśli korzystasz z wersji rosyjskojęzycznej, nie powinno być żadnych trudności.

Dla kogo książka?

Jeśli standardowa instrukcja nie wystarczy lub jest napisana w taki sposób, że wszystko nie jest dla Ciebie od razu jasne, możesz zwrócić się do książek (elektronicznych lub drukowanych - Ty decydujesz). Często przywołuje się książkę „AppleScript Language Guide”. Okazuje się, że jest do niego link w pomocy Edytora skryptów.

Nie sposób nie brać pod uwagę innych zasobów, które oferuje nam sama firma deweloperska. Istnieje książka dla początkujących „AppleScript 1-2-3” lub możesz ją kupić o tej samej nazwie.

Większe jest lepsze

Dlaczego nie wziąć pod uwagę zasobów internetowych? W końcu tutaj znajdziesz najświeższe, a czytelnicy częściej i szybciej reagują na opinie. Poszukamy literatury w przystępnym języku.

Oprócz różnych artykułów przeglądowych można znaleźć „” w Internecie. Powiedziałbym, że są dla tych, którzy interesują się applescriptem. Książka jest dla początkujących, jest napisana prosto, jest kilka stron, ale przykładów jest mnóstwo. Dokładnie to, co jest potrzebne. Tam możesz również pobrać książkę o nazwie „”.

Rosyjskie podręczniki są dobre, ale bez podstawowej znajomości języka angielskiego trudno będzie, delikatnie mówiąc, nauczyć się języka skryptowego.

Z artykułów zwróciłbym uwagę na ten. Podobał mi się opis niektórych podstawowych zasad samego języka skryptowego, „krótkie i jasne”.

Nie zapomnij także o różnych forach, na których użytkownicy wymieniają się opiniami, doświadczeniami i gotowymi scenariuszami. Osobiście dodaję do zakładek ten.

Zanim zaczniesz szukać i pobierać materiały, polecam zdecydować się na cel. W celu ogólnego rozwoju możesz zapoznać się z niektórymi źródłami. Aby napisać naprawdę przydatne skrypty, będziesz musiał poświęcić kilka dni/tygodni/miesięcy (w zależności od twoich umiejętności i wolnego czasu). Jest bardzo ciekawa i wciągająca.

Nie potrafię teraz ocenić szans na otrzymanie przez osobę pracy jako programista lub tester applescriptów. Najprawdopodobniej niezbyt duży. Ale jeśli czujesz, że to twoje - śmiało. Jeśli widzisz cel i nie widzisz żadnych barier, nie ma znaczenia, kto go potrzebuje (przynajmniej ty). Prawdziwy talent zawsze będzie doceniany. I masz szansę robić to, co kochasz.

Czy korzystasz już z AppleScript? Nie wiesz co to jest? Czy uważasz, że to ci się nie przyda? A może wspomnienie szkolnych lekcji informatyki powoduje atak alergii na samo wspomnienie słowa „program”? Więc dobrze zrobiłeś, otwierając ten artykuł.

Mam nadzieję, że pomoże ci to zrozumieć to bardzo przydatne narzędzie, a czas spędzony na czytaniu zaprocentuje później.

Często podczas pracy z konkretnym programem musimy wielokrotnie wykonywać te same czynności: naciskać te same klawisze, wybierać to samo polecenie z menu, wpisywać te same wartości w oknach dialogowych i przychodzi AppleScript. Sekwencję naszych operacji opisujemy w formie programu „skryptowego”, uruchamiamy go i - spokojnie pijemy kawę, od czasu do czasu sprawdzając, czy zakończyło się przetwarzanie ostatniego, trzech tysięcy siedemset osiemdziesiątego dziewiątego pliku. Coś podobnego istnieje w postaci plików DOS BAT lub skryptów powłoki UNIX. Ale AppleScript ma ważną zaletę: zarówno Finder, jak i duża liczba aplikacji „rozumieją” ten język, a skrypt ma dostęp do nich po kolei.

Język, którego będziemy używać (nazywany również AppleScript) jest bardzo zbliżony do zwykłego angielskiego. Na przykład skrypt może wyglądać tak:

powiedzieć aplikacja "Wyszukiwarka"
robić
koniec powiedz

Myślę, że wszyscy rozumieli, co by zrobił. Ale aby nauczyć się pisać własne skrypty, będziesz musiał zrozumieć niektóre koncepcje.

Obiekty, nieruchomości, wydarzenia...

AppleScript to język zorientowany obiektowo. Oznacza to, że wszystko, co „istnieje” w twoim komputerze, bierze pod uwagę przedmioty(obiekty). Obiekt może składać się z innych obiektów, być zawarty w innym przedmiocie, odwoływać się do innego przedmiotu. Na przykład Finder jest obiektem. Posiada obiekty "podrzędne" - foldery, pliki, okna. Edytor Tex-Edit posiada obiekt tekstowy, składający się ze słów, linii, akapitów itp. Znajomość relacji między obiektami (ich hierarchii) jest bardzo ważna, ponieważ polecenie jest przekazywane „wzdłuż łańcucha”. Istnieje rodzaj „pionu mocy”: wydajemy polecenie Finderowi, on - folderowi, ten - folderowi w nim zagnieżdżonemu i tak dalej, aż dotrze do żądanego pliku. A „sprawozdanie z wyników” ponownie będzie podążać tym samym łańcuchem – w przeciwnym kierunku.

Tworzą się obiekty tego samego typu (na przykład wszystkie foldery) Klasa(klasa). Każdy przedmiot ma jakiś zestaw nieruchomości(właściwości), które odróżniają go od innych. Na przykład każdy plik ma nazwę, etykietę, typ, datę utworzenia, wersję i kilkanaście cech. Skrypt może zmienić niektóre z nich, niektóre można tylko przeczytać.

Jedna klasa (zwana "potomek") może dziedziczyć właściwości innej klasy ( "przodek"). Na przykład zarówno foldery, jak i pliki mają wspólnego przodka - element (element).

Teraz spójrzmy na nasz przykład, nieco go rozszerzając:

- dowolny tekst pisany po „dwóch minusach”,
- jest uważany za komentarz;
- komputer nie zwraca na to uwagi
powiedzieć aplikacja "Wyszukiwarka"
- słowo tell rozpoczyna grupę komend,
- dotyczy jednego obiektu
robić nowy folder na pulpicie z właściwościami (nazwa: "My!", indeks etykiety: 2)
koniec powiedz - i tak kończy się grupa komend
powiedzieć aplikacja "Wyszukiwarka" powiedzieć pozycja "Mój!"
otwarty
ustawić jego nazwa do"Tylko dla mnie"
koniec powiedz

Najpierw mówimy Finderowi, aby utworzył nowy obiekt folderu znajdujący się w tabeli. Niektóre właściwości są ustawiane w poleceniu (nazwa folderu i jego kolorowa etykieta), reszta zostanie domyślnie przypisana przez komputer. Następnie mówimy Finderowi, aby nakazał swojemu folderowi (i tylko w ten sposób: „mój wasal wasal nie jest moim wasalem”), aby otworzyć i zmienić nazwę.

Ale nadszedł czas, aby przejść od teoretycznego rozumowania do czegoś bardziej namacalnego. Czas uruchomić Edytor skryptów.

Edytor skryptów

Stworzono kilka programów do pracy z AppleScript, wśród których znajdują się bardzo zaawansowane narzędzia programistyczne. Następnie prawdopodobnie zdobędziesz jeden z nich. Ale do wstępnej znajomości wystarczy nam edytor będący częścią Mac OS.

Okno Edytora skryptów podzielone jest na dwie części: komentarz jest pisany na górze (jest wyświetlany na ekranie przed wykonaniem skryptu), a program jest pisany na dole. Spróbujmy wpisać nasz przykład (oczywiście możesz się obejść bez moich komentarzy). Następnie kliknij przycisk „Sprawdź składnię”. Jeśli popełniłeś jakiś błąd, pojawi się okno z wyjaśnieniem. Ale najprawdopodobniej wszystko będzie dobrze - a po krótkiej przerwie tekst nieco zmieni swój wygląd. Jaką czcionkę różne elementy skryptu zostaną podświetlone w tym przypadku można skonfigurować za pomocą polecenia „AppleScript Formatting” z menu „Edycja”. Teraz możesz kliknąć przycisk „Uruchom”. Zadziałało?

Napisany skrypt można zapisać na różne sposoby: albo tylko oryginalny tekst(Tekst) lub już skompilowany skrypt(Compiled Script) - gotowy do wykonania przez edytor skryptów lub inne programy, wreszcie - w postaci samodzielnego (przypis: oczywiście nie do końca - bez zainstalowanego AppleScript nic nie da) program apletowy(Podanie). Możesz zrobić skrypt "tylko do wykonania" (tylko do uruchomienia). Tylko nie zapomnij w tym przypadku zapisać - dla siebie - i oryginalnego pliku. W przeciwnym razie nie tylko konkurenci chcący naruszyć Twoje prawa autorskie, ale także Ty sam nie będziesz mógł dostać się do jego kodu źródłowego.

Słowniki, słowniki, słowniki...

„No dobrze”, pewnie myślisz, „korzystanie z edytora jest łatwe, czytanie gotowych skryptów też nie jest trudne. Ale jak je piszesz? Skąd wziąć te wszystkie klasy, polecenia, właściwości?” Odpowiedź jest prosta: trzeba spojrzeć słownik. Każdy program obsługujący pracę z AppleScript, a także ScriptingAddition (o „dodatkach” porozmawiamy później) zawiera krótki opis wszystkich swoich obiektów i rozpoznanych poleceń. Możesz przeglądać ten słownik bezpośrednio z edytora skryptów - wybierając "Otwórz słownik" z menu "Plik" lub przeciągając żądany program na obraz edytora.

Programy Macintosh mogą obsługiwać AppleScript na trzech różnych poziomach.
Skryptowalny- program może wykonywać polecenia opisane w formie skryptu.
do nagrywania- istnieje możliwość nagrywania poleceń wykonywanych w programie. Stwórzmy nowy skrypt, rozpocznijmy nagrywanie (przyciskiem „Nagraj”), wykonujmy np. ręcznie niezbędne czynności w Finderze, zatrzymajmy nagrywanie („Zatrzymaj”). To wszystko. Dlatego bardzo wygodne jest przygotowywanie skryptów.
dołączony- skrypt można wykonać bezpośrednio z programu, będąc "dołączonym" do menu lub dowolnego obiektu w oknie. Przykłady takich programów: AppleWorks, Tex-Edit, FileMaker Pro.

Otwórzmy na przykład słownik Findera.

Po lewej stronie zobaczysz listę wszystkich „pojęć” zdefiniowanych w programie. Zwróć uwagę, że niektóre z nich są zapisane kursywą. To są przedmioty. Wszyscy inni to zespoły. Klikając żądane słowo, możesz przeczytać krótkie odniesienie.

Czego możesz się na przykład dowiedzieć o „Pojemniku”? Najpierw widzimy: „Kontener klasy: Element, który zawiera inne elementy”. Oznacza to, że jest to element, który zawiera inne elementy. A jeśli spojrzysz na opisy kilku następnych klas, stanie się jasne, że „kontener” to pojęcie, które obejmuje dyski, foldery oraz tabelę (komputer stacjonarny) i kosz (kosz). Ma wspólne właściwości tych, pod wieloma względami podobnych przedmiotów. A w „drzewie genealogicznym” – hierarchii klas – jest ich przodek.

Czytaj. „Forma mnoga: pojemniki”. Liczba mnoga? Czy uczymy się gramatyki angielskiej? Tak i nie. Wspomniałem już, że AppleScript jest jak najbardziej zbliżony do języka naturalnego. A jeśli chcemy przetworzyć wszystkie obiekty danej klasy, to możemy napisać, tak jak powinno być w języku angielskim, albo „every container” albo „containers”.

Jak już wiesz, obiekt może zawierać inne obiekty. Które z nich i jak się od siebie różnią, opisano w kolejnej sekcji słownika - „Elementy” (Elementy). Kontener, jak widać, może zawierać obiekty półtora tuzina różnych klas, na przykład inne kontenery, foldery, pliki dokumentów i programów itp. A konkretny element klasy można określić albo nazwą (poprzez nazwa) lub według numeru seryjnego (według indeksu numerycznego).

No i wreszcie ostatnia sekcja to „Właściwości” (Właściwości). Tutaj po pierwsze widzimy, że klasa „Kontener” jest następcą klasy „Element” ( item ), czyli posiada wszystkie swoje właściwości. Ale ta klasa ma też kilka własnych. Uwaga: niektóre z nich są oznaczone „” (tylko do odczytu), tych właściwości nie można zmienić za pomocą polecenia AppleScript.

Zobaczmy teraz, jak polecenia są opisane w słowniku. Na przykład weźmy "Make" (tworzenie) znane już z przykładów skryptów. U góry strony - cel polecenia (utworzenie nowego elementu). Następnie - jak jest napisane (składnia) i jakie ma parametry. Zwróć uwagę, że niektóre parametry są ujęte w nawiasy kwadratowe. Więc w słowniku mają na myśli opcjonalny opcje. Komponując skrypt możemy się bez nich obejść, ale jeśli z nich korzystamy, nie musimy umieszczać żadnych nawiasów. Kończy pomoc dla polecenia, określając je wynik(wynik). W naszym przykładzie będzie to „odniesienie” (odniesienie) do utworzonego obiektu.

Dobrze. Możesz już spróbować napisać prosty skrypt. Więc…

O stwórco!

Myślę, że wiesz, że każdy plik na Macintoshu ma dwie cechy — typ i kod twórcy — które pozwalają Finderowi zdecydować, jak postępować z tym plikiem. Nie jest tajemnicą, że często – na przykład po transmisji przez Internet – te atrybuty są tracone. Oczywiście istnieje wiele programów, które mogą je zmienić. Spróbujmy jednak stworzyć własne narzędzie, używając tylko tego, co jest już zawarte w Mac OS.

Zacznijmy od najprostszej opcji. Załóżmy, że musimy przypisać plik letter.txt znajdujący się w tabeli, przypisać typ „TEKST” i kod twórcy „ttxt” (SimpleText).

Wybierz obiekt pliku w słowniku Findera. Znajdujemy potrzebne nam właściwości: typ pliku i typ twórcy. Aby zmienić wartość właściwości, użyj „setraquo; (zainstalować). Cały skrypt powinien więc wyglądać mniej więcej tak:

powiedzieć aplikacja "Wyszukiwarka" powiedzieć plik "litera.txt"
ustawić jego typ pliku do"TEKST"
ustawić jego typ twórcy do"tekst"
koniec powiedz

Lub tak:

powiedzieć aplikacja "Wyszukiwarka"
ustawić Typ pliku z plik "litera.txt" do"TEKST"
ustawić typ twórcy z plik "litera.txt" do"tekst"
koniec powiedz

Tak więc, jak widać, możesz albo nakazać plikowi zmianę jego (jego) właściwości (w tym przykładzie słowo „its” można pominąć, ponieważ cel polecenia jest jednoznacznie określony nawet bez niego), albo - program Finder może zmienić właściwości podrzędnego obiektu.

Świadomie ustawiam warunek, aby plik znajdował się na pulpicie. W przeciwnym razie potrzebowaliśmy dłuższego „łańcucha” podrzędnych obiektów (coś w rodzaju „polecenie aplikacji „Finder”, aby powiedział dyskowi „Macintosh HD”, aby powiedział folderowi „lekcja”, aby powiedział plikowi „letter.txt” ). Lub – w przypadku drugiej wersji scenariusza – wskazówka Pełna ścieżka: "plik "Macintosh HD:lesson:letter.txt"" (przypominam: ścieżka w Mac OS jest pisana dwukropkami).

Cóż, scenariusz jest napisany. On pracuje. Ale szczerze mówiąc, nie ma z tego żadnych korzyści - w końcu przy każdym kolejnym pliku trzeba zmienić tekst samego skryptu. Wow, ułatwiliśmy pracę! Musimy ulepszyć nasz program. Nauczmy go pytać użytkownika, który plik ma przetworzyć. Otwórz słownik Findera, spójrz i oto one! Nic odpowiedniego. Czy Apple popełnił taki błąd? Zupełnie nie…

„Nie masz tego samego, ale z guzikami z masy perłowej?”

Architektura Open Script Architecture (OSA - Open Script Architecture) pozwala na zdobycie niemal każdego niezbędnego elementu języka. Oczywiście, jeśli ktoś pofatygował się pisać "dodatek"(Dodatek do skryptów lub OSAX), który opisuje taki obiekt i odpowiadające mu polecenia. Te dodatki znajdują się w folderze Scripting Additions znajdującym się w folderze System (dawniej w Rozszerzeniach). Każdy skrypt może z nich korzystać, niezależnie od tego, jakim programem aktualnie steruje.

Otwórzmy słownik dodatków standardowych (aby szybko przejść do folderu dodatków do skryptów, w oknie dialogowym Otwórz słownik znajduje się specjalny przycisk). Oto ona - polecenie „wybierz plik” (wybierz plik). Efektem jego pracy będzie link do pliku wybranego przez osobę w standardowym oknie dialogowym Otwórz. Przechowamy ten link w zmiennej, którą nazwiemy np. MyFile.

Nasz skrypt będzie wyglądał tak:

powiedzieć aplikacja "Wyszukiwarka"
ustawić Mój plik do Wybierz plik
ustawić Typ pliku z Mój plik do"TEKST"
ustawić typ twórcy z Mój plik do"tekst"
koniec powiedz

W pełni funkcjonalne oprogramowanie. Ale czy można to uczynić wygodniejszym? Po co uruchamiać skrypt osobno, a potem wybrać nazwę pliku w oknie dialogowym - czy nie byłoby lepiej użyć metody Drag'n'Drop? Wszystko jest w naszej mocy!

Pisanie kropelki

Co więc chcemy uzyskać i jak to osiągnąć.

  1. Program powinien działać niezależnie od edytora skryptów. Dzięki temu wszystko jest jasne, już wiemy, że do tego trzeba go zapisać jako aplet.
  2. Celem skryptu jest zmiana właściwości danego pliku. Ta część jest już gotowa.
  3. Plik „wyciągnięty” z obrazu skryptu powinien zostać przetworzony. Tu zaczyna się zabawa. Z obiektami „żyjącymi” w naszym komputerze, ciągle dzieją się różne rzeczy. wydarzenia. Na przykład plik można przenieść, skopiować lub otworzyć. Program - uruchom, wykonuj dowolne polecenia lub nic nie rób, w końcu - koniec. Aby obiekt „wiedział”, jak zareagować na określone zdarzenie, potrzebny jest specjalny podprogram - "treser"(treser). Gdy pliki, foldery lub dyski zostaną upuszczone do apletu, Finder wysyła do niego komunikat z poleceniem „Otwórz” oraz listę „rzuconych” obiektów. Do tego zdarzenia będziemy musieli napisać handler.

W najprostszym przypadku będzie to wyglądać tak:

na otwórz listę plików - słowo "on" uruchamia procedurę obsługi zdarzenia
- na początku skrypt działa sam, nie wpływając na żadne programy
ustawić Mój plik do przedmiot 1 z Lista plików
powiedzieć aplikacja "Wyszukiwarka" - teraz nakazujemy Finderowi
ustawić Typ pliku z Mój plik do"TEKST"
ustawić typ twórcy z Mój plik do"tekst"
koniec powiedz
koniec otwarty - nie zapomnij zaznaczyć, że przewodnik się zakończył

Do tymczasowego przechowywania listy użyliśmy zmiennej FileList. Zmienne można nazywać dowolną kombinacją liter łacińskich, ale jest to pożądane, aby po nazwie można było zrozumieć, co oznacza ta zmienna.

Jak widać, pierwszy element z listy przekazanej podczas uruchamiania skryptu jest przetwarzany. I reszta? Nasz program po prostu nie zwraca na nie uwagi. Nietrudno zgadnąć, że kolejnym krokiem na drodze do doskonałości będzie przetwarzanie całej masy plików na raz.

Raz, raz, jeszcze raz...

Do tej pory wszystkie polecenia naszych skryptów były wykonywane pojedynczo w kolejności ich zapisywania. Teraz musimy powtórzyć te same czynności kilka razy z rzędu. Będziemy musieli zorganizować specjalną strukturę - cykl. AppleScript ma do tego wiele poleceń sterujących. Możesz powtórzyć czynności z góry określoną liczbę razy lub wykonywać je do momentu spełnienia określonego warunku. Ale prawie każdy język programowania ma takie cykle. W naszym zadaniu idealna jest kolejna – „powtórz dla każdego elementu listy”. Dzięki temu skrypt przyjmie następującą postać:

na otwórz listę plików
powtórz z Mój plik w Lista plików - tak się pisze początek cyklu
powiedzieć aplikacja "Wyszukiwarka"
ustawić Typ pliku z Mój plik do"TEKST"
ustawić typ twórcy z Mój plik do"tekst"
koniec powiedz
koniec powtarzania - koniec struktury kontrolnej musi być zaznaczony
koniec otwarty

Czego jeszcze brakuje w naszym programie, aby stać się całkiem profesjonalnym? I tęskni „ochrona głupców”. W końcu możesz „rzucać” zarówno foldery, jak i skróty na obraz skryptu, ale powinno działać tylko ze zwykłymi plikami.

Kogo chcesz, wybierz

Tak więc podczas iteracji elementów listy musisz określić, czym jest każdy z nich. Tylko w przypadku przechwycenia zwykłego pliku - zmień jego właściwości. Aby wybrać, czy wykonać jakiekolwiek operacje, czy nie, pozwala na jeszcze jedną strukturę kontrolną - operator warunkowy jeśli. Możesz określić, czy obiekt jest folderem, czy skrótem, pobierając informacje o nim za pomocą polecenia „informacje o” z Dodatków standardowych. Jego wynikiem będzie obiekt klasy „informacje o pliku”. Oto jego właściwości - „folder?” (folder) i „skrót?” (alias) - sprawdzimy. Ponieważ potrzebujemy elementu, aby nie był folderem I nie było skrótem, połączymy dwa warunki operacją logiczną "i" (gdy wystarczy spełnienie któregokolwiek z warunków - LUB pierwszy, LUB drugi - użyj pęczka „lub”). Generalnie w wyniku naszego rozumowania otrzymaliśmy następujący skrypt:

na otwórz listę plików
powtórz z Mój plik w Lista plików
ustawić informacje do informacje o MyFile
jeśli(teczka z informacje jest fałszywy) oraz ¬
(Alias z informacje jest fałszywy) następnie
powiedzieć aplikacja "Wyszukiwarka"
ustawić Typ pliku z Mój plik do"TEKST"
ustawić typ twórcy z Mój plik do"tekst"
koniec powiedz
koniec jeśli
koniec powtarzania
koniec otwarty

Zwróć uwagę, że wszystkie warunki w instrukcji If muszą być zapisane w jednej linii. Aby tekst programu był łatwiejszy do odczytania, przydatne może być „zwinięcie” długiej linii, jak to zrobiono w tym przykładzie. Aby to zrobić, naciśnij kombinację klawiszy „Opcja-Powrót”. W tekście pojawi się znak kontynuacji „¬”.

Oczywiście podczas tej małej lekcji mogłem przedstawić tylko najprostsze metody pracy z AppleScript. Ale myślę, że zauważyłeś, że nie ma w tym nic skomplikowanego. Próbować! Mam nadzieję kontynuować ten temat w kolejnych artykułach.

  • AppleScript Apple . AppleScript AppleScript. , - .

    AppleScript.

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

    1 . . . . . . . . . 7

    2 . . . . . . 10

    3(I). . . . . . . . trzynaście

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

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

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

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

    8(II). . . . . . . trzydzieści

    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). File Maker Pro. , GraphicConverter, BBEdit, Microsoft Word AppleScript(). , AppleScript . ,. . , AppleScript, AppleScript. , - AppleScript.

    . (. piętnaście). - AppleScript. ,.

    AppleScript, AppleScript:

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

    AppleScript; AppleScript ; AppleScript (Mac OS X).

    AppleScript. , Jawa, . AppleScript , 10- , - . .

    5 AppleScript , . - AppleScript Studio, (Narzędzia programistyczne XCode).

    JavaScript, .

    () . , . , . , .

    . , : . - . , . : .

    AppleScript, . . Edytor skryptów (.2), ​​​​.

    Prawa autorskie (c) 2003 Bert Altenburg

    : Bert Altenburg, - .

    jeden. . , - . , AppleScript . AppleScript.

    2. , PC , . - , -. Monitor procesora (narzędzia, aplikacje), - . (Rozproszone przetwarzanie DC), [e-mail chroniony],. 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. , - . ,.

    ,-. , (oświadczenie), . ,.

    AppleScript, . , jeden .

    AppleScript :

    powiedz „To jest zdanie wypowiedziane”.

    Fred, Trinoids, Cellos, Zarvox, Victoria.

    powiedz „To jest zdanie wypowiedziane”. używając "Zarvox"

    : AppleScript . ,. , Wiktoria Zarvox .

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

    znalazca. , Wyszukiwarka . ,. Wyszukiwarka , - , . -, śmieci, wyszukiwarka.

    8, AppleScript.

    Adobe Photoshop. Photoshop. , Wyszukiwarka.

    AppleScript, .

    Powiedz, AppleScript (Mac OS X), Finder. AppleScript (Mac OS X) , - koniec powiedz . Wyszukiwarka AppleScript Finder, . , :

    powiedz aplikacji "xyz"

    (powiedz blok). xyz xyz. , AppleScript , - , . ,. (, ("". : , AppleScript ...)

    znalazca. , Wyszukiwarka. znalazca, znalazca.

    powiedz aplikacji „Finder” opróżnij kosz otwórz dysk startowy powiedz o końcu

    znalazca. Wyszukiwarka, - , . .

    Finder, AppleScript (Mac OS X) .

    9tell aplikacja „Finder” opróżnij kosz otwórz dysk startowy koniec tellbeep

    znalazca. sygnał dźwiękowy AppleScript. ,.

    Sygnał dźwiękowy (AppleScript (Mac OS X)) .

    powiedz aplikacji „Finder” opróżnij kosz sygnał dźwiękowy otwórz dysk startowy koniec powiedz

    Sygnał dźwiękowy Findera, AppleScript (Mac OS X) . ,. , -, Finder , sygnał dźwiękowy, Finder .

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

    powiedz aplikacji „Finder” opróżnij kosz na koniec sygnału dźwiękowego otwórz dysk startowy

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

    powiedz aplikacji „Finder” opróżnij kosz powiedz otwórz dysk startowy powiedz „Opróżniłem kosz i otworzyłem dla ciebie dysk startowy” za pomocą „Victoria”

    AppleScript (Mac OS X), Finder. ,.

    edytor skryptów, . Edytor skryptów AppleScript, aplikacje. ,. .

    skompilować. , AppleScript , AppleScript . Wyszukiwarka! Wyrzuć moje śmieci (Finder!) Hej Finder! Wyczyść kosz (Finder,) Finder. (kompilacja) AppleScript (Mac OS X) : - . ,. , - . edytor skryptów.

    AppleScript (Mac OS X) .

    powiedz „Uczę się AppleScript w prosty sposób!” używając "Zarvox"

    biegać, . edytor skryptów, !

    Wchodzić . Enter — spacja()(). Powrót (zmiana) -. zwrócić.

    Skompilować. - Biegać, .

    Uruchom, Command+R. : , -

    , (skompilowany skrypt) (aplikacja).

    : , - AppleScript,

    Uruchom edytor skryptów.

    : , AppleScript ,

    edytor skryptów. , - , (Preferencje systemu). ,. - , Edytor skryptów, Otwórz plik.

    : Zapisz, - (tylko uruchamianie). , - .

    powiedz aplikacji „Finder” opróżnij kosz i powiedz o końcu

    edytor skryptów.

    Podanie , :

    Aplikacja Edytor skryptów. .xyz. - (-), pqr. - , AppleScript . , AppleScript pqr , powiedz .

    Edytor skryptów , - . , kontrola . :

    1) Edytor skryptów sterujących. (.), Powiedz blokom. , Powiedz „Wyszukiwarce”.

    2) Wyszukiwarka opróżnia kosz , (), 1. . - .

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

    2+6=xy=3*4

    AppleScript. (zmienne) , . - (identyfikatory), . - AppleScript, zestaw.

    ustaw x na 25 ustaw y na 4321.234

    AppleScript, . : (- , (robaki)). , x. , szerokość obrazu .

    ustaw szerokość obrazu na 8

    , (, -,). , AppleScript, - . , (osiem ) .

    AppleScript — . , ustaw, powiedzmy, na sygnał dźwiękowy , - AppleScript. , szerokość obrazu, . -,.

    AppleScript, . ,.

    ustaw zdjęcieSzerokość do 8ustaw zdjęcieWysokość do 6 ustaw zdjęciePowierzchniaObszar do zdjęciaSzerokość * zdjęcieWysokość

    , (operatorzy), - .

    ustaw cubeEdgeLength na 10.0set cubeVolume to cubeEdgeLength ^3

    edytor skryptów, . ,. (wynik) . , 10,0. , 1000,0. , cubeDługośćKraw ^ 3 , .

    : . - . (liczby całkowite) , - , (.13)