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

Rekomendowane odpowiedzi

  • 3 tygodnie później...
Opublikowano

Nie działa:

C:\Users\Piotrek\Desktop\Test.au3(93,30) : WARNING: $Button2: possibly used before declaration.
		    Case $Button2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Piotrek\Desktop\Test.au3(101,5) : ERROR: syntax error (illegal character)
okreś
~~~~^
C:\Users\Piotrek\Desktop\Test.au3(93,30) : ERROR: $Button2: undeclared global variable.
		    Case $Button2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Piotrek\Desktop\Test.au3(71,30) : ERROR: Stop(): undefined function.
				    Stop()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Piotrek\Desktop\Test.au3(79,31) : ERROR: About(): undefined function.
				    About()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Piotrek\Desktop\Test.au3(81,31) : ERROR: Exxit(): undefined function.
				    Exxit()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Piotrek\Desktop\Test.au3 - 5 error(s), 1 warning(s)

Opublikowano

#include <buttonconstants.au3>
#include <editconstants.au3>
#include <guiconstantsex.au3>
#include <staticconstants.au3>
#include <windowsconstants.au3>
#include <ie.au3>
#include <file.au3>
#include <array.au3>
#include <string.au3>
#include <constants.au3>
#include <guiedit.au3>

FileInstall("D:\green_on.bmp", @TempDir & "\green_on.bmp") ;Dodaje obrazek do pliku *exe
FileInstall("D:\green_off.bmp", @TempDir & "\green_off.bmp") ;Dodaje obrazek do pliku *exe
FileInstall("D:\orange_on.bmp", @TempDir & "\orange_on.bmp") ;Dodaje obrazek do pliku *exe
FileInstall("D:\orange_off.bmp", @TempDir & "\orange_off.bmp") ;Dodaje obrazek do pliku *exe
FileInstall("D:\qqqqqq.bmp", @TempDir & "\qqqqqq.bmp") ;Dodaje obrazek do pliku *exe

$OknoPassword = GUICreate("Auto Freshener by GameOverMan", 306, 122, 869, 397)
$Next = GUICtrlCreateButton("Next", 64, 80, 65, 25, $WS_GROUP)
$Exit = GUICtrlCreateButton("Exit", 176, 80, 65, 25, $WS_GROUP)
$Input1 = GUICtrlCreateInput("", 72, 48, 161, 21, $ES_PASSWORD)
$Label1 = GUICtrlCreateLabel("Enter the password to start the program:", 62, 24, 192, 17)
GUISetState(@SW_SHOW) ; GUI ma być aktywne, pokazane jakoś tak to odbieram bez tego chyba nie byłoby pokazane, nie sprawdzałem.

While 1 ; Początek pierwszej pętli
	$nMsg = GUIGetMsg() ; Instrukcje dla GUI
	Switch $nMsg ; Połączenie GUI z przyciskami - ja to tak przynajmniej rozumie jak źle to sorry.
			Case $GUI_EVENT_CLOSE ;Instrukcja dla przycisku X
					Exit ;Wyjście z programu po jeżeli przycisk zostanie kliknięty
			Case $Next
					If GUICtrlRead($Input1) = "www.euforium.eu" Then ;Jeżeli w polu $Input1 znajduje się www.euforium.eu
							GUIDelete() ; wtedy usunąć obecne GUI
							Sleep(100)
							$OknoProgramu = GUICreate("Auto Freshener by GameOverMan", 401, 451, 192, 124) ; Tworzy główne okno programu
							$CreateIE = _IECreateEmbedded() ; Tworzy okno przeglądarki
							$OknoIE = GUICtrlCreateObj($CreateIE, 16, 144, 369, 289) ; Umieszcza okno okno przeglądarki na formie
							$Start = GUICtrlCreateButton("Start", 16, 88, 121, 41, $WS_GROUP)
							$Stop = GUICtrlCreateButton("Stop", 168, 88, 121, 41, $WS_GROUP)
							$About = GUICtrlCreateButton("About", 312, 47, 73, 25, $WS_GROUP)
							$Exit = GUICtrlCreateButton("Exit", 312, 95, 73, 25, $WS_GROUP)
							$Input1 = GUICtrlCreateInput("http://www.euforium.eu/", 64, 16, 321, 21)
							$Input2 = GUICtrlCreateInput("300", 80, 48, 57, 21)
							$Input3 = GUICtrlCreateInput("2", 232, 48, 57, 21)
							$Label1 = GUICtrlCreateLabel("Address:", 16, 19, 45, 17)
							$Label2 = GUICtrlCreateLabel("Repetitions:", 16, 51, 60, 17)
							$Label3 = GUICtrlCreateLabel("Intervals [s]:", 168, 51, 61, 17)
							$Label4 = GUICtrlCreateLabel("Created by GameOverMan for Euforium.eu", 99, 435, 204, 17)
							GUISetState(@SW_SHOW)
							$Pic1 = GUICtrlCreatePic(@TempDir & "\green_off.bmp", 24, 72, 44, 12) ; Odczytuje wcześniej pobrane obrazki ze swojej bazy
							$Pic2 = GUICtrlCreatePic(@TempDir & "\orange_off.bmp", 80, 72, 44, 12) ; To samo co wyżej, obrazki trzeba umieszczać po GUISetState(@SW_SHOW) inaczej przyciski w GUI nie będą reagować
							$Play = False ; Zmienna odpowiadająca później wykonywanie pracy programu
							$Timer = TimerInit() ; Zatwierdza timer

