Applescript exempel. MAC OS X Introduktion till AppleScript

Detta är ett programmeringsspråk, en teknik som tillhör företaget, som oftast används för att automatisera arbetsprocesser och gör det möjligt för program att kommunicera med varandra. Wow :)

Jag tänker inte öppna en serie artiklar om ämnet: "Applescript for dummies. Steg för steg" av en enkel anledning - det finns gott om material om detta ämne på Internet. Och för att inte skriva om primern på mitt eget sätt och inte uppfinna hjulet på nytt, kommer jag bara att ange några källor som tycktes mest lämpliga för mig. Jag själv kommer att bli upplyst av det.

Nästan varje författare skriver att skriptspråket är så enkelt att alla användare med åtminstone lite kunskaper i traditionell engelska kan skriva på det. Och du behöver inte behärska alla aspekter av objektorienterad programmering. Det ligger en del av sanningen i det, för i manuset

berätta för applikationen "Finder"

visa dialogrutan "Hej sömngångare!"

Det är svårt att inte förstå vad som krävs från vilket program. Men jag håller inte riktigt med om OOP. Om du skriver så onödiga saker som pip eller säger "Vem är mannen? ", då ja, du kanske inte vet vad en cykel och en klass är, och OOP är fortfarande långt ifrån detta. Men om du vill lära dig hur man skriver program eller skript för att göra vardagliga uppgifter lättare för dig själv eller någon databas , då är det bättre för dig att veta att det är "Arv" och "Inkapsling".

Var ska man starta?

Allt är enkelt och till hands. Starta Script Editor och gå först till hjälpen. Om du använder den ryska versionen bör det inte finnas några svårigheter alls.

Vem vill ha en bok?

Om standardmanualen inte räcker, eller om den är skriven på ett sådant sätt att allt inte omedelbart är klart för dig, kan du också vända dig till böcker (elektroniska eller tryckta - det är upp till dig). Boken "AppleScript Language Guide" hänvisas ofta till. Det visar sig att det finns en länk till det i Script Editor-hjälpen.

Det är omöjligt att inte ta hänsyn till andra resurser som utvecklingsbolaget självt erbjuder oss. Det finns en bok för nybörjare "AppleScript 1-2-3" eller så kan du köpa den med samma namn.

Större är bättre

Varför inte överväga onlineresurser? Här kan du trots allt hitta det senaste, och de svarar på läsarrecensioner oftare och snabbare. Låt oss leta efter litteratur på ett tillgängligt språk.

Förutom olika recensionsartiklar kan du hitta "" på Internet. Jag skulle säga att dessa är specifikt för dem som är intresserade av applescript. Boken är för nybörjare, den är enkel skriven, det är få sidor, men det finns gott om exempel. Precis vad som behövs. Där kan du också ladda ner en bok som heter "".

Ryska manualer är bra, men utan grundläggande kunskap Engelska blir milt sagt svår att lära sig som manusspråk.

Av artiklarna skulle jag uppmärksamma denna. Jag gillade den för dess detaljerade presentation av några av de grundläggande principerna för själva skriptspråket, "kort och tydlig."

Glöm inte också olika forum där användare utbyter åsikter, erfarenheter och färdiga skript. Personligen har jag denna i mina bokmärken.

Innan du börjar söka och ladda ner material rekommenderar jag att du bestämmer dig för ditt mål. För allmän utveckling kan du bekanta dig med några källor. För att skriva riktigt användbara skript måste du spendera flera dagar/veckor/månader (beroende på dina förmågor och fritid). Det är väldigt intressant och beroendeframkallande.

Jag kan för närvarande inte uppskatta en persons chanser att få ett jobb som Applescript-programmerare eller testare. Troligtvis inte särskilt stor. Men om du känner att det är din, varsågod. Om du ser målet och inte ser hindren spelar det ingen roll vem som behöver det (åtminstone du). Sann talang kommer alltid att uppskattas. Och du har en chans att göra det arbete du älskar.

AppleScript är ett kraftfullt programmeringsspråk som går tillbaka till Mac OS 7. Men trots sin mognad kritiserar erfarna Mac-programmerare ofta AppleScript för att vara för enkelt, för lätt att lära sig och för likt vanlig engelska.

Naturligtvis skulle du vilja att ett datorspråk skulle ha just dessa egenskaper – om du så klart vill ha ett datorspråk överhuvudtaget. AppleScript är enklaste språket programmering med vilken du kan automatisera din Mac, även om du är en enkel användare och inte en certifierad datavetare.

AppleScript-program (kallade skript eller skript) kan betraktas som mjukvarurobotar. Ett enkelt AppleScript kan göra vissa vardagliga uppgifter som att skapa säkerhetskopia Dokumentmappar. Ett mer komplext skript kan sträcka sig över flera sidor. I professionella förlag, där AppleScript är mest populärt, kan manuset ansluta över Internet till hårddisk fotograf, hämta ett foto från en angiven mapp, utför färgkorrigering i Photoshop, klistra in resultatet i ett specificerat layoutdokument, skriv ut en grov layout, skicka ett e-postmeddelande till redaktören - och allt detta görs automatiskt.

Utan att ens veta om det använder användaren ständigt den underliggande AppleScript-tekniken. Många Mac-komponenter kommunicerar bakom kulisserna med hjälp av Apple Events, som är meddelanden som skickar instruktioner eller data från program till program. Om du använder kommandot Visa original på ett alias eller kommandot Get Info på en fil eller mapp, kommer Apple Event att tala om för Finder hur den ska svara.

AppleScript är överlägset Automator på flera sätt, inte minst är dess kraft. Och en sak till: AppleScript är ett så djupt ämne att det borde ägnas åt en separat bok. Det här kapitlet är bara en välsmakande aptitretare: en bok som AppleScript: The Essential Guide skulle vara en sjurätters måltid.

Råd Du kan ladda ner ett helt kapitel om AppleScript – som fanns i en tidigare utgåva av den här boken – från sidan Missing CD på www.missingmanuals.com.

Du behöver inte skapa AppleScript för att dra nytta av fördelarna med denna teknik. Mac OS X kommer med dussintals färdiga skript som är riktigt användbara, och för att köra något av dem väljer du bara dess namn i menyn. Denna "reproduktion" av ett AppleScript kräver lika mycket teknisk skicklighet som att trycka på en knapp i en hiss.

Du kan prova några av dessa coola startscenarier genom att lägga till en scenariomeny i menyraden (Figur 7.16, höger).

Scenariomenyn har 16 färdiga kategorier, som kombinerar cirka 100 scenarier; för att köra ett skript, välj helt enkelt dess namn. Här är en lista över de mest användbara och intressanta scenarierna.

