-- SetVolume 1.1
-- Skripti vaihtaa äänenvoimakkuutta päästämättä varoitusääntä.
-- Vaatimukset: scripting addition Set Volume (Apple Computer Inc.)

-- 1999 Tuomas Rosberg <vanhentunut>
-- Lähdekoodi on ilmaista ja tarkoitettu yleiseen käyttöön (public domain).
-- Sitä lainattessa kirjoittajan nimi on mainittava.
-- Koodilla ei ole mitään takuuta, ja sen sisältävää ohjelmaa käyttävät
-- toimivat omalla vastuullaan.

property previousVolume : ""
property currentVolume : ""

on run
   if previousVolume is "" then --skriptiä ei ole koskaan ajettu.
      set previousVolume to some integer in {0, 1, 2, 3, 4, 5, 6, 7} --arvotaan muuttujalle arvo joukosta.
   end if
   display dialog ¬
      "Kirjoita voimakkuus (0-7)" & return & "ja paina rivinvaihto." buttons {"Peru", "OK"} ¬
      default answer previousVolume default button "OK"
   if button returned of result is "OK" then
      set userChoise to text returned of result --dialogilaatikkoon kirjoitettu vastaus on aina laadultaan tekstiä.
      if userChoise is "" then --vastauskenttä on tyhjä.
         set userChoise to 0
      end if
      try
         set userChoise to userChoise as integer --vastauksen laatu muutetaan kokonaisluvuksi.
      on error --vastaus sisältää muita merkkejä kuin numeroita.
         set userChoise to ""
         beep
      end try
      if userChoise > 7 then --vastaus sisältää seitsemää suuremman kokonaisluvun.
         set userChoise to 7
      end if
      if userChoise is not "" then --muuttujassa on ehdot täyttävä kokonaisluku.
         set previousVolume to currentVolume --talleta edellinen valinta.
         set currentVolume to userChoise --talleta uusi valinta.
         set volume userChoise --aseta äänenvoimakkuudeksi uusi valinta.
      end if
   else --käyttäjä perui.
   end if
end run