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

Opublikowano

Cześć słuchajcie chciałbym żeby po wprowadzenie jakiegos słowa w input wyskoczył msgbox kod wyglada tak 

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <misc.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Czerwony98", 473, 256, 192, 124)
$Button1 = GUICtrlCreateButton("Info", 32, 168, 177, 49)
$Label1 = GUICtrlCreateLabel("Tutaj wprowadz kod", 256, 152, 164, 17)
$Input1 = GUICtrlCreateInput("xxxx-xxxx-xxxx-xxxx", 248, 184, 177, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	$dll = DllOpen ("user32.dll")
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
		exit
		Case $Button1
			MsgBox(0, "Get free diamonds", "Get free diamonds just enter to my fp and get code fb.pl/czerwony98")
			If $Input1 = "kapi" Then
			MsgBox (0, "Kod","Kod poprawny, na twoje konto zostanie przelane 10 diamentow! :)")
			EndIf
			DllClose ($dll)
	EndSwitch
WEnd

Opublikowano

Masz w kodzie błąd. Porównujesz zmienną $Input1 ze stringiem "kapi".

To zawsze da ci False, bo $Input zawiera uchwyt (liczbowy identyfikator) do kontrolki, a nie jej zawartość. To porównanie nie ma sensu.

Zawartość kontrolki INPUT odczytasz funkcją GUICtrlRead, której parametrem musi być uchwyt.

Nie wiem do czego jest ci potrzebna linia: $dll = DllOpen ("user32.dll").

Otwierasz tu systemowy DLL, a następnie zamykasz go (DllClose ($dll)) nie wywołując z niego żadnej funkcji. To chyba też jest bez sensu?

Tak na marginesie polecam lekturę mojego podręcznika do AutoIt na Wikibooks: https://pl.wikibooks.org/wiki/AutoIt

Myślę, że możesz się z niego wiele nauczyć. Stosuj też prawidłowe prefiksy nazw zmiennych, dzięki temu może nie pomylisz już uchwytu ze stringiem: https://pl.wikibooks.org/wiki/AutoIt/Biblioteki

 

Wracając do twojego kodu, to myślę, że powinien on wyglądać mniej więcej tak:

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <misc.au3>

$hForm1 = GUICreate("Czerwony98", 473, 256, 192, 124)
$hButton1 = GUICtrlCreateButton("Info", 32, 168, 177, 49)
$hButton2 = GUICtrlCreateButton("Zatwierdź kod", 260, 210, 150, 29)
$hButton3 = GUICtrlCreateButton("Koniec programu", 32, 220, 177, 29)
$hLabel1 = GUICtrlCreateLabel("Tutaj wprowadź kod", 256, 152, 164, 17)
$hInput1 = GUICtrlCreateInput("", 248, 184, 177, 21)
GUISetState(@SW_SHOW)
ControlFocus("", "", $hInput1)  ;kursor do kontrolki INPUT
  
Do    
  $iMsg = GUIGetMsg()    
  Switch $iMsg        
     Case $hButton1            
        MsgBox(0, "Get free diamonds", "Get free diamonds just enter to my fp and get code fb.pl/czerwony98")        
     Case $hButton2            
        $sKod = GUICtrlRead($hInput1)  ;odczyt zawartości kontrolki INPUT            
        If $sKod = "kapi" Then                
           MsgBox (0, "Kod","Kod poprawny, na twoje konto zostanie przelane 10 diamentow! :)")
        Else
           MsgBox (0, "Kod","Kod niepoprawny!", 1)            
        EndIf
     Case $hButton3
        ExitLoop    
  EndSwitch
Until $iMsg = $GUI_EVENT_CLOSE

Pozdrawiam

Wasta

Opublikowano

Masz w kodzie błąd. Porównujesz zmienną $Input1 ze stringiem "kapi".

To zawsze da ci False, bo $Input zawiera uchwyt (liczbowy identyfikator) do kontrolki, a nie jej zawartość. To porównanie nie ma sensu.

Zawartość kontrolki INPUT odczytasz funkcją GUICtrlRead, której parametrem musi być uchwyt.

Nie wiem do czego jest ci potrzebna linia: $dll = DllOpen ("user32.dll").

Otwierasz tu systemowy DLL, a następnie zamykasz go (DllClose ($dll)) nie wywołując z niego żadnej funkcji. To chyba też jest bez sensu?

Tak na marginesie polecam lekturę mojego podręcznika do AutoIt na Wikibooks: https://pl.wikibooks.org/wiki/AutoIt

Myślę, że możesz się z niego wiele nauczyć. Stosuj też prawidłowe prefiksy nazw zmiennych, dzięki temu może nie pomylisz już uchwytu ze stringiem: https://pl.wikibooks.org/wiki/AutoIt/Biblioteki

 

Wracając do twojego kodu, to myślę, że powinien on wyglądać mniej więcej tak:

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <misc.au3>

$hForm1 = GUICreate("Czerwony98", 473, 256, 192, 124)
$hButton1 = GUICtrlCreateButton("Info", 32, 168, 177, 49)
$hButton2 = GUICtrlCreateButton("Zatwierdź kod", 260, 210, 150, 29)
$hButton3 = GUICtrlCreateButton("Koniec programu", 32, 220, 177, 29)
$hLabel1 = GUICtrlCreateLabel("Tutaj wprowadź kod", 256, 152, 164, 17)
$hInput1 = GUICtrlCreateInput("", 248, 184, 177, 21)

GUISetState(@SW_SHOW)
ControlFocus("", "", $hInput1)  ;kursor do kontrolki INPUT

Do
    $iMsg = GUIGetMsg()
    Switch $iMsg
        Case $hButton1
            MsgBox(0, "Get free diamonds", "Get free diamonds just enter to my fp and get code fb.pl/czerwony98")
        Case $hButton2
            $sKod = GUICtrlRead($hInput1)  ;odczyt zawartości kontrolki INPUT
            If $sKod = "kapi" Then
                MsgBox (0, "Kod","Kod poprawny, na twoje konto zostanie przelane 10 diamentow! :)")
            Else
                MsgBox (0, "Kod","Kod niepoprawny!", 1)
            EndIf
        Case $hButton3
            ExitLoop
    EndSwitch
Until $iMsg = $GUI_EVENT_CLOSE


Pozdrawiam

Wasta

Właśnie tak powinno być wszystko tłumaczone - konkretnie i na temat.Sorki że sam nie potrafiłem (z powodu późnej pory) ale przynajmniej starałem się naprowadzić.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...