Jump to content
Sign in to follow this  


Recommended Posts

When I made this I was thinking of the Valuater's tutorial thing and the fourm's search function. I was wondering if there was a way to automatically fill in the member name (and, now, number) input field on the quiz thing like what happenes when you type in 3 letters in the member filter on the search page. I looked at the src for the search page and came up with this UDF.

$return = _AU3FourmGetMemberNames("game")

For $x = 0 To UBound($return) - 1
    For $y = 0 To UBound($return, 2) - 1
        If $return[$x][0] == "gamerman2360" And $y = 0 Then ToolTip(";)", 10, 10)
        MsgBox(0, $x & ", " & $y, $return[$x][$y])
        If $return[$x][0] == "gamerman2360" And $y = 1 Then ToolTip("")

; _AU3FourmGetMemberNames($sSearch) by gamerman2360
Func _AU3FourmGetMemberNames($sSearch); Note: Takes 1.3 seconds aprox
    If StringLen($sSearch) < 3 Then Return SetError(1); Must be at least 3 letters
    $s_IEString = $sSearch; Make IECapable
    Local $s_IEReturn
    For $i_IECount = 1 To StringLen($s_IEString); From _INetExplorerCapable() by Wes Wolfe-Wolvereness
        $n_IEChar = Asc(StringMid($s_IEString, $i_IECount, 1))
        If $n_IEChar < 0x21 Or $n_IEChar = 0x25 Or $n_IEChar = 0x2f Or $n_IEChar > 0x7f Then
            $s_IEReturn &= '%' & Hex($n_IEChar, 2)
            $s_IEReturn &= Chr($n_IEChar)
    $sSearch = $s_IEReturn
    $url = "http://www.autoitscript.com/forum/index.php?act=xmlout&do=get-member-names&name=" & $sSearch
    $httpObj = ObjCreate("winhttp.winhttprequest.5.1"); Get the info
    If Not IsObj($httpObj) Then Return SetError(2)
    $httpObj.open("GET", $url)
    $HTMLResponce = $httpObj.Responsetext
    $HTMLResponce = StringTrimLeft($HTMLResponce, 29 + StringLen($sSearch)); Read the info
    $HTMLResponce = StringTrimRight($HTMLResponce, 4)
    $HTMLResponce = StringSplit($HTMLResponce, '"), new Array(', 1)
    $asNames = StringSplit($HTMLResponce[1], '","', 1)
    $asNumbers = StringSplit($HTMLResponce[2], ',', 1)
    If $asNames[0] <> $asNumbers[0] Then Return SetError(-1); Umm... Oops.
    Dim $aReturn[$asNames[0] + 1][2]; Assemble an array
    $aReturn[0][0] = $asNames[0]
    $aReturn[0][1] = $asNumbers[0]
    For $i = 1 To $asNames[0]
        $aReturn[$i][0] = $asNames[$i]
        $aReturn[$i][1] = $asNumbers[$i]
    Return $aReturn
Now whats the best way to auto complete an input field? I would have posted this on the end of the long tutorial post but I tought it would be easier to start a new topic.

Share this post

Link to post
Share on other sites

one small change

That was part of the example. To see everything it returned.


Oops, thought you ment the start part, lol.


Well, now that I go back and read it. Ubound($return) was used at the start and in the UDF (as $aReturn). Which did you mean?

Edited by gamerman2360

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...