NTBM Posted April 24, 2012 Posted April 24, 2012 This seems so simple but i cannot find an answer in either the forum or help file. i am creating a Gui that has an input box which displays a default IP address, however when i reference the variable i get returned a different value. see $Label6 = GUICtrlCreateLabel("IP Address", 34, 160, 55, 17) $I_IP = GUICtrlCreateInput("10.0.0.2", 96, 160, 121, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### MsgBox(0,"IP", String($I_IP)) Obviously there are more gui lines above this but what i have put above has no missing lines (so that you can see that the variable is not getting re-valued anywhere). When i run this the msgbox says the value is "16" What am i missing ? Cheers guys.
AdmiralAlkex Posted April 24, 2012 Posted April 24, 2012 GUICtrlCreateInput() returns a control id. Return Value Success: Returns the identifier (controlID) of the new control. Use GUICtrlRead() on that to read the value. To obtain the value of the control see GUICtrlRead. GUICreate("") $I_IP = GUICtrlCreateInput("10.0.0.2", 96, 160, 121, 21) MsgBox(0,"IP", GUICtrlRead($I_IP)) Also, if the intent is for the user to write down a IP, you may want to look at "GuiIPAddress Management" in the helpfile for a control made for this. .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface
NTBM Posted April 24, 2012 Author Posted April 24, 2012 My bad feeling a little foolish. Just realized that i wasnt reading the value, was mearly displying the context.id Msgbox should have been msgbox(0, "IP", GUICtrlRead($I_IP)) sorry for wasting your time
NTBM Posted April 24, 2012 Author Posted April 24, 2012 sorry Admiral, your post wasnt there when i started to type my reetraction due to my brain freeze. no the user needs to enter in an IP (if changed from default) the script then controls a web interface to a ip relay device to switch lights on and off. but maybe you can give me some idea of an alternative. currently i am controlling it via ie as per $oIE = ObjCreate("Shell.Explorer.2") ;Turn 4 on, and 3 off $oIE.navigate("http://" & GUICtrlRead($I_IP) & "/SetIO?p64=1+p63=0") $xCounter = 0 Do $xCounter = $xCounter + 1 if $xCounter = 11 then $oIE.navigate("http://" & GUICtrlRead($I_IP) & "/SetIO?p64=0+p63=0") MsgBox(0,"Error","Red xCounter=" & $xCounter & @CR & "http://" & GUICtrlRead($I_IP) & "/SetIO?p64=1+p63=0") Exit EndIf $body = _IETagNameGetCollection($oIE, "body", 0) $Check = StringInStr($body.innerText, "64=1") if $Check > 0 Then $Check = StringInStr($body.innerText, "63=0") EndIf Sleep(200) Until $Check > 0 as you can see this passes a username and password to the page (dont care about security). Then it looks at the page for the reponse. IE by default now days does not allow passing of user I would like to do this without relying on IE. Any idea's?
AdmiralAlkex Posted April 24, 2012 Posted April 24, 2012 I guess you could try Just don't ask me about it, I haven't used it either .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface
NTBM Posted April 24, 2012 Author Posted April 24, 2012 Yeah thats what i thought. never used it either, about to post a question on it..... ahhhhh my head hurts
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now