While 1 ;Początek drugiej pętli
	$nMsg = GUIGetMsg()
	Switch $nMsg
			Case $GUI_EVENT_CLOSE
					Exit
			Case $Start ; Instrukcje do wykonania po naciśnięciu przycisku $Start
					GUICtrlSetState($Start, $GUI_DISABLE) ; Przycisk $Start robi się nieaktywny
					GUICtrlSetState($Input1, $GUI_DISABLE) ; Pole $Input1 robi się nieaktywne
					GUICtrlSetState($Input2, $GUI_DISABLE)
					GUICtrlSetState($Input3, $GUI_DISABLE)
					GUICtrlSetImage($Pic1, @TempDir & "\green_on.bmp") ; Ciemny zielony prostokąt robi się jasnozielony
					$Play = True ; Zmienna $Play ma zmienić swoją wartość z False na True
					$Adres = GUICtrlRead($Input1) ; Do zmiennej $Adres przypisywane są znaki zawarte w polu $Input1
					$Ilosc = GUICtrlRead($Input2)
					$Czas = GUICtrlRead($Input3)
			Case $Stop ; Instrukcje do wykonania po naciśnięciu przycisku $Stop
					Stop()
					GUICtrlSetState($Start, $GUI_ENABLE) ; Przycisk $Start robi się aktywny
					GUICtrlSetState($Input1, $GUI_ENABLE) ; Pole $Input1 robi się aktywne
					GUICtrlSetState($Input2, $GUI_ENABLE)
					GUICtrlSetState($Input3, $GUI_ENABLE)
					GUICtrlSetImage($Pic1, @TempDir & "\green_off.bmp") ; Prostokąt zmienia kolor(obrazek) na ten sprzed wciśnięcia przycisku $Start czyli na ciemnozielony
					GUICtrlSetImage($Pic2, @TempDir & "\orange_off.bmp") ; To samo co wyżej ale to jest chyba nawet nie potrzebne dałem tak na wszelki wielki, żeby mieć pewność, że po wciśnięciu przycisku $Stop prostokąt będzie pomarańczowy (zmienia się na jaskrawopomarańczowy podczas wykonywania funkcji $Start)
			Case $About
					About() ; Uruchamia funkcję About()
			Case $Exit
					Exxit() ; Zamyka program
	EndSwitch ;

			If $Play And TimerDiff($Timer) > $Czas * 1000 And $Ilosc > 0 Then ; Jeżeli $Play jest prawda i Timer jest większy od wartości zmiennej $Czas (co chyba zawsze jest prawdą jeżeli zmienna czas ma wartość dodatnią) razy 1000 i wartość zmiennej $Ilość jest większa od 0
					Start() ; wtedy uruchom funkcję Start()
					$Timer = TimerInit() ; Zatwierdza timer
			EndIf ; Koniec instrukcji dla If
