AutoIt

AutoIt /ɔːtoʊ ɪt/ е безплатен език за програмиране за Microsoft Windows. Във версии 1 и 2 той се използва за създаване на скриптове за автоматизация на програми за Microsoft Windows. Понякога те се наричат макроси. Във версия 3 езикът за програмиране е разширен, за да може да прави повече неща.

Езикът за писане на скриптове в AutoIt 1 и 2 беше базиран на команди. Той беше създаден, за да симулира въвеждането на данни от потребителя към компютъра. От версия 3 нататък синтаксисът на AutoIt се промени. Сега той е подобен на езика за програмиране BASIC. AutoIt версия 3 е език за програмиране с общо предназначение. Той може да разполага с типове данни, като например масиви.

Скриптът на AutoIt може да бъде превърнат в самостоятелен изпълним файл. Той може да се изпълнява на компютри, на които не е инсталиран интерпретаторът AutoIt. Налице е широк набор от библиотеки с функции. Те са известни като UDF, или "Функции, дефинирани от потребителя". Някои от тях са включени стандартно. Други са достъпни от уебсайта. Те добавят допълнителни възможности към езика. AutoIt разполага със специален редактор - интегрирана среда за разработка или IDE. Тя е базирана на безплатния редактор SciTE. Компилаторът и помощният текст са включени в този специален редактор и осигуряват стандартна среда за разработчиците.



 екранна снимка на типичен скрипт на AutoITZoom
екранна снимка на типичен скрипт на AutoIT

Функции

  • Език за писане на скриптове със структура, подобна на BASIC, за Windows
  • Компилиране в самостоятелни изпълними файлове
  • Допълнителни библиотеки и модули за конкретни приложения или приложения
  • Поддържа протоколи TCP и UDP
  • Поддържа обектния модел на компонентите (COM)
  • Извикване на функции в DLL файлове
  • Стартиране на конзолни приложения и достъп до стандартните потоци
  • Включване на файловете с данни в компилирания файл, който се извлича при стартиране
  • Създаване на графични потребителски интерфейси, включително полета за съобщения и въвеждане
  • Възпроизвеждане на звуци, пауза, възобновяване, спиране, търсене, получаване на текущата позиция на звука и получаване на дължината на звука
  • Симулиране на движенията на мишката
  • Манипулиране на прозорци и процеси
  • Автоматизиране на изпращането на потребителски вход и натискане на клавиши към приложения, както и към отделни контроли в рамките на дадено приложение
  • Поддръжка на Unicode от версия 3.2.4.0
  • Поддръжка на 64-битов код от версия 3.2.10.0
  • Поддържа регулярни изрази
  • Съвместимост с User Account Control
  • Обектно-ориентирано проектиране чрез библиотека



Употреба

AutoIt често се използва за създаване на помощен софтуер за Microsoft Windows. Тези програми могат да автоматизират рутинни задачи. Примерната употреба включва: управление на системи, мониторинг, поддръжка и инсталиране на софтуер. Използва се и за симулиране на взаимодействието с потребителя. При тази употреба приложението се "управлява" от скрипт на AutoIt, който се държи като човешки потребител. Скриптът AutoIT може да натиска клавиши, да щрака с мишката, да въвежда текст и т.н. По този начин той симулира човешки потребител на дадено приложение.

AutoIt се използва за евтина лабораторна автоматизация. Приложенията включват синхронизиране на инструменти, наблюдение на аларми и събиране на резултати. Устройства като 3D принтери също могат да бъдат управлявани.



Примери

Здравей, свят

; Осигурете библиотека от постоянни стойности. #include < MsgBoxConstants. au3> ; Показва "Hello, world!" в кутия за съобщения. MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

Автоматизиране на калкулатора на Windows

; Осигурете библиотека от постоянни стойности. #include < MsgBoxConstants. au3> ; Показвайте кутия със съобщения с времетраене 6 секунди. MsgBox($MB_OK, "Attention", "Avoid touching the keyboard or mouse during automation.", 6) ; Стартирайте калкулатора на Windows. Run("calc.exe") ; Изчакайте калкулаторът да стане активен с таймаут от 10 секунди. WinWaitActive("[CLASS:CalcFrame]", "", 10) ; Ако калкулаторът не се появи след 10 секунди, излезте от скрипта. If WinExists("[CLASS:CalcFrame]") = 0 Then Exit ; Автоматично въведете текущата година в калкулатора. Send(@YEAR) ; Нека забавим малко скрипта, за да можем да видим какво се случва. Sleep(600) ; Автоматично въведете "дели на 4" и след това заспивайте на 600 ms. Send("/4") Sleep(600) ; Натиснете клавиша return, за да се покаже резултатът, и заспете 600 ms. Send("{ENTER}") Sleep(600) ; Копирайте резултата в клипборда, като използвате бързата клавишна комбинация Ctrl+C в Windows. Send("^c") ; Декларирайте и присвоете съдържанието на клипборда към променлива. Local $fResult = ClipGet() ; Проверете дали променливата съдържа десетична запетая или не. If StringInStr($fResult, ".") Then ; Изведете кутия за съобщения с времетраене 5 секунди.     MsgBox($MB_OK, "Високосна година", @YEAR & " не е високосна година.", 5) Else ; Това съобщение ще се покаже само ако текущата година е високосна.     MsgBox($MB_OK, "Leap Year", @YEAR & " is a leap year.", 5) EndIf ; Затворете калкулатора на Windows - винаги почиствайте след това. WinClose("[CLASS:CalcFrame]")

