Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tut] Własny Include


Rekomendowane odpowiedzi

Opublikowano

Witam, pewnie każdy z nas pewnie kiedyś musiał się męczyć z monotonnym pisaniem kodu teraz możemy to zaumatyżować

 

np. co trzeba by gui ładnie i płynie pojawiało się? o to tyle linijek kodu

 

       GUISetState(@SW_HIDE)
WinSetTrans($nazwa_okna, "", 0)
GUISetState(@SW_SHOW)
Sleep(20)
WinSetTrans($nazwa_okna, "", 10)
Sleep(20)
Sleep(20)
Sleep(20)

WinSetTrans($nazwa_okna, "", 20)
Sleep(20)
Sleep(20)

WinSetTrans($nazwa_okna, "", 30)
Sleep(20)
Sleep(20)

WinSetTrans($nazwa_okna, "", 40)
Sleep(20)
Sleep(20)
WinSetTrans($nazwa_okna, "", 50)
Sleep(20)
WinSetTrans($nazwa_okna, "", 60)
Sleep(20)
WinSetTrans($nazwa_okna, "", 70)
Sleep(20)
WinSetTrans($nazwa_okna, "", 80)
Sleep(20)
Sleep(20)
WinSetTrans($nazwa_okna, "", 90)
Sleep(20)
WinSetTrans($nazwa_okna, "", 100)
Sleep(20)
Sleep(20)
WinSetTrans($nazwa_okna, "", 110)
Sleep(20)
WinSetTrans($nazwa_okna, "", 120)
Sleep(20)
WinSetTrans($nazwa_okna, "", 130)
Sleep(20)
WinSetTrans($nazwa_okna, "", 140)
Sleep(20)
WinSetTrans($nazwa_okna, "", 150)
Sleep(20)
Sleep(20)
WinSetTrans($nazwa_okna, "", 160)
Sleep(20)
WinSetTrans($nazwa_okna, "", 170)
Sleep(20)
WinSetTrans($nazwa_okna, "", 180)
Sleep(20)
WinSetTrans($nazwa_okna, "", 190)
Sleep(20)
WinSetTrans($nazwa_okna, "", 200)
Sleep(20)
WinSetTrans($nazwa_okna, "", 210)
Sleep(20)
WinSetTrans($nazwa_okna, "", 220)
Sleep(20)
WinSetTrans($nazwa_okna, "", 230)
Sleep(20)
WinSetTrans($nazwa_okna, "", 240)
Sleep(20)
WinSetTrans($nazwa_okna, "", 247)
Sleep(20)
WinSetTrans($nazwa_okna, "", 255)

 

nie zachęcające co ? przy pisaniu każdej aplikacji z gui musielibyśmy męczyć się i zaśmiecać kod

lecz jest na to rozwiązanie !

 

1.Tworzymy nowy plik .au3

 

2.tworzymy naszą funkcje gui_trans($nazwa_okna)

 

3 Pod nią wklejamy kod pojawiania się gui

 

4.Lecz niestety nasz kod nie będzie działał , po pierwsze skąd kompliator ma wiedzięc gdzie jest funkcja w kodzie czy w include?

 

Dlatego w naszym pliku .au3 przed gui_trans musimy postawić pewien znak :

 

_gui_trans($nazwa_okna)

narazie powinno wyglądać to tak :

 

       _gui_trans($nazwa_okna)
       GUISetState(@SW_HIDE)
WinSetTrans($nazwa_okna, "", 0)
GUISetState(@SW_SHOW)
Sleep(20)
WinSetTrans($nazwa_okna, "", 10)
Sleep(20)
Sleep(20)
Sleep(20)

WinSetTrans($nazwa_okna, "", 20)
Sleep(20)
Sleep(20)

WinSetTrans($nazwa_okna, "", 30)
Sleep(20)
Sleep(20)

WinSetTrans($nazwa_okna, "", 40)
Sleep(20)
Sleep(20)
WinSetTrans($nazwa_okna, "", 50)
Sleep(20)
WinSetTrans($nazwa_okna, "", 60)
Sleep(20)
WinSetTrans($nazwa_okna, "", 70)
Sleep(20)
WinSetTrans($nazwa_okna, "", 80)
Sleep(20)
Sleep(20)
WinSetTrans($nazwa_okna, "", 90)
Sleep(20)
WinSetTrans($nazwa_okna, "", 100)
Sleep(20)
Sleep(20)
WinSetTrans($nazwa_okna, "", 110)
Sleep(20)
WinSetTrans($nazwa_okna, "", 120)
Sleep(20)
WinSetTrans($nazwa_okna, "", 130)
Sleep(20)
WinSetTrans($nazwa_okna, "", 140)
Sleep(20)
WinSetTrans($nazwa_okna, "", 150)
Sleep(20)
Sleep(20)
WinSetTrans($nazwa_okna, "", 160)
Sleep(20)
WinSetTrans($nazwa_okna, "", 170)
Sleep(20)
WinSetTrans($nazwa_okna, "", 180)
Sleep(20)
WinSetTrans($nazwa_okna, "", 190)
Sleep(20)
WinSetTrans($nazwa_okna, "", 200)
Sleep(20)
WinSetTrans($nazwa_okna, "", 210)
Sleep(20)
WinSetTrans($nazwa_okna, "", 220)
Sleep(20)
WinSetTrans($nazwa_okna, "", 230)
Sleep(20)
WinSetTrans($nazwa_okna, "", 240)
Sleep(20)
WinSetTrans($nazwa_okna, "", 247)
Sleep(20)
WinSetTrans($nazwa_okna, "", 255)

 

 

