AppleScript er et utrolig naturlig og intuitivt skriptspråk som hjelper deg med å automatisere oppgaver i OS X. Jeg er ganske glad i syntaksen og hvor lett det er å lære og skrive, men det er definitivt noen områder som er vanskeligere å plukke opp enn andre . For eksempel har jeg alltid problemer med å huske alle alternativene og spesifikk syntaks som er involvert i å lage dialogvinduer som de som tillater brukeren å skrive inn noen tekst eller velge fra flere alternativer.
I dag skal vi ta en rask titt på hvordan du kan strømlinjeforme denne prosessen med et utrolig praktisk verktøy fra Mac App Store kalt Dialog Maker.
Kjenner ikke AppleScript? Denne artikkelen kan ikke være veldig bra for deg. Du kan imidlertid lære nesten alt du trenger å vite fra bare to andre artikler her på AppStorm!
For å se hvordan denne prosessen fungerer normalt, la oss prøve en test sak. La oss si at vi vil opprette en dialog som lar brukeren velge en eller flere av ukedagene. Du kan starte med kode noe som dette:
[Apple]
velg fra listen "søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag")
[/ Apple]
Enkel nok riktig? Denne dialogen vil fungere, men det utnytter mange av standardinnstillingene som vi kanskje eller ikke vil bruke. For eksempel kan brukeren som standard kun velge ett alternativ. På dette tidspunktet slår jeg vanligvis opp Google for å se hvilke alternativer som følger med en typisk dialog. Det viser seg at vi kan legge til i mange forskjellige ting, her er noen eksempler.
En tittel:
[Apple]
med tittelen "Calendar Picker"
[/ Apple]
En melding (instruksjoner):
[Apple]
med ledig "Velg en eller flere dager"
[/ Apple]
Tilpassede knapper:
[Apple]
OK knapp navn "Disse dager" avbryt knapp navn "No Days"
[/ Apple]
Et standardvalg:
[Apple]
standardelementer "Monday"
[/ Apple]
Aktiver flere valg:
[Apple]
med flere valg tillatt
[/ Apple]
Når vi finner ut alle disse forskjellige alternativene, kan vi deretter kombinere dem med en super lang linje med kode:
[Apple]
Velg fra listen "Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag" med tittelen "Kalendervalg" med ledig "Velg ett eller flere dager" OK-knappens navn "Disse dagene" kansellerer knappens navn "No Days" standardelementer "Monday" med flere valg tillatt
[/ Apple]
Gitt, så langt som høyt nivå programmering går, er dette ikke akkurat kompliserte ting. Men for nye kodere kan dette være en ganske tungvint del av kode for å jobbe med. Videre, som jeg allerede nevnte, er det noen ganger den vanskeligste delen bare å huske alle alternativene du har med hver type dialog og hvordan du implementerer dem riktig.
AppleScript-ordbøker hjelper uansett, men et enda enklere alternativ er å bruke en app som heter Dialog Maker, som gir deg et enkelt, form-lignende grensesnitt for å bygge komplekse dialoger i AppleScript. La oss ta en titt på de tre forskjellige typer dialoger som det hjelper deg med å bygge.
Den første av de tre alternativene i Dialog Maker er "Display Dialog". Dette er den enkleste av de tre og gir brukeren en melding og opptil tre mulige svar i form av knapper eller tekstoppføring.
La oss si at vi vil opprette en titteldialog med enkle instruksjoner og tre mulige svar i form av knapper. Først åpner vi Dialog Maker og velger "Display Dialog" -alternativet øverst. Herfra kan vi bruke en rekke grunnleggende kontroller i stedet for å skrive kode for hånd:
Som du kan se, er det første vi blir bedt om å gi en valgfri tittel for dialogboksen. Jeg valgte alternativet "tekst" og skrev inn en tittel. Neste opp er tekstoppføringsalternativene, siden jeg bare ønsket å gå med en enkel knappdrevet dialog, hoppet jeg over disse.
Herfra går vi ganske enkelt sammen og fyller ut resten av alternativene. Først kan du velge om du vil ha et ikon (velg ditt eget eller et standardalternativ). Deretter velger du hvor mange knapper du vil ha (opptil tre), hva hver sier og hva standard oppførsel og valg vil være.
Mitt favorittalternativ her er muligheten til å få Dialog Maker til å sette opp "Hvis" -oppgaven for deg. Mesteparten av tiden vil du ønske at visse handlinger skal skje når en bestemt knapp klikkes, som oppnås gjennom "hvis" og "da" kommandoer.
Når du er ferdig med å fylle ut skjemaene, kan du klikke på "Forhåndsvis" -knappen for å se dialogboksen din i handling. En levende, interaktiv versjon av vinduet vil da vises.
Når du er fornøyd med resultatene, kan du enten kopiere koden til utklippstavlen eller klikke på "Sett inn" -knappen hvis den automatisk vises i det aktive AppleScript Editor-vinduet.
Med delen "Velg fra liste" kan vi opprette dialogboksen som vi startet artikkelen med i sekunder uten oppstyr. Akkurat som i forrige avsnitt, har vi øyeblikkelig tilgang til alle relevante alternativer som tittel, spørsmål, etc..
En av de tingene jeg virkelig liker her er systemet for å legge til elementer i listen: hvert element vises som en liten enhet som enkelt kan omarrangeres, slettes, etc. Når du legger til elementer i denne delen, oppdaterer den under den automatisk. slik at du kan velge standardalternativet.
Som du kan se i forhåndsvisningen nedenfor, kunne vi bygge nøyaktig samme dialog med alle alternativene vi brukte før, bare denne gangen i stedet for å skrive koden manuelt, manipulerte vi bare noen få kontroller og limte inn i teksten.
Det endelige alternativet er en som du er helt kjent med og uten tvil støter på flere ganger i timen på Mac: en fildialog. Her får du mange flotte muligheter for å filtrere innholdet som vises i vinduet, et alternativ som jeg aldri har utforsket enda før du bruker denne appen!
Koding dialoger for hånd i AppleScript kan være litt av en smerte. Ikke bare må du huske mange forskjellige kodestykker som kreves for å oppnå effekten du vil, du må også huske hva alle standardinnstillingene er for hver dialog og hvordan du kan endre dem.
Bruke en app som Dialog Maker kan virkelig øke kodingsprosessen din og hjelpe deg gjennom en av de vanskeligste delene av AppleScript. Også, siden appen genererer kode for at du skal sette inn, lærer du så mye hver gang du bruker det, så finner du deg selv som trenger appen mindre og mindre!