Намиране на средна стойност

; Find Average by JohnOne, modified by czardas #include < MsgBoxConstants. au3> _Example() ; Изпълнете примера.  Func _Example() ; Покажете поле за въвеждане и поискайте от потребителя да въведе няколко числа, разделени със запетаи.     Local $sInput = InputBox("Find Average", "Enter some numbers separated by commas: 1,2,42,100,3")         ; Ако възникне грешка, излезте от скрипта.    If @error Then Exit ; Попълнете масив с въведените от потребителя данни.     Local $aSplit = StringSplit($sInput, ",") ; Предайте масива на функцията _Find_Average() и след това проверете за грешки.     Local $fAverage = _Find_Average($aSplit) If @error Then Exit ; Покажете резултата в полето за съобщения.     MsgBox($MB_OK, "Find Average", "Result: " & $fAverage) EndFunc ;==>_Example Func _Find_Average($aArray) ; Ако входът не е от правилния тип (масив), върнете съобщение за грешка заедно с подробностите.     If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))     ; Възможни са и по-подробни проверки, но за краткост тук се извършва само една. ; Декларирайте променлива, в която да се съхранява сумата на числата.     Local $iArraySum = 0 ; Цикъл през масива.     For $i = 1 To $aArray[0] ; Увеличете сумата с числото във всеки елемент на масива.         $iArraySum += Number($aArray[$i]) Next ; Върнете средната стойност, закръглена до два знака след десетичната запетая.     Върнете Round($iArraySum / $aArray[0], 2) EndFunc ;==>_Find_Average



История

  • януари 1999 г. - Първа версия на AutoIt (1.0)
  • август 1999 г. - AutoIt v2 и AutoItX
  • септември 1999 г. - Първа версия на AutoIt с компилатор
  • Декември 2002 г. - AutoIt v3 (публична бета версия)
  • февруари 2004 г. - AutoIt v3 (стабилна версия)
  • септември 2006 - стартиране на Auto3Lib
  • ноември 2007 г. - излиза AutoIt v3.2.10.0, Auto3Lib е включена в AutoIt v3
  • Май 2008 г. - Издадена е версия AutoIt v3.2.12.0 с добавена функционалност на графичния потребителски интерфейс
  • Декември 2008 г. - Излиза AutoIt (и AutoItX) v3.3.0.0
  • Декември 2009 - Издаден е AutoIt v3.3.2.0
  • Януари 2010 - Издаден е AutoIt v3.3.4.0
  • Март 2010 - Издаден е AutoIt v3.3.6.0
  • април 2010 - Издаден е AutoIt v3.3.6.1
  • Декември 2011 - Издаден е AutoIt v3.3.8.0
  • Януари 2012 г. - Излиза AutoIt v3.3.8.1
  • Декември 2013 - Издаден е AutoIt v3.3.10.0
  • Юни 2014 - Издаден е AutoIt v3.3.12.0
  • Юли 2015 - Излизат версиите на AutoIt v3.3.14.0 и v3.3.14.1
  • септември 2015 - AutoIt v3.3.14.2 е пуснат
  • февруари 2018 - AutoIt v3.3.14.3 е пуснат



Лиценз

Първоначално разработчиците на AutoIt публикуваха изходния код под Общия публичен лиценз на GNU (GPL).

През 2006 г. лицензът е променен за версия 3.2.0 и следващите версии на собствен лиценз със затворен код.

Част от кода на версия 3.1 беше използван за създаване на разклонение от проекта AutoHotkey. Това е разрешено съгласно условията на лиценза GPL. Общността на AutoHotkey продължава да разработва и публикува кода под GPL.



Въпроси и отговори

В: Какво представлява AutoIt?


О: AutoIt е безплатен език за програмиране за Microsoft Windows.

В: Как се използваше AutoIt във версии 1 и 2?


О: Във версии 1 и 2 той се използваше за създаване на скриптове за автоматизация на програми за Microsoft Windows, известни също като макроси.

В: Какво се промени във версия 3 на AutoIt?


О: Езикът за създаване на скриптове във версия 3 беше разширен, за да може да прави повече неща, а синтаксисът се промени, за да бъде подобен на езика за програмиране BASIC.

В: Какъв тип данни може да съдържа скриптът на AutoIt?


О: Скриптът AutoIt може да съдържа видове данни, като например масиви.

В: Може ли скрипт AutoIt да се изпълнява на компютри без инсталиран интерпретатор?


О: Да, скриптът AutoIt може да бъде превърнат в самостоятелен изпълним файл, който може да бъде стартиран на компютри, на които не е инсталиран интерпретаторът.

В: Има ли допълнителни възможности за езика?


О: Да, на разположение са широк набор от библиотеки с функции, известни като UDF или "User Defined Functions" (Функции, дефинирани от потребителя), някои от които са включени стандартно, а други са достъпни от уебсайта и добавят допълнителни възможности към езика.

В: Има ли специален редактор за разработка с AutoIt?


О: Да, има специален редактор, базиран на безплатния редактор SciTE, който включва както компилатор, така и помощен текст, предоставящ на разработчиците стандартна среда за разработка.

AlegsaOnline.com - 2020 / 2023 - License CC3