Råd Om du trycker på Skift-tangenten medan du väljer ett skriptnamn från menyn, tar Mac OS X dig direkt till var skriptet finns i Finder (till exempel mappen Hem>Bibliotek>Skript). Dessutom, om du trycker på alternativtangenten medan du väljer ett namn, öppnas skriptet i skriptredigeraren, där du kan granska eller redigera det.

Den här undermenyn innehåller endast skriptet Importera adresser, utformat för att kopiera namn och adresser från Entourage till adressboksprogrammet, Outlook Express, Palm Desktop, Eudora, Claris Emailer eller Netscape. Om du har många vänner, använd det här skriptet så att du inte behöver ange alla deras namn, telefonnummer och postadresser igen. (Den medföljande undermappen Adressimportörer erbjuder skript för import från tre specifika program.)

Undermenyn Grunder innehåller tre praktiska små skript relaterade till AppleScript: AppleScript Hjälp (öppnar hjälpvisaren och söker efter ordet AppleScript); AppleScript-webbplats (öppnar AppleScript-webbsidan i din webbläsare); Open Script Editor (öppnar programmet Script Editor, designat för att läsa och redigera AppleScript-skript).

Den här mappen innehåller en grupp ColorSync droplet-skript (som körs när du drar något till dess ikon) som är av intresse för artister, webbdesigners, utgivare och liknande.

I vissa fall, när du väljer ett skript från den här menyn, kommer du att se en kort Meddelande och sedan dialogrutan Öppna för att välja grafisk fil som skall behandlas.

Andra agerar omedelbart; till exempel justerar Mimic PC-bildskärmsskriptet skärmfärgerna så att de matchar de lite olika nyanserna på en Windows-datorskärm. Detta är mycket bekvämt om du arbetar med

ERFAREN ANVÄNDARKURSER
Manusmenyns hemligheter
Skriptmenyn visar innehållet i två olika mappar Skript: Det ena är Hem>Bibliotek>Skript och det andra finns i bibliotekets huvudmapp. De skript som hämtas från din personliga mapp separeras med en prickad linje i skriptmenyn.

Dessa skript kan inte bara köras. De är också idealiska för att öppna dem i Script Editor (dubbelklicka bara) och analysera rad för rad hur de fungerar. När du väl förstår syntaxen kan du kopiera kodfragment och, efter att ha ändrat dem, använda dem i dina skript. (Skriptredigeraren är ett program som finns i mappen Program > AppleScript som du kan använda för att skapa dina egna skript.)

Ett fotografi eller en webbsida och vill veta hur det kommer att se ut för de oupplysta massorna. (För att återställa de ursprungliga färgerna, gå till fliken Färg på Display-fjärrkontrollen i fönstret Systeminställningar.)

Alla dessa scenarier hänför sig till att arbeta i Finder - låt säga att manipulera filer och fönster. Här är de mest användbara av dem:

Lägg till i filnamn, Lägg till i mappnamn. Dessa skript bifogar ett prefix eller suffix till namnet på varje fil eller mapp i det främre (aktiva) Finder-fönstret (eller, om det inte finns några fönster öppna, på skrivbordet). Med hjälp av dessa skript kan du lägga till ordet "utkast" eller "slutligt" eller "gammalt" till namnen på alla filer i en mapp.

Ersätt text i objektnamn låter dig utföra en ersättningssökning i namnen på filer, mappar eller båda. Om ett förlag avslår ditt förslag på 45 kapitel kan du använda det här skriptet för att byta namn på alla 45 kapitlen: låt oss säga att det som var "A History of Mousepads - Proposal for Random House, Chapter 1" blir "A History of Mousepads - Proposal for Simon " & Schuster, kapitel 1."

Trimma filnamn, Trimma mappnamn. Om du gjorde ett misstag när du körde skriptet Lägg till i filnamn kan du alltid fixa det med Trim filnamn. Detta skript tar bort filtillägg, suffix eller prefix efter användarens val.

Låt oss säga att du precis har skapat flera nya mappar samtidigt. Mac OS X kallar dessa mappar "namnlös mapp", "namnlös mapp 2" etc. Men vad händer om du är mer bekväm med namnen "mapp 1", "mapp 2" etc.? Kör skriptet Trim Folder Names; Skriv namnlös i dialogrutan och klicka på OK.

Det är osannolikt att du aktivt kommer att använda Folder Actions-skript, eftersom exakt samma åtkomst till operationer på mappar tillhandahålls genom att Ctrl-klicka på en mapp (eller i dess fönster)

Dessa skript visar hur du kan automatisera vissa teckensnittsrelaterade uppgifter.

FontSync är Apples ädla försök att lösa ett gammalt problem med desktop publishing. Du har skapat ett vackert nyhetsbrev och tar det till ditt lokala tryckeri för att få det tryckt på högkvalitativ utrustning, bara för att upptäcka att du måste slänga utskrifterna och börja om - bara för att ta reda på att typsnitten inte ser inte ut som du ville.. Tryckeriet hade inte exakt samma typsnitt som du använde för att förbereda dokumentet. Eller ännu värre, typsnitten hade exakt samma namn, men skapades av ett annat företag, och skilde sig därför något från dina i vissa parametrar.

Tanken bakom FontSync är att meddela användaren i förväg om eventuella inkonsekvenser. Skriptet Skapa FontSync-profil skapar en FontSync-profilfil på några minuter. Det här dokumentet innehåller en häpnadsväckande mängd information om designen, flödet och utvecklingen av alla teckensnitt som är installerade på systemet. I ett tryckeri kan ett sådant dokument bearbetas med hjälp av det extra Match FontSync Profile-skriptet. Det kommer noggrant att identifiera skillnaderna mellan typsnitten på användarens Mac och tryckpressarna.

Naturligtvis förutsätter denna teknik implicit för mycket: att tryckeriet har Macintosh-datorer installerade, att de kan hantera FontSync, och även att användaren inte kommer att glömma att först skapa och överföra en FontSync-profil till tryckeriet.

IChat har genomgått en betydande översyn i 10.5 – Apple har lagt till många intressanta (men ibland värdelösa) funktioner. Det har också blivit möjligt att köra AppleScripts som signaler när en händelse relaterad till dina kontakter inträffar. Till exempel kan du automatiskt acceptera chattinbjudningar från individuella kontakter eller till och med svara på dem med en förberedd hälsning. Du kan till och med styra musikuppspelningen på en Mac genom att skriva kommandon i iChat-fönstret på en annan Mac i ditt hem. Detaljer i kapitel 21.

Fördelen med dessa två scenarier är liten. Aktuellt datum och tid visar aktuellt datum och tid i en dialogruta utrustad med en Urklippsknapp för kopiering av information, redo att klistra in. Font Sampler visar en sida med teckensnitten (vars namn är skrivna i skriptet) som är installerade med Mac OS X. (Skriptet har blivit mindre användbart sedan Font Book lade till liknande inbyggda utskriftskommandon.)

