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 Sửa lỗi "Cannot redeclare a constant" như thế nào ạ

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi Luan Nguyen, 9/11/23.

  1. Luan Nguyen

    Luan Nguyen Thành viên mới
    • 1/6

    Tham gia ngày:
    1/4/19
    Bài viết:
    1
    Đã được thích:
    0
    Em xin Chào toàn thể Cộng Đồng AutoIt
    em có một đoạn Code viết mục đích để gửi yêu cầu đăng nhập vào một trang web, nhưng khi mở GUI lên chạy giao diện thì thông báo lỗi
    Mã (Text):

    "Global Const $MB_OK = 0"
     
    các bác có thể khai sáng cho em với được không ạ?
    dưới đây là đoạn code em thử viết
    Mã (Text):

    #include "Include\_HttpRequest.au3"
    #include "Include\GUIConstantsEx.au3"
    #include "Include\WinAPI.au3"
    #include "Include\WinHttp.au3"
    #include "Include\WinHttpConstants.au3"
    #include "Include\MsgBoxConstants.au3"

    Global $sResponse

    $_GUI = GUICreate("Đăng nhập", 300, 200)

    $_Ten = GUICtrlCreateLabel("Tên người dùng:", 10, 20)
    $_TenDN = GUICtrlCreateInput("", 120, 18, 170)

    $MK = GUICtrlCreateLabel("Mật khẩu:", 10, 50)
    $_MK = GUICtrlCreateInput("", 120, 48, 170, 20, 0x0020 + 0x0001)

    $_Login = GUICtrlCreateButton("Đăng nhập", 100, 90, 100)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)

    GUISetState(@SW_SHOW)

    While 1
        $msg = GUIGetMsg()

        Switch $msg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $_Login
                Login()
        EndSwitch
    WEnd

    Func Login()
        Local $sUsername = GUICtrlRead($_TenDN)
        Local $sPassword = GUICtrlRead($_MK)
        Local $sURL = "https:google.com" ;ví dụ ta cần đăng nhập một trang web cụ thể
        Local $sPostData = ""

        _HttpStartUp()
        Local $hHTTP = _HttpOpen("User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3")
        Local $hConnect = _HttpConnect($hHTTP, $sURL)

        _HttpAddHeaders($hConnect, "Content-Type: application/x-www-form-urlencoded")
        _HttpSendRequest($hConnect, "POST", $sURL, $sPostData)

        $sResponse = _HttpGetResponse($hConnect)

        _HttpCloseHandle($hConnect)
        _HttpCloseHandle($hHTTP)
        _HttpCleanUp()
    EndFunc
     
    [​IMG]
     
    Chỉnh sửa cuối: 10/11/23
  2. yutijang

    yutijang Thành viên năng động
    • 28/34

    Tham gia ngày:
    1/7/18
    Bài viết:
    110
    Đã được thích:
    61
    Theo thông báo lỗi thì là không thể khai báo lại 1 biến mà đã khai báo trước đó như 1 hằng số.

    Ở đầu code, với dấu "" thì bạn chỉ định khai báo các thư viện trong folder Include, ngoài cái httprequest thì các thư viện khác đều là các thư viện thuộc bộ cài đặt và đã có sẵn trong folder cài đặt AutoIt. Có nghĩa là nó sẽ trùng tên biến ở đâu đó, nếu bạn khai báo như vậy.

    Tự bạn tìm nó trùng ở đâu thì xoá ở đó hoặc bạn chỉ cần chỉ định khai báo thư viện httprequest bên ngoài với dấu "", các thư viện còn lại khai báo với dấu <>
     

Chia sẻ trang này

Đang tải...