WEnd ; Koniec drugiej pętli

					Else ; w przeciwnym razie (odnosi się to do If przed początkiem drugiej pętli czyli jeżeli wartość pola $Input1 jeszcze w pierwszym GUI to nie www.euforium.pl
							MsgBox(48, "Error", "The password is incorrect.") ; wtedy pokaż okienko z komunikatem
  EndIf ; Koniec instrukcji dla If (sprzed początku drugiej pętli)
			Case $Exit
					Exit ; Instrukcja wyjścia z programu po naciśnięciu przycisku $Exit w pierwszym oknie
EndSwitch
WEnd ; Koniec pierwszej pętli

Func Start() ; Funkcja Start() - jej początek
	_IENavigate($CreateIE, $Adres) ; Adres strony która ma się pojawić w $CreateIE czyli oknie przeglądarki, $Adres - czyli wartość zmiennej pobrana wcześniej z pola $Input1, czyli adres strony która ma się pojawić
	$Ilosc = $Ilosc - 1 ; Instrukcja warunkowa If jest wykonywana dopóki zmienna $Ilosc ma wartość większą od 0, oczywiście wartość tej zmiennej musi być za każdym razem zmniejszana o jeden jeżeli program ma zakończyć swoją pracę po wykonaniu
;określonej ilości funkcji Start()
	GUICtrlSetData($Input2, $Ilosc) ; Za każdym wykonaniem funkcji wartość pola $Input2 w GUI programu ma zostać zmieniona na wartość zmiennej $Ilosc, która tuż przed zmianą została zmniejszona o 1
	GUICtrlSetImage($Pic2, @TempDir & "\orange_on.bmp") ; Obrazek czyli pomarańczowy prostokąt robi się jaskrawo zielony
	Sleep(100) ; mija 0,1 sekundy
	GUICtrlSetImage($Pic2, @TempDir & "\orange_off.bmp") ; Obrazek jest znowu zmieniany na zwykły pomarańczowy prostokąt - dzięki temu zapala się na 0,1 sekundy podczas wykonywania pętli
EndFunc ; Koniec funkcji Start()


Func About() ; Początek funkcji About()
$OknoAbout = GUICreate("About", 301, 151, 433, 312)
$Button1 = GUICtrlCreateButton("Close", 17, 112, 266, 25, $WS_GROUP)
$Label1 = GUICtrlCreateLabel("Name: Auto Freshener", 120, 8, 110, 17)
$Label2 = GUICtrlCreateLabel("Version: 1.0", 120, 26, 60, 17)
$Label3 = GUICtrlCreateLabel("Copyright Š 2012 by GameOverMan", 120, 44, 176, 17)
$Label4 = GUICtrlCreateLabel("All rights reserved", 120, 62, 87, 17)
$Label5 = GUICtrlCreateLabel("Website: http://euforium.eu/", 120, 80, 162, 17)
GUISetState(@SW_SHOW)
$Pic1 = GUICtrlCreatePic(@TempDir & "\qqqqqq.bmp", 10, 10, 87, 84) ; Obrazek oczywiście pod GUISetState(@SW_SHOW)

While 1 ; Początek 3 pętli
	$nMsg = GUIGetMsg()
	Switch $nMsg
			Case $GUI_EVENT_CLOSE
					GUIDelete() ; Jeżeli klikniemy na przycisk X to GUI ma zostać usunięte, Exit zamyka cały program
					ExitLoop ; Po usunięciu ma wyjść z pętli ale to chyba nie potrzebne, nie sprawdzałem bez tego
			Case $Button1 ; To samo co wyżej tylko dla przycisku $Button1
					GUIDelete()
					ExitLoop
	EndSwitch
WEnd ; Koniec trzeciej pętli
EndFunc ; Koniec funkcji About()

Func Stop() ; Początek funkcji Stop()
	$Play = False ; Zmienna $Play zmienia swoją wartość na False, a wiadomo, w instrukcja warunkowa If nie wykona poleceń jeżeli wszystko nie będzie spełnione w tym przypadku zmienna $Play nie będzie już True
EndFunc ; Koniec funkcji Stop()

Func Exxit() ; Początek funkcji Exxit() - napisałem przez dwa x bo normalnie robi co innego, tak samo nie możemy dać nazwy funkcji cos()
	Exit ; Zamyka program
EndFunc ; Koniec funkcji Exxit()

obraz24.png


Opublikowano

1.

tak ja up mówi, na control send w zależności od przeglądarki.

2. To zadziała tylko na IE.

3. GUI tworzysz na początku, potem je tylko wyświetlasz.

4. Jakbyś oszczędził sobie niepotrzebnych "bajerów" to dałbyś rade w 10 linijkach

5. Patrz co z include jest potrzebne, bo koda wali wszystko, a potem niepotrzebne zmienne/funckje w pamięci ślęczą

Opublikowano

1. na chrome będzie chujowo działać

który robi coś konkretnego i jest bardziej skomplikowany (przynajmniej dla mnie).

 

po przeczytaniu tego od razu pomyślałem "

kurwa eureka curl + wielowątkowość"

 

jednakże zobaczyłem same gui i funkcje _IENavigate :|

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...