1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp Lỗi về phép so sánh bởi GUICtrlRead()

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi hoanghuy, 23/1/19.

  1. hoanghuy

    hoanghuy Thành viên
    • 8/11

    Tham gia ngày:
    1/12/18
    Bài viết:
    50
    Đã được thích:
    4
    đây ạ, em đã kiểm tra bằng msgbox, tk và mk em nhập vào đúng với hàm guictrlread() đọc được nhưng mà nó cứ báo sai tk hoặc mk
    ----------------------------------------------------------

    Mã (AutoIt):

    #include <Checking.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <GuiButton.au3>
    #include <FileConstants.au3>


    $Form1 = GUICreate("Form1", 417, 149, -1, -1)
    GUISetBkColor(0xFFFFFF)
    $Label1 = GUICtrlCreateLabel(" Ðang nhập ", 136, 8, 136, 35)
    GUICtrlSetFont(-1, 20, 400, 0, "Times New Roman")
    GUICtrlSetColor(-1, 0x0000FF)
    $Label2 = GUICtrlCreateLabel("Tài khoản:", 40, 64, 64, 19)
    GUICtrlSetFont(-1, 10, 800, 0, "Times New Roman")
    Local $Label3 = GUICtrlCreateLabel("Mật khẩu:", 40, 96, 62, 19)
    GUICtrlSetFont(-1, 10, 800, 0, "Times New Roman")
    $Your_Account = GUICtrlCreateInput("", 112, 64, 161, 21)
    $Your_password = GUICtrlCreateInput("", 112, 96, 161, 21)
    $Button1 = GUICtrlCreateButton("OK", 320, 48, 73, 73)
    GUICtrlSetFont(-1, 22, 800, 0, "Times New Roman")
    GUICtrlSetColor(-1, 0x000000)
    $button2 = GUICtrlCreateLabel('<>Sign Up', 350, 130)
    GUISetState(@SW_SHOW)


    $read = FileOpen('C:\Test\Tester\text.txt')
    $checking = FileRead($read, 7)
    $checking1 = FileReadLine($read, 2)


    While 1
        $nMsg = GUIGetMsg()

        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $button2
                _saveaccount()
            Case $Button1
                If GUICtrlRead($Your_Account) == $checking And GUICtrlRead($Your_password) == $checking1 Then
                    MsgBox(64, '', 'đăng nhập thành công')
                    Sleep(1000)
                Else
                    MsgBox(64, '', 'Sai tk hoặc  mk')
                    Exit
                EndIf
        EndSwitch
        Sleep(20)
    WEnd
     
    Help me !!!
     
  2. Only Love

    Only Love Thành viên
    • 18/23

    Tham gia ngày:
    8/9/15
    Bài viết:
    69
    Đã được thích:
    59
    Mã (Text):
    $checking = FileRead($read, 7)
    FileRead hay FileReadLine vậy ?
     
  3. hoanghuy

    hoanghuy Thành viên
    • 8/11

    Tham gia ngày:
    1/12/18
    Bài viết:
    50
    Đã được thích:
    4
    read đó bác
     
  4. hoanghuy

    hoanghuy Thành viên
    • 8/11

    Tham gia ngày:
    1/12/18
    Bài viết:
    50
    Đã được thích:
    4
    em không biết nhưng nếu thay ở đoạn "And" bằng "or" thì code chạy rất tốt ...
    đây ạ
    -----------------------------------------------------------------------------------------------------------
    Mã (AutoIt):
    #include<Checking.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #Include <GuiButton.au3>
    #include <FileConstants.au3>


    $Form1 = GUICreate("Form1", 417, 149, -1, -1)
    GUISetBkColor(0xFFFFFF)
    $Label1 = GUICtrlCreateLabel(" Ðang nhập ", 136, 8, 136, 35)
    GUICtrlSetFont(-1, 20, 400, 0, "Times New Roman")
    GUICtrlSetColor(-1, 0x0000FF)
    $Label2 = GUICtrlCreateLabel("Tài khoản:", 40, 64, 64, 19)
    GUICtrlSetFont(-1, 10, 800, 0, "Times New Roman")
    Local $Label3 = GUICtrlCreateLabel("Mật khẩu:", 40, 96, 62, 19)
    GUICtrlSetFont(-1, 10, 800, 0, "Times New Roman")
    $Your_Account = GUICtrlCreateInput("", 112, 64, 161, 21)
    $Your_password = GUICtrlCreateInput("", 112, 96, 161, 21)
    $Button1 = GUICtrlCreateButton("OK", 320, 48, 73, 73)
    GUICtrlSetFont(-1, 22, 800, 0, "Times New Roman")
    GUICtrlSetColor(-1, 0x000000)
    $button2=GUICtrlCreateLabel('<>Sign Up',350,130)
    GUISetState(@SW_SHOW)


    $read=FileOpen('C:\Test\Tester\text.txt')
    $checking=FileRead($read,7)
    $checking1=FileReadLine($read,2)


    While 1
       $nMsg = GUIGetMsg()

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
       Exit
            Case $button2
             _saveaccount()
            Case $Button1
             If GUICtrlRead($Your_Account)=$checking Or GUICtrlRead($Your_password)=$checking1 Then  (chữ and được thay bằng  chữ or ở đây ạ)
              MsgBox(64,'','đăng nhập thành công')
              Sleep(1000)
           Else
              MsgBox(64,'','Sai tk hoặc  mk')
          exit


             EndIf

             EndSwitch
    sleep(20)
    WEnd
     
     
  5. hoanghuy

    hoanghuy Thành viên
    • 8/11

    Tham gia ngày:
    1/12/18
    Bài viết:
    50
    Đã được thích:
    4
    nhưng trong hướng dẫn thì thế này
    And
    Logic và: đúng nếu 2 dk đúng, sai nếu 1 trong 2 sai (nếu đặt and thì mới đúng cho việc đăng nhập nhỉ, nhưng nó lại không chạy đúng như ý, nhập đúng nó vẫn báo sai)
    Or
    Logic hoặc : đúng nếu 1 trong 2 đúng, sai nếu cả hai sai (còn cái này thì chạy bình thường ???)
    Not
    Logic Không : vd : Không 1 (sai)
     

Chia sẻ trang này

Đang tải...