A.12. Chapter 12
A.12.1. Exercise 1 solution
Insert the following handler code into the slide show script:
on prompt_for_slide_duration() set slide_duration to 0 repeat while slide_duration is 0 try display dialog ¬ "How many seconds should each slide in the " & ¬ "slideshow be displayed?" ¬ buttons {"OK"} default answer 2 default button 1 set dialog_result to result set slide_duration to (text returned of dialog_result) as real if slide_duration 0 then error "Enter a positive number" on error msg display_error_message(msg) set slide_duration to 0 end try end repeat return slide_duration end prompt_for_slide_duration
This handler is very similar to others in the script that prompt the user for input. A dialog is displayed requesting the user to enter the number of seconds per slide in the show. The value entered must be a number greater than zero; otherwise an error will arise, and the user will be prompted again.
To complete the exercise, modify the run handler to call the prompt_for_slide_duration handler, and pass the result to the create_image_sequence_from_folder handler.
on run try copy Photo_Archive to photo_arch set photo_arch's archive_folder_name to "Test Photo Archive" tell photo_arch to setup_archive_folder()
set num_photos to prompt_for_number_of_photos_in_show() set slide_duration to prompt_for_slide_duration() set the_album to prompt_for_album_choice() add_photos_from_album given Photo_Archive:photo_arch, ¬ album:the_album, number_of_photos:num_photos create_image_sequence_from_folder(photo_arch's ...
Get Beginning Mac OS® X Programming now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.