Leaderboard
Popular Content
Showing content with the highest reputation on 07/27/2014 in all areas
-
File Name: AutoIt v3.3.13.11 Beta File Submitter: Jon File Submitted: 27 Jul 2014 File Category: Beta 3.3.13.11 (27th July, 2014) (Beta) AutoIt: - Added #2346: FileSetEnd(). - Fixed #2372: Incorrect line number given on a bad function call. (Still issues with Callback line errors). - Fixed #2805: FileWriteLine() was not returning a failure when disk was full. - Fixed #2623: RegDelete() returning 0 rather than 2 when a key exists but no write permissions to delete it. - Fixed #2813: Accessing "last created control" once GUI deleted caused a hard crash. - Fixed #2640: Odd conversion of strings containing numbers in expressions. AutoItX: - Fixed #2694: ControlListView not finding controls in x64 mode. Click here to download this file4 points
-
File Name: AutoIt v3.3.13.10 Beta File Submitter: Jon File Submitted: 26 Jul 2014 File Category: Beta 3.3.13.10 (26th July, 2014) (Beta) AutoIt: - Added #2686: Random() to return max value when min equals max. - Fixed: Regression in empty array handling. - Fixed #2538: GuiSetAccelerators() was still firing events on disabled button controls. - Fixed #2671: StringSplit() was splitting incorrectly with regards to case sensitivity. Click here to download this file2 points
-
I have wrote a lot of binary code library for AutoIt before. I also discover many ways to generate binary code for AutoIt in the past. However, all of them have limitation or need some extra effort. Recently, I think I found the best and easiest way to generate the binary code. So I wrote this UDF, may be my last one about binary code. The Features:Both AutoIt x86 and x64 version are supported.Windows API and static variables can be use (code relocation supported).Decompression at run-time with smallest footprint LZMA decoder.Allocated memory blocks are released automatically.Most C source code works without modification.Two step or one step script generation, very easy to use.How It Works: The C source code must be compiled by MinGW GCC with "-S -masm=intel" option. Output is GAS syntax assembly file.BinaryCall Tool is able to convert the GAS syntax assembly file (*.s) to FASM syntax (*.asm). During the conversion, global symbols will be stored as "Symbol Jump Table" at the head of the file. The output file should be able to be assembled to binary file under command line by FASM.EXE. This syntax conversion is step 1.The step 2 is to assemble the file. BinaryCall Tool will use the embedded FASM to assemble every file twice to generate the relocation table. "BinaryCall.inc" will be included automatically before assembling to detect the Windows API and generate the "API Jump table". All the results will be compressed and converted to AutoIt script output.There are two major functions in the output script. _BinaryCall_Create() function allocates memorys, decompress the binary, relocates the address in memory, and fills the "API Jump Table"._BinaryCall_SymbolList() converts the "Symbol Jump Table" to memory addresses, and then store them as pointers in a DllStruct variable.Finally, we can use DllCallAddress() to call the memory address stored in the DllStruct.Step by Step Tutorial: Write C source code:#include <windows.h> void main() { MessageBox(0, "Hello", "Welcome Message", 1); }Use GCC MinGW 32/64 to compile the source code: gcc -S -masm=intel -m32 MessageBox.cUse BinaryCall Tool "GAS2AU3 Converter", select "MessageBox.s": If Not @AutoItX64 Then Local $Code = '...' Local $Reloc = '...' Local $Symbol[] = ["main"] Local $CodeBase = _BinaryCall_Create($Code, $Reloc) If @Error Then Exit Local $SymbolList = _BinaryCall_SymbolList($CodeBase, $Symbol) If @Error Then Exit EndIfPaste the output script, call the main() in AutoIt: #Include "BinaryCall.au3" ; Paste output here DllCallAddress("none:cdecl", DllStructGetData($SymbolList, "main"))Try to run it! Change Log:v1.0Initial release.v1.1A lot of improvement for GAS2ASM converter and FASM header file.Add many C Run-Time library as inline asm subroutines.Add command-line to argc/argv parser for easy calling main() function.Add ability to redirect stdio.More C source code can work without modification in this version. Following open source projects are tested. And Yes, they can run as binary code library in AutoIt now. SQLite 3.8.5 TCC 0.9.26 PuTTY beta 0.63 v1.2Dynamic-link library (DLL) calling is supported now. If the C program requires a DLL file to run, just put it together with the source file. BinaryCall Tool will searches *.dll and exports all the symbols in these DLL files automatically. Of course, you need these DLL files when run the output script. However, it also works if you loaded them by last version of MemoryDll UDF.To add more Windows API library easily by editing the ini file.Better error handling and more error messages in output script.Add zero padding to avoid short jumps that crash the relocation table.BinaryCall Tool accepts drag and drop files now.Some small bug fixed. BinaryCall 1.0.zip BinaryCall 1.1.zip BinaryCall 1.2.zip1 point
-
Here some useless graphical examples using GDI+, made for fun (my 1st GDI+ codes ): !Some examples may run slowly on WinXP machines (workaround in this thread)! Some examples using Hex() function need adjustment when running on AutoIt version 3.3.8.0+ otherwise colors are flashing (fixed versions in AiO package below)!!! #01 Flying Pearl Necklaces: Source code here (577 downloads previously)! Flying Pearl Necklaces.au3 #02 Flying Squares: Source code here (265 downloads previously)! Flying Squares.au3 #03 Rotating Squares: Source code here! Rotating_Squares.au3 #04 Plasma & Plasma Variant: Source codes here! Plasma: Plasma.au3 Plasma Variant: Plasma Variante.au3 #05 L-System Fractals: Source code here (382 downloads previously)! L-System Fractals.7z #06 Sinus Scroller: Source code here (218 downloads previously)! Sinus Scroller.au3 #07 Visualization: Analog Meter: download here (including source, needed files and compiled exe): Source code + needed files here (473 downloads previously)! Visualizer_Analog Meter.7z More GDI+ visualizations here by monoceres or by Eukalyptus Audio Visualization Collection (German site) #08 Particle Catapult: Source code here (70 downloads previously)! Particle_Catapult.au3 #09 Rotating Cube: Source code here (79 downloads previously)! Rotating_Cube.au3 #10 Simple Ball Collision Simulation: Source code here (35 downloads previously)! Simple_Ball_Collision_Simulation.au3 (it is not finished yet! look from time to time into this thread for an update! Nice tutorial here) #11 Particle Explosions: Source code here: Explosions__from_AutoIteroids_.au3 #12 Rotating Letters: Source codes here: Rotating Letters.au3 Transparent version (87 downloads previously): Rotating Letters Transparent.au3 #13 Rotating Cube 2: Source code here (53 downloads previously): Rotating Cube 2.au3 #14 Rotating Cube 2 with Textures: Source code here (68 downloads previously): Rotating Cube 2 + Textures.7z #15 Rotating Cube 2 with some examples from above on each surface: Source code here (55 downloads previously): Rotating Cube 2 + animated surfaces.7z #16 Rotating Cube 2 simple: Source code here: Rotating Cube 2 - Simple.au3 Or with background pic or Rotating Cube 2 simple + Background #17 Tramp of Particles: Source code here: Tramp of Particles.au3 #18 Twister: Source code here: Twister.au3 WinAPI version is 2.5x faster (look in AiO archive)! #19 Star Burst: Source code here: Star Burst.au3 #20 Warp Starfield: Source code here: Warp Starfield.au3 #21 Plasma 2: Source code here: Plasma 2.au3 #22 Isometric Level-3 Cube: Source code here: Isometric Level-3 Cube.au3 #23 Zoomer: Source code here (7 downloads previously): Zoomer.au3 GDIP.au3 needed for Zoomer! #24 Suspended Cloth Simulation: Source code here: Suspended Cloth Simulation.au3 #25 Visualizer: Oscilloscope Farbrausch: Source code here (30 downloads previously): Visualizer Oscilloscope Farbrausch.au3 To run Visualizer Oscilloscope Farbrausch.au3 properly you need following files: Bass.au3, BassExt.au3, Bass.dll and BassExt.dll. These files can be found in AiO package or on German AutoIt site! #26 Im- Exploding Particle Logo: Source code here: Im- Exploding Particle Logo.7z #27 Pixel Text Effect: Source code here (12 downloads previously): Pixel Text Effect.7z or with ♬chip sound♫ aka demo style (download from German AutoIt site or from AiO archive). #27 works best on Vista+ machines! #28 Star Wars Scroller: Source code here: Star Wars Scroller.au3 For a complete Star Wars Intro have a look to eukalyptus' Star-Wars Intro (see below!) #29 Rotated Letters Simple: Source code here: Rotated Letters Simple.au3 #30 Ballet of Letters: Source code here: Ballet of Letters.au3 #31 Perfect Illusion: Source code here: Perfect Illusion Variant 1.au3 Perfect Illusion Variant 2.au3 Perfect Illusion Variant 3.au3 Mesmerizing Squares Screensaver (previous downloads approx. 100): Mesmerizing_Squares_Screensaver.au3 (compiled version here): Don't stare too long on it or you will be mesmerized One more: Rotating triangle + vertical scroller + music (modification of monoceres' code): Magic Lines Screesaver (110 downloads previously): Magic Lines Screensaver.7z Another screensaver - 3D Star Scrolling Screensaver (83 downloads previously): GDI+ 3D Star Scrolling Screensaver.au3 !Some examples may run slowly on WinXP machines (workaround in this thread)! Some examples using Hex() function need adjustment when running on AutoIt version 3.3.8.0+ otherwise colors are flashing (fixed versions in AiO package below)!!! AiO download link ☞ AiO1 or AiO2 ☜ (all examples above compiled + source codes packed with 7-Zip) Have a look also to the game I made using GDI+: Link: AUTOITEROIDS v1.018 Build 2011-06-09 (Final) (a clone of the game Asteroids made by Atari 1979) I hope you like it! Any kind of comment is welcome!!! My examples are all done with AutoIt v3.3.0.0 on Vista x32! Kudos to: monoceres, smashly, malkey, Eukalyptus and Authenticity! Check out Some Graphical Examples using GDI+ Vol. II build 2016-01-25 More examples made by other members in this thread (thanks you very much!): Spinning Flying Pearl Necklaces by smashly: Spinning Flying Squares by smashly and ProgAndy LMP Visualization by youknowwho4eva: SineWorm by monoceres: Enterprise Warp by youknowwho4eva: Confused ASCII by monoceres: Lissajous Curve by monoceres: Butterfly Curve by monoceres: ParticleCollisionFun2 by crashdemons: Extreme nice physic engine by moritz1243 (German site): Lingering Line by MvGulik: Scroller Sine Blobs by Lakes: Cube surface and 3D axis and by Lakes: by eukalyptus: by eukalyptus: Two more examples by eukalyptus: and FEEL FREE TO POST YOUR GDI+ EXAMPLES HERE,TOO!!! Have fun and regards, UEZ ✌ PS: more modified examples also here in this topic History of my useless scripts above:1 point
-
This was a place holder post to spark interest - much better implementations than my initial thoughts found later in the thread. M231 point
-
Same hotkeys not work in different tabs
232showtime reacted to Melba23 for a topic
bordomavi, So you have to create some additional functions which are called by the buttons and the dummy when the correct tab is active: #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> $hGUI = GUICreate("Test", 500, 500) $cTab = GUICtrlCreateTab(10, 10, 480, 480) $TabSheet1 = GUICtrlCreateTabItem("a") $Button1 = GUICtrlCreateButton("1", 16, 192, 225, 41) $TabSheet2 = GUICtrlCreateTabItem("b") $Button2 = GUICtrlCreateButton("2", 16, 192, 225, 41) $TabSheet3 = GUICtrlCreateTabItem("c") $Button3 = GUICtrlCreateButton("3", 16, 192, 225, 41) GUICtrlCreateTabItem("") $Button_All = GUICtrlCreateDummy() GUISetState() Global $Form1_AccelTable[1][2] = [["{ENTER}", $Button_All]] GUISetAccelerators($Form1_AccelTable) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $Button1 _Button_1() Case $Button2 _Button_2() Case $Button3 _Button_3() Case $Button_All Switch GUICtrlRead($cTab) Case 0 _Button_1(1) Case 1 _Button_2(1) Case 2 _Button_3(1) EndSwitch EndSwitch WEnd Func _Button_1($iDummy = 0) $sMsg = "Button 1 Pressed" If $iDummy Then $sMsg &= @CRLF & "using Accel key" MsgBox($MB_SYSTEMMODAL, "Hi", $sMsg) EndFunc Func _Button_2($iDummy = 0) $sMsg = "Button 2 Pressed" If $iDummy Then $sMsg &= @CRLF & "using Accel key" MsgBox($MB_SYSTEMMODAL, "Hi", $sMsg) EndFunc Func _Button_3($iDummy = 0) $sMsg = "Button 3 Pressed" If $iDummy Then $sMsg &= @CRLF & "using Accel key" MsgBox($MB_SYSTEMMODAL, "Hi", $sMsg) EndFunc How about that? M231 point -
AlmarM, If you want to place an array inside another array you need to declare the internal array first and then add it as an element of the container array. But you can read the elements of the internal array directly - see the latest Beta Help file <Language Reference - Variables - Data types in Arrays> (I have just rewritten it). M231 point
-
Same hotkeys not work in different tabs
232showtime reacted to Melba23 for a topic
bordomavi, How about this? #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> $hGUI = GUICreate("Test", 500, 500) $cTab = GUICtrlCreateTab(10, 10, 480, 480) $TabSheet1 = GUICtrlCreateTabItem("a") $Button1 = GUICtrlCreateButton("1", 16, 192, 225, 41) $TabSheet2 = GUICtrlCreateTabItem("b") $Button2 = GUICtrlCreateButton("2", 16, 192, 225, 41) $TabSheet3 = GUICtrlCreateTabItem("c") $Button3 = GUICtrlCreateButton("3", 16, 192, 225, 41) GUICtrlCreateTabItem("") $Button_All = GUICtrlCreateDummy() GUISetState() Global $Form1_AccelTable[1][2] = [["{ENTER}", $Button_All]] GUISetAccelerators($Form1_AccelTable) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $Button1 MsgBox($MB_SYSTEMMODAL, "Hi", "Button 1 Pressed") Case $Button2 MsgBox($MB_SYSTEMMODAL, "Hi", "Button 2 Pressed") Case $Button3 MsgBox($MB_SYSTEMMODAL, "Hi", "Button 3 Pressed") Case $Button_All $iTab = GUICtrlRead($cTab) + 1 MsgBox($MB_SYSTEMMODAL, "Hi", "Button " & $iTab & " pressed" & @CRLF & "using Accel key") EndSwitch WEnd All clear? M231 point -
AutoIt3ExecuteLine hidden
232showtime reacted to computergroove for a topic
'?do=embed' frameborder='0' data-embedContent>> <- searched google for 'autoit @sw_hide' I made this: Run("calc.exe") WinWait("Calculator") WinSetState("Calculator","",@SW_HIDE) It opens calculator and immediately "hides" the program1 point -
Function Binding
jvanegmond reacted to TypeIt for a topic
I tested that. The results first: sorted array 1. normal sort: 1706.77929891972 2. sort with normal function: 3243.01820175122 3. sort with bound function: 68745.4947985765 t3 / t2: 21.1979984452305 t3 / t1: 40.2779051996281 t2 / t1: 1.90008058089516 sorted array reverse 1. normal sort: 389.053023881008 2. sort with normal function: 1909.09730231511 3. sort with bound function: 67457.9875664576 t3 / t2: 35.3350180133055 t3 / t1: 173.390215281014 t2 / t1: 4.90703627816812 random array 1. normal sort: 1060.49700717624 2. sort with normal function: 2613.1627985126 3. sort with bound function: 67304.0390386167 t3 / t2: 25.755777281433 t3 / t1: 63.4646194974426 t2 / t1: 2.46409257247279 That's a really big difference. I don't think that this is useful, if it isn't part of the language. functional.au3 ; Somewhere between speed and flexibility with 100 supported arguments. ; The version with 100.000 arguments takes half a minute without getting anything done. Func MakeArray ($a1 = Default, $a2 = Default, $a3 = Default, $a4 = Default, $a5 = Default, $a6 = Default, $a7 = Default, $a8 = Default, $a9 = Default, $a10 = Default, $a11 = Default, $a12 = Default, $a13 = Default, $a14 = Default, $a15 = Default, $a16 = Default, $a17 = Default, $a18 = Default, $a19 = Default, $a20 = Default, $a21 = Default, $a22 = Default, $a23 = Default, $a24 = Default, $a25 = Default, $a26 = Default, $a27 = Default, $a28 = Default, $a29 = Default, $a30 = Default, $a31 = Default, $a32 = Default, $a33 = Default, $a34 = Default, $a35 = Default, $a36 = Default, $a37 = Default, $a38 = Default, $a39 = Default, $a40 = Default, $a41 = Default, $a42 = Default, $a43 = Default, $a44 = Default, $a45 = Default, $a46 = Default, $a47 = Default, $a48 = Default, $a49 = Default, $a50 = Default, $a51 = Default, $a52 = Default, $a53 = Default, $a54 = Default, $a55 = Default, $a56 = Default, $a57 = Default, $a58 = Default, $a59 = Default, $a60 = Default, $a61 = Default, $a62 = Default, $a63 = Default, $a64 = Default, $a65 = Default, $a66 = Default, $a67 = Default, $a68 = Default, $a69 = Default, $a70 = Default, $a71 = Default, $a72 = Default, $a73 = Default, $a74 = Default, $a75 = Default, $a76 = Default, $a77 = Default, $a78 = Default, $a79 = Default, $a80 = Default, $a81 = Default, $a82 = Default, $a83 = Default, $a84 = Default, $a85 = Default, $a86 = Default, $a87 = Default, $a88 = Default, $a89 = Default, $a90 = Default, $a91 = Default, $a92 = Default, $a93 = Default, $a94 = Default, $a95 = Default, $a96 = Default, $a97 = Default, $a98 = Default, $a99 = Default, $a100 = Default) Local $array [@NumParams] For $i = 1 To @NumParams - 1 $array [$i] = Eval ("a" & $i) Next Return $array EndFunc Func MakeEmptyArray () Local $result = [] Return $result EndFunc Func IsBoundFunction ($boundFunction) Return IsArray ($boundFunction) _ And UBound ($boundFunction, 0) == 1 And UBound ($boundFunction) == 2 _ And IsFunc ($boundFunction [0]) _ And UBound ($boundFunction [1], 0) == 1 EndFunc Func BindFunction ($functionOrBoundFunction, $arguments = Default) ; The arguments to bind to were omitted. Fix that. If $arguments == Default Then $arguments = MakeEmptyArray () ; When there are no arguments to bind, then there is no work to do. ; Return the function. If UBound ($arguments) == 0 Then Return $functionOrBoundFunction If IsFunc ($functionOrBoundFunction) Then Local $result = [$functionOrBoundFunction, $arguments] Return $result ElseIf IsBoundFunction ($functionOrBoundFunction) Then Return BindBoundFunction ($functionOrBoundFunction, $arguments) Else Return SetError (1, 0, Null) EndIf EndFunc ; "internal" Func BindBoundFunction ($boundFunction, $additionalArguments) ; If the function already is a bound function, then the result shouldn't ; wrap the already bound function in another array. We copy the old ; argument array, resize it and append the new arguments to bind. Local $boundArguments = $boundFunction [1] Local $oldSize = UBound ($boundArguments) Local $sizeIncrease = UBound ($additionalArguments) Local $newSize = $oldSize + $sizeIncrease ReDim $boundArguments [$newSize] For $i = 0 To $sizeIncrease - 1 $boundArguments [$oldSize + $i] = $arguments [$i] Next $boundFunction [1] = $boundArguments Return $boundFunction EndFunc Func Invoke ($functionOrBoundFunction, $additionalArguments = Default) ; The arguents to call with were omitted. Fix that. If $additionalArguments == Default Then $additionalArguments = MakeEmptyArray () ; Someone might pass something that isn't an arguments array. It's the callers ; fault, I don't care. If Not IsArray ($additionalArguments) Then Return SetError (1, 0, Null) If IsFunc ($functionOrBoundFunction) Then ; We need to prepend "CallArgArray" to the arguments to indicate that we intend ; to pass an argument array instead of each argument separately. PrependCallArgArray ($additionalArguments) Local $result = Call ($functionOrBoundFunction, $additionalArguments) Return SetError (@error, @extended, $result) ElseIf IsBoundFunction ($functionOrBoundFunction) Then Local $result = InvokeBoundFunction ($functionOrBoundFunction, $additionalArguments) Return SetError (@error, @extended, $result) Else Return SetError (1, 0, Null) EndIf EndFunc ; "internal" Func InvokeBoundFunction ($boundFunction, $additionalArguments) ; If we don't need to concatenate two arrays, then we won't do that. If UBound ($additionalArguments) == 0 Then PrependCallArgArray ($additionalArguments) Local $result = Call ($boundFunction [0], $additionalArguments) Return SetError (@error, @extended, $result) EndIf ; If we need to concatenate two arrays and prepend the "CallArgArray" ; argument, then we will first allocate an array with enough space for ; that and then copy the rest. Local $boundArguments = $boundFunction [1] Local $boundArgumentsSize = UBound ($boundArguments) Local $additionalArgumentsSize = UBound ($additionalArguments) ; Don't forget the additional "CallArgArray" argument. Local $argumentsSize = $boundArgumentsSize + $additionalArgumentsSize + 1 Local $arguments [$argumentsSize] = ["CallArgArray"] ; Copy the bound arguments. For $i = 0 To $boundArgumentsSize - 1 $arguments [$i + 1] = $boundArguments [$i] Next ; Copy the additional arguments. For $i = 0 To $additionalArgumentsSize - 1 $arguments [$boundArgumentsSize + 1 + $i] = $additionalArguments [$i] Next Local $result = Call ($boundFunction [0], $arguments) Return SetError (@error, @extended, $result) EndFunc ; "internal" Func PrependCallArgArray (ByRef $arguments) Local $argumentsSize = UBound ($arguments) ReDim $arguments [$argumentsSize + 1] For $i = $argumentsSize To 1 Step -1 $arguments [$i] = $arguments [$i - 1] Next $arguments [0] = "CallArgArray" EndFunc test.au3 #include "functional.au3" Func less ($a, $b) Return $a < $b EndFunc ; I didn't test the correctness of this function, because ; this function doesn't need to be correct. Func Sort1 (ByRef $array) Local $arrayLength = UBound ($array) For $i = 2 To $arrayLength - 2 For $j = 0 To $arrayLength - $i If $array [$j] < $array [$j + 1] Then Local $copy = $array [$i] $array [$i] = $array [$i + 1] $array [$i + 1] = $copy EndIf Next Next EndFunc Func Sort2 (ByRef $array, $less = less) Local $arrayLength = UBound ($array) For $i = 2 To $arrayLength - 2 For $j = 0 To $arrayLength - $i If $less ($array [$j], $array [$j + 1]) Then Local $copy = $array [$i] $array [$i] = $array [$i + 1] $array [$i + 1] = $copy EndIf Next Next EndFunc Func Sort3 (ByRef $array, $less = less) Local $arrayLength = UBound ($array) For $i = 2 To $arrayLength - 2 For $j = 0 To $arrayLength - $i If Invoke ($less, MakeArray ($array [$j], $array [$j + 1])) Then Local $copy = $array [$i] $array [$i] = $array [$i + 1] $array [$i + 1] = $copy EndIf Next Next EndFunc Func createRandomArray ($arrayLength) Local $array [$arrayLength] For $i = 0 To $arrayLength - 1 $array [$i] = Random () Next Return $array EndFunc Func createSortedArray ($arrayLength) Local $array [$arrayLength] For $i = 0 To $arrayLength - 1 $array [$i] = $i + 1 Next Return $array EndFunc Func createSortedArrayReverse ($arrayLength) Local $array [$arrayLength] For $i = 0 To $arrayLength - 1 $array [$i] = $arrayLength - $i Next Return $array EndFunc Func copyArray ($array) Return $array EndFunc Func specialLess ($bindMe, $a, $b) Return $a < $b EndFunc Func testSort1 ($array) Local $array1 = copyArray ($array) ; Yes, this is ncessary. Local $timer = TimerInit () Sort1 ($array1) Return TimerDiff ($timer) EndFunc Func testSort2 ($array) Local $array2 = copyArray ($array) Local $timer = TimerInit () Sort2 ($array2, less) Return TimerDiff ($timer) EndFunc Func testSort3 ($array) Local $array3 = copyArray ($array) Local $timer = TimerInit () Sort3 ($array3, BindFunction (specialLess, MakeArray (1))) Return TimerDiff ($timer) EndFunc Func testSortFunctions ($array) Local $time1 = testSort1 ($array) ConsoleWrite ("1. normal sort: " & $time1 & @CRLF) Local $time2 = testSort2 ($array) ConsoleWrite ("2. sort with normal function: " & $time2 & @CRLF) Local $time3 = testSort3 ($array) ConsoleWrite ("3. sort with bound function: " & $time3 & @CRLF) ConsoleWrite ("t3 / t2: " & $time3 / $time2 & @CRLF) ; bound function vs. normal function ConsoleWrite ("t3 / t1: " & $time3 / $time1 & @CRLF) ConsoleWrite ("t2 / t1: " & $time2 / $time1 & @CRLF) EndFunc ConsoleWrite ("sorted array" & @CRLF) testSortFunctions (createSortedArray (1000)) ConsoleWrite (@CRLF) ConsoleWrite ("sorted array reverse" & @CRLF) testSortFunctions (createSortedArrayReverse (1000)) ConsoleWrite (@CRLF) ConsoleWrite ("random array" & @CRLF) testSortFunctions (createRandomArray (1000))1 point -
WinHTTP functions
tourism123 reacted to trancexx for a topic
Current official AutoIt callback function implementation unfortunately can't handle re-entrancy, as you have noticed. I made a remark about that in function description.Good news is that other interpreters for AutoIt exist. For example, I was presented with one such just the other day. It works by compiling AutoIt code to real executable code. As a consequence stuff like this work. Until the author decides to publish it, I have no particularly smart advice.1 point -
1 point
-
I am Planning to release a new SciTE4AutoIt3 installer soon and will start using the same version for all utilities I maintain: Nsis installer AutoIt3wrapper Au3Stripper Tidy SciTEConfig UpdateDefs findstr Version number will have the format: YY.(M)MDD.(H)HMM.0 and any Beta's following will just be an increment of the last number. This way it is much easier to know to which released installer the version belongs and it makes it easier for me to maintain. Installer and ZIP file available in the Beta directory for testing. 7/27/2014 *** Merged the SciTE v 3.4.4 by Neil Hodgson with our own version of SciTE. (Jos) - Added Options: #~ highlight.current.word.stopatspace=0 // 1 is the default behaviour. - Added Ctrl+E shortcut which will open Explorer in the ScriptDir and select the filename being edited. - Added Shift+F7 to just compile the script for testing without running any other utility. Similar to #AutoIt3Wrapper_Testing=y - Added logic to better determine the current CallTip parameter being edited by testing for the delimiter style define with: calltip.au3.delimiter.style=8 *** Updated SciTE4AutoIt3 installer v14.727.1229.0 (Jos) - Changed code to update the SCITE_USERHOME enviroment variable. - Added Restore option for SciTE-Lite when uninstalling this Full version. *** Updated SciTE4AutoIt3 helpfile (Jos) - Added Directive sections to the index. - Updated AutoIt3Help.exe to automatically open this helpfile when the keyword contains #autoit3wrapper_ , #au3stripper or #tidy_. *** Updated Au3Stripper v14.727.1229.0 (Jos) - Fixed lexing typo with /RenameMinimum commandline parameter. - Fixed to be able to handle more levels of Include files and avoid a stackspace crash . *** Updated AutoIt3Wrapper v14.727.1229.0 (Jos) - Changed the re-start shortcut to Ctrl+Alt+Break. - Added /test parameter to allow shortcut to compile script in test without running anything else than AUT2XE. - Added UPX support for x64 scripts since it is now supported. - Added ShowProgress INI option and #AutoIt3Wrapper_ShowProgress directive to allow disable of Progress Window. - Added directives to allow forcing the #RequireAdmin for Run_Before or Run_After statements: #AutoIt3Wrapper_Run_Before_Admin= ;(Y/N) Run subsequent Run_Before statements with #RequireAdmin. Default=N #AutoIt3Wrapper_Run_After_Admin= ;(Y/N) Run subsequent Run_After statements with #RequireAdmin. Default=N *** Updated SciTEConfig v14.727.1229.0 (Jos) - Fixed several small bugs. (Jos) *** Updated Tidy v14.727.1229.0 (Jos) - Fixed regression when the FUNC keyword is on a #region line *** Updated CodeWizard v1.5.3.1 (Jos) - Fixed to make use of the new SCITE_USERHOME env variable and several other syntax updates. Jos1 point
-
Ah okay I apologize. Just trying to create my own gui to play against a chess computer.1 point
-
How Much Internet Traffic Used?
AmirAshkan2012 reacted to Palestinian for a topic
HandyCafe, Google it.1 point -
$CmdLine not working as espected. See details.
232showtime reacted to Jos for a topic
No need to test on my side and I am fine you questioning what I stated. Good luck.1 point -
Its been done many many times before, I've been using Lazycats one (here) for a while now, and occasionally this one, but I decided that I wanted another one. The main things that this one does and Lazycats doesn't is make use of the offset of the pattern error returned through @Extended. Mine shows a small "^" below the offset, making it easier in long patterns. It also uses controls other than an edit: Radio's, listboxes and a listview for option 4 (Still an edit for Replace mode). To select the option simply change the tab. I can't seem to be able to create listview columns, so used 100 cols setting unused ones width to 0. Screenshot: download link: http://m-a-t.googlecode.com/files/StringRegExTester.zip Mat1 point