Leaderboard
Popular Content
Showing content with the highest reputation on 07/26/2020 in all areas
-
Many years ago, when the world was still young, I worked on something similar... I never finished it and I added many new features to the language so it’s more like a derivative language. Anyways, the code (including compiler and runtime) is publicly available on GitHub: https://github.com/andreasjhkarlsson/ai5 maybe it will provide useful for your project.3 points
-
About AutoIt-API-WS AutoIt-API-WS is a light weight web server with expressive syntax, with the sole purpose of wrapping your existing AutoIt app with little to no effort. With AutoIt-API-WS you can send and receive data between any application or framework, as long they can handle HTTP requests, which is an industry standard today. Like my other communcations UDF AutoIt-Socket-IO AutoIt-API-WS is heavily inspired from the big boys, but this time its Laravel and Ruby on Rails. Features Highlights No external or internal dependencies required RESTful mindset when designed Expressive syntax Small codebase Heavy use of Michelsofts Dictionary object Limitations Not complient with any RFC, so something important could be missing. Time will tell! One persons slow loris attack will kill the process forever. Example of implemetnation (With screenshots) This is a basic cRud operation with the RESTful mindset in use. #include "API.au3" #include <Array.au3> _API_MGR_SetName("My APP DB adapter") _API_MGR_SetVer("1.0 BETA") _API_MGR_SetDescription("This adapter allows you to get this n that") _API_MGR_Init(3000) _API_MGR_ROUTER_GET('/users', CB_GetUsers, 'string sortBy', 'Get all users, sortBy can be either asc or desc. asc is default') _API_MGR_ROUTER_GET('/users/{id}', CB_GetUsersById, 'int id*', 'Get user by id') While _API_MGR_ROUTER_HANDLE() WEnd Func DB_GetUsers() Local $userA = ObjCreate("Scripting.Dictionary") Local $userB = ObjCreate("Scripting.Dictionary") $userA.add('id', 1) $userA.add('name', 'TarreTarreTarre') $userA.add('age', 27) $userB.add('id', 2) $userB.add('name', @UserName) $userB.add('age', 22) Local $aRet = [$userA, $userB] Return $aRet EndFunc Func CB_GetUsers(Const $oRequest) Local $aUsers = DB_GetUsers() If $oRequest.exists('sortBy') Then Switch $oRequest.item('sortBy') Case Default Case 'asc' Case 'desc' _ArrayReverse($aUsers) EndSwitch EndIf Return $aUsers EndFunc Func CB_GetUsersById(Const $oRequest) Local Const $aUsers = DB_GetUsers() Local $foundUser = Null For $i = 0 To UBound($aUsers) -1 Local $curUser = $aUsers[$i] If $curUser.item('id') == $oRequest.item('#id') Then $foundUser = $curUser ExitLoop EndIf Next If Not IsObj($foundUser) Then Return _API_RES_NotFound(StringFormat("Could not find user with ID %d", $oRequest.item('#id'))) EndIf return $foundUser EndFunc When you visit http://localhost:3000 you are greeted with this pleasent view that will show you all your registred routes and some extra info you have provided. When you visit http://localhost:3000/users the UDF will return the array of objects as Json And here is an example of http://localhost:3000/users/1 More examples can be found here (NEWEST 2020-09-21) Autoit-API-WS-1.0.3-beta.zip OLD VERSIONS Autoit-API-WS-1.0.0-beta.zip Autoit-API-WS-1.0.1-beta.zip1 point
-
Apache + AutoIt = HTTPS API on AutoIt
argumentum reacted to robertocm for a topic
Just a reference: https://www.stunnel.org/ Stunnel is a proxy designed to add TLS encryption functionality to existing clients and servers without any changes in the programs' code. Its architecture is optimized for security, portability, and scalability (including load-balancing), making it suitable for large deployments. Cited here: https://www.autoitscript.com/forum/topic/21889-ssl-gmail-with-openssl/?do=findComment&comment=10359901 point -
Glad we found a solution for you1 point
-
Ok tested for WM_NOTIFY - DATETIMECHANGE event and it seems it doesn't get notify if you do not change the date. So try this : $iRet1 = _GUICtrlDTP_SetSystemTime($hDTP1, $fDate) ControlFocus($hwnd, "", $hDTP1) ControlSend($hwnd, "", $hDTP1, "!{DOWN}") ;open calendar ControlSend($hwnd, "", $hDTP1, "{UP}{DOWN}{ENTER}") ;confirm selection AND $iRet2 = _GUICtrlDTP_SetSystemTime($hDTP2, $tDate) ControlFocus($hwnd, "", $hDTP2) ControlSend($hwnd, "", $hDTP2, "!{DOWN}") ;open calendar ControlSend($hwnd, "", $hDTP2, "{UP}{DOWN}{ENTER}") ;confirm selection1 point
-
This command supports optional parameters dealing with proxy settings. Check the WinHTTP help file for available options.1 point
-
I think that the issue here may be that although _GUICtrlDTP_SetSystemTime() is setting the DTP control's fields, it is not forcing the underlying DATETIMECHANGE event to fire, which ultimately updates to control's values. To force the event to fire, the control's UI needs to recognize a change. Below is a quick & easy way to verify if this is the case and to workaround the issue. Can you try adding the the following lines after your _GUICtrlDTP_SetSystemTime() functions so that they look like this: $iRet1 = _GUICtrlDTP_SetSystemTime($hDTP1, $fDate) ControlFocus($hwnd, "", $hDTP1) ControlSend($hwnd, "", $hDTP1, "!{DOWN}") ;open calendar ControlSend($hwnd, "", $hDTP1, "{ENTER}") ;confirm selection AND $iRet2 = _GUICtrlDTP_SetSystemTime($hDTP2, $tDate) ControlFocus($hwnd, "", $hDTP2) ControlSend($hwnd, "", $hDTP2, "!{DOWN}") ;open calendar ControlSend($hwnd, "", $hDTP2, "{ENTER}") ;confirm selection This works for me when testing against standard Win32 DTP controls.1 point
-
Alright everything seems to go well up to the first ControlClick. So if I understand you right, the dates are set and displayed correctly, but the information doesn't seem to be registered within the application, is that it ? Could you modify your script with this : ;Assign the date values to DTP controls in script UI for From and To Date controls $hDTP1=ControlGetHandle("NET TICKETING Version(2) Date :- 24-5-2016","","[NAME:dtp1]") ConsoleWrite ("$hDTP1 = " & $hDTP1 & "/" & @error & @CRLF) $iRet1 = _GUICtrlDTP_SetSystemTime($hDTP1, $fDate) ConsoleWrite ("GUIctrl hDTP1 = " & $iRet1 & @CRLF) $hDTP2=ControlGetHandle("NET TICKETING Version(2) Date :- 24-5-2016","","[NAME:dtp2]") ConsoleWrite ("$hDTP2 = " & $hDTP2 & "/" & @error & @CRLF) $iRet2 = _GUICtrlDTP_SetSystemTime($hDTP2, $tDate) ConsoleWrite ("GUIctrl hDTP2 = " & $iRet2 & @CRLF) Local $aArray = _GUICtrlDTP_GetSystemTime($hDTP1) _ArrayDisplay ($aArray, "dtp1") $aArray = _GUICtrlDTP_GetSystemTime($hDTP2) _ArrayDisplay ($aArray, "dtp2") Sleep(1000) ;Send a mouse click to the TIDC File button $iret = ControlClick($hWnd, "", "WindowsForms10.BUTTON.app.0.33c0d9d5") ConsoleWrite ("click = " & $iret & "/" & @error & @CRLF) Verify if the Gets return the right values.1 point
-
Additional way : _GetIP () My personal script uses the 3 : the 2 mentioned by @Musashi and the above link. Probably too much, but better be safe than sorry1 point
-
Have tried this ?1 point