於 2022年1月9日 (日) 01:02 由 Player討論 | 貢獻 所做的修訂
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋




Hello world

; Make available a library of constant values.
#include <MsgBoxConstants.au3>
; Displays "Hello, world!" in a messagebox.
MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

Automating the Windows Calculator

; Make available a library of constant values.
#include <MsgBoxConstants.au3>
; Display a message box with a timeout of 6 seconds.
MsgBox($MB_OK, "Attention", "Avoid touching the keyboard or mouse during automation.", 6)
; Run the Windows Calculator.
; Wait for the calculator to become active with a timeout of 10 seconds.
WinWaitActive("[CLASS:CalcFrame]", "", 10)
; If the calculator did not appear after 10 seconds then exit the script.
If WinExists("[CLASS:CalcFrame]") = 0 Then Exit
; Automatically type the current year into the calculator.
; Let's slow the script down a bit so we can see what's going on.
; Automatically type in 'divide by 4', and then sleep 600 ms.
; Hit the return key to display the result, and sleep 600 ms.
; Copy the result to the clipboard using the Windows shortcut Ctrl+C.
; Declare, and assign the contents of the clipboard to, a variable.
Local $fResult = ClipGet()
; Check to see if the variable contains a decimal point or not.
If StringInStr($fResult, ".") Then
    ; Display a message box with a timeout of 5 seconds.
    MsgBox($MB_OK, "Leap Year", @YEAR & " is not a leap year.", 5)
    ; This message will only display if the current year is a leap year.
    MsgBox($MB_OK, "Leap Year", @YEAR & " is a leap year.", 5)
; Close the Windows calculator - always tidy up afterwards.

Find average

; Find Average by JohnOne, modified by czardas
#include <MsgBoxConstants.au3>
_Example() ; Run the example.
Func _Example()
    ; Display an input box and ask the user to enter some numbers separated by commas.
    Local $sInput = InputBox("Find Average", "Enter some numbers separated by commas: 1,2,42,100,3")
	; If an error occurred then exit the script.
	If @error Then Exit
    ; Populate an array with the user's input.
    Local $aSplit = StringSplit($sInput, ",")
    ; Pass the array to the function _Find_Average() and then check for errors.
    Local $fAverage = _Find_Average($aSplit)
    If @error Then Exit
    ; Display the result in a message box.
    MsgBox($MB_OK, "Find Average", "Result: " & $fAverage)
EndFunc   ;==>_Example
Func _Find_Average($aArray)
    ; If the input is not of the correct type (an array), then return an error along with the details.
    If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))
	; More detailed checks are possible, but for brevity just one is performed here.
    ; Declare a variable to store the sum of the numbers.
    Local $iArraySum = 0
    ; Loop through the array.
    For $i = 1 To $aArray[0]
        ; Increment the sum by the number in each array element.
        $iArraySum += Number($aArray[$i])
    ; Return the average rounded to 2 decimal places.
    Return Round($iArraySum / $aArray[0], 2)
EndFunc   ;==>_Find_Average