Två scenarier i den här menyn förtjänar särskilt omnämnande. Aktuell temperatur med postnummer visar vad temperaturen utanför fönstret är i Fahrenheit och Celsius. Detta är ytterligare en anledning att inte lämna huset hela dagen.

Stock Quote tar emot aktiekurser för det valda företaget med 20 minuters fördröjning. Inte lika bra som att få offerter i realtid, men det är gratis.

De flesta av skripten i den här undermenyn löser vissa specifika problem som att räkna bokstäver i dina e-postmeddelanden. brevlådor eller sätta upp en ny konto. Roligast av allt är förstås scenariot Crazy Message Text (Fig. 7.17).

Skripten i den här mappen låter dig hoppa in i speciella Finder-mappar – direkt från menyn, från vilket program som helst. Om mappen du vill öppna inte har ett eget skript tilldelat, välj det från listan i skriptet Öppna specialmapp.

Råd För de som inte har något emot att behöva redigera det här skriptet med Script Editor, kan du ändra det så att du kan välja och öppna mer än en mapp åt gången (via säg -klick). Du behöver bara skriva texten flera markeringar tillåtna true omedelbart efter orden Välj mapp att öppna: (i slutet av raden, ungefär i början av den andra tredjedelen av skriptet). Glöm inte att spara dina ändringar.

Dessa skript är utformade för att visa kraften i AppleScript för att skriva ut och skapa PostScript- och PDF-dokument.

En av dem, Print Window, täpper till en långvarig lucka i Mac OS X. Den borde skrivas ut textlista innehållet i valfri vald mapp. (Det är lite buggigt dock.)

Enligt teamet Om dessa skript hjälper dessa 48 förbyggda skript dig att skriva snabbare och mer exakta skript eftersom kodavsnitten är fria från stavning och syntaxfel. När du blir bättre kan du lägga till dina egna skript här, med kodavsnitt som är skräddarsydda för de skript du vanligtvis skriver för att göra ditt arbete ännu mer effektivt. (När du skapar ett skript i Script Editor, infogar du dessa kodsnuttar i texten med ett Ctrl-klick och menyval snabb åtkomst.)

För det mesta gör manusen sitt jobb tyst och obemärkt. Men om du vill automatisera ett program som inte förstår vanliga AppleScript-kommandon kan skript "styra" det manuellt genom att simulera menyval, knapptryckningar och så vidare.

Notera Den här funktionen, som kallas användargränssnitt (UI) scripting, kommer bara att träda i kraft när du öppnar Universal Access-konsolen i Systeminställningar och markerar kryssrutan Aktivera åtkomst för hjälpmedel.

Det är ingen mening att köra skripten från undermenyn UI Element Scripts som de är: de är bara exempel för att visa den korrekta syntaxen.

Denna senaste uppsättning skript ger snabb åtkomst till några populära webbplatser. Ett undantag är Download Weather Map-skriptet, som laddar ner den aktuella väderkartan över det kontinentala USA, sparar den på skrivbordet som weathermap.jpg och sedan öppnar den i Preview.

Råd Du kan lägga till skript, filer och till och med internetadresser till menyn och sedan enkelt starta dem alla från menyraden. Allt du drar till mappen Bibliotek>Skript visas automatiskt i skriptmenyn.

Å andra sidan, om du börjar lägga till många av dina egna objekt till Script-menyn, kommer det att vara bekvämare att ta bort Apple-proverna från den. Inga problem. Öppna AppleScript Utility och avmarkera Visa datorskript.

Arbeta med färdiga AppleScript-skript

När du arbetar genom skriptmenyn kommer du snart att inse att du har dussintals gratis inbyggda skript på din Mac. Det fantastiska är att du kan ta reda på hur de fungerar och till och med ändra dem när du gradvis lär dig att skriva dina egna AppleScripts. Du kan till och med kopiera och använda hela delar av Apple-skript i dina egna skript.

Först måste du naturligtvis öppna skriptet. Det enklaste sättet att göra detta är att öppna skriptmenyn, välja önskad kategori och Alternativ-klicka på namnet på det önskade skriptet.

Du kan börja lära dig AppleScript genom att titta på ett enkelt skript. Öppna till exempel skriptet Nytt programfönster (i kategorin Navigationsskript) genom att Alternativ-klicka på dess namn. Som ett resultat kommer Script Editor att öppna filen i ett nytt fönster (Fig. 7.18).

Så här fungerar det här skriptet:

Tala om för programmet "Finder" talar om för Mac OS X vilket program som ska köra följande kommandon.

Aktivera tar Finder i förgrunden – precis som om du hade klickat på dess ikon i Dock.

Öppna mappen "Program" på startskivan talar om för Finder att öppna ett nytt fönster som visar mappen Applications på huvudhårddisken.

End tell säger åt Finder att gå vidare och ignorera ytterligare kommandon från ditt skript.

För att testa skriptet, klicka på knappen Kör eller tryck på -R.

Råd Du kan redigera det här skriptet för att bättre passa dina behov. Försök till exempel att ersätta "Program" med "Användare" så att skriptet öppnar mappen Användare.

Skapa dina egna AppleScripts

Mac OS X kommer med dussintals program - så många av dem! Okej, det är något som saknas - en metronom till exempel. Hur ska du spela piano i en jämn rytm utan att höra de rytmiska klick som din Mac gör? Naturligtvis, i ett nafs, kommer en GarageBand-metronom att hjälpa, men det här är att skjuta sparvar från en kanon.

Du kan använda AppleScript istället. Öppen nytt dokument i skriptredigeraren (Arkiv>Ny eller -N) och skriv följande:

visa dialogrutan "Välkommen till AppleScript Metronome"

ställ in bpm till den text som returneras av (visa dialogrutan ¬

"Hur många slag per minut?" standardsvar 60)

ställ in pausBetweenBeeps till (60/bpm)

fördröjning av pausBetweenBeeps

Notera Du behöver inte skriva ut symbolen ¬. Så programmerare säger: "Detta ska vara på en rad, men det finns inte tillräckligt med sidbredd."

När du kör det här skriptet visas en dialogruta som frågar dig hur många slag per minut du vill att metronomen ska räkna. Siffran du anger (till exempel 120) lagras i en temporär lagringsvariabel i skriptet som kallas bpm.

Skriptet beräknar sedan mängden paus mellan pip och registrerar den bråkdelen av en sekund i variabeln pauseBetweenBeeps. Om du sa till skriptet att pipe, säg, 120 gånger per minut, skulle pauseBetweenBeeps skrivas till 0,5 eftersom det borde vara en halv sekunds paus mellan pip.

Slutligen skapar skriptet en oändlig loop: signal, pausa för en angiven längd och upprepa sedan.

Klicka på knappen Kör för att testa ditt skript, och när du har hört tillräckligt med ljud klickar du på knappen Stopp.

MINA FAVORITTEKNIKER
Skrivbordsbilagor med ett klick
Här är ett litet knep med Automator som kan vara en livräddare för alla som ofta behöver skicka dokument via e-post. (Den modellerar det mycket bekväma kommandot Skicka till som finns i snabbmenyn på Windows-maskiner.)

Skapa en process i Automator med bara två steg: Hämta valda Finder-objekt (i Finder-kategorin) och New Mail Message (i Mail-kategorin).

Om du alltid skickar filer till samma mottagare – till exempel din chef – kan du till och med förinställa adressen i Automators processpanel. Om ämnet och texten i meddelandet upprepas varje gång kan du också ställa in dem i förväg.

Välj nu Arkiv>Spara som plug-in. Namnge processen E-posta detta eller vad du vill.

Från och med nu kan du skicka ett dokument från Finder genom att Ctrl-klicka på det och välja Automator>Email This från menyn som visas.

Seger! Mac OS X startar Mail och skapar ett utgående meddelande med en bifogad fil.

Gratis tips: om du infogar en annan Skapa arkiv-åtgärd (från kategorin Finder) mellan dessa två åtgärder, kommer ditt menykommando också att komprimera filen (eller mappen) till en .zip-fil innan den skickas med post!

Råd Det blir ännu coolare om du sätter in det Systeminställningar Systeminställningar>Universell åtkomst>Hörsel>Blinka skärmen när ett varningsljud hörs. Nu, när ditt skript körs, kommer skärmen att blinka tillsammans med ljudet. Om du spelar in musik, stäng av ljudet på din Mac: du har en visuell metronom, men ingen ljudsignal.

Jämförelse av AppleScript och Automator

Det finns hundratals användningsområden för AppleScript - automatisering av processer som är för komplexa för Automator, styrning av program som Automator inte kan se och programmering av saker som kommandolooping som Automator inte kan göra.

Om du bara ser på AppleScript som en ersättning för Automator, går du miste om mycket kraft. I själva verket ger AppleScript funktioner som Automator förmodligen inte kommer att ha om 10 år: det är ett mycket mer avancerat verktyg.

Automator är bra för enkla uppgifter. Om du behöver AppleScript för att automatisera din Mac, misströsta inte. Du tar dig an ett verkligt kraftfullt verktyg. (Du kan till och med kombinera dem och bädda in AppleScripts i Automator-processer med åtgärden Kör AppleScript.)

Lycka till med automatiseringen!

  • AppleScript Apple, . AppleScript AppleScript. , - .

    AppleScript.

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

    1 . . . . . . . . . 7

    2 . . . . . . 10

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

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

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

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

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

    8 (II). . . . . . . trettio

    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). FileMaker 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, (Utvecklarverktyg XCode).

    JavaScript, .

    () . , . , . , .

    . , : . - . , . : .

    AppleScript, . . Skriptredigerare (.2),​.

    Copyright (c) 2003 av Bert Altenburg

    : Bert Altenburg, - .

    1. . , - . , AppleScript . AppleScript.

    2. , PC, . - , -. CPU-övervakning (verktyg, applikationer), - . (Distributed Computing DC), Folding@home, . 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. , - . , .

    , -. , (påstående), . , .

    AppleScript, . , 1 .

    AppleScript:

    säg "Detta är en talad mening."

    Fred, Trinoids, Cellos, Zarvox, Victoria.

    säg "Detta är en talad mening." använder "Zarvox"

    : AppleScript. , . , Victoria Zarvox.

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

    Upphittare. Upphittare. , . Finder , - , . -, Papperskorgen, Finder.

    8, AppleScript.

    Adobe Photoshop. PhotoShop. , Finder.

    AppleScript, .

    Tell, AppleScript (Mac OS X), Finder. AppleScript (Mac OS X), - slut berätta . AppleScript Finder Finder, . , :

    berätta för applikationen "xyz"

    (berätta block). xyz xyz. , AppleScript , - , . , . (, ("). : , AppleScript . . .)

    Upphittare. , Finder. Finder, Finder.

    berätta för programmet "Finder" töm papperskorgen öppna startskivan avsluta berätta

    Upphittare. Finder, - , . .

    Finder, AppleScript (Mac OS X).

    9berätta applikationen "Finder" töm papperskorgen öppna startskivan slut tellbeep

    Upphittare. pip AppleScript. , .

    Pip (AppleScript (Mac OS X)) .

    berätta för applikationen "Finder" töm papperskorgen pip öppna startskivan avsluta berätta

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

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

    säg till applikationen "Finder" töm papperskorgen pip slutet tellopen startskivan

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

    berätta för applikationen "Finder" töm papperskorgen berätta öppna startskivan säg "Jag tömde papperskorgen och öppnade startskivan åt dig" med "Victoria"

    AppleScript (Mac OS X), Finder. , .

    Skriptredigerare, . Skriptredigerare AppleScript, applikationer. , . .

    Sammanställa. , AppleScript , AppleScript . Yo Finder! Dumpa mitt skräp (Finder!!!) Hej Finder! Rengör behållaren (Finder,) Finder. (kompilering) AppleScript (Mac OS X): - . , . , - . Skriptredigerare.

    AppleScript (Mac OS X).

    säg "Jag lär mig AppleScript på det enkla sättet!" använder "Zarvox"

    Springa, . Skriptredigerare, !

    Stiga på. Enter - Mellanslag () (). Retur (Skift) -. Lämna tillbaka .

    Sammanställa. - Springa, .

    Kör, Kommando-R. : , -

    , (kompilerat skript) (applikation).

    : , - AppleScript,

    Script Editor Kör.

    : , AppleScript ,

    Skriptredigerare. , - , (Systeminställningar). , . - , Skriptredigerare, Öppna fil.

    : Spara, - (endast körning). , - .

    berätta för programmet "Finder" töm papperskorgen ände berätta

    Skriptredigerare.

    Ansökan , :

    Script Editor app-applikation. xyz. - (-), pqr. - , AppleScript. , AppleScript pqr , berätta .

    Skriptredigerare, -. , kontroll . :

    1) Kontrollskriptredigerare. (.), Berätta Blocks. , Säg till "Finder".

    2) Finder töm papperskorgen , (), 1. . - .

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

    2 + 6 = xy = 3 * 4

    AppleScript. (variabler), . - (identier), . - AppleScript, set.

    ställ in x till 25 ställ in y till 4321.234

    AppleScript, . : (- , (buggar)). , x. , bildbredd .

    ställ in bildbredden på 8

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

    AppleScript - . , ställ in, säg, till, pip , - AppleScript. , bildbredd, . -, .

    AppleScript, . , .

    ställ in bildbredd till 8 ställ in bildhöjd till 6 ställ in bildYta på bildbredd * bildhöjd

    , (operatörer), - .

    ställ in cubeEdgeLength till 10.0set cubeVolume to cubeEdgeLength ^ 3

    Skriptredigerare, . , . (Resultat) , 10,0. , 1000,0. , cubeEdgeLength ^ 3 , .

    : . - . (heltal) , - , (. 13)

