Leaderboard
Popular Content
Showing content with the highest reputation on 05/19/2016 in all areas
-
Features: Create modern looking borderless and resizable GUIs with control buttons (Close,Maximize/Restore,Minimize, Fullscreen, Menu) True borderless, resizeable GUI with full support for aerosnap etc. Many color schemes/themes included. See MetroThemes.au3 for more details. 3 type of Windows 8/10 style buttons. Modern checkboxes, radios, toggles and progressbar. All buttons, checkboxes etc. have hover effects! Windows 10 style modern MsgBox. Windows 10/Android style menu that slides in from left. Windows 10 style right click menu Credits: @UEZ, for the function to create buttons with text using GDIPlus. @binhnx for his SSCtrlHover UDF Changelog: Download UDF with example:2 points
-
[BUGFIX VERSION] - 6 Apr 24 Fixed: UDF failed if header colours were initialised but not specifically set. New UDF in the zip below. -------------------------------------------------------------------------------------- Note: This is a new recoded and expanded version of my earlier UDF of the same name. If you move to this new version there might well be several script-breaking changes, particularly when setting which columns are to be editable. Please read the "Beginner's Guide" and look at the included example scripts to see where things have changed. -------------------------------------------------------------------------------------- This UDF allows you to do much more with ListView controls (either native or UDF created): Edit the content with plain text, combos or date-time pickers - and edit the headers too Move rows within the ListView Drag rows both within the ListView and to other ListViews in the same GUI (or not as required) Insert and delete columns and rows Sort columns by simply clicking the header Colour individual ListView items and headers Only select a single cell rather then the entire row Save and load entire ListViews For the advanced user: If you use certain Windows message handlers (In particular WM_NOTIFY) in your script, please read the function headers for the equivalent handlers within the UDF. Here is the UDF, with 6 examples and the guide, in zip format: GUIListViewEx.zip Credit to: martin (basic drag code), Array.au3 authors (array functions), KaFu and ProgAndy (font function), LarsJ (colouring code) Happy to take compliments or criticism - preferably the former! M231 point
-
mesale0077 asked me whether I could code some CSS loading animations from different web sites. These are the results using GDI+ (AutoIt v3.3.12.0+ required!): _GDIPlus_MonochromaticBlinker.au3 / _GDIPlus_RotatingBokeh.au3 _GDIPlus_SpinningCandy.au3 / _GDIPlus_SteamPunkLoading.au3 _GDIPlus_IncreasingBalls.au3 / _GDIPlus_PacmanProgressbar.au3 _GDIPlus_StripProgressbar.au3 / _GDIPlus_RingProgressbar.au3 _GDIPlus_LineProgressbar.au3 / _GDIPlus_SimpleLoadingAnim.au3 _GDIPlus_TextFillingWithWater.au3 / _GDIPlus_MultiColorLoader.au3 _GDIPlus_LoadingSpinner.au3 / _GDIPlus_SpinningAndPulsing.au3 _GDIPlus_TogglingSphere.au3 / _GDIPlus_CloudySpiral.au3 _GDIPlus_GlowingText.au3 (thanks to Eukalyptus) / _GDIPlus_HypnoticLoader.au3 _GDIPlus_RotatingRectangles.au3 / _GDIPlus_TRONSpinner.au3 _GDIPlus_RotatingBars.au3 / _GDIPlus_AnotherText.au3 (thanks to Eukalyptus) _GDIPlus_CogWheels.au3 (thanks to Eukalyptus) / _GDIPlus_DrawingText.au3 (thanks to Eukalyptus) _GDIPlus_GearsAnim.au3 / _GDIPlus_LEDAnim.au3 _GDIPlus_LoadingTextAnim.au3 / _GDIPlus_MovingRectangles.au3 _GDIPlus_SpinningAndGlowing.au3 (thanks to Eukalyptus) / _GDIPlus_YetAnotherLoadingAnim.au3 _GDIPlus_AnimatedTypeLoader.au3 / _GDIPlus_Carousel.au3 Each animation function has a built-in example how it can be used. AiO download: GDI+ Animated Wait Loading Screens.7z (previous downloads: 1757) Big thanks to Eukalyptus for providing several examples. Maybe useful for some of you Br, UEZ PS: I don't understand CSS - everything is made out of my mind, so it might be different from original CSS examples1 point
-
MetroGUI UDF v5.1 - Windows 10 style buttons, toggles, radios, menu etc.
coffeeturtle reacted to BBs19 for a topic
Version 4.0.1 - Changelog: Fixed bugs: Fullscreen toggle sends the GUI only to the first monitor and not the monitor that the window is on at the moment. Fullscreen toggle will cause the screen to not refresh properly on Windows 7. Windows 7 basic theme makes the GUI look strange with rounded corners on top. Windows 7 basic and classic theme will cause the first GUIs non-client arena(controlbar) to show up when a second GUI is minimized. Fullscreen toggle buttons arrow lines are not straight when using different DPI settings. Starting the script from within Scite Portable version will cause hover to not work anymore. Download: Let me know if you find any other bugs1 point -
Using AutoIT to pull specific numbers from spreadsheet
coffeeturtle reacted to water for a topic
There are no dumb questions, only unasked questions1 point -
lml, Really? You have been a member here for nearly 4 years. Can you assure me that this does not involve any interaction with the game itself? M23 Edit: It does, so thread locked.1 point
-
Using AutoIT to pull specific numbers from spreadsheet
coffeeturtle reacted to water for a topic
OK, quick and dirty: The result gets displayed using _Arraydisplay. When you press "Run user Func" the array gets written to a new sheet in the open Excel workbook and the workbook gets displayed. ; Extract Contact Data v2 ; Pull Phone Numbers and Print Numbers of times they called in #include <Excel.au3> #include <MsgBoxConstants.au3> #include <Array.au3> #include <File.au3> AutoItSetOption("TrayIconDebug", 1) ; CONFIGURATION Local $sScriptTitle = "Pioneer Phone Report" ; Script title for MsgBox Local $sPrevNumber = "", $iCount = 0, $aANINumbers, $iResultCount = 0, $aResultArray[1000][3], $sFuncName = _CopyToExcel Local $iCol = 15 ; Offset of the column where ANI is stored (0 = column A) Local $sWorkbook = @ScriptDir & "C:\Users\ENSXI\Desktop\sheet1.xlsx" ; Path of the workbook to be analyzed Local $sANINames = @ScriptDir & "C:\Users\ENSXI\Documents\AutoIT\Scripts\Contact Names.csv" ; Path of the CSV file with technician numbers and names Local $aANINames Local $sANINumbers = InputBox($sScriptTitle, "Please enter the ANI numbers to process separated by a space:", "6125702362 9523220388 4026460312 3176174256 3143717106 6018740303 6412200969", "", 500, 130) If @error Then Exit ; Cancel button pressed $aANINumbers = StringSplit($sANINumbers, " ", $STR_NOCOUNT) ; Read User Names _FileReadToArray($sANINames, $aANINames, $FRTA_NOCOUNT, ",") ; Split the file into a 2D array. Separator is "," If @error Then Exit MsgBox($MB_SYSTEMMODAL, $sScriptTitle, "Error opening file '" & $sANINames & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) If UBound($aANINames, 0) <> 2 Then Exit MsgBox($MB_SYSTEMMODAL, $sScriptTitle, "File '" & $sANINames & "' is not a 2D array.") ; OPEN EXCEL WORKBOOK Local $oExcel = _Excel_Open(False) ; Start Excel in the background or connect to a running instance If @error Then Exit MsgBox($MB_SYSTEMMODAL, $sScriptTitle, "Error starting Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook) ; Open workbook If @error Then ; Notify if cannot find specific file MsgBox($MB_SYSTEMMODAL, $sScriptTitle, "Error opening workbook '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf Local $aRecords = _Excel_RangeRead($oWorkbook) ; Reads the whole workbook into the array If @error Then MsgBox($MB_SYSTEMMODAL, $sScriptTitle, "Error reading workbook '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; CHECK DATA APPEARS VALID If UBound($aRecords, 2) < $iCol + 1 Then ; Check the minimum number of needed columns MsgBox($MB_SYSTEMMODAL, $sScriptTitle, "There are not at least " & $iCol + 1 & " columns in the workbook '" & $sWorkbook & "'.") _Excel_Close($oExcel) Exit EndIf ; SORT THE DATA SET _ArraySort($aRecords, 0, 1, 0, $iCol) ; Sort the array on the column with ANI (ignore heading line) ;Error if unable to sort If @error Then Exit MsgBox($MB_SYSTEMMODAL, $sScriptTitle, "Error sorting the input data." & @CRLF & "@error = " & @error & ", @extended = " & @extended) ; LOOP THROUGH ALL CALL RECORDS For $i = 1 To UBound($aRecords, 1) - 1 ; Ignore heading line If $sPrevNumber <> $aRecords[$i][$iCol] Then ; Number has changed If $sPrevNumber <> "" Then _NewCustomer($sPrevNumber, $iCount) $sPrevNumber = $aRecords[$i][$iCol] EndIf $iCount = $iCount + 1 Next _NewCustomer($aRecords[$i - 1][$iCol], $iCount) ; Process last customer ReDim $aResultArray[$iResultCount][3] ; Resize the result array _Excel_Close($oExcel, False) ;close out the excel window _Arraydisplay($aResultArray, $sScriptTitle, "", 64, Default, "ANI|Name|Count", Default, Default, $sFuncName) Exit Func _NewCustomer($sANI, ByRef $iCount) Local $iIndex = 0, $sName = "** No Name Found **" For $iIndex = 0 To UBound($aANINumbers, 1) - 1 ; loops through technicians If $aANINumbers[$iIndex] = $sANI Then ; Only display results for selected ANINumbers For $iIndex2 = 0 To UBound($aANINames, 1) - 1 ; Grab the name for the ANINumber If $aANINames[$iIndex2][0] = $sANI Then ; find technician's name $sName = $aANINames[$iIndex2][1] ; set the call record's name to be the technician's name ExitLoop EndIf Next ; Write the record to the result array $aResultArray[$iResultCount][0] = $sANI $aResultArray[$iResultCount][1] = $sName $aResultArray[$iResultCount][2] = $iCount $iResultCount = $iResultCount + 1 ExitLoop EndIf Next $iCount = 0 EndFunc ;==>_NewCustomer Func _CopyToExcel($aArray, $aSelectedItems) Local $aHeader[][] = [["ANI", "Name", "Count"]]; Add a sheet to the Excel workbook Local $oResultSheet = _Excel_SheetAdd($oWorkbook, -1, False, 1, "Result") ; Write the result to the new worksheet _Excel_RangeWrite($oWorkbook, $oResultSheet, $aHeader, "A1") _Excel_RangeWrite($oWorkbook, $oResultSheet, $aArray, "A2") ; Make Excel visible again $oExcel.Visible = True EndFunc1 point -
You alway need to check and confirm that you are grabbing the right element, to do that you need to use msgbox/consolewrite and check the element properties. You should read MSDN documentation. Try this: Local $oClassReturn = $oIE.document.getElementsByClassName("pageContainer page3") If Not IsObj($oClassReturn) Then Exit ConsoleWrite("Error in $oClassReturn" & @CRLF) MsgBox(0, "", $oClassReturn.length) Local $oTagReturn = $oClassReturn.Item(1).getElementsByTagName("li") If Not IsObj($oTagReturn) Then Exit ConsoleWrite("Error in $oTagReturn" & @CRLF) MsgBox(0, "", $oTagReturn.length) $oTagReturn.Item(1).click() ; Item(2) = "Employed" As you can see its the same principle.1 point
-
Are you running a 32 or 64 bit OS? Are you running 32 or 64 bit AutoIt? Adam1 point
-
Thanks for checking and glad you survived the neutron bombing. More seriously the test shows that we don't have to request the result as a DllStruct since the default String type works as well.1 point
-
Some Graphical Examples using GDI+ Vol. II build 2016-05-07
coffeeturtle reacted to UEZ for a topic
Added six more examples: 3D Object Rotation v1.1.6.au3 -> text 3D rotation around a semi transparent sphere 3D Object Rotation v1.1.7.au3 -> 3D scroller around an opaque sphere 3D Object Rotation v1.2.6.au3 -> 3D world map rotation using pathes (slow because of high polygon count!) Particles - Repulsive Force Sim. v1.0.au3 -> press lmb to play with red ellipse Smoke Sim v2.au3 -> smoking pipe Wavy Chars v1.1.au3 -> some "nervous" chars1 point -
You can use a timer if you call ping with Run. Here is a hurried example. #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <GUIConstants.au3> #include <timers.au3> #include <Constants.au3> #Region ### START Koda GUI section ### Form= $Form3 = GUICreate("Form3", 413, 298, 303, 219) $Label1 = GUICtrlCreateLabel("Label1", 56, 32, 36, 17) $Btn = GUICtrlCreateButton("ping", 30, 100, 100, 22) Global $ii = 0 GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Btn MyPing() EndSwitch WEnd Func show($a, $b, $c, $d) GUICtrlSetData($Label1, $ii) $ii += 1 EndFunc ;==>show Func MyPing() $t1 = _Timer_SetTimer($Form3, 100, "show") Local $foo = Run('ping.exe "google.com"', @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD) ; Calling with no 2nd arg closes stream StdinWrite($foo) ; Read from child's STDOUT and show Local $data While True $data &= StdoutRead($foo) If @error Then ExitLoop Sleep(25) WEnd _Timer_KillAllTimers($Form3) MsgBox(0, "Debug", $data) EndFunc ;==>MyPing1 point
-
Dear sir 1) Thanks 2) how do i understanding the knowledge about "Windows Message Codes" and it"s meaning deeply ? 3) the 'GUIRegisterMsg(0x000F,"MY_PAINT")' seem could place any where ? so which $hWnd will be sent to MY_PAINT when the WM_PAINT be fired ? (suppose there are many GUI Windows ..) 4) is there any example would return some thing not "$GUI_RUNDEFMSG" ?1 point
-
How to compile .au3 file to .exe by a command?
BlueSphere reacted to SmOke_N for a topic
Care to elaborate? $LocationAut2Exe = @ProgramFilesDir & '\AutoIt3\Aut2Exe\Aut2Exe.exe' Run('"' & $LocationAut2Exe & '" ?')Has all the info you need.1 point