AutoIt - AutoIt

AutoIt
Autoitlogo.png
Przykładowy skrypt AutoIT.png
Paradygmat Obiektowe , imperatywne , funkcjonalne , proceduralne , refleksyjne
Zaprojektowany przez Jonathan Bennett
Deweloper AutoIt Consulting Sp.
Po raz pierwszy pojawiły się styczeń 1999 ; 22 lata temu ( 1999-01 )
Wersja stabilna
3.3.14.5 / 16 marca 2018 ; 3 lata temu ( 2018-03-16 )
Wersja zapoznawcza
3.3.15.4 Beta / 12 czerwca 2021 r .; 4 miesiące temu ( 2021-06-12 )
Platforma IA-32 i x64
OS Windows XP SP3 i nowsze
Windows Server 2003 i nowsze
Licencja Oprogramowanie bezpłatne
Rozszerzenia nazw plików .au3
Strona internetowa www .autoitscript .com
Wpływem
PODSTAWOWY

AutoIt / ɔː t ɪ t / jest to darmowy języka programowania dla systemu Microsoft Windows . W swoim najwcześniejszym wydaniu był przeznaczony głównie do tworzenia skryptów automatyzacji (czasami nazywanych makrami ) dla programów Microsoft Windows, ale od tego czasu rozrósł się o ulepszenia zarówno w projektowaniu języka programowania, jak i ogólnej funkcjonalności.

Język skryptowy w AutoIt 1 i 2 był oparty na instrukcjach i zaprojektowany głównie do symulacji interakcji użytkownika. Od wersji 3 składnia AutoIt jest podobna do tej występującej w rodzinie języków BASIC . W tej formie AutoIt jest uniwersalnym językiem programowania trzeciej generacji z klasycznym modelem danych i wariantowym typem danych, który może przechowywać kilka typów danych, w tym tablice.

Skrypt automatyzacji AutoIt można przekonwertować na skompresowany, samodzielny plik wykonywalny, który można uruchomić na komputerach, nawet jeśli nie mają one zainstalowanego interpretera AutoIt. Szeroka gama bibliotek funkcji (znanych jako UDF lub „Funkcje zdefiniowane przez użytkownika”) jest również dołączona standardowo lub jest dostępna na stronie internetowej w celu dodania wyspecjalizowanych funkcji. AutoIt jest również dystrybuowany z IDE opartym na darmowym edytorze SciTE . Kompilator i tekst pomocy są w pełni zintegrowane i zapewniają de facto standardowe środowisko dla programistów korzystających z AutoIt.

Historia

Oś czasu wydania
1999 Styczeń: pierwsza wersja AutoIt (1.0)
Sierpień: AutoIt v2 i AutoItX
Wrzesień: Pierwsza wersja AutoIt z kompilatorem
2000
2001
2002 Grudzień: AutoIt v3 (publiczna wersja beta)
2003
2004 Luty: AutoIt v3 (stabilny)
2005
2006 Wrzesień: wystartował Auto3Lib
2007 Listopad: Wydano AutoIt v3.2.10.0, Auto3Lib włączono do AutoIt v3
2008 Maj: Wydano AutoIt v3.2.12.0 z dodaną funkcjonalnością GUI
Grudzień: Wydano AutoIt (i AutoItX) v3.3.0.0
2009 Grudzień: Wydano AutoIt v3.3.2.0
2010 Styczeń: Wydano AutoIt v3.3.4.0
Marzec: Wydano AutoIt v3.3.6.0
Kwiecień: Wydano AutoIt v3.3.6.1
2011 Grudzień: Wydano AutoIt v3.3.8.0
2012 Styczeń: Wydano AutoIt v3.3.8.1
2013 Grudzień: Wydano AutoIt v3.3.10.0
2014 Czerwiec: Wydano AutoIt v3.3.12.0
2015 Lipiec: Wydano AutoIt v3.3.14.0 i v3.3.14.1
Wrzesień: Wydano AutoIt v3.3.14.2
2016
2017
2018 Luty: Wydano AutoIt v3.3.14.3
Marzec: Wydano AutoIt v3.3.14.5

AutoIt1 i AutoIt2 były projektami o zamkniętym kodzie źródłowym i miały zupełnie inną składnię niż AutoIt3, którego składnia jest bardziej podobna do VBScript i BASIC.