Från den här artikeln kommer du att lära dig vad AppleScript är, varför och vem som behöver det, hur du kan automatisera andras applikationer och lägga till automatiseringsmöjligheter till dina.

Automatisera det

Det finns ofta problem för vilka det är irrationellt att skapa ett separat projekt på ett sammanställt språk. Till exempel när du snabbt behöver sätta ihop en kod på knäna som helt enkelt ska göra ett specifikt jobb – utan några GUI-dekorationer, hantering av alla möjliga undantagssituationer, optimering och så vidare. Det är här skriptspråk kommer till undsättning - shell, Perl, PHP och så vidare vet du. Alla (eller nästan alla) finns tillgängliga under Mac OS X. Men i detta operativsystem finns det förutom de allmänt accepterade skriptspråken även ett speciellt skriptspråk som är specifikt orienterat mot Mac OS X och är nära besläktat med Det. Det här är AppleScript.

AppleScript har inkluderats i systemet sedan System 7. Efter att ha växt fram ur HyperCard-projektet (som innehöll skriptspråket HyperTalk, som är mycket likt naturlig engelska), skapades AppleScript ursprungligen för att möjliggöra datautbyte mellan uppgifter, samt för att kontrollera arbete tredje parts applikationer. AppleScript i sig har ganska blygsam funktionalitet: på det här språket ser till och med skript för att utföra relativt enkla uppgifter ofta ut som anrop till andra applikationer. Men efter en betydande systemöversyn under övergången till Mac OS X-linjen blev AppleScript-språket mer flexibelt och kraftfullt, och det nya Cocoa-ramverket gjorde det möjligt för utvecklare att bygga in automatiseringsmöjligheter i sina applikationer med hjälp av AppleScript med minimal ansträngning.

Enkelt manus

För att redigera och köra skript kommer vi att använda standardskriptredigeraren. Du hittar den i mappen /Application/AppleScript. Låt oss först skriva ett enkelt "HelloWorld"-skript.

visa varning "Hello World!" # Visa dialogen
säg "Hello World" # Utdata till kolumner

Jag tror att det inte finns något behov av att förklara någonting här, men jag skulle vilja notera den extremt lätta åtkomsten till talsyntesen från AppleScript med hjälp av kommandot say. Detta är riktig kommunikation med användaren i Apple-stil :). Naturligtvis kan denna dialog enkelt anpassas. Lägg till exempel till de nödvändiga knapparna:

Panel med extra knappar

visa varning "Hello World!" buttons("Hej", "Hejdå")
ställ in svar till knappen returneras av resultatet
om svaret är "Hej" då
...
annan
...
sluta om

Låt oss nu skriva något mer användbart. Låt oss till exempel låta användaren välja en fil och läsa dess innehåll:

# Filvalspanel
ställ in filen till (välj fil med prompten "Välj en fil att läsa:" av typen ("TEXT"))
öppna för åtkomst till filen

Läser innehållet

ställ in filinnehåll till (läs filen)
stäng åtkomst till filen

Dessa exempel visar tydligt huvudidén med AppleScript - det är väldigt nära det verkliga livet engelska språket. Därför är det lätt att läsa manus även för en person långt ifrån kodning. Varje verbkommando kan kompletteras med modifieringssubstantiv och parametrar.

Interaktion med applikationer

AppleScript använder en meddelandemekanism för att kommunicera med andra program:

berätta för programmet "Microsoft Word"
sluta
slut berätta

Med hjälp av tell-kommandot väljer vi applikationen som vi ska skicka meddelandet till. I det här fallet ber vi MS Word att avsluta. Valfritt antal kommandon kan skickas i "tell - end tell"-blocket. Meddelanden som skickas till applikationen kan vara mer specifika. Allt beror på vilka kommandon dess utvecklare implementerade. iTunes, till exempel, exporterar en hel del kommandon och egenskaper till AppleScript-miljön:

Starta önskad spellista i iTunes

berätta för applikationen "iTunes"
spela upp spellistan med namnet "Min favorit"
slut berätta

Du kan ta reda på uppsättningen meddelanden och datatyper som ett program exporterar till AppleScript-miljön genom att titta på dess terminologi (filen AppName.scriptRerminology i programresurser). För att göra detta, i Script Editor, gå till menyn "Arkiv - Öppna ordbok - ..." och välj önskat program.

För att göra det enklare för dig att arbeta med de klasser och kommandon som programmet exporterar, är de organiserade i sektioner. Alla applikationer som stöder skript har minst två sektioner: en standard och en mer specifik för den här applikationen avsnitt. Standardavsnittet innehåller en uppsättning standardkommandon som alla Mac-program stöder: öppna, skriv ut, stäng och avsluta. Innehållet i de återstående avsnitten beror på utvecklarnas fantasi.

Kör AppleScript från din applikation

Om du skriver en applikation i Objective-C/Cocoa, är det möjligt att vissa saker är mer bekväma att göra med AppleScript. För att skapa och köra skript i Cocoa-applikationer finns klassen NSAppleScript. Här är ett enkelt exempel på dess användning - implementeringen av att erhålla en användarstatusrad från iChat-applikationen.

NSAppleScript *iChatGetStatusScript = noll;
iChatGetStatusScript = [ initWithSource: @"berätta för applikationen "iChat" att få statusmeddelande"];
NSString *statusString = [stringValue];

Det är möjligt att samma sak skulle kunna göras på ett annat sätt utan att använda ett runtime-genererat skript, men det är osannolikt att den alternativa koden skulle se enklare ut än så här. Om skripten är stora kan du lagra dem i paketresurser och läsa dem vid behov.

Automatisering i en kakaoapplikation

Det är mycket användbart att lägga till skriptstöd till dina Cocoa-applikationer, för om din applikation har ett gränssnitt mot AppleScript, kommer användaren, genom att skriva några rader i AppleScript, att kunna anpassa det för sina behov och integrera det med andra applikationer att han har installerat, och sedan till exempel automatisera lösningen av rutinuppgifter. För att exportera typer och kommandon till AppleScript-miljön måste du beskriva dem i specialfiler. Det är möjligt att göra detta i filerna .scriptSuite och .scriptTerminology eller i en fil med filtillägget .sdef. I båda fallen är filerna i XML-format, men sdef är lättare att arbeta med.

