user2509708
user2509708

Reputation: 15

AppleScript loop issue

I'm a student currently learning AppleScript and I'm having difficulty looping a particular command, could someone help me out please? The code is as below, my aim is to loop only if the user enters an invalid value.

I appreciate any help given :)

Many thanks Andrew

    display dialog "Choose a number from 1-10" default answer "Only number less than 11" buttons {"Ok"} default button 1

try

    set theAnswer to (text returned of result) as number

on error

    display dialog "You didnt put in any numbers" buttons {"Ok"} default button 1
    return

end try
if theAnswer < 1 then
    set theTest to 0
else if theAnswer < 11 then
    set theTest to 1

else
    set theTest to 0
end if
if theTest = 0 then
    display dialog "Invalid Input" buttons {"Ok"} default button 1

else
    display dialog "You chose the number " & theAnswer buttons {"Ok"} default button 1
end if

Upvotes: 0

Views: 130

Answers (1)

adayzdone
adayzdone

Reputation: 11238

Try:

repeat
    set theAnswer to text returned of (display dialog "Choose a number from 1-10" default answer "Only number less than 11" buttons {"Ok"} default button 1)
    try
        set theAnswer to theAnswer as number

        if theAnswer ≤ 10 and theAnswer ≥ 1 then
            display dialog "You chose the number " & theAnswer buttons {"Ok"} default button 1
            exit repeat
        else
            display dialog "Invalid Input" buttons {"Ok"} default button 1
        end if

    on error
        display dialog "You didnt put in any numbers" buttons {"Ok"} default button 1
    end try
end repeat

beep 3

Upvotes: 1

Related Questions