AppleScript (H1)
Ga naar: AppleScript Hoofdstuk 2 AppleScript Hoofdstuk 3
Introductie van AppleScript (Hoofdstuk 1)
Ik zal met dit artikel een korte introductie geven van AppleScript, dit artikel is bedoeld voor mensen die graag een kijkje willen nemen in de wereld van programmeren.
Wat heb ik nodig?
Voordat je met AppleScript aan de slag kunt heb je eerst een aantal “gereedschappen” nodig.
- Apple Computer
- ScriptEditor (standaard)
Indien je de bovengenoemde “gereedschappen” bezit kun je aan de slag!
Wat is AppleScript?
AppleScript is een programmeertaal die door Apple Inc. is ontwikkeld. Apple heeft deze programmeertaal voornamelijk voor de “niet programmeurs” ontwikkeld “The rest of us” zoals Apple het zelf benadrukt. Deze taal moest makkelijk te leren zijn en een goede integratie hebben met de rest van de “Apple” software. AppleScript gebruikt Engels als hoofdtaal en er wordt gebruik gemaakt van zelfstandige naamwoorden. Zoals:
tell application repeat 2 times move theFile to set theFile to “inhoud”
Wat deze termen betekenen zal ik later uitleggen.Wanneer je wilt leren programmeren is AppleScript een goede taal om mee te beginnen. Wanneer je AppleScript onder de knie hebt is het makkelijk om andere programmeertalen te leren. Dit komt omdat AppleScript een vergelijkbare syntax gebruikt die de meeste talen ook gebruiken. Voordat ik laat zien hoe je met AppleScript kunt programmeren is het handig als je een aantal basisbeginselen leert.In het volgende hoofdstuk zal ik verschillende gegevens aanhalen die AppleScript gebruikt.
- 1. Variabelen
- 2. Integer
- 3. Real
- 4. String
- 5. Boolean
- 6. List, record
1. Variabelen
Een variabele is een gegeven dat veranderlijk is. In AppleScript komt the of my voor de variabele .Voorbeeld:theFiletheNametheQuestionmyFilemyNamemyQuestionetc.Welke vorm je kiest is natuurlijk aan jou, het is wel bewezen dat “the” het meest gebruikte is.
2. Integer
Soms is het handig om aan je computer te vertellen welke soort gegeven hij moet gebruiken. Stel, je wilt een gebruiker zijn geboortejaar vragen d.m.v. een dialoog venster en je wilt niet dat hij letters daarin invult, dan is het handig om aan je computer te vertellen dat je alleen hele getallen moet gebruiken. Integer is in AppleScipt een heel getal. Integers kunnen positief, negatief of nul zijn, maar nooit een getal met een komma.Voorbeeld van een Integer:
2007-2501234567890
3. Real
Soms is het nodig om getallen te gebruiken met cijfers achter de komma. Stel, je moet een factuur samenstellen en het bedrag komt uit op Euro 1250.50. Hiervoor kan je dus geen Integer gebruiken, maar een Real. Ook een real kan positief of negatief zijn. Een Real bestaat dus uit getallen met cijfers achter de “komma” (Punt). Gebruik geen komma, AppleScript accepteert alleen een punt (.).Voorbeeld van Real:
-1250.50123456789.987612.9
4. String
De meeste scripts bevatten stukken tekst, tekst binnen een script nomen we een string. Strings worden heel vaak gebruikt binnen het AppleScript. Stel, je wilt een dialoog venster weergeven met de text: Voer hier uw gebruikersnaam in. Dat is “Voer hier uw gebruikersnaam in” een string. Strings binnen de AppleScript staan altijd tussen twee aanhalingstekens. (” “).
Voorbeeld van een String:
"Hello World"
"Welkom bij AppleScript"
"Voer hier uw gebruikersnaam in"
"1234567890"
5. Boolean
Soms kan iets alleen waar of niet waar zijn. In het Engels True of False. In deze gevallen is een variabele in AppleScript een Boolean. Stel, je wilt een password controleren die de gebruiker invoert. Dan is dit bijv. een oplossing:
Is het password correct?
True
Geef toestemming tot binnenkomen.
Is het password incorrect?
False
Geef geen toestemming tot binnenkomen en stel de gebruiker op de hoogte dat hij een verkeerd password heeft ingevoerd d.m.v. een dialoog venster.
Dit is geen script en zal dus ook niet werken. Met bovenstaand voorbeeld geef ik alleen aan hoe een Boolean werkt.
6. List
Indien je een opsomming wilt creeren van bijv. al het fruit dat je in je winkel te koop aanbiedt, en dat in een variabele wilt stoppen, dan is het handig als je list gebruikt. Een list begint en eindigt met een accolade ( {} ) met daarin alle elementen die met een komma worden gescheiden. De elementen beginnen en eindigen met een aanhalingsteken ( “” ).
Voorbeeld:
{"Appel", "Peer", "Aardbei", "Bannan", "Kivi"}
{"-12", "34", "-56", "78", "-90"}
{"Eerste tekst", "Tweede Tekst", "Derde Tekst", "Vierde Tekst"}
{name:"Martin" age:"28"}
Aan de slag!
Nu je de basisbeginselen weet kunnen we een rustige start maken. Start nu je ScriptEditor en toets het volgende in:
set theTitel to "Mijn eerste script met AppleScript"
display dialog theTitel
Klik vervolgens op Run in je ScriptEditor. Als je geen fouten hebt gemaakt moet dit het resultaat zijn:

We gaan het script kort evalueren, wat hebben we nu gedaan? We hebben een Variabele theTitle “gevuld” met een String “Mijn eerste script met AppleScript” en deze vervolgens weergegeven door een Dialoog Venster.Gefeliciteerd je eerste AppleScript is nu een feit!
Volgende voorbeeld:
set theNaam to "Martin"
display dialog "Is jouw naam " & theNaam & "?" buttons {"Ja", "Nee"}
Klik vervolgens op Run in je ScriptEditor. Het resultaat:

Evaluatie:
We hebben een Variabele theNaam gevuld met een String “Martin” Een dialoog venster gemaakt met display dialog met een String “Is jouw naam”, vervolgens de variabele theNaam en String “?” gekoppeld d.m.v. een & -teken aan het dialoog venster. Wanneer je een standaard knop wilt tonen voeg je aan de tweede regeldefault button "Ja"toe aan het bovengenoemde script.Het resultaat zal dan zijn:

Volgende voorbeeld:
Soms wil je in plaats van gesloten vragen open vragen stellen. Bijvoorbeeld: “Wat is uw woonplaats?” Hier heb je in dit geval een tekstvlak nodig. U vraagt hier met andere woorden om een tekst (text returned).
Het onderste script hoort op een regel te staan, maar omdat deze te lang is wordt deze afgebroken, AppleScript gebruikt een ¬ teken (ALT + L).
Voorbeeld:
set theVraag to text returned of (display dialog "Wat is uw woonplaats?" ¬
default answer "")
Resultaat:

Wanneer je een bevestiging wilt krijgen van de door de gebruiker ingevoerde tekst voeg je de volgende code op de nieuwe regel toe:
display dialog "U woont in " & theVraag buttons {"OK"} ¬
default button 1
Wanneer je nu het script uitvoert krijg je het volgende:

Vervolgens geeft het script als output:

Volgende voorbeeld:
OpdrachtenWe hebben al kennis gemaakt met een aantal opdrachten zoals: set, to, display dialog. Opdrachten die uit meerdere regels bestaan moeten worden afgesloten met END Toets de volgende tekst in je ScriptEditor:
repeat 2 times
say "my name is Martin"
end repeat
Wanneer je het script uitvoert zul je horen dat de computer de zin “my name is Martin” tweemaal zegt.
Je ziet hier de opdracht repeat … times, deze wordt afgesloten met end repeat.
If … Then… Else
De boven genoemde opdrachten zijn een van de belangrijkste opdrachten binnen AppleScript. If, Then en Else noemen we Conditionals (Voorwaarden). Met deze opdrachten kan je een script sturen welke kant hij op moet gaan.
Stel dat je een dialoog venster met een vraag: “Is jouw naam Martin” maakt. En de gebruiker drukt op NEE, dan kan je daar weer een actie op bouwen bijv. een tekstvlak waar de gebruiker zelf zijn naam kan invoeren. Drukt de gebruiker op JA dan kan je bijv. verder gaan met de vragen. Is het nog moeilijk te begrijpen? Dan komt hier een voorbeeld dat veel duidelijk zal maken:
set theNaam to "Marcin"
display dialog "Is uw naam " & theNaam buttons {"Ja", "Nee"}
if button returned of result is "Ja" then
display dialog "Uw naam is " & theNaam buttons {"OK"} default button 1
else
set theAntwoord to text returned of (display dialog ¬
"Voer hieronder uw naam in" default answer "")
display dialog "U naam is " & theAntwoord buttons ¬
{"OK"} default button 1
end if
Wanneer je deze code uitvoert zult je zien dat je twee kanten op kunt, namenlijk via de knop “Ja” en “Nee”. Wanneer je op de vraag “Is uw naam Martin” “Ja” klikt krijgt u de output: “Uw naam is Martin”. Indien u op “Nee” drukt krijgt u een tekstvenster waar de gebruiker zelf zijn naam invoert. Vervolgens krijgt de gebruiker een output van de ingevoerde naam. Zo zie je dat je het script en zo je gebruikers kunt sturen met de keuze die ze maken.
In het volgende Hoofdstuk gaan we o.a. verder in op:
- opdracht: repeat
- opdracht: beep
- opdracht: say (verder uitgelegt)
- opdracht: on error
- opdracht: tell
- opdracht: make
