Innehållet i scriptTermonology-filen visas i Script Editor när du visar programordlistan. Den här filen innehåller en beskrivning av objekten som exporteras till AppleScript.

När du öppnar scriptSuite-filen i Plist Editor kan du se att den innehåller följande huvudsektioner:

  • AppleEventCode - en kod på fyra bokstäver som identifierar applikationen för AppleScript-miljön (koden måste vara unik inom samma system);
  • Namn - namnet på avsnittet som innehåller de exporterade kommandona och klasserna.

Plocka isär intern organisation Dessa filer är inte så meningsfulla, eftersom du sannolikt bara kommer att behöva hantera sdef-filer.

Exempel på sdef-fil
















I sdef blandas skriptterminologi med detaljerad beskrivning kommandon och typer, som finns i .scriptingSuit-filer. Låt oss omsätta detta i praktiken genom att skapa en Cocoa-applikation som stöder AppleScripting. För att göra detta, i det nya Cocoa-projektet, lägg till flaggorna Scripting och OSAScriptingDefinition med namnet på vår sdef-fil till filen Info.plist:

...
NSApleScriptEnabled

OSAScriptingDefinition
Scrtipping.sdef

Låt oss lägga till följande Scripting.sdef-fil till projektet:












Så från AppleScript har vi en egendom tillgänglig - myprop. Allt som återstår är att skriva ObjC-kod som kommer att bearbeta läsning av denna egenskap från skript. För att göra detta måste du skapa kategorin NSApplication, eftersom detta är den klass vi valde som mottagare av meddelanden från skript.

#importera
@interface NSApplication (Scripting) - (NSString *) myprop;
@slutet
@implementation NSApplication (Scripting) - (NSString *) myprop
{
return @"Detta är min egendom";
}

Om vi ​​nu vänder oss till egenskaperna för vår app från AppleScript kommer vi att se vår egendom och dess värde bland dem:

berätta för applikationen "Scripting"
egenskaper
slut berätta

Slutsats

Naturligtvis är det omöjligt att här beskriva alla funktioner i AppleScript och dess interaktion med Cocoa-applikationer. Ja, detta är inte nödvändigt - det finns manualer för detta. Och vi, för vår del, kommer att fortsätta serien med artiklar om kodning för Apple-plattformar och kommer att berätta många fler nya och intressanta saker.

Öppna, beskära, konvertera till en annan färgmodell, spara. Öppna, beskära, konvertera till en annan färgmodell, spara. Öppna Annars: Välj, överför till bufferten, byt till en annan applikation, kopiera från bufferten. Välj, överför till buffert, byt

Låter det inte som en kreativ aktivitet, eller hur? Men nästan alla som har att göra med en dator måste utföra dussintals och hundratals repetitiva, i huvudsak identiska operationer per dag. Och efter att ha arbetat i tre veckor som en slags "intelligent omvandlare" är det inte längre som att lära ut ny version"Photoshop" eller master InDesign - du vill inte ens gå nära datorn. Med ett ord - du behöver en assistent. Som kommer att ta på sig utförandet av alla (eller åtminstone de flesta) tråkiga och rutinmässiga, men naturligtvis nödvändiga repetitiva åtgärder.

AppleScript - vad är det för odjur?