do szczęscia brakuje nam tylko jednej linijki przed kodem musimy wpisać #include_once

       #include_once
       _gui_trans($nazwa_okna)
       GUISetState(@SW_HIDE)
WinSetTrans($nazwa_okna, "", 0)
GUISetState(@SW_SHOW)
Sleep(20)
       ......

teraz zapisujemy wklejemy do folderu include

Piszemy nowy skrypt z gui np :

#include <GuiConstantsEx.au3>
#include <gui_prof.au3>
$wys_gui= 450
$szer_gui = 500
GUICreate("Notepad",$szer_gui,$wys_gui)
$polecenia = GUICtrlCreateInput("",20,50)
_gui_trans("Notepad")
While 1
$msg = GUIGetMsg()
Select
	Case $msg = $GUI_event_close
		Exit
EndSelect
WEnd

 

oszczędziliśmy jakiś 70 linijek oczywiście możemy pisać swoje inne własne funkcje w tym include i stworzyć naprawdę dużą bibliotekę przydatnych funkcji do gui

liczylem na barce lecz ona niemogla wygrac.

Przez kibicow ktorzy przy rzutach roznych wolnych swiecili w messiego laserami

Opublikowano

hmm... niby proste ale można prościej

 

DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", SPOSÓB_ANIMACJI )

SPOSÓB_ANIMACJI - wartości są na przykładach

1000 - czas wykonywania animacj w milisekundach

przykłady na kilkanaście animacji okna gui

$Form = GUICreate ( "Animnowane okno w AutoIt", 300, 300 )
GUISetState ( )

DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00080000 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00090000 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00040001 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1, "long", 0x00090000 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00040002 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1, "long", 0x00090000 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00040004 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1, "long", 0x00090000 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00040008 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1, "long", 0x00090000 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00040005 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1, "long", 0x00090000 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00040006 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1, "long", 0x00090000 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00040009 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1, "long", 0x00090000 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x0004000a )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1, "long", 0x00090000 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00040010 )
Sleep(1000)
DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 1000, "long", 0x00050010 )
Sleep(1000)

 

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

To miało pokazać jak zrobić include'a a nie jak zrobić pojawiające się okno , tego użyłem jako przykładu

liczylem na barce lecz ona niemogla wygrac.

Przez kibicow ktorzy przy rzutach roznych wolnych swiecili w messiego laserami

Opublikowano

nazwij to dokładniej własny UDF - User Defined Functions

i specjalizacja właściwie zrobionego UDF czyli opis jaki powinien być zawarty jeśli chcemu go opublikować : http://www.autoitscript.com/autoit3/udfs/UDF_Standards.htm

 

popraw w skrypcie właściwą budowe , nie wszyscy wiedzą gdzie zapisac #include_once

 

przy okazji dodam że UDF też może czasem używać standartowych funkcji z Include to i należy je dopiasć także we własnym pisanym pod #include_once

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

adwi32:

Idiotyzm.

Za pomocą następującego kodu:

 

For $i = 0 to 255
WinSetTrans("Nazwa Okna","",$i)
Sleep(2)
Next

 

"O.szczędziłem" sobie --_-- 70 linii kodu w przeciągu piętnastu sekund --_--

 

robem:

Leci plus za DllCall'a z animacjami. A kiedyś się ciebie pytałem, jak zrobic "wyjezdzajace" okienko to zes nie chcial powiedziec ;/

Ten topic:

http://www.mpcforum.pl/topic/175759-wyjezdzajace-okienko-nad-trayem/page__p__1167174__fromsearch__1#entry1167174

 

No ale lepiej późno niż wcale :D

Ta sygnatura jest pusta.

Opublikowano

To jest tut jak zrobić include'a ( UDF )

 

Mam przesylabować?

liczylem na barce lecz ona niemogla wygrac.

Przez kibicow ktorzy przy rzutach roznych wolnych swiecili w messiego laserami

Opublikowano

no wiemy, wiemy ;)

 

tylko dodaj skąd taka nazwa i pochodzenie potocznej nazwy plików w include utworzonych przez użytkowników programu , sama stopka dużo daje. swiadczy że autor udostępnia kod żródłowy skryptu (do dalszej modyfikacji albo i nie) i możesz go użyć bez łamania jakichkolwiek praw autorskich byle zachować oryginalny stan pliku . a najważniejszą opcją w include jest opis sposobu użycia funkcji, w twoim przypadku 1 opcja w nim=nnych nawet kilkanaście

o i jeszcze jedno , w takim pliku niekoniecznie musi być zawarta jedna funkcja , można kilka

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

" oczywiście możemy pisać swoje inne własne funkcje w tym include i stworzyć naprawdę dużą bibliotekę przydatnych funkcji do gui" :)

 

jutro dodam dodatkowe informacje

liczylem na barce lecz ona niemogla wygrac.

Przez kibicow ktorzy przy rzutach roznych wolnych swiecili w messiego laserami

  • 2 miesiące temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...