Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/27/2022 in all areas

  1. EasyCodeIt A cross-platform implementation of AutoIt Introduction: EasyCodeIt is an attempt at implementing a programming language which is backward compatible with a sub-set of AutoIt which would work across multiple platforms with many aspects being agnostic to the platform-specific differences. Currently the primarily targeted platforms are Linux and Windows, more platforms may be supported in the future as per popular demand. For example it should be easy enough to port to Unix-like platforms such as BSD and Mac with the help of maintainers who are familiar with them. The main motivation behind the creation of this project is the lack of a proper easy-to-use scripting language in Linux, while there are numerous scripting languages which natively support it, none of them are as user-friendly and easy to use as AutoIt. (The "Easy" in "EasyCodeIt" reflects this) There was a previous thread in which the project was originally started, but it got too big and the discussion is too cluttered and hard to follow for any new readers, here is the thread for those who are interested in reading it: Progress: Frontend ✅ Tokenizer 🚧 Parser (work in progress) ✅ Expressions 👷‍♂️ Statements (current priority) Backend ⏰ Interpreter (scheduled) I am currently working on expression parsing and syntax tree building. -- This section will be updated in the future with new progress. To stay notified 🔔 follow this thread to get update notifications (by using the "Follow" button on the top-right corner of this page) and 👁️ watch the GitHub repository to get any new activity on your feed. Code: The code is available on GitHub, please 🌟 star the project if you like it and would like to show your support, it motivates me a lot! (Also don't forget to 👍 Like this post ) Chat: I created a room in Matrix (an open-source federated chat system) for EasyCodeIt, you can join it to chat with me and others who are in the room, it might be a good way to get the latest status updates from me You can preview the room without joining, and you don't need to be connected to it 24/7 like IRC. It works a bit like Slack for those who are familiar with it. Forum: I have created a dedicated forum to post more frequent updates, possibly in their own threads to better organize the discussion. Please sign-up and follow the blog section to get updates. By the way, you can also post pretty much anything there, both technical and non-technical stuff, it is intended to be a hangout for techies but not only for them. So casual discussions, funny cat videos etc. are allowed!
    1 point
  2. Sponsor development of EasyCodeIt - GitHub will match your contributions What? A few years ago I started working on a project called EasyCodeIt, it aims to be a scripting language with a syntax similar to AutoIt but also work cross-platform (Linux, Windows, Mac etc.) along with few more cool planned features like multi-threading, compile to byte-code etc. Who? I'm a passionate AutoIt user and a frequent visitor to the forum, I've been visiting the forum almost daily for more than 7 years! I started my programming journey with AutoIt and today I work as a software developer with expertise in all things automation. I am also a user of Linux and I've been using it as my primary OS for around 3 years. Aside from AutoIt I indulge in other programming language, both low and high-level alike. My other two favorite languages are C (great for low-level stuff and command line utilities) and JavaScript (great all purpose scripting language which runs anywhere). Why? The progress on this project happens on a snail's pace because of my work and personal life. Before 2020 I was working with multiple clients on long-term projects which left me with little-to-no time on hobby projects. But then COVID happened and many businesses went into loss, which included my clients and myself by extension. Since then I've been working on and off with new clients but I've never had a stable source of income. In the past 2 years I've lost around half of my life savings, and due to this I've also been suffering from mild depression which makes me inactive, both mentally and physically. So? Yesterday I was contacted by GitHub where they informed me that they had launched the "GitHub Sponsor" program in India and that I was one of the first to be selected! So now I've decided to seriously start pursuing my dream of working on open-source projects and put bread on my table at the same time. What do I get? Excellent question! You will get the following: A cross-platform programming language which follows AutoIt's simple principles Regular progress reports (at-least once per week) All code which will be published as open-source A badge on your GitHub profile Your name or nickname in the "Early Supporters" list in the documentation forever (optional, must donate $5 or more) My eternal gratitude! ...More? Normally I charge $20/hour to my clients, but since this project benefits all of us and it will also serve as a valuable learning experience for me, I'll work 1 hour for $10! I promise to use the sponsor funds to take time out of my work schedule and work on EasyCodeIt itself. For transparency I'll be publishing regular (perhaps weekly) work reports with the following: Number of hours I worked on EasyCodeIt What I worked on Sharing of code upon request But wait! GitHub has a Matching Fund, and with that for a limited time and they'll match your donations 1:1! That means if you donate $10, GitHub will match your donation and they will donate a matching sum of an additional $10 from their pocket! That means I get $20 in the end! Essentially you'll get 4x times the amount of work compared to my commercial work! So if you can spare the change, please do consider funding this project. Let's do this! Sponsor me at GitHub. I recommend you to donate at-least $5 dollars as that will guarantee at-least an hour of work from me. And if you can afford it, donate as much as you want and take advantage of GitHub's matching fund. If enough people donate we can make significant progress, maybe even a usable programming language! Also please feel free to share your thoughts and discuss aspects of this, and any ideas you might have, I really appreciate your response.
    1 point
  3. Appreciate all the help... I'm posting my messy learning script here for others that might need an assist. I have a number of other ideas for improvement I want to put in place. Now I just need to time fairy to come by. 😁 I'm using .INI to save the settings currently. Might change that as I go... voicemeeter_test_4.au3
    1 point
  4. First post updated with a graceful workaround to the MDI child issue. I am intercepting the $WM_WINDOWPOSCHANGING message to 'block' any position changing unless it is an intentional move by the GuiFlatButton_SetPos function. @qwert It is looking like your initial guess of some deep-rooted internal AutoIt logic may be the cause. If you run this example and drag the window around, you can see the 2nd regular child window immediately disappears and the "MDI" child has a sort of shadow effect while dragging. I know the help docs say this is a simulation of MDI child, so my theory is AutoIt is continuously changing the MDI window position, trying to keep up with the parent window while dragging. Hence the shadow effect. It seems that somewhere in the logic, the other child windows are getting their positions thrown out of whack. However, my flat button does just beautifully now! #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include "GuiFlatButton.au3" Example() Func Example() Local $hGUI, $idLabel, $mybutton1 $hGUI = GUICreate("GuiFlatButton MDI Example", 400, 600) GUISetBkColor(0x444444) ConsoleWrite("GUI Handle: " & $hGUI & @CRLF) ;create new button then set the colors $mybutton1 = GuiFlatButton_Create("Button 1", 10, 10, 140, 40) GuiFlatButton_SetBkColor(-1, 0x777777) GuiFlatButton_SetColor(-1, 0xFFFFFF) GUISetState(@SW_SHOW, $hGUI) ;create an MDI child window $hchild = GUICreate("", 150, 200, 5, 250, $WS_POPUP, $WS_EX_MDICHILD, $hGUI) GUISetBkColor(0x0000FF) GUISetState(@SW_SHOWNOACTIVATE, $hchild) ;create a 'normal' child window Local $childHWND = GUICreate("", 150, 200, 210, 250, BitOR($WS_CHILD, $WS_CLIPCHILDREN, $WS_CLIPSIBLINGS), $WS_EX_CONTROLPARENT, $hGUI) GUISetState(@SW_SHOWNOACTIVATE, $childHWND) Local $iMsg Local $i=0 While 1 $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE ExitLoop Case $mybutton1 $aPos = GuiFlatButton_GetPos($mybutton1) ConsoleWrite($i & ": " & " X:" & $aPos[0] & " Y:" & $aPos[1] & " W:" & $aPos[2] & " H:" & $aPos[3] & @CRLF) $i += 1 EndSwitch Sleep(10) WEnd GUIDelete() EndFunc ;==>Example
    1 point
  5. my guess is 2 mousedown commands at the same time
    1 point
  6. You might need to explain this a lot better, there is only 1 cursor. Are we using a type of virtualization? Maybe you ave two mice hooked up and wanted to see which one would win at taking control? You have a time machine and you are just really bored; since you have seen it all before?
    1 point
  7. TanjimReza

    unzip a .zip

    This is exactly what I needed!!
    1 point
  8. QwertoX

    AutoIT Editor Dark Theme

    Here is a Monokai style dark theme for SCITE Editor: Look alike or similar to Sublime Text 3. Simply copy that code in your "SciTEUser.properties" wich is in Options > Open User Options File See the picture for what it look like! Happy coding everyone # SciTE Customization GUI ---------------------------------------- # Do not remove these lines or anything between them position.left=-1 position.top=-1 position.width=-1 position.height=-1 position.maximize=0 position.tile=0 minimize.to.tray=0 save.position=1 toolbar.visible=0 end.at.last.line=0 ensure.final.line.end=1 statusbar.visible=1 full.screen.hides.menu=0 title.full.path=1 title.show.buffers=0 blank.margin.right=0 blank.margin.left=6 split.vertical=0 output.vertical.size=256 output.horizontal.size=0 output.initial.hide=1 clear.before.execute=1 output.scroll=1 fold=1 fold.on.open=0 fold.compact=0 fold.preprocessor=0 fold.comment=1 fold.flags=0 fold.symbols=0 fold.highlight=1 fold.highlight.colour=#71FF1C fold.margin.colour=#282923 fold.margin.highlight.colour=#1E1E1E fold.margin.width=16 use.tabs=0 tabsize=4 tab.indents=4 backspace.unindents=1 indent.size.$(au3)=4 view.indentation.guides=1 style.au3.37=fore:#1E1E1E,back:#282923 highlight.indentation.guides=1 selection.fore=#38FF1C selection.back=#f9f9f9 selection.alpha=50 selection.multiple=1 selection.additional.typing=1 selection.additional.back=#282923 selection.additional.alpha=50 highlight.current.word=1 highlight.current.word.by.style=0 highlight.current.word.autoselectword=0 highlight.current.word.wholeword=0 highlight.current.word.matchcase=1 highlight.current.word.minlength=2 highlight.current.word.colour=#C2FFAE margin.width=16 braces.check=1 braces.sloppy=1 style.au3.34=fore:#8F9D6A,back:#282923,bold,notitalics,notunderlined style.au3.35=fore:#e7db74,back:#282923,bold,notitalics,notunderlined caret.fore=#A0A0A0 caret.width=3 caret.period=700 caret.additional.blinks=1 caret.sticky=1 virtual.space=1 caret.line.back=#F8F8F8 caret.line.back.alpha=10 caret.policy.xslop=1 caret.policy.width=20 caret.policy.xstrict=0 caret.policy.xeven=0 caret.policy.xjumps=0 caret.policy.yslop=1 caret.policy.lines=1 caret.policy.ystrict=1 caret.policy.yeven=1 caret.policy.yjumps=0 line.margin.visible=1 line.margin.width=1+ style.*.33=fore:#DADADA,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics error.select.line=0 style.errorlist.3=fore:#DADADA,back:#282923 error.marker.fore=#DADADA error.marker.back=#282923 error.inline=0 style.error.1=fore:#e7db74,back:#282923 style.error.2=fore:#FF0000,back:#282923 are.you.sure=1 are.you.sure.for.build=0 are.you.sure.on.reload=0 save.all.for.build=0 load.on.activate=0 save.on.deactivate=0 reload.preserves.undo=1 check.if.already.open=0 quit.on.close.last=0 save.recent=1 save.session=1 save.find=1 session.bookmarks=1 session.folds=1 save.on.timer=600 strip.trailing.spaces=1 open.dialog.in.file.directory=1 calltips.color.highlight=#e7db74 style.au3.38=fore:#DADADA,back:#282923 calltips.set.above=0 calltip.au3.ignorecase=1 calltip.*.use.escapes=0 mousehover.calltips.dwelltime=750 autocomplete.au3.disable=0 autocomplete.choose.single=0 autocomplete.au3.ignorecase=1 autocompleteword.automatic=0 autocomplete.*.fillups = buffers=100 buffers.zorder.switching=1 tabbar.visible=1 tabbar.multiline=0 tabbar.hideone=0 find.mark=1 find.replace.matchcase=0 find.replace.regexp=0 find.replace.regexp.posix=0 find.replace.wrap=1 find.replace.escapes=0 find.replacewith.focus=1 find.use.strip=0 replace.use.strip=0 find.close.on.find=1 find.in.files.close.on.find=1 find.replace.advanced=1 buffered.draw=1 two.phase.draw=1 technology=1 cache.layout=2 output.cache.layout=0 font.quality=3 ext.lua.auto.reload=1 ext.lua.reset=0 edge.mode=0 edge.column=143 edge.colour=#e7db74 indicators.alpha=50 indicators.under=1 style.au3.32=back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.0=fore:#A688FF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.1=fore:#74705d,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.2=fore:#77FFBB,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.3=fore:#e7db74,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.4=fore:#f92472,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.5=fore:#FFB96A,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.6=fore:#C4FF55,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.7=fore:#e7db74,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.8=fore:#FF3E3E,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.9=fore:#ffffff,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.10=fore:#DADADA,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.11=fore:#8996A8,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.12=fore:#4ABDAF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.13=fore:#CEF7BD,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.14=fore:#0080FF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.15=fore:#FF80FF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.32=fore:#DADADA,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.4=fore:#8F9D6A,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.10=fore:#e7db74,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.11=fore:#ffffff,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.12=fore:#F9EE98,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.0=fore:#FFFFFF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.1=fore:#DADADA,back:#282923,font:monoOne,size:12,notbold,notitalics,notunderlined backup.files=0 check.updates.scite4autoit3=1 proper.case=1 debug.msgbox.option=-1 debug.console.option=0 debug.trace.option=3 # Do not remove these lines or anything between them # - SciTE Customization GUI ---------------------------------------- import au3.UserUdfs import au3.keywords.user.abbreviation expand popup
    1 point
×
×
  • Create New...