AutoIt3 był początkowo darmowy i open-source , licencjonowany zgodnie z warunkami GNU General Public License , z pierwszym publicznym wydaniem 3.0.100 w lutym 2004 i miał wydania open source w marcu 2004 i sierpniu 2004. Wersja 3.0.102, wydany w sierpniu 2004 r. był początkowo open-source, ale do stycznia 2005 r. był rozpowszechniany jako zamknięte źródło. Kolejne wydania, począwszy od wydania wersji 3.1.0 z lutego 2005 r., miały zamknięte źródła. Wersja 3.1.0 była również pierwszym wydaniem z obsługą skryptów GUI.

Powiązane projekty

Darmowy i open-source projekt AutoHotkey wyprowadził 29 swoich funkcji z kodu źródłowego AutoIt 3.1. Składnia AutoHotKey różni się znacznie od składni AutoIt3 i przypomina raczej składnię AutoIt2.

Cechy

Image
Ikona formatu pliku AU3

AutoIt jest zwykle używany do tworzenia oprogramowania narzędziowego dla systemu Microsoft Windows oraz do automatyzacji rutynowych zadań, takich jak zarządzanie systemami, monitorowanie, konserwacja lub instalacja oprogramowania. Jest również używany do symulowania interakcji użytkownika, dzięki czemu aplikacja jest „sterowana” (poprzez automatyczne wpisywanie formularzy, naciśnięcia klawiszy, kliknięcia myszą itd.) Za pomocą skryptu AutoIt.

AutoIt może być również używany w niskonakładowej automatyce laboratoryjnej . Zastosowania obejmują synchronizację przyrządów, monitorowanie alarmów i zbieranie wyników. Można również sterować urządzeniami, takimi jak routery CNC i drukarki 3D.

  • Język skryptowy o strukturze podobnej do BASIC dla Windows
  • Kompilowanie w samodzielne pliki wykonywalne
  • Dodatkowe biblioteki i moduły dla konkretnych aplikacji
  • Obsługuje TCP i UDP protokołów
  • Obsługuje komponentowy model obiektowy (COM)
  • Wywołaj funkcje w plikach DLL
  • Uruchom aplikacje konsolowe i uzyskaj dostęp do standardowych strumieni
  • Dołącz pliki danych do skompilowanego pliku, które mają zostać wyodrębnione podczas uruchamiania
  • Twórz graficzne interfejsy użytkownika , w tym pola wiadomości i wprowadzania
  • Odtwarzaj dźwięki, wstrzymuj, wznawiaj, zatrzymuj, szukaj, uzyskaj aktualną pozycję dźwięku i uzyskaj długość dźwięku
  • Symuluj ruchy myszy
  • Manipuluj oknami i procesami
  • Zautomatyzuj wysyłanie danych wejściowych użytkownika i naciśnięć klawiszy do aplikacji, a także do poszczególnych elementów sterujących w aplikacji
  • Obsługa Unicode od wersji 3.2.4.0
  • Obsługa kodu 64-bitowego od wersji 3.2.10.0
  • Obsługuje wyrażenia regularne
  • Kompatybilny z kontrolą konta użytkownika
  • Projektowanie obiektowe poprzez bibliotekę

Przykłady

Witaj świecie

; Make available a library of constant values.
#include <MsgBoxConstants.au3>

; Displays "Hello, world!" in a messagebox.
MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

Automatyzacja kalkulatora Windows

; 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.
Run("calc.exe")

; 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.
Send(@YEAR)

; Let's slow the script down a bit so we can see what's going on.
Sleep(600)

; Automatically type in 'divide by 4', and then sleep 600 ms.
Send("/4")
Sleep(600)

; Hit the return key to display the result, and sleep 600 ms.
Send("{ENTER}")
Sleep(600)

; Copy the result to the clipboard using the Windows shortcut Ctrl+C.
Send("^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)
Else
    ; This message will only display if the current year is a leap year.
    MsgBox($MB_OK, "Leap Year", @YEAR & " is a leap year.", 5)
EndIf

; Close the Windows calculator - always tidy up afterwards.
WinClose("[CLASS:CalcFrame]")

Znajdź średnią

; 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])
    Next

    ; Return the average rounded to 2 decimal places.
    Return Round($iArraySum / $aArray[0], 2)
EndFunc   ;==>_Find_Average

Zobacz też

Bibliografia

Zewnętrzne linki