-
Posts
7,103 -
Joined
-
Days Won
88
Content Type
Forums
Downloads
Forum Articles
Events
Everything posted by TheDcoder
-
Shorten Web File Name - path too long
TheDcoder replied to TheSaint's topic in AutoIt Example Scripts
Oh, right, I got what you are saying now... that should definitely not work on a saved local copy with modified names. I bet you are right on the money 💰 Most people would be saving pages for their visual content anyway... but there would be some unlucky people like me who would have tried to save an interactive page, or a page with a game (RIP Adobe Flash ). Obviously those types of pages are hard to preserve, especially with an automatic method like a browser. -
Shorten Web File Name - path too long
TheDcoder replied to TheSaint's topic in AutoIt Example Scripts
@JockoDundee The browser still has access to the modified HTML by any scripts, it can save that instead. I don't know how a browser would handle a URL change (which is local), but I guess it just uses the base name of the new URL. -
Shorten Web File Name - path too long
TheDcoder replied to TheSaint's topic in AutoIt Example Scripts
I believe none of that stuff is saved in the webpage, the browser basically uses the raw HTML and then grabs all resources referenced in that HTML and saves them locally. So the scripts on that page will be saved as well, but may not work depending on the amount of context they require to function. Edit: Spoke too soon and thought too little, the dynamic stuff in the page is simply replaced with a local reference I believe, so all the "rendered" (dynamic) page is preserved visually without requiring the JS to run again to render it. -
Shorten Web File Name - path too long
TheDcoder replied to TheSaint's topic in AutoIt Example Scripts
I just did, it didn't take too long, most of the time it was saving (compressing) those images. The result is a visually perfect replica of this page. That's a bit oversimplifying it, the result is a HTML file, but with embedded compressed content in it, which is decoded by the browser when opening the file, not really ZIP. Yes, you can fully configure the generated file name, it even has the option to set the max length No additional files are generated, it's just a single file with everything in it. -
Shorten Web File Name - path too long
TheDcoder replied to TheSaint's topic in AutoIt Example Scripts
Well, it sounds to me that a path issue is a pretty solid reason And yes, the addons works on Chromium-based browsers, check the GitHub page. -
Shorten Web File Name - path too long
TheDcoder replied to TheSaint's topic in AutoIt Example Scripts
@TheSaint I know that you have used an addon called "SingleFile" in the past, and you probably considered it for this issue, but can you share the reason why you didn't choose to use that to solve the issue? And with my limited experience, it also does a better job of preservation than the native "save page" option by embedding all media into the same HTML file. -
EasyCodeIt - cross-platform AutoIt implementation
TheDcoder replied to TheDcoder's topic in AutoIt Projects and Collaboration
Thanks @Skysnake, any help is appreciated, I am working on the new parser right now and I will certainly need some testers in the coming weeks. Why not join the forum (link in signature) to keep up to date? I am planning to coordinate all testing and development there. -
I agree with you, the commonly used exit codes should not be used by the interpreter itself when the script is executing. I'd propose something like reserving a range of exit codes after a large value like 1024... I will have to think about this too when I finally get around to working on executing code in ECI
-
EasyCodeIt - cross-platform AutoIt implementation
TheDcoder replied to TheDcoder's topic in AutoIt Projects and Collaboration
Now you are just being delusional, there is no such thing Anything and everything is possible in Linux, unlike Windows where you are restricted to the capabilities it provides. Linux is more open and innovative, anyone can extended it to make it work however they like. You just need to know how things work in Linux, which is different from Windows obviously. -
EasyCodeIt - cross-platform AutoIt implementation
TheDcoder replied to TheDcoder's topic in AutoIt Projects and Collaboration
No way! I promise to finish it before your time runs out... so that you can finally enjoy the fruits of Linux without any restrictions Disclaimer: The above mentioned text should not be, in any way, be constructed into a contract, promise, guarantee or any other type of bond with liability -
EasyCodeIt - cross-platform AutoIt implementation
TheDcoder replied to TheDcoder's topic in AutoIt Projects and Collaboration
-
I am sorry, I am not sure I understand, you have a Linux VM (guest) that you are using and want to deploy an AutoIt script onto the Windows host OS? That's not true at all, Wine is usually plug-and-play in many Linux distributions... you just install it via the package manager and everything is automatically ready, some distros even provide support for direct execution of Windows executables just like they were Linux binaries. I don't know anything about those tools, but you can also compile your script and deploy the resultant EXE like any other program.
-
EasyCodeIt - cross-platform AutoIt implementation
TheDcoder replied to TheDcoder's topic in AutoIt Projects and Collaboration
Sorry for the second post, but it was kind of important so I had to mirror it here. You should really join the dedicated forum if you wish to get all updates and would like to participate in any way -
Hi, have you considered Wine? Just making sure you didn't miss that obvious option. Deployment of VMs can be pretty easy as far I understand, just setup an initial VM and export it using the friendly interface of whatever hypervisor you are using. VirtualBox is the best free option and it allows you to export virtual machines in a portable format, so you can just copy them across different computers and import them.
-
EasyCodeIt - cross-platform AutoIt implementation
TheDcoder replied to TheDcoder's topic in AutoIt Projects and Collaboration
Source -
EasyCodeIt - cross-platform AutoIt implementation
TheDcoder replied to TheDcoder's topic in AutoIt Projects and Collaboration
I recall you mentioned that a while ago when I was still looking for information to get started on writing the parser. Not really a surprise that the tools are common, because they are the best and somewhat de facto for writing parsers according to my research, still cool though @JockoDundee Thanks for your words... even though I didn't understand half of them Unfortunately I don't think it is the case here... you might have misunderstood what jpm said in the mentioned post. He said that Jon could give them "a copy of what is used in Au3Check" as AutoIt is not based on Lex and Yacc... which means while AutoIt itself doesn't use it, Au3Check (a separate program) does! Which is the same thing as what Jos said P.S Quite the coincidence that Jon decided to update the forum on the same day that I decided to post an update on the project -
EasyCodeIt - cross-platform AutoIt implementation
TheDcoder replied to TheDcoder's topic in AutoIt Projects and Collaboration
Source: https://forum.dtw.tools/d/26-easycodeit-update-our-hand-written-parser-is-going-away Also don't forget to make an account at the forum if you want to catch all of my updates on the latest... you can also do other stuff, but that is up to you. -
@LarsJ Can't believe the solution can be so simple... especially with WinAPI I actually avoided this in my project and I am now using a different approach... and I didn't test your code because I'd have to fire up my VM and I am lazy 😴 But I am more than confident that you did, so thanks for providing a solution
-
Spoke too soon While $WS_CLIPCHILDREN does fix the issue, it also messes up some things when using groups and labels: #include <ColorConstants.au3> #include <DateTimeConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> Example() Func Example() GUICreate("My GUI get time", 200, 200, 800, 200, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_CLIPCHILDREN)) ToggleColour() GUICtrlCreateGroup("Time", 8, 72, 153, 73) GUICtrlCreateLabel("Start:", 16, 94, 32, 17) GUICtrlCreateLabel("Stop:", 16, 118, 29, 17) Global $idTimeStart = GUICtrlCreateDate("", 56, 88, 89, 21, $DTS_TIMEFORMAT) Global $idTimeStop = GUICtrlCreateDate("", 56, 115, 89, 21, $DTS_TIMEFORMAT) GUISetState(@SW_SHOW) AdlibRegister(ToggleColour, 1000) ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd GUIDelete() EndFunc ;==>Example Func ToggleColour() Local Static $bActive = False GUISetBkColor($bActive ? $COLOR_GREEN : $COLOR_RED) $bActive = Not $bActive EndFunc Notice that the red background for labels is from the initial paint of red. Here is how it is supposed to look (without CLIPCHILDREN) So for the moment it looks like @Zedna's solution of getting the handle of UpDown buttons and handling redraw is the best we have... Here is my quick partial attempt: Global Const $tagDATETIMEPICKERINFO = 'dword cbSize;' & $tagRECT & ';dword stateCheck;' & $tagRECT & ';dword stateButton;hwnd hwndEdit;hwnd hwndUD;hwnd hwndDropDown' I don't know how I can name the RECT struct members, but once that is done, it should be compatible with tagDATETIMEPICKERINFO. Windows GUI is not my strong suit, so I need help with receiving/sending messages too.
-
@Zedna Thanks for investigating the issue @InnI Thank you for the solution! InvalidateRect did not work for me (no visible change) but $WS_CLIPCHILDREN did work However I had a small complaint, using that style alone removed the minimize, close etc. buttons from the window's header, so I combined it with the default styles and it worked perfectly, here is the final code: #include <ColorConstants.au3> #include <DateTimeConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> Example() Func Example() GUICreate("My GUI get time", 200, 200, 800, 200, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_CLIPCHILDREN)) ToggleColour() Local $idDate = GUICtrlCreateDate("", 20, 20, 100, 20, $DTS_TIMEFORMAT) GUISetState(@SW_SHOW) AdlibRegister(ToggleColour, 1000) ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd GUIDelete() EndFunc ;==>Example Func ToggleColour() Local Static $bActive = False GUISetBkColor($bActive ? $COLOR_GREEN : $COLOR_RED) $bActive = Not $bActive EndFunc
-
Hi everyone, I found this bug in my GUI and I am not sure how to solve it, the date control's buttons disappear whenever I update the GUI background, here is a screenshot: Notice the red void inside the control, that is where the controls are normally supposed to be, they appear if I hover my mouse over them, but they disappear again after another background update. Here is a little reproducer script I wrote: #include <ColorConstants.au3> #include <DateTimeConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> Example() Func Example() GUICreate("My GUI get time", 200, 200, 800, 200) ToggleColour() Local $idDate = GUICtrlCreateDate("", 20, 20, 100, 20, $DTS_TIMEFORMAT) GUICtrlSetBkColor(-1, $COLOR_WHITE) GUISetState(@SW_SHOW) AdlibRegister(ToggleColour, 1000) ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd GUIDelete() EndFunc ;==>Example Func ToggleColour() Local Static $bActive = False GUISetBkColor($bActive ? $COLOR_GREEN : $COLOR_RED) $bActive = Not $bActive EndFunc Thank you for the help in advance!