Autoit

AutoIt /ɔːtoʊ ɪt/ er et freeware programmeringssprog til Microsoft Windows. I version 1 og 2 blev det brugt til at oprette automatiseringsskripter til Microsoft Windows-programmer. Disse kaldes undertiden makroer. I version 3 blev programmeringssproget udvidet, så det kunne gøre flere ting.

Scriptingsproget i AutoIt 1 og 2 var statement-drevet. Det var designet til at simulere en brugers input til computeren. Fra og med version 3 og frem ændrede AutoIt-syntaksen sig. Den svarer nu til programmeringssproget BASIC. AutoIt version 3 er et programmeringssprog til generelle formål. Det kan have datatyper, f.eks. arrays.

Et AutoIt-script kan konverteres til en selvstændig eksekverbar fil. Dette kan køres på computere, som ikke har AutoIt-fortolkeren installeret. Der er en lang række funktionsbiblioteker til rådighed. De er kendt som UDF'er, eller "User Defined Functions" (brugerdefinerede funktioner). Nogle er inkluderet som standard. Andre er tilgængelige fra webstedet. De tilføjer ekstra evner til sproget. AutoIt har en særlig editor, et integreret udviklingsmiljø eller IDE. Det er baseret på den gratis SciTE-editor. Compileren og hjælpeteksten er inkluderet i denne specielle editor og giver et standardmiljø for udviklere.



 skærmbillede af et typisk AutoIT-scriptZoom
skærmbillede af et typisk AutoIT-script

Funktioner

  • Scripting-sprog med BASIC-lignende struktur til Windows
  • Kompilering til selvstændige eksekverbare filer
  • Tilføjelsesbiblioteker og moduler til specifikke programmer eller apps
  • Understøtter TCP- og UDP-protokoller
  • Understøtter komponentobjektmodellen (COM)
  • Kald funktioner i DLL-filer
  • Kør konsol-apps og få adgang til standardstreams
  • Medtag datafiler i den kompilerede fil, der skal udtrækkes, når du kører
  • Oprette grafiske brugergrænseflader, herunder besked- og indtastningsbokse
  • Afspil lyde, pause, genoptag, stop, søg, få den aktuelle position for lyden og få lydens længde
  • Simulere musebevægelser
  • Manipulere vinduer og processer
  • Automatisér afsendelse af brugerinput og tastetryk til apps samt til individuelle kontroller i en app
  • Unicode-understøttelse fra version 3.2.4.0
  • Understøttelse af 64-bit kode fra version 3.2.10.0
  • Understøtter regulære udtryk
  • Kompatibel med kontrol af brugerkonti
  • Objektorienteret design gennem et bibliotek



Anvendelse

AutoIt bruges ofte til at producere hjælpeprogrammer til Microsoft Windows. Disse programmer kan automatisere rutineopgaver. Eksempler på anvendelse er: systemadministration, overvågning, vedligeholdelse og softwareinstallation. Det bruges også til at simulere brugerinteraktion. I dette tilfælde "styres" et program til at gøre ting af et AutoIt-script, der opfører sig som en menneskelig bruger. Et AutoIT-script kan trykke på taster, klikke med musen, skrive tekst osv. På denne måde simulerer det en menneskelig bruger af et program.

AutoIt er blevet anvendt til billig laboratorieautomatisering. Anvendelserne omfatter bl.a. instrumentsynkronisering, alarmovervågning og indsamling af resultater. Enheder som f.eks. 3D-printere kan også styres.



Eksempler

Hej verden

; Gør et bibliotek med konstante værdier tilgængeligt. #include < MsgBoxConstants. au3> ; Viser "Hello, world!" i en messagebox. MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

Automatisering af Windows-regnemaskinen

; Gør et bibliotek med konstante værdier tilgængeligt. #include < MsgBoxConstants. au3> ; Viser en beskedboks med en timeout på 6 sekunder. MsgBox($MB_OK, "Attention", "Undgå at røre ved tastaturet eller musen under automatiseringen.", 6) ; Kør Windows-regnemaskinen. Run("calc.exe") ; Vent på, at lommeregneren bliver aktiv med en timeout på 10 sekunder. WinWaitActive("[CLASS:CalcFrame]", "", 10) ; Hvis lommeregneren ikke er dukket op efter 10 sekunder, afsluttes scriptet. If WinExists("[CLASS:CalcFrame]") = 0 Then Exit ; Indtast automatisk det aktuelle årstal i lommeregneren. Send(@ÅR) ; Lad os bremse scriptet lidt ned, så vi kan se, hvad der foregår. Sleep(600) ; Indtast automatisk "divider med 4", og sov derefter 600 ms. Send("/4") Sleep(600) ; Tryk på returtasten for at vise resultatet, og sov 600 ms. Send("{ENTER}") Sleep(600) ; Kopier resultatet til udklipsholderen ved hjælp af Windows-genvejen Ctrl+C. Send("^c") ; Deklarér og tildeler indholdet af udklipsholderen til en variabel. Local $fResult = ClipGet() ; Kontroller, om variablen indeholder et decimalkomma eller ej. If StringInStr($fResult, ".") Then ; Viser en beskedboks med en timeout på 5 sekunder.     MsgBox($MB_OK, "Skudår", @YEAR & " er ikke et skudår.", 5) Else ; Denne meddelelse vises kun, hvis det aktuelle år er et skudår.     MsgBox($MB_OK, "Skudår", @ÅR & " er et skudår.", 5) EndIf ; Luk Windows-regnemaskinen - ryd altid op bagefter. WinClose("[CLASS:CalcFrame]")