Och vi har en sådan assistent. Detta är ett speciellt språk för att skriva skript (eller, om du föredrar, skript) som kallas AppleScript. Det här språket dök först upp i Mac OS 7.5 (då fortfarande Macintosh-systemet), och var så välimplementerat och hade också så breda möjligheter att det vid lanseringen av den tionde versionen av operativsystemet bara nådde version 1.8. Men konstigt nog, trots dess enorma potential och dess mer än tioåriga existenshistoria, har AppleScript-tekniken inte blivit utbredd bland Mac-användare. Huruvida detta beror på myter om dess komplexitet, trögheten hos användare som uteslutande är vana vid "ikon-mus"-kontrollen av sina Mac-datorer, eller något annat kan jag inte bedöma, men faktum är ett faktum: hundratals vet om existensen av AppleScript, men använd bara det-enheter. Därför, enligt min mening, skulle det inte vara överflödigt att överväga de grundläggande principerna för driften av denna teknik.
AppleScript är baserat på Macintosh Apple Events, en systemhändelsebearbetningstjänst som gör att kontrollkommandon, data och förfrågningar kan utbytas mellan program. operativ system, nätverkstjänster och till och med olika datorer. Skriptmotorn (som är ett vanligt tillägg som finns i systemmappen) konverterar skriptkommandon till en sekvens av händelser och skickar dem till applikationen som anges i skriptet, och efter att ha bearbetat dem, accepterar resultatet och vidarebefordrar det till skriptkällan .
Även om AppleScript är ett riktigt programmeringsspråk (det stöder variabler, loopar, villkorliga uttalanden, subrutiner, tillåter komplexa beräkningar och till och med har verktyg för att bygga och bearbeta dialogrutor), faller det fortfarande på axlarna att utföra huvuduppgifterna. externa applikationer. Och AppleScript fungerar som ett slags "lim" som överför data mellan program ("överför en fil från Illustrator till Photoshop"), utvärderar det aktuella tillståndet för arbetsmiljön för enskilda program, operativsystemet och nätverket ("har rastrering av fil redan färdig, eller inte ännu?"), och låter dig vidta åtgärder baserat på resultatet av tidigare operationer ("om alla filer är rastrerade, skicka materialet till en speciell mapp och kör skriptet som ansvarar för att montera tidningsremsan ”).
Det finns flera nivåer av "skriptbarhet" för applikationer. Så, till exempel, de program som är minst anpassade för automatisering förstår bara de grundläggande, enklaste kommandona: ladda ett program, öppna ett dokument, skicka för att skriva ut och stäng programmet (kör, öppna, skriv ut och avsluta). Mer "tillmötesgående" sådana (som Photoshop, Illustrator och FreeHand) har i sin arsenal verktyg som är ganska tillräckliga för att skriva batch-filbehandlingsprogram och utföra vissa sekvenser av åtgärder (makrokommandon). Tja, de som implementerar stöd för nästan alla funktioner i AppleScript-teknik (och detta inkluderar QuarkXPress, Adobe InDesign och de flesta program Äpple) gör det möjligt att kontrollera ditt arbete på de mest "djupa" nivåerna: ställ in utskriftsparametrar, använd klippbordet, kontrollera och ändra värdena för interna variabler, etc.

Grunderna i skriptologi

För att skriva in källtext och köra skript kan du använda programmet Skriptredigerare - det huvudsakliga och enda verktyget för att skapa skript i standardpaketet Mac OS.
Skriptredigeraren finns i mappen Apple Extras/AppleScript (för den lokaliserade versionen av Mac OS - Tillägg/AppleScript), och efter start visar den ett fönster som liknar det som visas i fig. 1.


Ris. 1. Skriptredigerare

De övre och nedre inmatningsfälten är avsedda att beskriva skriptet respektive dess text, och kommer sannolikt inte att behöva ytterligare kommentarer. Spela in-knappen låter dig spela in ett makrokommando; för att göra detta, efter att ha tryckt på knappen, gå till nödvändiga ansökningar och utföra en rad åtgärder; varefter skripttexten visas i det nedre inmatningsfältet (det bör noteras att möjligheten att spela in makrokommandon inte stöds av alla program). Knappen Kontrollera syntax kontrollerar om det finns några fel i texten i skriptet, och för den också till en "säljbar" form - den är markerad i fetstil och indragen. nyckelord och kapslade block.
Scenario ett. Till att börja med, som förväntat, låt oss skriva det enklaste programmet, som utför flera grundläggande åtgärder: stänger alla öppna fönster, tar bort alla flyttbara diskar från media, organiserar ikoner på skärmen, rengör papperskorgen och stänger av datorn. Texten i ett sådant program ser ut så här:

berätta för applikationen "Finder"

Stäng alla fönster
mata ut varje disk
rensa upp skrivbordet
tömma papperskorgen
stänga av

Sluta berätta

Vad betyder allt detta? Apple Events-tjänsten ("kärnan" i AppleScript-tekniken) överför data, förfrågningar och meddelanden inte bara mellan program, utan mellan programelement som kallas objekt, som kan ha en kapslad struktur som kallas en objektmodell. Så, till exempel, för Finder-programmet, kan objektmodellen (mer exakt, bara en av grenarna av denna modell) representeras i följande form: Finder - Desktop - Folder - File; För textredigerare denna modell kommer att ha formen Dokument - Sida - Stycke - Mening; för en vektorillustration kommer det att se ut som Illustration - Basic Shape - Bezier Curve - Point (Fig. 2).


Ris. 2. Exempel på objektmodeller

Varje objekt har vanligtvis en eller flera egenskaper (Figur 3) som kan ställas in ("ställ in sidhöjden till 14 tum"), modifieras ("ändra bredden från 8 till 8,5 tum") och kontrolleras ("vad är lika med höger") marginal på sidan?").


Ris. 3. Objektegenskaper

För att styra ett visst objekt måste det väljas (indikeras) på objektmodellen. För detta ändamål används designen berätta slut berätta, och alla kommandon som styr objektet finns i denna konstruktion; om objektet är beläget "i djupet" av en av modellens grenar, används flera block kapslade i varandra berätta slut berätta. I följande exempel kommer skriptet stegvis åtkomst till skrivbordet (ett av elementen i Finder-objektmodellen) och flyttar sedan "test"-mappen, som finns på skrivbordet, till papperskorgen.

berätta för applikationen "Finder"
berätta för skrivbordet

Ta bort mappen "test"

Sluta berätta
slut berätta

När du skriver ett skript som styr vilket program som helst - det spelar ingen roll om det är Finder, FileMaker, Adobe Acrobat eller något annat, du behöver veta vilka AppleScript-språkkommandon som detta program stöder, vilka objekt som ingår i dess objektmodell, samt namn och syften med alla egenskaper hos de tillgängliga objekten. All denna information lagras direkt i den körbara filen för ett visst program, i den så kallade applikationsordboken. För att använda denna ordbok måste du i Script Editor-programmet köra kommandot File / Open Dictionary (File / Open Dictionary), och i fönstret som visas väljer du den körbara filen för det aktuella programmet. Som ett resultat kommer ett fönster liknande det som visas i fig. att visas på skärmen. 4 - på höger sida finns en lista över alla kommandon och objekt, på vänster sida finns deras korta beskrivningar.


Ris. 4. Ordboksapplikation

Andra scenariot. Låt oss gå vidare till att lösa praktiska problem. De som är involverade i webbdesign måste ganska ofta kontrollera sina sidor för kompatibilitet med äldre versioner av webbläsare. För att göra detta måste du öppna fönster med mappar, leta efter körbara filer av visningsprogram där, ladda ner dem och sedan även leta efter mappar med webbsidor på diskarna. I allmänhet är det inte den mest trevliga upplevelsen. Låt oss skapa ett skript som kommer att förenkla bläddring av sidor: det kommer automatiskt att ladda flera olika webbläsare, och i var och en kommer det att öppna dokumentet vi behöver.

berätta för applikationen "Finder"

Välj (ange) önskad fil
välj filen "index.html" i mappen "Aktuell webbplats" på skrivbordet
-- tilldela myFile-variabeln sökvägen till den valda filen
ställ in myFile till markeringen som sträng

Ladda Microsoft IE och öppna den valda sidan
berätta för ansökan" Internet Explorer 3.01"
öppna (alias min fil)
slut berätta

Vi gör samma operation med Netscape Navigator
berätta för applikationen "Netscape Navigator 3.01"
öppna (alias min fil)
slut berätta

Flera nya mönster har dykt upp i programmet ovan. Alla rader som börjar med symboler "--" är kommentarer. I AppleScript kan kommentarer skrivas antingen på en separat rad eller i slutet av raden, omedelbart efter kommandot. I alla fall alla tecken som följer "--" och innan starten ny linje betraktas som kommentarer och ignoreras när skriptet körs.

Kommandot "select" simulerar det explicita valet av ett element med muspekaren, och dess verkan påminner något om användningen av konstruktionen berätta slut berätta, men med skillnaden att när du använder kommandot Välj vi kan tilldela vissa egenskaper för det valda objektet (till exempel sökvägen till en fil eller mapp) till en variabel.

Operatör uppsättning tjänar till att indikera värdena för variabler som skapas när de först nås. Det vill säga, det finns inget behov av att först beskriva variabelns namn och typ: du skrev t.ex. ställ in myDate till det aktuella datumet, och AppleScript skapade variabeln och valde önskad storlek och typ. Men det är inte allt: att använda operatören uppsättning du kan ändra alla egenskaper för objekt. Detta görs på följande sätt:

berätta för applikationen "Finder"
berätta för skrivbordet
berätta för filen "Prislista"

-- ändra kommentaregenskapen för "Prislista"-filen
-- filen finns på skrivbordet
ställ in kommentaren till "Denna prislista är inaktuell!"

Sluta berätta
slut berätta
slut berätta

Eller samma sak, bara genom att använda kommandot select:

berätta för applikationen "Finder"

Välj filen "Prislista" på skrivbordet
ställ in kommentaren för valet till "Denna prislista är inaktuell!"

Sluta berätta

Som du kanske har märkt har allt arbete med skript - att skriva källtext och exekvering - hittills utförts uteslutande med hjälp av en speciell editor. Den här metoden är bra när du behöver skapa ett nytt skript eller göra om ett gammalt. Men för dagligt bruk är det inte bra - medan du öppnar Script Editor, medan du hittar det nödvändiga skriptet på diskarna, tänker du ofrivilligt - skulle det inte vara snabbare att göra samma arbete manuellt, utan någon automatisering? AppleScript-utvecklarna tog hand om detta - skript kan lagras inte bara i formuläret textfiler, men också i kompilerad form, fullt lämpad för autonomt utförande. För att konvertera skriptet till körbar kod måste du köra kommandot Save As Run-Only i skriptredigeraren. I dialogrutan som visas (liknande vad som kan ses i Fig. 5), välj Applikation från rullgardinsmenyn; återställ kryssrutan Stay Open (om du inte aktiverar det här alternativet kommer skriptet automatiskt att slutföra sitt arbete efter körning, annars kommer det att finnas kvar i datorns minne), och markera kryssrutan Nyare Visa startskärm. När du har slutfört alla beskrivna åtgärder kommer det inte att orsaka några svårigheter att starta skriptet: håll bara muspekaren över det och dubbelklicka på knappen.


Ris. 5. Spara skriptet som ett körbart program

Scenario tre och sista. Säkert om fördelarna Reserv exemplar många har hört. Och de som minst en gång i livet har tappat resultatet av sitt månatliga (i värsta fall - minst en vecka) arbete vet säkert att det är bättre att lägga 15 minuter varje dag på arkivering nödvändiga filerän att sedan slita ut håret och kasta aska på din monitor. Men som regel även efter förlust viktig information människor ändrar inte sina vanor: du kan säga till dig själv, "Det är det, från och med idag gör jag kopior av alla filer!" Och en vecka eller två kommer att passera - och programmen verkar "inte svikta", och det finns ingen ledig tid - "Och varför behöver jag den backupen! Och det här kommer att göra." För att göra livet lite lättare för alla dem som vill se sina filer säkra och sunda, men inte riktigt gillar att arbeta med programmet StuffIt, kommer vi att skriva ett skript som kommer att arkivera all nödvändig data varje dag och lägga den på en speciell disk. Här är källtexten för ett sådant program:

berätta för applikationen "Finder"

Ange den enhet och mapp där alla filer lagras
-- för arkivering
ställ in myArhiveFolder till "Mac OS:Current work:"
-- Ange mappen där arkiven lagras
ställ in myTargetFolder till "För arkiv:Publicera arkiv:"
-- tilldela namnet på det framtida arkivet
-- (namnet är det aktuella datumet)
ställ in myFile till datumsträngen för (aktuellt datum) & ".sit"
-- skapa det fullständiga filnamnet (sökväg + namn)
ställ in myArhiveFile till myTargetFolder & myFile

Om en fil med samma namn redan finns
-- (det vill säga säkerhetskopieringen genomfördes idag)
-- sedan avslutar vi bara manuset
om inte (finns (filen myArhiveFile)) då

Om en fil med det angivna namnet inte redan finns,
-- ladda sedan ner StaffIt Deluxe och utför arkivering,
-- och omedelbart ta bort StuffIt från minnet
berätta för applikationen "StuffIt Deluxe"

Aktivera
skapa nytt arkiv med egenskaper (sökväg:myArhiveFile)
saker (alias myArhiveFolder) till arkiv 1
stäng arkiv 1
sluta

Skriptet ovan förenklar säkerhetskopieringen, men inte så mycket som vi skulle vilja - för att börja arkivera måste du leta efter detta skript (på diskar eller på skrivbordet) och köra det. För att helt automatisera arbetet måste du kompilera skriptet och spara det i mappen System/Shutdown Items. Nu, varje gång du stänger av datorn, kommer arkiveringen automatiskt att ladda och spara alla viktiga filer på en speciell disk. Det bör noteras att arkivering endast kommer att utföras en gång om dagen, oavsett om datorn arbetade 20 timmar i rad, eller startas om varje halvtimme - med hjälp av villkorsoperatorn om slut om Vi kollar om det är värt att arkivera, eller om det är bättre att vänta. Tills nästa dag.

Så vad är nästa?..

Efter att ha läst om funktionerna i AppleScript och sett hur enkelt det är att skapa skript, även för nybörjare, kanske du vill fortsätta utforska detta automatiseringsverktyg. Och det är här den första besvikelsen väntar dig. Tyvärr finns det praktiskt taget ingen information om AppleScript på ryska: för att räkna alla publikationer räcker fingrarna på ena handen mer än tillräckligt. Därför, för att lära dig ett skriptspråk, behöver du också goda kunskaper i det engelska språket.

Det finns två huvudkällor för information om AppleScript-teknik. Den första är den officiella webbplatsen för Apple Computer, eller snarare en del av webbplatsen dedikerad till allt som har med skript att göra: teknisk dokumentation, handledningar, exempel, länksamlingar och mycket mer. Adressen till det här avsnittet är http://www.apple.com/applescript/. Jag rekommenderar starkt att du först laddar ner AppleScript Language Guide - en välillustrerad lärobok som innehåller många praktiska exempel (boken finns på http://developer.apple.com/techpubs/macosx/Carbon/pdf/AppleScriptLanguageGuide.pdf, filstorlek - 2,6 MB). Den andra källan - webbplatsen http://www.scripter.com - innehåller mycket material både på AppleScript och på andra alternativa skriptspråk för Macintosh-plattformen.

Dessutom, om du bestämmer dig för att göra allvar med att skriva skript, behöver du en bra verktygsmiljö - Skriptredigeraren, som medföljer Mac OS, är endast lämplig för enkla skript med 20-30 rader kod. I det här fallet kan vi rekommendera Scripter 2.5 från Main Event Software - editorn har ett felsökningsläge och en genomtänkt mekanism för att visa applikationsordböcker. Och om du ska skapa AppleScript-program som kommer att ha ett eget användargränssnitt, då skulle det inte skada att också skaffa FaceSpan 3.5 från Digital Technology – den här applikationen kommer att minska tiden det tar att skapa menyer och dialogrutor på skärmen , och låter dig slippa tidskrävande och obehagligt pyssel med skisser på millimeterpapper.

Istället för en slutsats

Att skriva manus är intressant. Att skriva manus är användbart. Att skriva manus är till och med trevligt. Även om det förstås är mycket trevligare att ägna sig åt den önskade sysslolösheten, medan det ”nybakade” manuset tålmodigt fixar hela veckorutinen.

Ta dig tid, tillbringa några dagar med att lära dig språket, skriv ett par skript som förenklar ditt arbete, så kommer du själv att förstå att AppleScript är ett väldigt enkelt, väldigt kraftfullt och väldigt flexibelt verktyg. Fast borde vi ha förväntat oss något annat från Apple?

Publikationer om ämnet