Leaderboard
Popular Content
Showing content with the highest reputation on 04/24/2016 in all areas
-
_Service_UDF v4 : Build your own service with autoit code
cramaboule reacted to arcker for a topic
I can't be responsible for any impact of your script or services you would run in production. | _Services_UDF v4 | | By Arcker | Run your script as a service | Req. AutoIt 3.3.8.1 min, last beta recommended ( tested in 3.3.9.21 ) |_______________________________________ ++ Preparing v5 !! Checked on 27/04/2015 <> Updated on 10/23/2013 <> Updated 07/29/2013 <> Best practices Updated 24/02/2012 -- Removed GUI code, and old codes. == Warning : 26/02/2012 <> New Version (v3 ) : 29/07/2013 | Thx to ShminkyBoy, wraithdu, Udgeen and HolmesShelock for their great contributions. Special thx to bitboy, Downloads see end of this post : ServiceExample_v4, Services.au3, ServicesConstants.au3 Presentation Here is my _Service _ UDF With this UDF, you can compile your autoit script and run it as service. Any comments are welcome. Hope you'll like it, 1 - changelog Update V4 : 23/10/2013,27/04/2015 Update : V3 on 29/07/2013 Compile the service example to see how to do then you can use the main function for your proper scriptChoose an appropriate location and copy the script here.open a command prompt, and execute the compiled script with option –I ( must be admin right since vista )start / execute "services.msc" . You will see a service called "Autoit_service". you can execute "sc query" in a command prompt too.Launch it : it will run the previous compile script. The main function will be executed after the service_init.stop and relaunch the service as you wish. Examples / Session Change / uses v1 (lock, logon, etc) By HolmesShelock. Awesome work. Edit : this example doesn't use v2 or v3 method SessionChange Service.zip Example output to give you an idea Examples demos Synoptic And for End Users, I've tried to explain the service control manager and the way it works with programs. see below Best Practice, by arcker : /! please read this if you encounter stability issues I've had to rework on services.au3 to reflect threadsafe. Threadsafe means each dll call must be on "dllopened" instead of calling dll directly for example, if you need a function in kernel32.dll, you have to open it and call it after. That's contraignant since a lot of integrated functions in autoit are not programmed this way. If you take my services.au3, at the end, you'll see reworked function to handle this change. I've not tried services for a while, since i don't need it for now, but i can help you only if your provide whole script, to see how you call every functions. I can tell that fix stability issues in callback, but i don't think it's need for your script, as far as you don't use callback. Best Practice, by udgeen : Good news! Probably i've found the working method of integrating service.au3 with other projects I realised it after ASock.au3 project by Zatorg (please, sorry if im wrong) - ASock is asynck socket - tcp on event (uses ws2_32.dll). Asock & sqlite didnt work together. The only reason for that was..._ArrayDisplay() func with gui!!! Ok. I made special sqlite.au3 without dependences. It works, but my udf seemed too be much heavy to use at another project. Few weeks ago I returned to service.au3 and found TCP UDF, Event driven project based on ASock.au3. It seemed to work as example, but didn't work at all as service. In my variant of service_example.au3 i posted msdn words about service_main procedure, that it must contain all global vars of project I'll try to post that project as an another service_example.au3 in some weeks here. If it will works. Some advice: use SysInternals Process Explorer (free gui based), or kill.exe from support tools to stop suspended service process. U can start-stop service even net start/net stop commands. Use file logging while debuging. No need to install-uninstall service after every recompilation: only stop, recompile, start. See, if it was suspended (while stopping) - kill process. The only reason not to stop service correctly i've found for today is unclean exit: opened sockets, maybe some dlls. Edit : Arcker note: too bad, that would be too easy. unclean exit is not due to opened dll, but by some more internal exit checks or something. FAQ. 1 - Hey, I've got error 1063 or error 0, what does that mean ? It simply means that you intend to run your script in scite or directly by executing it. Your script has to be installed as service and run from it. Several ways to do it : You have to combine all Globals in one place: for example at the the begining. You have to make it with other udfs too... silly workThen sort Global Const and other Global statements. If u see something like global $x = 1 do that way: global $x leeve at top. $x =1 insert into module's (udf or project) Init func.U have to do it even with standart udf... or use only necessary functions from it in your own include. Or... maybe u have another plan?Try to build your project with modified udfs - does it works now? Hmm... But it have to Maybe later after everything will work fine i'll say "msdn is wrong, microsoft lies"... But maybe i'll say that microsoft - is not so bad, because autoit works in itnet start "yourservicename"Services.mscUse API provided _Service_start, Service_stop. 2 - I want to make a GUI ! It's not possible in a service. Create another process and communicate with your service by using IPC. 3 - I've to let the main function that way ? That's contraignant. Hey, a script intended to run as service is special no ? Autoit is not C++. The only way to have a "Main" in autoit is to have a function. If you find another way, please share it ServiceExample_ThreadSafe.au3 Services.au3 ServiceExample_v4.au3 ServicesConstants.au31 point -
Do not expect a SVG file as Sodipodi, Inkscape or Adobe Illustrator can generate. This "converter" doesn't actually trace or convert the image to vector. It just embed the bitmap image within an SVG container. #Region ;************ Includes ************ #Include <GDIPlus.au3> #Include <Memory.au3> #EndRegion ;************ Includes ************ Global $_B64E_CodeBuffer, $_B64E_CodeBufferMemory, $_B64E_Init, $_B64E_EncodeData, $_B64E_EncodeEnd Global $sFile, $hImage, $iW, $iH, $sType, $hFile, $sBase64String, $sFileRead, $sSvgPath, $sString _GDIPlus_Startup() $sFile = FileOpenDialog ( 'Select an Image', @DesktopDir, 'Images (*.jpg;*.png;*.gif;*.bmp)', 1+2 ) If @error Then Exit $sType = _FileGetType ( $sFile ) If @error Then ConsoleWrite ( '! File Type not supported, error : ' & @error & @Crlf ) Else $hFile = FileOpen ( $sFile, 16 ) If $hFile=-1 Then Exit MsgBox ( 262144+4096+16, 'Error', 'Can not Access this file.', 4 ) $hImage = _GDIPlus_ImageLoadFromFile ( $sFile ) $iW = _GDIPlus_ImageGetWidth ( $hImage ) $iH = _GDIPlus_ImageGetHeight ( $hImage ) _GDIPlus_ImageDispose ( $hImage ) $sFileRead = FileRead ( $hFile ) FileClose ( $hFile ) $sBase64String = _Base64Encode ( $sFileRead, 4000 ) $sString = '<svg' & @CRLF & _ ' version="1.1"' & @CRLF & _ ' xmlns="http://www.w3.org/2000/svg"' & @CRLF & _ ' xmlns:xlink="http://www.w3.org/1999/xlink"' & @CRLF & _ ' width="' & $iW & 'px" height="' & $iH & 'px"' & @CRLF & _ ' viewBox="0 0 ' & $iW & ' ' & $iH & '" preserveAspectRatio="none">' & @CRLF & _ ' <g>' & @CRLF & _ '<image width="' & $iW & '" height="' & $iH & '" xlink:href="data:image/' & $sType & ';base64,' & @CRLF & _ $sBase64String & @CRLF & _ '"/>' & @CRLF & _ ' </g>' & @CRLF & _ '</svg>' & @CRLF $sSvgPath = @TempDir & '\' & @HOUR & @MIN & @SEC & @MSEC & '-' & $iW & 'x' & $iH & '.svg' $hFile = FileOpen ( $sSvgPath, 1+2+8 ) If $hFile = -1 Then MsgBox ( 262144+4096+16, '', 'An error occurred whilst writing the temporary file.' ) Else FileWrite ( $hFile, $sString ) FileClose ( $hFile ) ShellExecute ( 'iexplore.exe', $sSvgPath ) EndIf EndIf _GDIPlus_Shutdown() Exit Func _FileGetType ( $sFilePath ) If Not FileExists ( $sFilePath ) Then Return SetError ( -1 ) If FileGetSize ( $sFilePath ) = 0 Then Return SetError ( 1, 0, 0 ) Local $hFile, $Binary, $Ret $hFile = FileOpen ( $sFilePath, 16 ) If $hFile = -1 Then Return SetError ( 3, 0, 0 ) $Binary = FileRead ( $hFile ) FileClose ( $hFile ) Local $sString = StringTrimLeft ( $Binary, 2 ) Local $sStringLeft = StringReplace ( StringTrimLeft ( StringLeft ( $Binary, 14 ), 2 ), '00', '' ) Local $sStringLeft12 = StringLeft ( $sStringLeft, 12 ) Local $sStringLeft8 = StringLeft ( $sStringLeft, 8 ) Local $sStringLeft4 = StringLeft ( $sStringLeft, 4 ) Select Case $sStringLeft12 = '474946383961' Or $sStringLeft12 = '474946383761' $Ret = 'GIF' Case $sStringLeft4 = 'FFD8' $Ret = 'JPG' Case $sStringLeft4 = '424D' $Ret = 'BMP' Case $sStringLeft8 = '89504E47' $Ret = 'PNG' Case Else Return SetError ( 2, 0, '' ) EndSelect If $Ret = 'GIF' Then StringReplace ( $sString, '0021F904', '0021F904' ) If @extended > 1 Then Return SetError ( 3, 0, '' ) ; animated gif. EndIf Return $Ret EndFunc ;==> _FileGetType() Func _Base64E_Exit() ; by Ward $_B64E_CodeBuffer = 0 _MemVirtualFree ( $_B64E_CodeBufferMemory, 0, $MEM_RELEASE ) EndFunc ;==> _Base64E_Exit() Func _Base64Encode ( $Data, $LineBreak=76 ) ; by Ward Local $State = _Base64EncodeInit ( $LineBreak ) Return _Base64EncodeData ( $State, $Data ) & _Base64EncodeEnd ( $State ) EndFunc ;==> _Base64Encode() Func _Base64EncodeData ( ByRef $State, $Data ) ; by Ward If Not IsDllStruct ( $_B64E_CodeBuffer ) Or Not IsDllStruct ( $State ) Then Return SetError ( 1, 0, '' ) $Data = Binary ( $Data ) Local $InputLen = BinaryLen ( $Data ) Local $Input = DllStructCreate ( 'byte[' & $InputLen & ']' ) DllStructSetData ( $Input, 1, $Data ) Local $OputputLen = Ceiling ( BinaryLen ( $Data )*1.4 )+3 Local $Output = DllStructCreate ( 'char[' & $OputputLen & ']' ) DllCall ( 'user32.dll', 'int', 'CallWindowProc', 'ptr', DllStructGetPtr ( $_B64E_CodeBuffer )+$_B64E_EncodeData, 'ptr', DllStructGetPtr ( $Input ), 'uint', $InputLen, 'ptr', DllStructGetPtr ( $Output ), 'ptr', DllStructGetPtr ( $State ) ) Return DllStructGetData ( $Output, 1 ) EndFunc ;==> _Base64EncodeData() Func _Base64EncodeEnd ( ByRef $State ) ; by Ward If Not IsDllStruct ( $_B64E_CodeBuffer ) Or Not IsDllStruct ( $State ) Then Return SetError ( 1, 0, '' ) Local $Output = DllStructCreate ( 'char[5]' ) DllCall ( 'user32.dll', 'int', 'CallWindowProc', 'ptr', DllStructGetPtr ( $_B64E_CodeBuffer ) + $_B64E_EncodeEnd, 'ptr', DllStructGetPtr ( $Output ), 'ptr', DllStructGetPtr ( $State ), 'int', 0, 'int', 0 ) Return DllStructGetData ( $Output, 1 ) EndFunc ;==> _Base64EncodeEnd() Func _Base64EncodeInit ( $LineBreak=76 ) ; by Ward If Not IsDllStruct ( $_B64E_CodeBuffer ) Then If @AutoItX64 Then Local $Opcode = '0x89C08D42034883EC0885D2C70100000000C64104000F49C2C7410800000000C1F80283E20389410C740683C00189410C4883C408C389C94883EC3848895C242848897424304889CB8B0A83F901742083F9024889D87444C6000A4883C001488B74243029D8488B5C24284883C438C30FB67204E803020000BA3D0000004080FE3F7F08480FBEF60FB614308813C643013D488D4303C643023DEBBC0FB67204E8D7010000BA3D0000004080FE3F7F08480FBEF60FB614308813C643013D488D4302EB9489DB4883EC68418B014863D248895C242848897424304C89C348897C24384C896424484C89CE83F80148896C24404C896C24504C897424584C897C24604C8D2411410FB6790474434D89C64989CD0F82F700000083F8024C89C5747B31C0488B5C2428488B742430488B7C2438488B6C24404C8B6424484C8B6C24504C8B7424584C8B7C24604883C468C34C89C54989CF4D39E70F840B010000450FBE374D8D6F014489F025F0000000C1F80409C7E8040100004080FF3FBA3D0000007F08480FBEFF0FB614384489F78855004883C50183E70FC1E7024D39E50F84B2000000450FB675004983C5014489F025C0000000C1F80609C7E8BD0000004080FF3FBA3D0000007F08480FBEFF0FB61438BF3F0000008855004421F74C8D7502E896000000480FBED70FB604108845018B460883C0013B460C89460875104C8D7503C645020AC7460800000000904D39E5742E410FBE7D004D8D7D01498D6E01E8560000004889FA83E70348C1EA02C1E70483E23F0FB60410418806E913FFFFFF4489F040887E04C7060000000029D8E9CCFEFFFF89E840887E04C7060200000029D8E9B9FEFFFF89E840887E04C7060100000029D8E9A6FEFFFFE8400000004142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A303132333435363738392B2F58C3' Else Local $Opcode = '0x89C08B4C24088B44240489CAC1FA1FC1EA1E01CAC1FA0283E103C70000000000C6400400C740080000000089500C740683C20189500CC2100089C983EC0C8B4C2414895C24048B5C2410897424088B1183FA01741D83FA0289D87443C6000A83C0018B74240829D88B5C240483C40CC210000FB67104E80C020000BA3D00000089F180F93F7F0989F20FBEF20FB6143088138D4303C643013DC643023DEBBD0FB67104E8DF010000BA3D00000089F180F93F7F0989F20FBEF20FB6143088138D4302C643013DEB9489DB83EC3C895C242C8B5C244C896C24388B542440897424308B6C2444897C24348B030FB6730401D583F801742D8B4C24488954241C0F820101000083F80289CF747D31C08B5C242C8B7424308B7C24348B6C243883C43CC210008B4C244889D739EF0F84400100008D57010FBE3F89542418894C241489F825F0000000C1F80409C6897C241CE8330100008B542418C644240C3D8B4C241489C789F03C3F7F0B0FBEF00FB604378844240C0FB644240C8D790188018B74241C83E60FC1E60239EA0F84CB0000000FB60A83C2018954241C89C825C0000000C1F80609C6884C2414E8D8000000BA3D0000000FB64C24148944240C89F03C3F7F0B0FBEF08B44240C0FB6143083E13F881789CEE8AD00000089F10FBED18D4F020FB604108847018B430883C0013B430C894308750EC647020A8D4F03C7430800000000396C241C743A8B44241C8B7C241C0FBE30894C241483C701E8650000008B4C241489F283E60381E2FC000000C1EA02C1E6040FB60410880183C101E9E4FEFFFF89F088430489C8C703000000002B442448E9B2FEFFFF89F189F8884B04C703020000002B442448E99CFEFFFF89F088430489C8C703010000002B442448E986FEFFFFE8400000004142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A303132333435363738392B2F58C3' EndIf $_B64E_Init = ( StringInStr ( $Opcode, '89C0' )-3 ) / 2 $_B64E_EncodeData = ( StringInStr ( $Opcode, '89DB' )-3 ) / 2 $_B64E_EncodeEnd = ( StringInStr ( $Opcode, '89C9' )-3 ) / 2 $Opcode = Binary ( $Opcode ) $_B64E_CodeBufferMemory = _MemVirtualAlloc ( 0, BinaryLen ( $Opcode ), $MEM_COMMIT, $PAGE_EXECUTE_READWRITE ) $_B64E_CodeBuffer = DllStructCreate ( 'byte[' & BinaryLen ( $Opcode ) & ']', $_B64E_CodeBufferMemory ) DllStructSetData ( $_B64E_CodeBuffer, 1, $Opcode ) OnAutoItExitRegister ( '_Base64E_Exit' ) EndIf Local $State = DllStructCreate ( 'byte[16]' ) DllCall ( 'user32.dll', 'none', 'CallWindowProc', 'ptr', DllStructGetPtr ( $_B64E_CodeBuffer )+$_B64E_Init, 'ptr', DllStructGetPtr ( $State ), 'uint', $LineBreak, 'int', 0, 'int', 0 ) Return $State EndFunc ;==> _Base64EncodeInit() Thanks to Ward for his Base64 functions.1 point
-
An example of 3D bar graph using just native AutoIt functions. Example shown uses random numbers. #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <Array.au3> Global $arNames[12] Global $arValues[12] Example1() Func Example1() Local $gui = GUICreate("Example 1: 3D Bar Graph", 550, 550) GUISetBkColor(0xffffff) $arNames=StringSplit("January|February|March|April|May|June|July|August|September|October|November|December","|",2) For $i=0 To 11 $arValues[$i]=Random(0,200,1) Next _CreateBarChart("3D Bar Chart","Example 1",-1,-1,500,500) GUISetState() While 1 Sleep(10) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($gui) Example2() EndSwitch WEnd EndFunc Func Example2() Local $gui = GUICreate("Example 2: 3D Bar Graph", 450, 350) GUISetBkColor(0xffffff) For $i=0 To 11 $arNames[$i]=$i+1 Next For $i=0 To 11 $arValues[$i]=Random(0,200,1) Next _CreateBarChart("3D Bar Chart","Example 2",20,20,400,300) GUISetState() While 1 Sleep(10) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($gui) Example3() ;Exit EndSwitch WEnd EndFunc Func Example3() Local $gui = GUICreate("Example 3: 3D Bar Graph", 850, 400) GUISetBkColor(0xffffff) For $i=0 To 11 $arNames[$i]=$i+1 Next For $i=0 To 11 $arValues[$i]=Random(0,200,1) Next _CreateBarChart("3D Bar Chart","Example 3 - without legend",-1,-1,400,300) $arNames=StringSplit("January|February|March|April|May|June|July|August|September|October|November|December","|",2) _CreateBarChart("3D Bar Chart","Example 3 - with legend",430,-1,400,350) GUISetState() While 1 Sleep(10) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($gui) ;Example3() Exit EndSwitch WEnd EndFunc ; #FUNCTION# ==================================================================================================== ; Name...........: _CreateBarChart ; Description....: Create 3D bar graph with native AutoIt functions ; Syntax.........: _CreateBarChart($sTitle1="",$sTitle2="",$iX=20,$iY=20,$iW=400,$iH=400) ; Parameters.....: $sTitle1 - Title of the graph, [Optional] ; $sTitle2 - Subtitle of the graph, [Optional] ; $iX - left margin, [Optional] ; $iY - top margin, [Optional] ; $iW - width of the graph, [Optional] ; $iH - height of the graph, [Optional] ; ; Return values..: none ; ; Author.........: Mihai Iancu (taietel at yahoo dot com) ; Remarks........: $array = ["name",value] ; - one with numbers/names (try to uncoment/coment them) ; - one with values ; =============================================================================================================== Func _CreateBarChart($sTitle1="",$sTitle2="",$iX=20,$iY=20,$iW=400,$iH=400) Local $max=_ArrayMax($arValues,1);compare numerically ;Local $values = UBound($arValues) Local $arColours[UBound($arNames)] Local $color For $i=0 To UBound($arValues)-1 $color = (Random(100, 255, 1) * 0x10000) + (Random(100, 255, 1) * 0x100) + Random(100, 255, 1) $arColours[$i]=$color Next ;set default values for the frame If $iX=-1 Then $iX=20 If $iY=-1 Then $iY=20 If $iW=-1 Then $iW=400 If $iH=-1 Then $iH=400 ;create frame for the chart $grp = GUICtrlCreateGroup("", $iX, $iY, $iW, $iH) ;title GUICtrlCreateLabel($sTitle1,$iX+15, $iY+10,$iW-30,-1,$SS_CENTER) GUICtrlSetColor(-1,0x002244) GUICtrlSetFont(-1, 9, 800, 0, "Arial") GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) GUICtrlCreateLabel($sTitle2,$iX+15, $iY+25,$iW-30,-1,$SS_CENTER) GUICtrlSetColor(-1,0x002244) GUICtrlSetFont(-1, 8, 800, 0, "Arial") GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) Local $Canvas If IsString($arNames[1]) Then $Canvas = _CreateBarCanvas($iX+15, $iY+15, $iW-110, $iH-60) GUICtrlCreateGroup("Legend", $Canvas[0]+$Canvas[2]+10, $Canvas[1]-5, ($iW-$Canvas[2])/2-10, $Canvas[3]+$Canvas[4]+5) For $i=0 To UBound($arNames)-1 GUICtrlCreateLabel($arNames[$i],$Canvas[0]+$Canvas[2]+20, $Canvas[1]+10+(($Canvas[3]+$Canvas[4]-15)/UBound($arNames))*$i,($iW-$Canvas[2])/2-30,13,$SS_CENTER) GUICtrlSetColor(-1,$arColours[$i]-0x444444) GUICtrlSetFont(-1, 8, 800, 0, "Arial") GUICtrlSetBkColor(-1,$arColours[$i]) Next GUICtrlCreateGroup("", -99, -99, 1, 1) Else $Canvas = _CreateBarCanvas($iX+15, $iY+15, $iW-50, $iH-60) For $i=0 To UBound($arNames)-1 GUICtrlCreateLabel($arNames[$i],$iX+52+(($Canvas[2]/UBound($arNames)))*$i+5, $iY+$iH-30) GUICtrlSetColor(-1,0x990000) GUICtrlSetFont(-1, 8, 800, 0, "Arial") GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) Next EndIf ;draw the bars GUICtrlCreateGraphic($Canvas[0]-0.5*$Canvas[4], $Canvas[1]+0.5*$Canvas[4], $Canvas[2], $Canvas[3],0) For $i=0 To UBound($arValues)-1 For $j=$Canvas[4]/2.5 To 0 Step -0.5 GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $arColours[$i]-0x333333, $arColours[$i]) GUICtrlSetGraphic(-1, $GUI_GR_RECT, 5+($Canvas[2]/UBound($arValues))*$i+$j, -2+$Canvas[3]-$j, 0.5*($Canvas[2]/UBound($arValues)), -($Canvas[3]/_RoundUp($max))*$arValues[$i]) Next Next GUICtrlSetGraphic(-1,$GUI_GR_REFRESH) For $i=0 To UBound($arValues)-1 ;values from the top of the bars GUICtrlCreateLabel($arValues[$i],$Canvas[0]+($Canvas[2]/UBound($arValues))*$i, $iH-$Canvas[1]+$Canvas[4]-10-(($Canvas[3]/_RoundUp($max))*$arValues[$i])) GUICtrlSetColor(-1,0x002244) GUICtrlSetFont(-1, 7, 800, 0, "Arial") GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) Next ;Y Axis For $i=0 To $Canvas[3] Step $Canvas[3]/5 GUICtrlCreateLabel(($i/$Canvas[3])*_RoundUp($max),$Canvas[0]-65,$Canvas[1]+$Canvas[3]+$Canvas[4]-$i,30,-1,$SS_RIGHT) GUICtrlSetColor(-1,0x990000) GUICtrlSetFont(-1, 8, 800, 0, "Arial") GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) Next GUICtrlCreateGroup("", -99, -99, 1, 1) EndFunc #Region INTERNAL USE ONLY Func _RoundUp($m) Local $rv = Round(Ceiling($m/10)*10,-1) ;ConsoleWrite($rv&@CRLF) Return $rv EndFunc Func _CreateBarCanvas($iX=0, $iY=0, $iW=400, $iH=400, $iDepthCanvas=30, $BgColor=0xEEEEEE) Local $iXCanvas=$iX+$iDepthCanvas Local $iYCanvas=$iY+10+2*$iDepthCanvas Local $iWCanvas=$iW-2*$iDepthCanvas Local $iHCanvas=$iH-2*$iDepthCanvas Local $BgColor2 = $BgColor - 0x333333 ;create bg for the bars For $i=0 To $iDepthCanvas; Step 0.5 GUICtrlCreateGraphic($iXCanvas+$i, $iYCanvas-$i, $iWCanvas, $iHCanvas, 0) GUICtrlSetBkColor(-1, $BgColor) GUICtrlSetColor(-1, $BgColor2) Next GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 0, $iHCanvas) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $BgColor) GUICtrlSetGraphic(-1, $GUI_GR_LINE, -$iDepthCanvas-1, $iHCanvas+$iDepthCanvas+1) ;horizontal grid For $i=0 To $iHCanvas Step $iHCanvas/5 GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 0, $i) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $BgColor2) GUICtrlSetGraphic(-1, $GUI_GR_LINE, $iWCanvas, $i) GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 0, $i) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $BgColor) GUICtrlSetGraphic(-1, $GUI_GR_LINE, -$iDepthCanvas, $i+$iDepthCanvas) Next Local $Canvas = StringSplit($iXCanvas+$iDepthCanvas &"|"& $iYCanvas-$iDepthCanvas&"|"&$iWCanvas&"|"&$iHCanvas&"|"&$iDepthCanvas,"|",2) ;ConsoleWrite($iXCanvas+$iDepthCanvas &"|"& $iYCanvas-$iDepthCanvas&"|"&$iWCanvas&"|"&$iHCanvas&@CRLF) Return $Canvas EndFunc #EndRegion INTERNAL USE ONLY Maybe someone find it useful. [EDIT] another nice example from boomingranny,1 point
-
Day of the week MsgBox(0, '', "Today is " & _DayOfTheWeek()) MsgBox(0, '', "Johann Sebastian Bach was born on " & _DayOfTheWeek(1685, 3, 31)) ; Passing a date in the form (yyyy, mm, dd) it returns the day of the week Func _DayOfTheWeek($y = @YEAR, $m = @MON, $d = @MDAY) Local Static $aDaysOfWeek[7] = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] Local $fJulianDay = 367 * $y - Int(7 * ($y + Int(($m + 9) / 12)) / 4) - Int(3 * (Int(($y + Int(($m - 9) / 7)) / 100) + 1) / 4) + Int(275 * $m / 9) + $d + 1721028.5 Local $iDOW = Mod($fJulianDay + .5, 7) ; 0 = Monday . . . 6 = Sunday Return $aDaysOfWeek[$iDOW] EndFunc ;==>_DayOfTheWeek1 point
-
Here another example: #include <GDIPlus.au3> _GDIPlus_Startup() Global $hPath = _GDIPlus_PathCreate() Global Const $sObj = BinaryToString(_Obj_Data()) Global $aColor = ConvertObj2Path($sObj, $hPath, 1, 0, 0) Global Const $hIter = _GDIPlus_PathIterCreate($hPath) Global Const $iIterCnt = _GDIPlus_PathIterGetSubpathCount($hIter) ConsoleWrite("Subpath count: " & $iIterCnt & @CRLF) $hSubPath = _GDIPlus_PathCreate() Global $bColor = False If $iIterCnt = UBound($aColor) Then $bColor = True Global $aWorldbounds = _GDIPlus_PathGetWorldBounds($hPath) Global $hGUI = GUICreate("Test", $aWorldbounds[2], $aWorldbounds[3]) GUISetState() Global $hGfx = _GDIPlus_GraphicsCreateFromHWND($hGUI), $hPen = _GDIPlus_PenCreate(0xFFFF0000, 1), $hBrush = _GDIPlus_BrushCreateSolid(0xFF808080) _GDIPlus_GraphicsClear($hGfx, 0xFF000000) _GDIPlus_GraphicsSetInterpolationMode($hGfx, 7) _GDIPlus_GraphicsSetSmoothingMode($hGfx, 5) _GDIPlus_GraphicsSetCompositingQuality($hGfx, 2) ConsoleWrite("Polygon count: " & _GDIPlus_PathGetPointCount($hPath) & @CRLF) _GDIPlus_PenSetAlignment($hPen, 1) _GDIPlus_PenSetLineJoin($hPen, 2) For $i = 1 To $iIterCnt DllCall($__g_hGDIPDll, "int", "GdipResetPath", "handle", $hSubPath) DllCall($__g_hGDIPDll, "int", "GdipPathIterNextSubpathPath", "handle", $hIter, "int*", 0, "handle", $hSubPath, "bool*", 0) Switch $bColor Case 0 $c = Random(0, 255, 1) _GDIPlus_BrushSetSolidColor($hBrush, 0xFF000000 + 0x10000 * $c + 0x100 * $c + $c) Case Else DllCall($__g_hGDIPDll, "int", "GdipSetSolidFillColor", "handle", $hBrush, "dword", $aColor[$i - 1]) EndSwitch DllCall($__g_hGDIPDll, "int", "GdipFillPath", "handle", $hGfx, "handle", $hBrush, "handle", $hSubPath) ;~ DllCall($__g_hGDIPDll, "int", "GdipDrawPath", "handle", $hGfx, "handle", $hPen, "handle", $hSubPath) Next Do Switch GUIGetMsg() Case -3 _GDIPlus_PathIterDispose($hIter) _GDIPlus_PathDispose($hPath) _GDIPlus_PathDispose($hSubPath) _GDIPlus_PenDispose($hPen) _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDispose($hGfx) _GDIPlus_Shutdown() GUIDelete() Exit EndSwitch Until False ;OBJ formatted data Func ConvertObj2Path($sObj, $hPath, $fScale = 1.0, $fDx = 0.0, $fDy = 0.0) ;only 2d is supported Local $aVertices = StringRegExp($sObj, "(?mi)v\h*(-?\d*\.{0,1}\d+\h*-?\d*\.{0,1}\d+\h*-?\d*\.{0,1}\d+)", 3) If @error Then Return 0 Local $aFaces = StringRegExp($sObj, "(?mi)f\h*(\d+\h*.*)", 3) Local $i, $j, $k = 1, $aPolygon, $tPoints = DllStructCreate("float coordinates[6]"), $aColor[UBound($aFaces)] For $i = 0 To UBound($aFaces) - 1 $aTmp = StringRegExp($aFaces[$i], "\d+", 3) For $j = 0 To 2 $aPolygon = StringRegExp($aVertices[$aTmp[$j] - 1], "-?\d*\.{0,1}\d+", 3) $tPoints.coordinates(($k)) = $aPolygon[0] * $fScale + $fDx $tPoints.coordinates(($k + 1)) = $aPolygon[1] * $fScale + $fDy $k += 2 Next If UBound($aTmp) = 4 Then $aColor[$i] = $aTmp[3] DllCall($__g_hGDIPDll, "int", "GdipAddPathPolygon", "handle", $hPath, "struct*", $tPoints, "int", 3) $k = 1 Next $tPoints = 0 $aVertices = 0 $aFaces = 0 Return $aColor EndFunc ;==>ConvertObj2Path ;Code below was generated by: 'File to Base64 String' Code Generator v1.20 Build 2015-09-19 Func _Obj_Data($bSaveBinary = False, $sSavePath = @ScriptDir) Local $Obj_Data $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'PfEB9w4iPyAr8gEZBeKXQeOcF/ITCer/mlRK/QOEWmIaCU9AyDX3ANhP8O/Y9AKh9ANR9AL98wNJ8AP0PyCEpeYWud+aayfzASriEA4hDhEywjNmqfIC754sT+Aj8AA+HUBjyYK34fACflAvsJgM8e8ZFQ+6EF59Jg/xAzoDT2AU8QEiKC8gJvAC/5Ip68b0A04qaq3yAn4JKorwBIQg1mj/jbX2KhlcGwIv4KbwA3Wg9geaGvC/XAYWV6tP9QTR8wKBo+ZnKc/wAy5A8O8vBBY0rxCSP9CMLwAPH74Qigvw+wb1b6nwBTJ8LyBB9gOmJC9gnvkDf2Cw0fwBg1PwA/523eF3G6+YEN6qZ/4R2LSTBXHzHzQg0gjWZCJB/ArKXD9QxC+QtE+gEPgDvUX0ADSdEK7PobwFCgpGY+oQ//IrZeIKcm0CBHEFjhFmrvACmh1PsO1IgWEZNj1Z6RA4rhbgMgfXWiUAWDbPhiA2D8gQFmrP4Kmm3wWb9nfgslEcIrEUsv1VsSBZKn82rloR3mXNA0CQaegD8gA1/gf/vX7WKSlAC67d1yZgrHLB9wOCzz/w7/L8ApWvxbCRkPGsef0DqnyRMfB100xgY+dh0iMrA5CyHA8h3PED/5XwAyJPTxDPH2CV8AOSkiGtbcojK0XyA//mEi/gOPEE6ukvEAhq+aGCJZo3Gj77r3o/dLCmCxdAX6Ch8gNV9ALTA/ADPuz6bdcBI24RMdpWMFIA0fevIEfwAQEE/xMIEe5kYYEbygCfIBfwBGYOPwD1AzYQL/Dv8PADxg1PYA3yATkGo9pgHm5PIJvyAi4j+u+o8gQGCi+ArRYrT9ACL4CtFjRfUFoP8F9VPyCq9ANSSi+Qd6pustpSL+Bz8gTyAPkuJbAaM5APUGNyATvXEGJtDyDTlv8dBvo6qCCAMj8/YEKguj9foFLzANT6D/gC5mBKq1G2+lZfUDwPoA6XYiU/8G8S8AO+Ei8g0/EEAR/WAyGYAzKHqCiH//2AqfADyxkgcghmaxboZWkGXujxnxqgZ64iJw9gtfQDsRDWFKEYAD8JcP+kP5DTL0D/Arr4EOFgTVQuk6H7EP/YsNIfofxAZkMhuQJeK+GzYhos+i7Y8QNuLD9gmAM18gxhcwFGMmbX/gO/OQ01KQBalaEjfd4KX+BzgPMeELt+AUXjyhWFCNpHEVM7Zk4AfzRyB5VuUDJACOUUpkUoz4H/MgMv4C2gohk/sBAQpOYB5WuV8gNJBG8wFQQBFDDeECdV8AJJEMUDv7MqEDiShRlp7guwvfcDtfgBoD/wnyEv4JTzA6UBwRuuffCyC2K+UJQwX01mUgGBAh4i4ELjPmBtDP+e5uDh8QryD2/gUfAAzgQrsfIDWfQDAfUD/3YhP9AEL4D/Am8IsF4F6FKASgIgayf7Q18QIt9RzyR+B4kHMYURTiT1b98R55EQlUKvLREBG8/6EKFk1lrxLyMRSgBguW59BZoAcv8AEYa/4PXwA++1+ANQP9ADQNNxJSQZ10JwhQDfmQ45/gk09hZRNNCH8doNkWyf8K+D9gM6DT/QoS+QtKtX9AKGNi9QuS8QtA/w/6wJWm5pzpAuOiAbHsOgEPIlUFiP4B9AoTR6+kEfYRr0AuX2AhImoSQAN722EVCTXhULqzWQkgkBo1QFdzS4oSZSlRY0wiGn5JCuHfpv4aGyDqvxoLIeaofxAqYATyAFkCIiT/Bf5C8wOA/xCwmhWRWuWLYuA0/g6/EDih4v8K/+8ANJ8QP18ASSEC9gUfIE+C9gnaPNDP+yF4cIjWY6K11TWFJgvQlOGK/wz6646lj0A0WxEZFCVeuT9ALKO/13YxJwViovoEeh7FueH9Cma8vxA7uWGD9w4wMCFsfRBJCjXWiyBD/wL47yA838At4roE4DVWliNaEZZhpD8S8GAQYCYDZnyoNsDYHoakrxA04VP/CPrVJMP5BmP5CEayPzA+4rPyBTgdhP0K+2wVWGzkZP0DPZ' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '4fEBSiU/UCM/YKGi/2XzA9HwAtTpmvQCsfYDXaYmKT8gkfMC/4n3A1HxA9HyA32iMFpNL+BH8gS2TbFvIhJqbpHiaMLwA8pIfuO2EQIjP/B1o7MJMmEQmhIhBGm2Ij9g4fMD/7HzAUZIP5BKP5BFP0D6AyYvP6D78wfKL/6vsvkC6fEDBmU/0CMvkB4/4KXxA/Z3LzAXAvtvAvADShIv4NH3Ay4E4G5kk3mArRAq5vYvV/MFUi6peJDaNT/QAD+AnfZ6Kj+4/x/pkKYd7OLxAlNvEALTR/gCxkOKq/+uCpvCPyCw8ALJ8gMtsAX9AuYCT9ACP/CP/xep/gYiWA/gV/ADSfAD9C/QCU+g+sD/fgAPIJvUChEv4Kz1AZpaKbC1li0pNPAD/8IJP6AL8gS99gKSBE+A/wLyGk8g2fEC9fAE/w4iP5CQPxAfXyCJ8AGWAQ/w9g3hu2cw+q+M+AROiem58AJKC7qpCKlBxuAPwIr/oiY/UCkvcPIH0W8BBQ1ibpRZ4/ovSqlKFl/gOfAAapHq6vEEEfEACjhfIPXxAfpB8APwH9BZKzegPgN5U8cw4+/XIAadgVsP5xAmQiGUENAF888DpgbWw5rAKDCkBf4EAjw/kNT5n/tPkAI/gI1eEC7ZDh4BI8F5XQn/Ej0heB7qYyWaoAIKadmZtg0/oG/0A/85mwGaZZDKCxgd7Hv0AyXyAdqMT/DvcfMBLbnVlaZJK1iRQjhPoL2QVaD/chbrr7SqShkPK3ShDhcf0IFbiPp/egFPoGGQOfsD2D8ge/APghlP4O+wxhov8N8kPxCVPxBtP/CoAZr2TyAi8ALUKX7wA//an08QC+oW8AEmBC9AvT4KT1AQH4CtfzcRA77EtmERIvJQ5gRrHP4Deqn5L6SxPuBv0ACOvVGW/fUEYxER+gjwVaNiBDhDomD6FtoAivsDii0v8C/G8QQGGpkTT6Aj8ALiWjGgC1UQPyBs8AT/dgYpP/AF4ZXp8AM1pgYIHxBoGbhf8G8zkHnyEYQvkCc/EEOr/qryDhgdL/CfLVogGkc/EFpPEB3o3/cEqgdoRKL/siFaitkda2mgpgWKqcXxA0Wk/zIPT1BEP9BOP9A/H1BhPxBFCf0BTg3479GgWR/WEOZ9kfIZL6BtsoQ/oDih/1YTmjo/ELlaq6rkkPGBvYHw++9H8QI9oPnwA4QoOLBN+AJNkR2B5S+r8AMB8APQZgbiiwQgf7UQIzc5Kkswg5PDFPkBSCAWgJFDY24AMzY1h0xxA4IDoh0ITCFYCzo1OOzSWeDVBzL4gfOREzOj1AZY4mYfVjJQBfI0I14JNTRYYpUKttSQHqEdBiniHDAmS4AlMCIGkFMfAaKQJmUOESA1dlNAkxtyXushyhzJIDUx0RFYYhQJ/3PnECHCnQSFC/Jm4HUEcs0gzwZ+N1jSxBDMkCih/QS+HIDjZoMl9yMRICLNgBUq3FCjXxJTZ2CQAr0EWDCTDDCTF4M1VQB1AZUSODJmC9AvmQxYUgVQF1ApUQsAk2own0QTaFF1QCs5OSIAgCXjDy0Q8lTRBiJTY+O/CVjiL7YXamKAFQIAYPcFWFPakGNdZBAvcmNWCjJhJO4KIXPstgARIDM4N90OWGJtHOe9GVhROjBDE12iHgAmKfAsMgx1tTcwrgBQhlBA7A8E/kUIghvQBhuyIGkDjh6AFTduOGZeEHmTk4bwA5eBBTF/MYkKiTbqLqCiAbUOtCH8D9+ymIAlNQtsGfZHkCMbtWAvAv8ND720bhLg1wHCYpA6a88Bfgyw7FUAWEATozgJNZ0nXjbQfiQI0WJSbhgTriAqEDF5C+3RyRduEGYZEKPgBgkTMhDwZ1OpFJ6gUAAS0sHcXoAQsfJfLGJ4ANzAPFELPu/AANEi/pYC4P8AZOSqEkUALQuptDHcaQv+IhGTs1CQodYJODf+jT11C4MeEKJV0RYsDxRNCzH/UQvMoKoPAtjATMUB3R5dC/8NE0KnUAqQ11Mc' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'WINIUCHxX+Bhnhe+gCyiFxDQBqGzIRof8GsgBDApQkYNsacI4p8X6gesoxf/ENAGIclG5gxopBcQ0AbhtUH/tn8opRcQ0AahtjFCHogEFRL/BR4ueuEPs0hQIVHgoaMXWh7xL7AFqlUARxUSBR5GeiFwwIJ68Q8BbRCaG6PIqEYNoaUXEGC6Mf8WHocEFRIFHmp60QxQAZCI8Q83Rg0hpxcQ4IrVSFAhUeDxL6gXyiiLBBUSBR6OepGWbdQQ/5Z6AQE+ExMUadQQonoBAZU8//mTRg3hqhcQUDgTTpClAEf/FRIFHr56EaVt1BDGegEBPhP+TwMQ0QbhS0S1kUYN4a0XJgfwr85EVQ/NUEYNoa4XEOARMOGU/0YNYa8XEGBaMKJOhwQVEgUe/wZ7YSG0ugggIhkFHhJ7EWvstBf/ECAjGQZF5MNySKAjGQUeKnvxr22zSFAhILMXEFDJo0SAcnvxDwFtEE4cI0uHSFAhsKsN4rQX/woarLgXENAG4cQxZZ6WewEB/20QThxjeoJIUCFR4CG3F5XM/657AQFtEE4cI8eQunsBAW0Q704cIkkBqCBDTraWomspfkX0r2aB0nsBAW0QThwi1AJKFBBO9W/UEKp7AQGmBWRTeep7AQEmmPJvfEFKL4YEFRIFHsZ74dzAAnzxDwFtEE4cI42QDnwBAW0QxkX0bw50SCCdKW0QEpcPYMIXENAG8e/EMY4GKcMXENAG4cQxWpbpwxf/ENAG4cQxTlyIBBUSBR4afPHvVcJWfOEjAW0QDkbkjolifAEB/20QThyilZRIUCFxYAbixEF2H/CvjwZwVCFR4KHEF4ppiwQVEv8FHlZ8YbCySFAhUeAhxhdB0f9GDaHGFxDgMzHmnmnUEHZ8AQH/1iDT9GjLFxDQBuHwRqYFKMwX/xDQBuHEQdIl6MwXUhYg/hlOHPNfj6nNFxDg/hlOHBOlac4XEPCv/xlOHOO/kPJ8AQFtEE4c04D5788XENAG4cQxTZ8KfQEBbRD/wkYTlqC5BvkzFn0BAW0QThzzH4gp0hcQ0AbhxDF6CyCLAiU3/y59AQFtEOZGpAqAOn0BAW0Q//JGFKVo1BdmGtAG4cQxTZ9SffEPAW0QThyjIYdIUCFR4OHSJ/+xBoUKagsARxUS1qXixEEiGfhv1xcQ0AbhxDEiGSnYFxDQBvHvxEFVlUYNodUXEOAzMeRp1BD/Zn0BAeJrJHVxpn0BAW0QThzzLzuRsn0BAW0QCnCTXGrUEIp98Q8Btg6u3BcQ0AbhxEFeEiAcAf9wZJAqbRBOHGSxgOJ9AQFtEP9OHCMGhkhQIVHg4dsnVcX2vPJf4KHcJ8J/igQVEgUe1n2Slvxv1BDefQEBykeNBBUSBR7uffLvFqZIUCFR4KHfJ/Kma+MXjiLw3wbhkkmdkkYNwQMQ0YAPYNQQ/xp+AQG2DuMugFp+AQGereIzIf8CB5CAkAVj5hcQ0AZg4xfODfwv5xcQ0AYg5BdeCKGQB/YCAEf/vq1R4OHkF9axrOgXENAG4cQx/14laekXENAG4cQx0ggp6hcQ8N8G4cQxEZOufiFqAm0QThzjOJL/un4BAW0QJsGkI4zGfgEBbRD/ThwDF5pNAEcVEgUeon6h2sH/3n4BAW0QThxiugQiT2B2OUjwXyFR4KHrF6JiYpQG7r2DBBUS/wUexn7hubYlBBUSBR7SfuFQwf8OfwEBbRDOwRQQYCQAcFQh8V/goe4XGrZs8he2KtAG4Y00PhPZL/MXENAG4cQhOiZgVAE55PRvVSsFHg5/IV3CSn8BAW0QRsLz77GTVn8BAW0QThwjU5BifwEB/20QGkkj1IZIUCFR4OHzF1oN8q8bAiaX49YCFRIFHkp/4S7AT9Eg/1J/AQE+SWMDgJJ/AQFtEIqa9A+nFRIFHm5/kZZt1BB2fwEB/5U8cgxo+xcQ0AbhxEEOPaCdBf9wVCFR4CH5F4EogjogzEHOf/EPAW0Qxpqkg4HafwEBbRBO' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'Dv8Q0AbhmUSVjC6GAQFtEE4c869+gA0OFRIFHpOmQJIeiAQVEv8FHp+mQNo4iAQVEgUeq6Ywu4Og/y6GoboGbRCeSSQtdEhQIVHg8T9sCuNak0hQIVHg8WwKJAuDSPBfIVHgsW0KE2vb4wABbRBOHPPvPYNIUCFR4DFvCrTvCOliGBDw3wbhxEEKGqe9BRUSBR4LpzD7iKD/LoYBAW0QThxTONrjAAFtEP8jp0ATiYAuhuH7Bm0QL6dA2lWHBP8VEgUeO6cw23SQSFAhUeBxdAoP8I8EFRIFHlOnQGMlgEhQIVHg8f91CmTwgUhQIVHgsXYKJI+MSPBfIVHgcXcK5aKALoYBAW0QPqT0r1h0SFAhUeDxeArjo5ZIUCHxX+CxeQqUlmrUEPaFAQFWaY0E/xUC9oUBATOHQPF9LoYBAW0A/7+nQL4E6WIYENAG4UNKjgboYhj/ENAG4Zk0CuXhoAFwVCFgXxj/ENCAI1OALoYBAW0QPqR0wgn472IYENAGsWsFZCZ3SFAhUeDxf4AK4+GRSFAhUeAxgQoT/OpiGP/md9AG8YEKJCR4SFAhUeCxggrz39fqYhgQ0AbhbkfkWiFR4PE/hAojYpNIUCFR4PGECmRRhEjwXyFR4LGFCmNrn0hQIVHgcYYK8++nka0IFRIFHnOoMDYdiQQVEv8FHn+oQGWeLoYBAW0Q3v4kS3r/SFAhUeBxiQqkl4VIUCFR4PE/igpjK5hIUCFR4PGKCmSCiEjwXyFR4LGLCg+ABBUSBR7HqDDCrfmPBBUSBR7TqPAASFAhUeDxjQr0fywKatQQ9oUBAWZyjQQVEgUe//eoQNobiAQVEgUeA6lAxapGDfFvXxgQ4DreSFAhUeCxkQpktpH/LoYBAW0QThwiXZJIUCFR4PE/kwpUrHmTCrKTCvKTCiSqkEOpIEepIP9LqTB2JIkEFQJTqSBXqUDCkKiAAP8VAl+pIGOpQJOokGepIGupIG+pQA5P+I8EFQJ3qSB7qUCqAPmXCjKYCnKYCvSvJ5CLqSCPqSCTqVCFg5epIJupIJ+pQP/Bn6OpIKepME4c462ISFAhMZsK828mR0ZDRgQVEr+pIE4cYj6WSPBfIbGcCvLCAvS2CjidCnKdCrKdCjUvCvj/nQoyngpyngqUlrmeCvKeCjKfCmQEhv9IUCFR4PGfCvNRCjqgCnKgCrKgCvSv8pAPqiATqiAXqjCxtkYN8aEKMqIK829kkkhQIVHg8aIKVHJq1BA3qiD/O6pAflSIBBUSBR5HqkBPrJBLqiD/T6ogU6ow6kGJBBUSBR5fqkDyGvk/pgpypgqypgrjc5hIUCFR4HGnCvNfybqnCvKnCjKoCuSoh0hQIVHg8f+oCqNmoU/+MQUem6pAbhH5qQoyqgryf6oKZEKRq6ogr6ogs6ow/ih6qwqyqwry/6sKVTjoYhgQ0AawrApjKqIuhvEPAW0A16owymmJBC9JIW0A46pQ/9II6GIYZQltEJ5Js+sAiAQVAv/2hQEB1rGj5QSGKgBHFQL2hfEPAbYOEwygnARwVCFgXxjBCv92e40EFRIFHh+rMHY34KASQUH/Rg1hXxgQYA0ywpCHBBUSBR7/N6tQ5inoYhgQ0AbhQ0oyBehiGP8Q0AbhmUQ2rocEFRIFHlurQP8aeogEFRLbuCB/WUDuk4cEFRL/57gw48fQSFAhMY8L4sQx/gvpYhj/ENAG4ZlEPZZGDWFfGBBgDeL/LoYBAW0QThwzfQvpYhgQ0Abx78QxKaJGDWFfGBDwlwWNBBUS/wUex6tQFn+HBBUSBR7TqzCGSvmPBBUSBR7fqzCGEOpiGBDQBvHvmTS3E4BIUCFR4HG/CiQ7kS6G8Q8BbRCj1EBuEehiGBDQBuFuR/9yKehiGBDQBuHEIZZTiQQVEv8FHiesMHoC6mIYENAG4cQxXgj572IYENAG4cQxqh3pYhgQ0Abx725HcPoJDNIGcMUKE6XqYhgQ8N8GMMYK5EKESFAhYF8Y' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'LOD9SFAhUeAQ4NCAjQQxEFEnAxE26I0ENBBRAxHXLgqNBDcQgQMR1iBd+bAHAxFtEO52jgQzENEG8e3E4UhgAxFtEI7RjgQVEv8FDhBgjNpIUCFR4AABldz/SFAhUeAAAYVDBuqGBBUS/wUOv0YQWeA9DhDQBuGZRPmT/z0OENAG8UELjgQVEgUOEPBfya06ABUSBQ4Q0IAkC2NI8F8hUeAAAT4TjQQVEgUOEPBfOA/Q4+BMAG0QPqRUVdnjAAH/bRBOHI4EFRIFDhDgxNFI8F8hUeCgYgCFM1YgUEAANz0O/xDQBuHEMZ2iPQ4Q0AbhQ0r/zZA9DhDQBuHEQcV6vgdQIfFf4AABhTPuH4cEFRIFDhDwb3M15gyHBBUSBQ4Q4AjUSPBfIVHgAAEeARNO2eMAAW0Q/04cpApwSFAhUeAAAX43rSIQ/xDRBvEWDo4EFRIFDhBgUdT/SFAhUeAAAYXzAD0OENAG8f/CAi69ABUC9oUBARZFYwV8SPBfIWBfGBBgWtBIUCFgXxgQ8O/m0khQIWBfGBDgmdRIUCHwb18YENCA7mIYENAG4cThSPBfIWBfGFIOYJXWSFAhUeDxQQvzD8cVEgUeH7Qw+aMuhgEBbRD/Thxu/gAVEgUeH7RQ5NnjAAH/bRBOHI4EFRIFHh+0QCmiPQ7/qRQQ4TPRSFAhUeDxQQvTDPvf4wABbRBOHNQM2eMAAW0Q/z6kVI/oYhgQ0AbxbAjkVXJI8F8hUeDxQQuka4JIUCFR4PFBC/MvjZD6E1AhUeDxQQuTP9vjAAH/bRBOHGMhhkhQIVHg8UELUzj73+PgUQFtEI7RBYc9DhDQBvHvxOFIUCFR4PFBCw+ABBUSBR7/H7RACZ0uhgEBbRBv4VApgj0O/xDQBvFBC44EFRIFHh+0MFJu+e+AARUSBR4ftFDk2eMAAW0Q/+52VBvZ4wABbRBOHNNjatQQ//aFAQG2Do0EFQL2hQEBNlf0n1znYhgQ0AbwQQsjrRDHPlFI8F8hYF8Yjhrg5tJIUCFgXxgQ8F84o2GALoYBAW0QH7RQ+XMuhvEPAW0QThzubBYQ0QbhxDFw9g8=' $Obj_Data = _WinAPI_Base64Decode($Obj_Data) If @error Then Return SetError(1, 0, 0) Local Const $bString = ASM_DecompressLZMAT($Obj_Data) If @error Then Return SetError(3, 0, 0) If $bSaveBinary Then Local Const $hFile = FileOpen($sSavePath & "\salvador-dali 800x800+.obj", 18) If @error Then Return SetError(2, 0, $bString) FileWrite($hFile, $bString) FileClose($hFile) EndIf Return $bString EndFunc ;==>_Obj_Data Func _WinAPI_Base64Decode($sB64String) Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0) If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "") Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]") $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0) If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "") Return DllStructGetData($bBuffer, 1) EndFunc ;==>_WinAPI_Base64Decode Func ASM_DecompressLZMAT($Data) Local Const $MEM_COMMIT = 4096, $PAGE_EXECUTE_READWRITE = 64, $MEM_RELEASE = 32768 If @AutoItX64 Then Local $Code = "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" $Code &= "5/o1kEQsAf7ChQJKEWf+KPU06QsjULCtlHGUMyrwiJMbCggKTje0+TgXdGmQGXisYu9BxgKaIwr4HApKAQw/fMgSArJnA8oeSdHJqVNxagiueGUCImaKKhdshPB5iEkCHQnGQAMYF+nk0TdpgoAK8OuH/JE5agKytTp0np6Md2oBNUARWlgo5ukqCBEPM8DqFFEU4sX7H0lHQRVGyjMdg+gB5l6gi9M1J/HokAOWAfx2ZkGJJMMQiQIWuiDb/YIUHMFqySVhq4Q/EoD5Ib0MLCkZJjioUnA8/SgzlwEgZ+l9+kmBIKC0SwEvhHYkd/kuc1LVL4gDxlvdTLhpnpUVrlgn0tgHBqF6VvdwlLTPoJJ25AaLKogBuFfhaNsouwhkkD30gC3PKfdMOUUXg6RCPEWE5GmqAgGJ34M5dDgBRS4MLEkU5osYwO0ICfUwg8MkMfbrGC6J3jNUMPudSzS61JpAOsDuDkQJ1uWIN6HSnU1B2MYJ/ggfdJxF1O1noN92jOjoIHOIFu14FBrh3UCvPDk0dbGeRUnrwDOA0IQkEmvC5TiHZDxswO9VBGiYGv/Q1z2Uv0e3v8aGuFuA7/qDMecDPuoC3f/PO4A1wZASAyFgkAEpOdKgg1TWthyYWinmP54MgPQ1rpzBR+OdCEYCHEO1BcMDOcaC9fR5oBo8GGDxgnnegRnF2iZt6RmJwkbrjn4p8qoMCSAYRQ6cvNeaxiJiGCSvOZAFRYXbkA70MXZ1sTmh0KG2oM9Bt5W+SEs/+hTR6rtEiKKLuvOtooQEl+AwB6Sx8Mb1KK6aJBq4YaVSQDXA6wSRHIq227VjhUtlKx3UBa18GgWXOfkOr+nyMcp0ZSdGEbZc1CMS4wQlSgtC30Omp/KB+1oPKnRQ9EQShmkMl24oN7gEjZ+pwxjrLDDTqDNh1hKn5n9lRwVE6bcp2xQSMVB1sGCmVDoaAtoCuIKBAW5VeSOErdLKzbsNjZ8RTZmcApMQdecB3HP+FAg/JJ+NmvzUTHOjIt7TkJgYBb9/EUQhUO/8PnQEJDQ/sBD4jRJdaLEkJ5wDdiOD7unrB7ILGRdBcdoxdoGIBEeLFBAsbWhG0TzMfyziHYvp8ajvXg6NsmoEqsjRi+nXKl+X0QMJB/nqHkS5Qo10HoCvOfFyf6I9r6rpHxgxHDB1vqaa+0OlDh2qtDIng0TpiGhjPsVSGmVkO6kF9olT69UaI5FKwyILSDvNuBQ4vvLDsAuJAjMxwB+4vj8769/2oQfYYkoFt3Qw+wqswICLAfaIoUIRAx3rvNQQBxe1VwyMzwbQlQD+/POqX2DDAA==" Else Local $Code = "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" $Code &= "/id8kUgoGcQx6d+KOQN0d42I71gbLXDqiaQjkCShGg8y0SwBdmp/IAxNAuyIAxEMjZ1rWqFq5KNJslERd1oWbQJAg8rwiFZAKkYDpA6gQ+m+0DV3jICU8LqooVCJssR4BJCC6UOvryGF5gG/funUP/0JA3VnuSrYwlk7kUyTCc7NZTuRQY/pjfmmZn0gdJowKggWDjLA6hRWhKlwjUclqiIz1Yh3mr816TY1iU36JAPdLd+EZAqzN5cUEPdH9UCZavcmEkP+bTBBCK9U0y2OyBEwBArp7/grkhiJkXCOQLEbRwGbJIJYoJJfEukL+jQ/zCX1IYgGYvT4RXnKmbLed054IOL8uUuTuCXnyU5ilktxoulxgIVVMe1XVr6hUVNskdyszpdIJyPGOOVSiG1pIYbi6yAG0ynROc7MVRS9jx6E21zTO1DWMd0xPhQyLB9UTYjeJPIdMURi0Bf3o+sqwFwnRTMl598XV8HjArXaiBHrRp5N62KZAwh0kNBkGWyJ6UbRRnnpe/EnhnmJS+Acg3HxM7I4FBd4GTXJgIvBhNIpdaZaY+uwS3YcS9KPjYaQLwySxhsUU9mpCbcMMSMxCctzEks9Mly+xH37cTEg2OuYNHP595luKIJo7gwaA8gSnmQBCnPv44nZLFY/nKHzHIjkTgfqgPLOrNVAr5mElhwKIeOpH/vyILUvgcMDOcFwo/TEF40UD9dmgsiNtD4LhgrIgcKDCusBKcrLagESEE+YKO3Rx/uywkNwazfLYRk7QfEQdmjNFjGJEEOga1EAFtt14YvSEyAa6cH+wpPL0euIlaSbvNO61pOm+vWAldmB4f9BB9nBbGdwr6+KhVGBoa+qHkTr26S1KYVLlz/gHY1UMwFKORTcDsSCL1p0gGx0dotUhCQcMsZtpKV3JnvTZSWB+6KvdGeE9BJGhgyVvLgJuASef6p+mI/pgqq1sZ8cCIjBFhTp0v2U99kWQMt/kWCyOIiDoOmbQll20GeGdZlTVCilAoSAobMBjPXP/Ir6OrfRwiViCcEiIZJYdA7SZioLVNR4txuNmhFZIKYCWxBUzhNp1TE/TQsKTDP8dR3hopA4XAUzgRSD4n+O9BEEhxwSf4nQEdU8qF+VJHQw2Ql2LBl9621xUcdEaoNTDVAbxgSj0Z49Fw6LKlL8xkZcC4kpdeUBgOme/FneaKTJKBJUgrBBBAqshOmg/ZknRdMQzx/UFFTVA4MkoEEdRn5FgYwyJwY4j0TpxJeA8aADdEgrY6fF2h6zJKgaDmVUcEoTTBGNFowTQYEw6Tmmi8XkMWVaJl8MLH8xxG/ry4yDt4CBw5E2CenFJCy4jUBF5CjfRDSJAx32vBi4Ajvr4e/ahQfamHtUBzH7geLAiyANDBLpsaFCAxHrvN0QQQe1V71NEoXJF0hFiQxpxhcDsuYJCPfHA5BaCqpSSQoAdfaJysHpAh7886sW0V23xqpfwwA=" EndIf Local $Opcode = String(_LZMAT_CodeDecompress($Code)) Local Const $_LZMAT_Compress = (StringInStr($Opcode, "89C0") + 1) / 2 Local Const $_LZMAT_Decompress = (StringInStr($Opcode, "89DB") + 1) / 2 $Opcode = Binary($Opcode) Local $_LZMAT_CodeBufferMemory = DllCall("kernel32.dll", "ptr", "VirtualAlloc", "ptr", 0, "ulong_ptr", BinaryLen($Opcode), "dword", $MEM_COMMIT, "dword", $PAGE_EXECUTE_READWRITE) $_LZMAT_CodeBufferMemory = $_LZMAT_CodeBufferMemory[0] Local Const $_LZMAT_CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]", $_LZMAT_CodeBufferMemory) DllStructSetData($_LZMAT_CodeBuffer, 1, $Opcode) Local Const $OutputLen = Int(BinaryMid($Data, 1, 4)) $Data = BinaryMid($Data, 5) Local Const $InputLen = BinaryLen($Data) Local Const $Input = DllStructCreate("byte[" & $InputLen & "]") DllStructSetData($Input, 1, $Data) Local Const $Output = DllStructCreate("byte[" & $OutputLen & "]") Local Const $Ret = DllCallAddress("uint", DllStructGetPtr($_LZMAT_CodeBuffer) + $_LZMAT_Decompress, "struct*", $Input, "uint", $InputLen, "struct*", $Output, "uint*", $OutputLen) DllCall("kernel32.dll", "bool", "VirtualFree", "ptr", $_LZMAT_CodeBufferMemory, "ulong_ptr", 0, "dword", $MEM_RELEASE) Return BinaryMid(DllStructGetData($Output, 1), 1, $Ret[4]) EndFunc ;==>ASM_DecompressLZMAT Func _LZMAT_CodeDecompress($Code) Local Const $MEM_COMMIT = 4096, $PAGE_EXECUTE_READWRITE = 64, $MEM_RELEASE = 32768 If @AutoItX64 Then Local $Opcode = "0x89C04150535657524889CE4889D7FCB28031DBA4B302E87500000073F631C9E86C000000731D31C0E8630000007324B302FFC1B010E85600000010C073F77544AAEBD3E85600000029D97510E84B000000EB2CACD1E8745711C9EB1D91FFC8C1E008ACE8340000003D007D0000730A80FC05730783F87F7704FFC1FFC141904489C0B301564889FE4829C6F3A45EEB8600D275078A1648FFC610D2C331C9FFC1E8EBFFFFFF11C9E8E4FFFFFF72F2C35A4829D7975F5E5B4158C389D24883EC08C70100000000C64104004883C408C389F64156415541544D89CC555756534C89C34883EC20410FB64104418800418B3183FE010F84AB00000073434863D24D89C54889CE488D3C114839FE0F84A50100000FB62E4883C601E8C601000083ED2B4080FD5077E2480FBEED0FB6042884C00FBED078D3C1E20241885500EB7383FE020F841C01000031C083FE03740F4883C4205B5E5F5D415C415D415EC34863D24D89C54889CE488D3C114839FE0F84CA0000000FB62E4883C601E86401000083ED2B4080FD5077E2480FBEED0FB6042884C078D683E03F410845004983C501E964FFFFFF4863D24D89C54889CE488D3C114839FE0F84E00000000FB62E4883C601E81D01000083ED2B4080FD5077E2480FBEED0FB6042884C00FBED078D389D04D8D7501C1E20483E03041885501C1F804410845004839FE747B0FB62E4883C601E8DD00000083ED2B4080FD5077E6480FBEED0FB6042884C00FBED078D789D0C1E2064D8D6E0183E03C41885601C1F8024108064839FE0F8536FFFFFF41C7042403000000410FB6450041884424044489E84883C42029D85B5E5F5D415C415D415EC34863D24889CE4D89C6488D3C114839FE758541C7042402000000410FB60641884424044489F04883C42029D85B5E5F5D415C415D415EC341C7042401000000410FB6450041884424044489E829D8E998FEFFFF41C7042400000000410FB6450041884424044489E829D8E97CFEFFFF56574889CF4889D64C89C1FCF3A45F5EC3E8500000003EFFFFFF3F3435363738393A3B3C3DFFFFFFFEFFFFFF000102030405060708090A0B0C0D0E0F10111213141516171819FFFFFFFFFFFF1A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323358C3" Else Local $Opcode = "0x89C0608B7424248B7C2428FCB28031DBA4B302E86D00000073F631C9E864000000731C31C0E85B0000007323B30241B010E84F00000010C073F7753FAAEBD4E84D00000029D97510E842000000EB28ACD1E8744D11C9EB1C9148C1E008ACE82C0000003D007D0000730A80FC05730683F87F770241419589E8B3015689FE29C6F3A45EEB8E00D275058A164610D2C331C941E8EEFFFFFF11C9E8E7FFFFFF72F2C32B7C2428897C241C61C389D28B442404C70000000000C6400400C2100089F65557565383EC1C8B6C243C8B5424388B5C24308B7424340FB6450488028B550083FA010F84A1000000733F8B5424388D34338954240C39F30F848B0100000FB63B83C301E8CD0100008D57D580FA5077E50FBED20FB6041084C00FBED078D78B44240CC1E2028810EB6B83FA020F841201000031C083FA03740A83C41C5B5E5F5DC210008B4C24388D3433894C240C39F30F84CD0000000FB63B83C301E8740100008D57D580FA5077E50FBED20FB6041084C078DA8B54240C83E03F080283C2018954240CE96CFFFFFF8B4424388D34338944240C39F30F84D00000000FB63B83C301E82E0100008D57D580FA5077E50FBED20FB6141084D20FBEC278D78B4C240C89C283E230C1FA04C1E004081189CF83C70188410139F374750FB60383C3018844240CE8EC0000000FB654240C83EA2B80FA5077E00FBED20FB6141084D20FBEC278D289C283E23CC1FA02C1E006081739F38D57018954240C8847010F8533FFFFFFC74500030000008B4C240C0FB60188450489C82B44243883C41C5B5E5F5DC210008D34338B7C243839F3758BC74500020000000FB60788450489F82B44243883C41C5B5E5F5DC210008B54240CC74500010000000FB60288450489D02B442438E9B1FEFFFFC7450000000000EB9956578B7C240C8B7424108B4C241485C9742FFC83F9087227F7C7010000007402A449F7C702000000740566A583E90289CAC1E902F3A589D183E103F3A4EB02F3A45F5EC3E8500000003EFFFFFF3F3435363738393A3B3C3DFFFFFFFEFFFFFF000102030405060708090A0B0C0D0E0F10111213141516171819FFFFFFFFFFFF1A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323358C3" EndIf Local Const $AP_Decompress = (StringInStr($Opcode, "89C0") - 3) / 2 Local Const $B64D_Init = (StringInStr($Opcode, "89D2") - 3) / 2 Local Const $B64D_DecodeData = (StringInStr($Opcode, "89F6") - 3) / 2 $Opcode = Binary($Opcode) Local $CodeBufferMemory = DllCall("kernel32.dll", "ptr", "VirtualAlloc", "ptr", 0, "ulong_ptr", BinaryLen($Opcode), "dword", $MEM_COMMIT, "dword", $PAGE_EXECUTE_READWRITE) $CodeBufferMemory = $CodeBufferMemory[0] Local Const $CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]", $CodeBufferMemory) DllStructSetData($CodeBuffer, 1, $Opcode) Local Const $B64D_State = DllStructCreate("byte[16]") Local Const $Length = StringLen($Code) Local Const $Output = DllStructCreate("byte[" & $Length & "]") DllCallAddress("none", DllStructGetPtr($CodeBuffer) + $B64D_Init, "struct*", $B64D_State, "int", 0, "int", 0, "int", 0) DllCallAddress("int", DllStructGetPtr($CodeBuffer) + $B64D_DecodeData, "str", $Code, "uint", $Length, "struct*", $Output, "struct*", $B64D_State) Local Const $ResultLen = DllStructGetData(DllStructCreate("uint", DllStructGetPtr($Output)), 1) Local $Result = DllStructCreate("byte[" & ($ResultLen + 16) & "]"), $Ret If @AutoItX64 Then $Ret = DllCallAddress("uint", DllStructGetPtr($CodeBuffer) + $AP_Decompress, "ptr", DllStructGetPtr($Output) + 4, "struct*", $Result, "int", 0, "int", 0) Else $Ret = DllCall("user32.dll", "uint", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer) + $AP_Decompress, "ptr", DllStructGetPtr($Output) + 4, "ptr", DllStructGetPtr($Result), "int", 0, "int", 0) EndIf DllCall("kernel32.dll", "bool", "VirtualFree", "ptr", $CodeBufferMemory, "ulong_ptr", 0, "dword", $MEM_RELEASE) Return BinaryMid(DllStructGetData($Result, 1), 1, $Ret[0]) EndFunc ;==>_LZMAT_CodeDecompress1 point
-
@rony2006 You are welcome. Probably you will not need the sheet activation anymore, but i suggest you to follow/consider Water suggestion [As you work with the Excel COM you need to add a COM error handler when running AutoIt > 3.3.12.0].1 point
-
To me it seems the solution posted in #23 is the most elegant way to retrieve the last cell of each row.1 point
-
Vexhero, That looks very similar to the code in your recently locked thread. When you read the Forum rules, as you were asked to do, did you miss this bit? M231 point
-
meomeo192, You have the data in an array, so use _ArraySearch on that array. M231 point
-
The UDF "_FileReadToArray" splits each line on all delimiters (,), including comas within quotes. This example uses a modified "_FileReadToArray" function copied from the include file, "..\AutoIt3\Include\File.au3". Within this "_FileReadToArrayModified" function the two "StringSplit" functions have be replaced with two "StringRegExp" functions to allow comas ($sDelimiter) within quotes not to be recognized as delimiters. ;#include <GUIConstantsEx.au3> ;#include <MsgBoxConstants.au3> ;#include <GUIListView.au3> #include <Array.au3> #include <File.au3> Global $CSV1 = '"Index","Name","Home Address","Last Love"' & @CRLF $CSV1 &= '"1","Rola Takizawa","N? hoàng, Nga Nh?t","24/04/2016 22:37:00 PM"' & @CRLF $CSV1 &= '"2","Saori Hara","Hình ?nh Nóng, Ð?c Nh?t","21/03/2016 21:07:00 PM"' & @CRLF $CSV1 &= '"3","Ozawa","ph? bi?n nh?t","23/04/2016 23:31:00 PM"' & @CRLF $CSV1 &= '"3","Akiho Ameri Ichinose","Kanagawa, Ameri, Ichinose","22/04/2016 21:50:00 PM"' & @CRLF Global $CSV2 = "Index,Name,Home Address,Last Love" & @CRLF $CSV2 &= "1,Takizawa,'N? hoàng, Nga Nh?t','24/04/2016 22:37:00 PM'" & @CRLF $CSV2 &= "2,'Saori Hara','Hình ?nh Nóng, Ð?c Nh?t','21/03/2016 21:07:00 PM'" & @CRLF $CSV2 &= "3,Ozawa,'ph? bi?n nh?t','23/04/2016 23:31:00 PM'" & @CRLF $CSV2 &= "3,'Akiho Ameri Ichinose','Kanagawa, Ameri, Ichinose','22/04/2016 21:50:00 PM'" & @CRLF ;Local $hOpen=FileOpen("CSV1.csv",128) If FileExists("CSV1.csv") = 0 Then FileWrite("CSV1.csv", $CSV1) ;FileClose($hOpen) ;Local $hOpen=FileOpen("CSV2.csv",128) If FileExists("CSV2.csv") = 0 Then FileWrite("CSV2.csv", $CSV2) ;FileClose($hOpen) Global $rArrayCSV1, $rArrayCSV2 $Array1 = _FileReadToArrayModified("CSV1.csv", $rArrayCSV1, 0, ",") ConsoleWrite($Array1 & ' - ' & 'error = ' & @error & @CRLF) _ArrayDisplay($rArrayCSV1) Local $Array2 = _FileReadToArrayModified("CSV2.csv", $rArrayCSV2, 0, ",") ConsoleWrite($Array2 & ' - ' & 'error = ' & @error & @CRLF) _ArrayDisplay($rArrayCSV2) ; Copied from #include <File.au3> and modified in 2 places. Func _FileReadToArrayModified($sFilePath, ByRef $vReturn, $iFlags = $FRTA_COUNT, $sDelimiter = "") ; Clear the previous contents $vReturn = 0 If $iFlags = Default Then $iFlags = $FRTA_COUNT If $sDelimiter = Default Then $sDelimiter = "" ; Set "array of arrays" flag Local $bExpand = True If BitAND($iFlags, $FRTA_INTARRAYS) Then $bExpand = False $iFlags -= $FRTA_INTARRAYS EndIf ; Set delimiter flag Local $iEntire = $STR_CHRSPLIT If BitAND($iFlags, $FRTA_ENTIRESPLIT) Then $iEntire = $STR_ENTIRESPLIT $iFlags -= $FRTA_ENTIRESPLIT EndIf ; Set row count and split count flags Local $iNoCount = 0 If $iFlags <> $FRTA_COUNT Then $iFlags = $FRTA_NOCOUNT $iNoCount = $STR_NOCOUNT EndIf ; Check delimiter If $sDelimiter Then ; Read file into an array Local $aLines = FileReadToArray($sFilePath) If @error Then Return SetError(@error, 0, 0) ; Get first dimension and add count if required Local $iDim_1 = UBound($aLines) + $iFlags ; Check type of return array If $bExpand Then ; All lines have same number of fields ; Count fields in first line Local $iDim_2 = UBound(StringSplit($aLines[0], $sDelimiter, $iEntire + $STR_NOCOUNT)) ; Size array Local $aTemp_Array[$iDim_1][$iDim_2] ; Declare the variables Local $iFields, _ $aSplit ; Loop through the lines For $i = 0 To $iDim_1 - $iFlags - 1 ; Split each line as required ;$aSplit = StringSplit($aLines[$i], $sDelimiter, $iEntire + $STR_NOCOUNT) ;########## Replaced previous line with next line ############# - Malkey $aSplit = StringRegExp($aLines[$i], '(["''][^"'']+["'']|[^' & $sDelimiter & ']+)' & $sDelimiter & '?\s*', 3) ; Count the items $iFields = UBound($aSplit) If $iFields <> $iDim_2 Then ; Return error Return SetError(3, 0, 0) EndIf ; Fill this line of the array For $j = 0 To $iFields - 1 $aTemp_Array[$i + $iFlags][$j] = $aSplit[$j] Next Next ; Check at least 2 columns If $iDim_2 < 2 Then Return SetError(4, 0, 0) ; Set dimension count If $iFlags Then $aTemp_Array[0][0] = $iDim_1 - $iFlags $aTemp_Array[0][1] = $iDim_2 EndIf Else ; Create "array of arrays" ; Size array Local $aTemp_Array[$iDim_1] ; Loop through the lines For $i = 0 To $iDim_1 - $iFlags - 1 ; Split each line as required ;$aTemp_Array[$i + $iFlags] = StringSplit($aLines[$i], $sDelimiter, $iEntire + $iNoCount) ;########## Replaced previous line with next line ############# - Malkey $aTemp_Array[$i + $iFlags] = StringRegExp($aLines[$i], '(["''][^"'']+["'']|[^' & $sDelimiter & ']+)' & $sDelimiter & '?\s*', 3) Next ; Set dimension count If $iFlags Then $aTemp_Array[0] = $iDim_1 - $iFlags EndIf EndIf ; Return the array $vReturn = $aTemp_Array Else ; 1D If $iFlags Then Local $hFileOpen = FileOpen($sFilePath, $FO_READ) If $hFileOpen = -1 Then Return SetError(1, 0, 0) Local $sFileRead = FileRead($hFileOpen) FileClose($hFileOpen) If StringLen($sFileRead) Then $vReturn = StringRegExp(@LF & $sFileRead, "(?|(\N+)\z|(\N*)(?:\R))", 3) ConsoleWrite("reg" & @LF) $vReturn[0] = UBound($vReturn) - 1 Else Return SetError(2, 0, 0) EndIf Else $vReturn = FileReadToArray($sFilePath) If @error Then $vReturn = 0 Return SetError(@error, 0, 0) EndIf EndIf EndIf Return 1 EndFunc ;==>_FileReadToArrayModified1 point
-
Have you tried this? https://www.autoitscript.com/forum/topic/155748-csvsplit/ You need to read the CSV file using FileRead() as shown in post #8. #include <Array.au3> #include 'CSVSplit.au3' Local $sCSV1 = '"Index","Name","Home Address","Last Love"' & @CRLF & _ '"1","Rola Takizawa","Nữ hoàng, Nga Nhật","24/04/2016 22:37:00 PM"' & @CRLF & _ '"2","Saori Hara","Hình Ảnh Nóng, Đức Nhật","21/03/2016 21:07:00 PM"' & @CRLF & _ '"3","Ozawa","phổ biến nhất","23/04/2016 23:31:00 PM"' & @CRLF & _ '"3","Akiho Ameri Ichinose","Kanagawa, Ameri, Ichinose","22/04/2016 21:50:00 PM"' Local $sCSV2 = 'Index,Name,Home Address,Last Love' & @CRLF & _ '1,Takizawa,"Nữ hoàng, Nga Nhật","24/04/2016 22:37:00 PM"' & @CRLF & _ '2,"Saori Hara","Hình Ảnh Nóng, Đức Nhật","21/03/2016 21:07:00 PM"' & @CRLF & _ '3,Ozawa,"phổ biến nhất","23/04/2016 23:31:00 PM"' & @CRLF & _ '3,"Akiho Ameri Ichinose","Kanagawa, Ameri, Ichinose","22/04/2016 21:50:00 PM"' Local $aArray1 = _CSVSplit($sCSV1) _ArrayDisplay($aArray1) Local $aArray2 = _CSVSplit($sCSV2) _ArrayDisplay($aArray2)1 point
-
1 point
-
1 point
-
Hi Guys, first of all i wanna thank you for this greate forum. I am a autoit newbie and leaned allready a lot (i belive) by reading this forum. Now i got to a strange problem. If i open a FileOpenDialoge befor using my sqlite connection. SQL will not find the DB table. (See first script) But if i comment the FileDialog it works fine and i get the result of my DB Table. Where is the mistake? Thx for your help. #include <Array.au3> #include <SQLite.au3> #include <SQLite.dll.au3> local $sMessage local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\" , "All (*.*)") global $sSQliteDll = _SQLite_Startup("SQLite3.dll") If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite3.dll Can't be Loaded!" & @CRLF & @CRLF & _ "Not FOUND in @SystemDir, @WindowsDir, @ScriptDir, @WorkingDir or from www.autoitscript.com") Exit -1 EndIf local $DB_Main_MainDB = _SQLite_Open("Main_DB.db3") Local $hQuery,$aRow local $sql = "SELECT * FROM testscript" _SQLite_Query($DB_Main_MainDB, $sql,$hQuery) dim $test While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK $test = $arow[0] wEnd msgbox (0,0,$test) #include <Array.au3> #include <SQLite.au3> #include <SQLite.dll.au3> local $sMessage ;-------------------------------------------------------------------------------------------- ;local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\" , "All (*.*)") ;----------------------------------------------------------------------------------------- global $sSQliteDll = _SQLite_Startup("SQLite3.dll") If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite3.dll Can't be Loaded!" & @CRLF & @CRLF & _ "Not FOUND in @SystemDir, @WindowsDir, @ScriptDir, @WorkingDir or from www.autoitscript.com") Exit -1 EndIf local $DB_Main_MainDB = _SQLite_Open("Main_DB.db3") Local $hQuery,$aRow local $sql = "SELECT * FROM testscript" _SQLite_Query($DB_Main_MainDB, $sql,$hQuery) dim $test While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK $test = $arow[0] wEnd msgbox (0,0,$test)1 point
-
lNoVal, This line merely sets the @WorkingDir to its current content and so is completely superfluous: > FileChangeDir(@WorkingDir) What you need to do is something like this: Local $sWorkingDir = @WorkingDir ; Save current WorkingDir in a variable Global $glb_MAIN_DBname = $sWorkingDir & "\Main_DB.db3" local $sMessage local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\" , "All (*.*)") ; WorkingDir will now be changed FileChangeDir($sWorkingDir) ; So reset WorkingDir to the original saved path All clear? M231 point
-
Melba23 your the best Here is the working code if someone has the same Problem.. #include <Array.au3> #include <SQLite.au3> #include <SQLite.dll.au3> Global $glb_MAIN_DBname = @WorkingDir&"\Main_DB.db3" local $sMessage local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\" , "All (*.*)") FileChangeDir(@WorkingDir) global $sSQliteDll = _SQLite_Startup("SQLite3.dll") If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite3.dll Can't be Loaded!" & @CRLF & @CRLF & _ "Not FOUND in @SystemDir, @WindowsDir, @ScriptDir, @WorkingDir or from www.autoitscript.com") Exit -1 EndIf ;msgbox(0,0,$glb_MAIN_DBname) local $DB_Main_MainDB = _SQLite_Open($glb_MAIN_DBname) Local $hQuery,$aRow local $sql = "SELECT * FROM amis_testcasescript" _SQLite_Query($DB_Main_MainDB, $sql,$hQuery) dim $test While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK $test = $arow[0] wEnd msgbox (0,0,$test)1 point
-
lNoVal, A successful return from FileOpenDialog resets the @WorkingDir to the path of the returned file. I imagine that the _SQLite_Open cannot then find the database file as it is looking in the wrong place. > Try passing the full path, or reset the path with FileChangeDir. M23 Edit: And welcome to the AutoIt forums.1 point
-
TinyShoutCastTuner v1.0.3.5 Based on the >LiveStreaming source code of trancexx. Listen Shoutcast Radios Stations with a station search engine by filters and an easy Favorites stations management. Thanks to monoceres, trancexx, Kip and Prog@ndy for AutoItObject. >AutoItObject 1.2.2.0 and >WinAPIEx are needed. As usual externals skin files are downloaded at first execution. See Tray Menu for more options. Search is a bit slow but successfull... Previous Downloads : 436 Update of 2012-11-05 source and executable are available in the Download Section Some Radios : FavoritesRadioStations.reg Hope you like it !1 point
-
ivan, As far as I know these are the only coloured SciTE console lines: ConsoleWrite('! = Bold Red' & @LF) ConsoleWrite('> = Blue' & @LF) ConsoleWrite('- = Orange' & @LF) ConsoleWrite('+ = Green' & @LF) ConsoleWrite('(5) : = Red (jump to line 5 when double-clicked)' & @LF) ConsoleWrite('Start with String or Integer then ' & @TAB & '6' & ' = Pink (jump to line 6 when double-clicked)' & @LF) ConsoleWrite('(' & @ScriptLineNumber & ') : = Red (jump to line ' & @ScriptLineNumber & ' when double-clicked)' & @CRLF) M231 point
-
Jayson, I was only looking to integrate the "label edit" code into your script. I did not change at anything else in the script. Did the ini file load with the code you posted above? If so, there is no reason for it not too now. I will look into your other problem now. M23 Edit: Change your AjouterInfo function to this - I missed it last time round : Func AjouterInfo() $LisVille = GUICtrlRead($Ville) $LisNom = GUICtrlRead($Nom) $LisTelephone = GUICtrlRead($Telephone) $RegardeVille = _GUICtrlListView_FindText($NVT, $LisVille) $RegardeNom = _GUICtrlListView_FindInText($NVT, $LisNom) If $LisVille = "" Then MsgBox(64, "Erreur !", "Désolé, vous avez oubliez d'inscrire une ville !") Else If $LisNom = "" Then MsgBox(48, "Erreur !", "Désolé, vous avez oublié d'inscrire un nom !") Else If StringLen($LisTelephone) > 14 Then MsgBox(48, "Erreur !", "Désolé, le numéro de téléphone que vous avez entrer est trop long !") Else If StringLen($LisTelephone) < 14 Then MsgBox(48, "Erreur !", "Désolé, le numéro de téléphone que vous avez entrer est trop court !") Else $iIndex = _GUICtrlListView_GetItemCount($NVT) - 1 ; <<<<<<<<<<<<<<<<<<<<<<<<<<< If $iIndex = -1 Then $iIndex = 0 ; <<<<<<<<<<<<<<<<<<<<<<<<<<< _GUICtrlListView_AddItem($NVT, $LisVille, $i) ; <<<<<<<<<<<<<<<<<<<<<<<<<<< _GUICtrlListView_AddSubItem($NVT, $i, $LisNom, 1) ; <<<<<<<<<<<<<<<<<<<<<<<<<<< _GUICtrlListView_AddSubItem($NVT, $i, $LisTelephone, 2) ; <<<<<<<<<<<<<<<<<<<<<<<<<<< GUICtrlSetData($Ville, "") GUICtrlSetData($Nom, "") GUICtrlSetData($Telephone, "") EndIf EndIf EndIf EndIf EndFunc ;==>AjouterInfoWhat luck in getting the ini file to load? M231 point
-
How to disable ALL controls of a GUI at once?
JoshuaBarnette reacted to Melba23 for a topic
supersonic, Just run a loop from the first ControlID to the last: #include <GUIConstantsEx.au3> $hGUI = GUICreate("Test", 500, 500) $iStart = GUICtrlCreateDummy() GUICtrlCreateButton("Press", 10, 10, 80, 30) GUICtrlCreateButton("Press", 10, 50, 80, 30) GUICtrlCreateButton("Press", 10, 90, 80, 30) GUICtrlCreateButton("Press", 10, 130, 80, 30) GUICtrlCreateButton("Press", 10, 170, 80, 30) GUICtrlCreateButton("Press", 10, 210, 80, 30) $iEnd = GUICtrlCreateDummy() GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $iStart To $iEnd For $i = $iStart To $iEnd GUICtrlSetState($i, $GUI_DISABLE) Next EndSwitch WEndOf course if you have stored the controlIDs of your first and last controls, you can use those rather than the Dummy IDs. But please read this post where I explain how ControlIDs work and why using them in loops can be problematic. The earlier code in the same topic shows similar loops using ControlIds to the one above. I hope that helps. M231 point -
name15, When you post here it always helps if you have had a go at solving your problems beforehand. Having some code to work on is a great help - and no-one here is too keen to help the "code it for me" brigade. To do what you want, you need to trap the NM_DBLCLK message from the TreeView. Why not try yourself - there are lots of examples on the forums if you search. If you get stuck...... M231 point