Ogłoszenie

Forum tymczasowo wyłączone ze względu na konserwację. Proszę spróbować ponownie później.\n\n/Administrator

#1 19-03-2022 13:23:33

 Flaszu

Użytkownik

Call me!
Skąd: Daleko od ciebie
Zarejestrowany: 29-12-2012
Posty: 71
Punktów :   57 

Moduł do Batch

Witam w tym poradniku pokarze wam jak zrobić moduł do batch w języku AutoIt.
Na początek otwieramy sobie nasz edytor AutoIt i wpisujemy to

(nasz moduł nazywa się modul.exe)


Kod:

Kod:

If $cmdline[1] = "coś" Then 
$x = $cmdline[2] 
$y = $cmdline[3]
mousemove($x,$y)
endif

Jeżeli w CMD wpiszemy to: "modul.exe coś 20 50" przesunie nam myszkę na koordynaty x=20 y=50

Objaśnienie:

"$cmdline[1]" jest to pierwszy parametr, jeżeli on będzie równał się "coś" program przechodzi dalej
potem ustawiamy że drugi parametr będzie oznaczał zmienną x a trzeci parametr będzie oznaczał zmienną y
i to jest cały moduł oczywiście wy możecie dać sobie inne funkcje np:


Kod:

Kod:

If $cmdline[1] = "coś" Then 
$tytul = $cmdline[2]

$msg = $cmdline[3]
MsgBox(0,$tytul,$msg)
endif

Jeżeli chcemy dodać kilka funkcji do naszego modułu możemy zrobić to tak:


Kod:

Kod:

If $cmdline[1] = "myszka" Then 
$x = $cmdline[2] 
$y = $cmdline[3] 
mousemove($x,$y)
endif

If $cmdline[1] = "box" Then 
$tytul = $cmdline[2] 
$msg = $cmdline[3]
MsgBox(0,$tytul,$msg)
endif

Jeżeli chcemy sprawdzić czy są wszystkie parametry (w tym przypadku będą 2) wpisujemy to


Kod:

Kod:

if $cmdline[0] >= 3 Then
MsgBox(16,"error","Podano złe parametry")
Exit
EndIf

if $cmdline[0] <= 1 Then
MsgBox(16,"error","Podano złe parametry")
Exit
EndIf

Teraz nauczymy się wpisywać tekst do konsoli cmd za pomocą AutoIt
Na początek komenda:

Kod:

Kod:

#AutoIt3Wrapper_Change2CUI=y

WSTAWIAMY NA POCZĄTEK KODU!!

Ta komenda otwiera nam konsole tekstową, a przy robieniu modułu pomoże nam to wstawić tekst do cmd


Kod:

Kod:

ConsoleWrite ( "dane" )

To polecenie wstawi nam tekst do konsoli cmd

Przykład:

Kod:

Kod:

#AutoIt3Wrapper_Change2CUI=y
ConsoleWrite ( "Test Programu" )

Kompilujemy program pod nazwą np Poradnik.exe i do naszego programu batch wpisujemy Poradnik.exe
efekt:

http://i41.tinypic.com/of62xx.jpg



Teraz zamiast wstawiać na początek kodu "#AutoIt3Wrapper_Change2CUI=y" wstawiamy "#include <Console.au3>" Ta komenda inicjuje nam bibliotekę Console.au3

Pokaże wam przykład na kodzie napisanym przez użytkowania Shaggi na angielskim forum AutoIt


Kod:

Kod:

#include <Console.au3>

Main()

Func Main()
    Local $Name
    Local $Age
    Local $Answer
    Local $Continue = True

    While $Continue
        Cout("Napisz swoje imię: ")
        Cin($Name)
        Cout("Podaj swój wiek: ")
        Cin($Age)
        Cout("Chcesz aby odpowiedz była na czerwono? y/n: ")
        Cin($Answer)
        If StringInStr($Answer,"y") Then
            Cout(@LF & "Twoje imię to ")
            Cout($Name & @LF,$FOREGROUND_RED)
            Cout("Urodziłeś się w ")
            Cout(@Year - $Age & @LF,$FOREGROUND_RED)
        Else
            Cout(@LF & "Your name is ")
            Cout($Name & @LF)
            Cout("You were born in ")
            Cout(@Year - $Age & @LF)
        EndIf
        $Answer = ""
        Cout(@LF & "Chcesz spróbować ponownie? y/n: ")
        Cin($Answer)
        If StringInStr($Answer,"n") Then
            $Continue = False
        EndIf
    WEnd

    system("pause")
EndFunc

"Cout("Dane")" - Wyświetla nam tekst w konsoli
"Cin($Zmienna)" - Zapisuje to co napisaliśmy w konsoli do zmiennej

Jeżeli chcemy mieć kolory robimy to w następujący sposób
Cout($Zmienna & @LF,$FOREGROUND_RED) to co jest podkreślone odpowiada za kolor

Tabelka z kolorami:

http://i39.tinypic.com/24295yh.jpg też dajemy to polecenie gdzieś na początku programu.


The End

Ostatnio edytowany przez TheFlashes (09-12-2013 11:24:11)


„The people who are crazy enough to think they can change the world are the ones who do” ~ Steve Jobs

a więc zaczęło się... http://i.imgur.com/OxCxQXM.jpg

Offline

 

Stopka forum

RSS
Powered by PunBB 1.2.23
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
Boende Berwick-Upon-Tweed The Cove 3 at Playa Ocotal