Что нового

[Ошибки] Помогите найти ошибку в скрипте "Авторизация через INI файл на сайте"

vanekzver

Новичок
Сообщения
91
Репутация
2
Код:
#include <GUIConstants.au3>
#include <EditConstants.au3>
#include <IniString.au3>
GUICreate('Авторизация', 200,100)
GUICtrlCreateLabel("Логин", 10, 20)
$hLogin = GUICtrlCreateInput('knife', 50, 16, 120)
GUICtrlCreateLabel("Пароль", 10, 50)
$hPassword = GUICtrlCreateInput('123456', 50, 44, 120, 21, $ES_PASSWORD)
$hButton = GUICtrlCreateButton('Войти', 50, 75, 120)

GUISetState()
While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            Exit
        Case $msg = $hButton
            $sLog = GUICtrlRead($hLogin)
            $sPass = GUICtrlRead($hPassword)
            $iControl = _Validate_Password($sLog, $sPass)
            If Not @error Then
                If $iControl Then
                    MsgBox(64, 'Info', 'Все OK')
                Else
                    MsgBox(16, 'Ошибка', 'Пароль неправильный')
                   
                EndIf
            Else
                MsgBox(16, 'Ошибка', 'Произошла ошибка, попробуйте еще раз')
                Exit
            EndIf
            MsgBox(64, 'Info', 'Работаем дальше')
    EndSelect
WEnd

Func _Validate_Password($s_Login, $s_Password)
    Local $s_TextFromSite, $s_Url = 'http://dl.dropbox.com/u/54299793/test.ini', _; Ваша ссылка
            $s_Control_Pass, $s_Section = 'Login_Password'
    $s_TextFromSite = InetRead($s_Url, 17)
    If @error Then Return SetError(1)
    $s_TextFromSite = BinaryToString($s_TextFromSite)
    $s_Control_Pass = _IniString_Read($s_TextFromSite, $s_Section, $s_Login, 'Error')
    Return SetError(0, 0, $s_Control_Pass = $s_Password)
EndFunc   ;==>_Validate_Password

Есть код, помогите найти ошибку, тк когда программа проверяет пароль, то ничего не произходит, окно не запускается, а остается на месте. Сам скрипт, авторизация через INI файл, взятый с сайта.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
vanekzver,
А в чем ошибка?
 
Автор
V

vanekzver

Новичок
Сообщения
91
Репутация
2
Попробуйте добавить после этого кода функцию допустим MsgBox, после идентефикации она не сработает.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
vanekzver,
Я Вас не понимаю.
 
Автор
V

vanekzver

Новичок
Сообщения
91
Репутация
2
Объяняю, после этой функции, всей, в самом конце добавте создание GUI, пароль пройдет, но создание гуи не проезойдет, и окно с проверкой не закроется
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
vanekzver,
Вот это и надо было указать в первом посте.
Код:
#include <GUIConstants.au3>
#include <EditConstants.au3>
#include <IniString.au3>

$hGUI = GUICreate('Авторизация', 200, 100)
GUICtrlCreateLabel("Логин", 10, 20)
$hLogin = GUICtrlCreateInput('knife', 50, 16, 120)
GUICtrlCreateLabel("Пароль", 10, 50)
$hPassword = GUICtrlCreateInput('123456', 50, 44, 120, 21, $ES_PASSWORD)
$hButton = GUICtrlCreateButton('Войти', 50, 75, 120)

GUISetState()
While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENT_CLOSE
			Exit
		Case $msg = $hButton
			$sLog = GUICtrlRead($hLogin)
			$sPass = GUICtrlRead($hPassword)
			$iControl = _Validate_Password($sLog, $sPass)
			If Not @error Then
				If $iControl Then
					MsgBox(64, 'Info', 'Все OK' & @LF & 'Работаем дальше')
					ExitLoop
				Else
					MsgBox(16, 'Ошибка', 'Пароль неправильный')
					Exit
				EndIf
			Else
				MsgBox(16, 'Ошибка', 'Произошла ошибка, попробуйте еще раз')
				Exit
			EndIf
	EndSelect
WEnd

GUIDelete($hGUI)
MsgBox(64, 'Info', 'Пишите здесь Вашу программу')


Func _Validate_Password($s_Login, $s_Password)
	Local $s_TextFromSite, $s_Url = 'http://dl.dropbox.com/u/54299793/test.ini', _; Ваша ссылка
			$s_Control_Pass, $s_Section = 'Login_Password'
	$s_TextFromSite = InetRead($s_Url, 17)
	If @error Then Return SetError(1)
	$s_TextFromSite = BinaryToString($s_TextFromSite)
	$s_Control_Pass = _IniString_Read($s_TextFromSite, $s_Section, $s_Login, 'Error')
	Return SetError(0, 0, $s_Control_Pass = $s_Password)
EndFunc   ;==>_Validate_Password
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
vanekzver
покажи код который не работает, а не тот, который работает, но перестает когда ты что-то там куда-то там добавляешь.
 
Автор
V

vanekzver

Новичок
Сообщения
91
Репутация
2
Re: [Ошибки] Помогите найти ошибку в скрипте \"Авторизация через INI файл на сайте\"

Код:
#include <GUIConstants.au3>
#include <EditConstants.au3>
#include <IniString.au3>
GUICreate('Авторизация', 200,100)
GUICtrlCreateLabel("Логин", 10, 20)
$hLogin = GUICtrlCreateInput('knife', 50, 16, 120)
GUICtrlCreateLabel("Пароль", 10, 50)
$hPassword = GUICtrlCreateInput('123456', 50, 44, 120, 21, $ES_PASSWORD)
$hButton = GUICtrlCreateButton('Войти', 50, 75, 120)

GUISetState()
While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            Exit
        Case $msg = $hButton
            $sLog = GUICtrlRead($hLogin)
            $sPass = GUICtrlRead($hPassword)
            $iControl = _Validate_Password($sLog, $sPass)
            If Not @error Then
                If $iControl Then
                    MsgBox(64, 'Info', 'Все OK')
                Else
                    MsgBox(16, 'Ошибка', 'Пароль неправильный')

                EndIf
            Else
                MsgBox(16, 'Ошибка', 'Произошла ошибка, попробуйте еще раз')
                Exit
            EndIf
            MsgBox(64, 'Info', 'Работаем дальше')
    EndSelect
WEnd

Func _Validate_Password($s_Login, $s_Password)
    Local $s_TextFromSite, $s_Url = 'http://2.dropbox.ru/logpas.ini', _; Ваша ссылка
            $s_Control_Pass, $s_Section = 'Login_Password'
    $s_TextFromSite = InetRead($s_Url, 17)
    If @error Then Return SetError(1)
    $s_TextFromSite = BinaryToString($s_TextFromSite)
    $s_Control_Pass = _IniString_Read($s_TextFromSite, $s_Section, $s_Login, 'Error')
    Return SetError(0, 0, $s_Control_Pass = $s_Password)
EndFunc   ;==>_Validate_Password

GUICreate('123213', 200,100)
GUICtrlCreateLabel("Логин", 10, 20)
вот так добавлял
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
vanekzver [?]
вот так добавлял
ну и правильно. с чего коду доходить до этих строк. если у тебя после нажатия на крестик окна - происходит Exit, а других способов выхода из бесконечно цикла у тебя не прерудсмотрено
 
Автор
V

vanekzver

Новичок
Сообщения
91
Репутация
2
Я пока только осваиваю AutoIt. Спасибо.
 
Верх