Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Помогите с разобраться с фуню if... else. Нужна форма ввода пароля. (http://forum.oszone.net/showthread.php?t=169912)

Centrinar 12-03-2010 13:46 1366927

Помогите с разобраться с фуню if... else. Нужна форма ввода пароля.
 
Как правильно записать эту фун?
Код:

$sPass = InputBox("Ввод пароля", "Введите пароль:", "", "*") 
If @error Then Exit MsgBox(48, "Ошибка", "Отмена ввода пароля.")   
If $sPass = 12345 Then      ;
MsgBox(64, "Успех", "Верный пароль.","3") 
Else  If $sPass = 333 Then _Run() 
Else      MsgBox(16, "Ошибка", "Неверный пароль.")         
Exit  EndIf


kaster 12-03-2010 13:50 1366929

Centrinar, почитай ты уже справку!

Medic84 12-03-2010 15:59 1367053

Код:

$sPass = InputBox("Ввод пароля", "Введите пароль:", "", "*") 
If @error Then 
        MsgBox(48, "Ошибка", "Отмена ввода пароля.")   
    Exit
EndIf
If $sPass = 12345 Then MsgBox(64, "Успех", "Верный пароль.","3") 
If $sPass = 333 Then
_Run() 
MsgBox(16, "Ошибка", "Неверный пароль.")         
Exit 
EndIf


Creat0R 12-03-2010 17:35 1367123

Цитата:

Цитата Centrinar
Как правильно записать эту фун »

У вас проблемы с русским языком?

http://forum.oszone.net/rules.html#2.3
Цитата:

Язык общения на Конференции - русский.
* Если Вы не можете писать кириллицей, используйте виртуальную клавиатуру, которая доступна в каждой теме справа от формы ответа. Исключения составляют названия торговых марок, моделей устройств, программных продуктов, а также иностранные аббревиатуры. Они должны воспроизводиться только латинскими буквами.
* На форуме в тематических разделах крайне не рекомендуется намеренное искажение русского языка. Орфографическая грамотность вашего сообщения служит гарантией того, что его прочтут все заинтересованные участники. Проявите уважение к собеседнику - он не обязан искать смысл в безграмотном вопросе.
* Для выделения или постановки ударения на слово или фразу, используйте жирный шрифт или выделение цветом. Не используйте ЗАГЛАВНЫЕ буквы.

FlatX007 13-03-2010 12:52 1367631

Код:

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global Const $sPASSVORD = 1234 ; Пароль для сравнения
$sGUI_NAME = "Ввоод пароля"
$sLIMIT_SIMBOL = 25

$sTextCheckbox1 = "Отображать вводимые символы"

$nFormPassvord = GUICreate($sGUI_NAME, 310, 144, 488, 351)
$Input1 = GUICtrlCreateInput("", 16, 32, 281, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL,$WS_BORDER))
    GUICtrlSetLimit(-1, $sLIMIT_SIMBOL)
$Input2 = GUICtrlCreateInput("", 16, 32, 281, 21, BitOR($ES_AUTOHSCROLL,$WS_BORDER))
    GUICtrlSetLimit(-1, $sLIMIT_SIMBOL)
        GUICtrlSetState(-1, $GUI_HIDE)
$Button1 = GUICtrlCreateButton("&Ok", 224, 112, 75, 25, $BS_DEFPUSHBUTTON)
        GUICtrlSetTip(-1, "Проверить")
$Group1 = GUICtrlCreateGroup(" Введите пароль ", 8, 8, 297, 97)
$Checkbox1 = GUICtrlCreateCheckbox($sTextCheckbox1, 16, 72, 193, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)

GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit

        Case
$Button1
            If GUICtrlGetState($Input1) = 80 Then
                If
GUICtrlRead($Input1) <> $sPASSVORD Then
                    MsgBox(48,"","Не верный пароль")
                Else
                    MsgBox(64,"","Верный пароль")
                    Exit
                EndIf
            Else
                If GUICtrlRead($Input2) <> $sPASSVORD Then
                    MsgBox(48,"","Не верный пароль")
                Else
                    MsgBox(64,"","Верный пароль")
                    Exit
                EndIf
            EndIf

    EndSwitch
WEnd

Func WM_COMMAND($nHnwd, $MsgID, $WParam, $LParam)
    Local $iIDFrom = BitAND($WParam, 0xFFFF) ; Low Word
    Local $iCode = BitShift($WParam, 16) ; Hi Word
    Local $aRead[2] = [GUICtrlRead($iIDFrom), GUICtrlRead($iIDFrom, 1)]

    If $aRead[1] = $sTextCheckbox1 Then
        If GUICtrlRead($Checkbox1) = 4 Then
            GUICtrlSetState($Input1, $GUI_SHOW)
            GUICtrlSetState($Input2, $GUI_HIDE)
            GUICtrlSetData($Input1, GUICtrlRead($Input2))
            GUICtrlRead($Input2)
        Else
            GUICtrlSetState($Input2, $GUI_SHOW)
            GUICtrlSetState($Input1, $GUI_HIDE)
            GUICtrlSetData($Input2, GUICtrlRead($Input1))
            GUICtrlRead($Input1)
        EndIf
    EndIf

    Return $GUI_RUNDEFMSG
EndFunc  ;==>WM_COMMAND



Время: 03:16.

Время: 03:16.
© OSzone.net 2001-