-
Posts
16,296 -
Joined
-
Days Won
19
SmOke_N last won the day on August 29
SmOke_N had the most liked content!
About SmOke_N

- Birthday 03/19/1973
Profile Information
-
Member Title
It's not what you know ... It's what you can prove!
-
Location
UNITED STATES
Recent Profile Visitors
SmOke_N's Achievements
-
mutleey reacted to a post in a topic:
AutThreadCall.au3 - Asynchronous Non-Blocking Dialogs (x86/x64)
-
argumentum reacted to a post in a topic:
AutThreadCall.au3 - Asynchronous Non-Blocking Dialogs (x86/x64)
-
AutThreadCall.au3 - Asynchronous Non-Blocking Dialogs (x86/x64)
SmOke_N replied to SmOke_N's topic in AutoIt Example Scripts
Ok, my buddy @argumentum pointed out that although I fixed the WChar issue in AutThreadCall.au3, I did NOT bother to test the old test file lol, I have since tested it. I've split the example files up. -
SmOke_N reacted to a post in a topic:
v0.2.2 Scite4AutoIt SpellChecker using LibreOffice
-
donnyh13 reacted to a post in a topic:
v0.2.2 Scite4AutoIt SpellChecker using LibreOffice
-
v0.2.2 Scite4AutoIt SpellChecker using LibreOffice
SmOke_N replied to donnyh13's topic in AutoIt Example Scripts
I am downloading your code now, strictly because I saw your LibreOffice tools in your signature. I use this tool, so I'll be trolling your posts 🤠Edit: This is really quick... your code bounces around with not explanation, while it might be amazing, I absolutely refuse to try and interpret what you're attempting to do with non explaining headers or functions. You post the obvious, you don't explain, this is an expansive piece of code that probably (I have zero doubt) amazing, but it's not displayed well enough for anyone to pay attention enough to care (at least in my opinion). If this one .au3 is like this, I'd rather not look at the rest... All the same I'll say thank you for your effort in making AutoIt a better place to be. -
Maps : display keys/values in 2D array
SmOke_N replied to pixelsearch's topic in AutoIt Example Scripts
I'm curious about Maps() (I stopped right after they were integrated). Since Int is a knowin issue, would it be better using SQLite to map? <Map idiot here.. This kind of thing erks me as a production model that has issues, thus my question(s)> Almost better to String()/Hex() the values and create a sub category that show type of var so you can unravel, but then why stray from an array or SQLite db if that's the case... I'm not trolling, I am truly asking what benefit something that is explicitly broke plays? Thanks Edit: Would almost be better to set it up like DllStuctCreate(); eg. str;data, int;data and have the backend interpreter fix the search feature... but if I'm being honest, It's much safer and better to use SQLite mapping, I did this once and I never ran into an issue using any "type". You just use a memory db. But if I were to use this internal feature, I'd prefer to type strict it like DllStructCreate(). This just my personal opinion. -
argumentum reacted to a post in a topic:
AutThreadCall.au3 - Asynchronous Non-Blocking Dialogs (x86/x64)
-
WildByDesign reacted to a post in a topic:
AutThreadCall.au3 - Asynchronous Non-Blocking Dialogs (x86/x64)
-
A few days ago, I was reviewing some of Koda's historical structure allocation logic. Seeing Global variables being dynamically allocated and re-declared inside local function frames felt structurally messy, which drove me down a design rabbit hole to find a cleaner approach. The source intent was clear: the original layout relied on AutoIt's internal variant interpreter lifecycle to handle structural memory cleanup on the stack. However, pushing cross-module asynchronous tracking elements directly into local scopes breaks standard encapsulation. To break away from stack limits, I shifted the tracking vectors over to unmanaged memory heaps. The initial architecture passes were highly volatile under modern x64 wrappers, frequently throwing un-reclaimable access violations and memory exception errors. To stabilize the runtime engine without cluttering the user space with a massive global tracking layout, I re-explored AutoIt's native Dim engine. Leveraging Extended Dynamic Allocation ($xd_) allowed the framework to dynamically resize, scale, and compact its multi-column 2D tracking matrix pool entirely on the primary thread context. It safely isolates lifetimes across module boundaries with zero stack locks, zero multi-threaded collisions, and zero unmanaged leaks. The result is AutThreadCall, an asynchronous, non-blocking library that runs native windows natively under full multi-call stress runs. The stabilized source modules and test harness scripts are attached below. Review the architecture, run the stress tracks through your local compilers, and let me know your thoughts on the primary thread tracking compaction mechanics. (In addition, I'm well aware I may have been re-inventing the wheel, this was more for me stretch my muscles after so long.) Edit(s): 08/26/2026: @argumentum was kind of enough to point out that I released an earlier version of my code before I put in the actual code to clean up the bad data... Thanks and Fixed. 08/26/2026: @argumentum caught me again, evidently I uploaded one of my SQLite.au3 personal files lol, congrats to those that got it! 08/27/2026: Fixed unbalanced array in AutThreadCall.au3 -> MsgBoxEx() 08/28/2026: Updated to v1.0.3 - Added the sue of WChar OR AChar; I forgot I only tested everything in WChar. Added more functions to AutAPI.au3, including _AutAPI_UseWStr() as well as an example on how to use it 08/28/2026: Fixed example file, was still using _AutAPI_StringCopyW function, but I changed it to _AutAPI_StringCopy when I fixed the WChar issue. I am just going to upload the example files here since I only made the change to the example files. Thanks again @argumentum AutThreadCall.v1.0.3.zip AutThreadCall_Examples.zip
-
So after playing around with this for a little while... I'll answer 2a. myself... You're allowing AutoIt to do the garbage clean up with the script exits because the script will break with just a Local var when AutoIt cleans up after EndFunc
-
argumentum reacted to a post in a topic:
Thread_call_UDF
-
My eyes hurt ... 1a. Why is there a messagebox in the thread_call udf? Just return SetError() and let the person running it decide what to do with the error code. 1b. thread_call has the same api call for all three values (0xFFFFFFFF, 0x00000102, 0x00000080), only the message is different, certainly a big case statement isn't necessary? 2a. Why are there globals in the Msgbox_new udf? Anyway, I like the concept at least. @argumentum, these questions are obviously not for you, you're just the one that posted the funcs that I refuse to download lol.
-
SmOke_N reacted to a post in a topic:
RegExp question
-
Fastest Way to Delete Empty Records in 1d Array
SmOke_N replied to gcue's topic in AutoIt General Help and Support
That's pretty interesting. The regex overhead is the only thing that I can think of for that with a single redim. If I'm being honest, I didn't even see your post before I posted. And was to tired to test yours out once I posted lol. But proofs in the pudding so to speak. -
Fastest Way to Delete Empty Records in 1d Array
SmOke_N replied to gcue's topic in AutoIt General Help and Support
Doing it without concatenation may be faster for larger arrays. Based on what you're showing, you could do a simple for/next loop with a blank ret array or you could put in the bells and whistles to catch some errors like so: #include <Array.au3> Global $array = Get_Array() _ArrayDisplay($array) $array = _StripEmptyElements($array) _ArrayDisplay($array) Func Get_Array() Local $array[7] $array[0] = "12345" $array[1] = "01621" $array[2] = "xyz" $array[3] = "abc@defg.com" $array[4] = " john smith" $array[5] = " sally turner " $array[5] = " " & @CRLF & " " $array[6] = "zxy" Return $array EndFunc ;==>Get_Array ; $bNoWS = White spaces only count as empty element, true by default Func _StripEmptyElements(ByRef $aArgs, $iStart = 0, $bNoWS = True) If UBound($aArgs, 2) Then Return SetError(1, 0, 0) ; out of bounds If $iStart = Default Or $iStart == -1 Then $iStart = 0 If $bNoWS = Default Or $bNoWS == -1 Then $bNoWS = True Local $iUB = UBound($aArgs) ; catch start out of bounds If $iStart < 0 Or $iStart > $iUB - 1 Then Return SetError(2, 0, 0) Local $aRet[$iUB] Local $iEnum = 0 ; build array without concatenation For $i = $iStart To $iUB - 1 If StringLen($aArgs[$i]) == 0 Then ContinueLoop If $bNoWS Then If StringRegExp($aArgs[$i], "(?m)^\s+$") Then ContinueLoop EndIf $aRet[$iEnum] = $aArgs[$i] $iEnum += 1 Next If $iEnum = 0 Then ; nothing found, but rather than return a false ; set error and return array where user can do what they want with it Return SetError(2, 0, $aArgs) EndIf ; resize return array ReDim $aRet[$iEnum] ; return extended as the ubound of new array Return SetExtended($iEnum, $aRet) EndFunc -
Converting AM/PM time to 24-hour
SmOke_N replied to c.haslam's topic in AutoIt General Help and Support
Damn these eyes.. I seriously didn't see the space! -
Converting AM/PM time to 24-hour
SmOke_N replied to c.haslam's topic in AutoIt General Help and Support
I'd suggest you actually run that code, there's no $vec[3] so it will certainly crash. As RSN stated, string concatenation is done with an ampersand -> &, we use the + operator only for math. If your strings will look like what you have (eg. "8:00 PM"), then maybe try a regex. Your code: #include <Array.au3> Global $gaArgs = StringSplit("8:00 PM", ":") _ArrayDisplay($gaArgs) Simple approach (keep in mind, the arrays for regular expressions are zero based) #include <Array.au3> Global $gsTime = "8:00 PM" Global $gaArgs = StringRegExp($gsTime, "(.+?)(?:\W|$)", 3) _ArrayDisplay($gaArgs) -
That makes me giggle... Whatever the case, I know other mods are already fed up with his ignorantly posturized requests. No matter what people suggest, if they don't write the code for them specifically, this OP is never satisfied to do the work or research. I know others are (including mods) are already at their limit. To the OP, start posting really worked on problems, start researching the suggestions given to you with examples on how those suggestions are not working for you, starting reading some manuals, manuals not only on coding, but maybe how to request help. I'm locking this topic, I know his last topic was locked as well. Hopefully the OP gets the hint.
-
ComboBox - Change background and text color and or font
SmOke_N replied to SmOke_N's topic in AutoIt Example Scripts
Yeah, I was closing it out of SciTe when I noticed I had the wrong number of default elements in the return array... oops. You must have went to download it when I was uploading the fix... sorry- 3 replies
-
- combo color
- combo font
-
(and 3 more)
Tagged with:
-
ComboBox - Change background and text color and or font
SmOke_N replied to SmOke_N's topic in AutoIt Example Scripts
Updated, added the font changing functions.- 3 replies
-
- combo color
- combo font
-
(and 3 more)
Tagged with:
-
Not trying to re-invent the wheel here, but I found some examples that did A-L-O-T that I didn't think was necessary (like forcing owner-drawn), the sparse number of the web examples were failing miserably too. It looked like @argumentum was taking the path I was on, his is much more feature rich ( 😅 ) ... Anyway, I was going to add a font option using this subclass method (Thanks to @LarsJ for his subclass method, saved me some time) but I am out of time and if I don't post this now, I will probably forget to post it later (Yep, age is getting there). @LarsJ - GUIRegisterMsg20 - @argumentum ComboBox Set DROPDOWNLIST Colors/size UDF (Lots-O-Stuff) Here's my short and sweet (I don't think I ever code anything short.. or sweet) Edit 2024-04-10: Added the font change functions, pay attention to the fact that there are 3 different hwnds, the control hwnd, the edit hwnd as well as the listbox hwnd for the combo box. There are 4 functions, one changes all 3, the others change each of the other hwnds. Edit-2 2024-04-10: So I was going to use the forum members meticulous eyes to find issues, but I seemed to find a few that I didn't notice before myself. - Wrong array bounds in font au3 was fixed - Multi color (LB and Edit different colors) fixed (mistakenly used 1 brush ... oops) for color au3 - Missing edit color logic fixed for color au3 GUIComboBox.2024.04.10-002.zip
- 3 replies
-
- combo color
- combo font
-
(and 3 more)
Tagged with: