2

AppleScript を介して簡単なユーザー認証を取得しようとしています。目標は、パスワードを相互にチェックしてから、残りのスクリプトを続行することです。現時点では、password_initial が正しく、password_final が正しくない場合、スクリプトはパスワードの不一致を認識できますが、password_initial が正しくなく、password_final が正しい場合、それ自体をチェックするロジックはありません。

set user_name to ""
display dialog "Please enter your user name" default answer "firstname.lastname"
set the user_name to the text returned of result

set password_initial to ""
display dialog "Please enter your password:" default answer "" with hidden answer
set password_initial to the text returned of result

display dialog "Please verify your password below." buttons {"OK"} default answer "" with hidden answer
set password_final to text returned of result
considering case
    repeat while password_final is not equal to password_initial
        display dialog "Passwords do not match, please re-enter your password below." buttons {"OK"} default answer "" with hidden answer
        set password_final to text returned of result
    end repeat
end considering

--do something

誰かがこれについて正しい方向に私を向けることができますか? ありがとう!

4

2 に答える 2

1

おっおっおっ、ハンドラーとグローバル変数?すべてをループに入れて、必要なものが得られたらそれを壊してみませんか?

set user_name to text returned of (display dialog "Please enter your user name" default answer "firstname.lastname")

set display_text to "Please enter your password:"
repeat
    considering case
        set init_pass to text returned of (display dialog display_text default answer "" with hidden answer)
        set final_pass to text returned of (display dialog "Please verify your password below." buttons {"OK"} default button 1 default answer "" with hidden answer)
        if (final_pass = init_pass) then
            exit repeat
        else
            set display_text to "Mismatching passwords, please try again"
        end if
    end considering
end repeat

#Rest of script here...
于 2013-07-23T17:13:34.887 に答える