引用:
作者: Living
你的問題是你並沒有在輸入密碼的過程中加入"取消"這個選項
也就是你每一個IF STATEMENT裡應該加上一個ELSEIF
而ELSEIF是如果按的是"取消鍵"該做什麼
|
真是厲害,看到樓主的忽略地方了 ...,我在改以一下我的概念碼(虛擬碼)
語法:
Boolean 密碼檢查值 = False;
Boolean 取消鍵值 = False;
String 密碼A = ABCDEF;
For (i=1 ~ 3) {
密碼檢查值 = 密碼程式();
If (取消鍵值 == True) Then {顯示密碼輸入取消並結束 For 迴圈();}
If (密碼檢查值 == True) Then {結束 For 迴圈();} Else {顯示密碼錯誤();}
}
If (密碼檢查值 == True) Then {做該做的事();}
---------------------------------------------------
密碼程式(){
String 密碼B;
密碼B = 輸入字串();
取消鍵值 = 檢查有取消鍵(ESC);
If (取消鍵值 == True) Then {Return False;}
If (密碼A == 密碼B) Then {Return True;} Else {Return False;}
}
或者
語法:
Integer 密碼檢查值 = 0; //0 表示密碼錯誤、1 表示密碼正確、2 表示密碼取消
String 密碼A = ABCDEF;
For (i=1 ~ 3) {
密碼檢查值 = 密碼程式();
If (密碼檢查值 == 2) Then {顯示密碼輸入取消並結束 For 迴圈();}
If (密碼檢查值 == 1) Then {結束 For 迴圈();} Else {顯示密碼錯誤();}
}
If (密碼檢查值 == 1) Then {做該做的事();}
---------------------------------------------------
密碼程式(){
String 密碼B;
密碼B = 輸入字串();
If (檢查有取消鍵 (ESC)) Then {Return 2;}
If (密碼A == 密碼B) Then {Return 1;}
Return 0;
}