Find gennemsnit

; Find Average by JohnOne, ændret af czardas #include < MsgBoxConstants. au3> _Example() ; Kør eksemplet.  Func _Example() ; Viser et indtastningsfelt og beder brugeren om at indtaste nogle tal adskilt af kommaer.     Local $sInput = InputBox("Find Average", "Indtast nogle tal adskilt af kommaer: 1,2,42,100,3")        ; Hvis der opstår en fejl, afsluttes scriptet.    If @error Then Exit ; Udfyld et array med brugerens input.     Local $aSplit = StringSplit($sInput, ",") ; Overfør arrayet til funktionen _Find_Average() og kontroller derefter for fejl.     Local $fAverage = _Find_Average($aSplit) If @error Then Exit ; Vis resultatet i en meddelelsesboks.     MsgBox($MB_OK, "Find Average", "Result: " & $fAverage) EndFunc ;==>_Eksempel Func _Find_Average($aArray) ; Hvis input ikke er af den korrekte type (et array), returneres en fejl sammen med detaljerne.     If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))   ; Der er mulighed for mere detaljerede kontroller, men for kortfattethedens skyld udføres der kun én her. ; Deklarere en variabel til at gemme summen af tallene.     Local $iArraySum = 0 ; Sløjfe gennem arrayet.     For $i = 1 To $aArray[0] ; Forøg summen med tallet i hvert array-element.         $iArraySum += Number($aArray[$i]) Next ; Returnerer gennemsnittet afrundet til 2 decimaler.     Return Round($iArraySum / $aArray[0], 2) EndFunc ;==>_Find_Average



Historie

  • Januar 1999 - Første AutoIt-version (1.0)
  • August 1999 - AutoIt v2 og AutoItX
  • September 1999 - Første AutoIt-version med compiler
  • December 2002 - AutoIt v3 (offentlig beta)
  • Februar 2004 - AutoIt v3 (stabil)
  • September 2006 - Auto3Lib startede
  • November 2007 - AutoIt v3.2.10.0 udgivet, Auto3Lib inkorporeret i AutoIt v3
  • Maj 2008 - AutoIt v3.2.12.0 udgivet, med tilføjede GUI-funktioner
  • December 2008 - AutoIt (og AutoItX) v3.3.0.0.0 udgivet
  • December 2009 - AutoIt v3.3.2.2.0 udgivet
  • Januar 2010 - AutoIt v3.3.4.0 udgivet
  • Marts 2010 - AutoIt v3.3.6.0 udgivet
  • April 2010 - AutoIt v3.3.6.1 udgivet
  • December 2011 - AutoIt v3.3.8.0 udgivet
  • Januar 2012 - AutoIt v3.3.8.1 udgivet
  • December 2013 - AutoIt v3.3.10.0 udgivet
  • Juni 2014 - AutoIt v3.3.12.0 udgivet
  • Juli 2015 - AutoIt v3.3.14.0 og v3.3.14.1 udgivet
  • September 2015 - AutoIt v3.3.14.2 udgivet
  • Februar 2018 - AutoIt v3.3.14.3 udgivet



Licens

Udviklerne af AutoIt frigav oprindeligt kildekoden under GNU General Public License (GPL).

I 2006 blev licensen ændret for version 3.2.0 og senere versioner til deres egen lukkede kildekode-licens.

Noget af koden fra version 3.1 blev brugt til at skabe en fork af AutoHotkey-projektet. Dette var tilladt i henhold til GPL-licensbetingelserne. AutoHotkey-fællesskabet fortsætter med at udvikle og frigive koden under GPL.



Spørgsmål og svar

Q: Hvad er AutoIt?


A: AutoIt er et freeware programmeringssprog til Microsoft Windows.

Q: Hvordan blev AutoIt brugt i version 1 og 2?


A: I version 1 og 2 blev det brugt til at oprette automatiseringsskripter til Microsoft Windows-programmer, også kendt som makroer.

Spørgsmål: Hvad blev ændret i version 3 af AutoIt?


Svar: Scriptsproget i version 3 blev udvidet, så det kunne gøre flere ting, og syntaksen blev ændret, så den ligner BASIC-programmeringssproget.

Spørgsmål: Hvilken type data kan et AutoIt-script indeholde?


Svar: Et AutoIt-script kan indeholde datatyper som f.eks. arrays.

Spørgsmål: Kan et AutoIt-script køres på computere uden at fortolkeren er installeret?


Svar: Ja, et AutoIt-script kan konverteres til en selvstændig eksekverbar fil, som kan køres på computere, der ikke har fortolkeren installeret.

Spørgsmål: Er der ekstra evner til rådighed for sproget?


A: Ja, der findes en lang række funktionsbiblioteker, kendt som UDF'er eller "User Defined Functions", hvoraf nogle er inkluderet som standard og andre kan fås fra webstedet, som tilføjer ekstra muligheder til sproget.

Spørgsmål: Er der en særlig editor til udvikling med AutoIt?


A: Ja, der findes en særlig editor baseret på den gratis SciTE-editor, som indeholder både en compiler og hjælpetekst, der giver udviklerne et standardmiljø til udvikling.

AlegsaOnline.com - 2020 / 2023 - License CC3