AppleScriptin perusteita

AppleScript on ohjelmointikielistä poikkeava mm. hyväksyessään muutamia synonyymeja syntaksissaan. Luonnollisen kielen kaltaisuus ei kuitenkaan helpota eri ohjelmien toisistaan poikkeavan termistön opettelua.

Apple on yrittänyt laatia suuntaviivoja ohjelmien termistöön julkaisemalla sanastoja (esim. Database Suite) ohjelmankehittäjille. Ohjelmankehittäjä kuitenkin päättää, voiko ohjelmaa skriptata ja millainen sanasto siinä on. Skriptausta voi harjoitella aina käsillä olevan Finderin (7.1 Pro ja uudemmat) kanssa.

 

--Used on volumes 1.0. Näyttää käytetyn tilan taltioilla. Vaatimukset skriptattava Finder (testattu 8.5). 
--PC-alustettujen levyjen nostaminen Työpöydälle vaatii PC-lukijan/Tiedostomuunnokset-säätimen. 
--Tuomas Rosberg 1999. Public Domain. 

on run
   
   --joitakin paikallismuuttujia: 
   set theName to ""
   set usedInMb to ""
   set theResult to {}
   
   --lista taltioista Työpöydällä: 
   tell application "Finder"
      set theList to every disk
      
      --informaatio taltio kerrallaan: 
      repeat with x in theList
         set theName to name of x
         set usedInMb to ((capacity of x) - (free space of x)) / 1048576
         set theResult to theResult & return & {theName, usedInMb}
      end repeat
      
      --tulos: 
      set oldDelims to AppleScript's text item delimiters
      set AppleScript's text item delimiters to space
      display dialog "Used space in volumes " & return & theResult
      set AppleScript's text item delimiters to oldDelims --palautetaan alkuperäinen tekstikohteiden erotin. 
   end tell
end run

AppleScriptin laajentaminen

AppleScriptin käyttötarkoitus on ohjelmien toimintojen ohjaus. Esimerkiksi käyttöliittymän lisääminen skriptiin vaatii aina jonkin skriptauslaajennuksen, "addin".

Addit (scripting addition l. Open Scripting Architecture eXtension l. OSAX) mahdollistavat uusien toimintojen lisäämisen AppleScriptiin. Niillä voidaan virittää kieli lähes perinteisten ohjelmointikielten veroiseksi. Seuraava muunnos edellisestä skriptistä vaatii kaksi addia. Niiden käyttö nopeuttaa skriptin suoritusta huomattavasti.


 
--Used on volumes 1.1
--Tuomas Rosberg 1999. Public Domain. 

on run
   
   --joitakin paikallismuuttujia: 
   set theName to ""
   set usedInMb to ""
   set theResult to {}
   
   --lista taltioista Työpöydällä: 
   tell application "Finder"
      set theList to list disks --vaatii Standard Additions (Mac OS 8) tai File Commands Addition (Mac OS 7.*)
      
      --informaatio taltio kerrallaan: 
      repeat with x in theList
         set theInfo to volume info for volume named x) 
         --vaatii Volume Info OSAX 1.2 (Carl W. Bell,©1994-1998 Baylor University
         set theName to name in theInfo
         set usedInMb to used in theInfo
         set theResult to theResult & return & {theName, usedInMb}
      end repeat
      
      --tulos: 
      set oldDelims to AppleScript's text item delimiters
      set AppleScript's text item delimiters to space
      display dialog "Used space in volumes " & return & theResult
      set AppleScript's text item delimiters to oldDelims --palautetaan alkuperäinen tekstikohteiden erotin. 
   end tell
end run

VolumeInfo OSAX on vain esimerkki, addeja on saatavissa useista Macintosh-sharewarea ja freewarea välittävistä palveluista. Tietoa AppleScriptista voi lukea Applen sivuilta. Esimerkkiskriptejä löytyy mm. AppleScript Sourcebookista. VolumeInfon kirjoittajan sivut ja käyttöoikeustiedot löytyvät Teksasista. Alla addin keräämää infoa.
 
 


Edellinen