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][KOD] Checkbox`y - Opis i działanie


Rekomendowane odpowiedzi

Opublikowano

Witajcie!

 

W tym tutku wyjaśnimy sobie nieco o Checkbox`ach w AutoIT.

 

Zastrzegam sobie prawa do tutoriala. Proszę o nie rozpowszechnianie kodu jak i tutorialu bez mojej zgody!

 

#Budowa:

GUICtrlCreateCheckbox ( "Tekst", lewy, góra , długość, wysokość)

 

#Tworzenie programu (przykładowy):

 

Na początek idzie nasze okienko:

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Test", 210, 90, 311, 381)  ; - Nasze okienko
$Checkbox1 = GUICtrlCreateCheckbox("Dodać 1?", 8, 8, 73, 17)   ; - Checkbox 1
$Checkbox2 = GUICtrlCreateCheckbox("Dodać 2?", 8, 32, 73, 17)   ; - Checkbox 2
$Input1 = GUICtrlCreateInput("Zmienna 1", 88, 8, 113, 21)	; - Input 1
$Input2 = GUICtrlCreateInput("Zmienna 2", 88, 32, 113, 21)	; - Input 2
$Button1 = GUICtrlCreateButton("Pokaz", 56, 56, 97, 25, $WS_GROUP)   ; - Przycisk do uruchomienia naszego skryptu
GUISetState(@SW_SHOW)

 

Nasza pętelka i wprowadzone do niej opcje:

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
 Case $GUI_EVENT_CLOSE
  Exit
 Case $Button1
  If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
$lol1=GuiCtrlRead($Input1)
	  $lol3=("")
	 Else
	  $lol1=("")
	 EndIf
		If GUICtrlRead($Checkbox2) = $GUI_CHECKED Then
	  $lol2=GuiCtrlRead($Input2)
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
 $lol1=GuiCtrlRead($Input1)
		  $lol3=(" i ")
Else
 $lol3=("")
   EndIf
	 Else
	  $lol2=("")
  EndIf
			$msg=msgbox(0,"Test", $lol1 & $lol3 & $lol2)
EndSwitch
WEnd

 

#Pełen kod

 

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Test", 210, 90, 311, 381)
$Checkbox1 = GUICtrlCreateCheckbox("Dodać 1?", 8, 8, 73, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Dodać 2?", 8, 32, 73, 17)
$Input1 = GUICtrlCreateInput("Zmienna 1", 88, 8, 113, 21)
$Input2 = GUICtrlCreateInput("Zmienna 2", 88, 32, 113, 21)
$Button1 = GUICtrlCreateButton("Pokaz", 56, 56, 97, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
 Case $GUI_EVENT_CLOSE
  Exit
 Case $Button1
  If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
$lol1=GuiCtrlRead($Input1)
	  $lol3=("")
	Else
	  $lol1=("")
	 EndIf
		If GUICtrlRead($Checkbox2) = $GUI_CHECKED Then
	  $lol2=GuiCtrlRead($Input2)
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
 $lol1=GuiCtrlRead($Input1)
		  $lol3=(" i ")
Else
 $lol3=("")
   EndIf
	 Else
	  $lol2=("")
  EndIf
			$msg=msgbox(0,"Test", $lol1 & $lol3 & $lol2)
EndSwitch
WEnd

 

 

 

#Opis funkcji:

W naszym programie mamy 3 zmienne:

$lol1 = zmienna z input 1

$lol2 = zmienna z input 2

$lol3 = zmienna (tekst: i ) do okienka gdy nam się pokażą 2 inputy

 

Część 1:

If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then	  ; - Jeśli Checbox 1 jest zaznaczony to...
$lol1=GuiCtrlRead($Input1)	  ; - Czyta zmienną z Input 1
	  $lol3=("")	; - nasza opcja jest pusta bo czyta nam tylko jedną zmienną
	 Else	; - w przeciwnym razie
	  $lol1=("")	; - oczywista jeśli input jest niezaznaczony to nasza zmienna jest pusta
	 EndIf	; - kończy If`a

 

Część 2:

		If GUICtrlRead($Checkbox2) = $GUI_CHECKED Then	 ; - Jeśli Checkbox 2 jest zaznaczony to...
   		 $lol2=GuiCtrlRead($Input2)	  ; - Czyta zmienną z Input 2
			If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then	 ; - Dodatkowo jeśli Checkbox 1 jest zaznaczony to...
				$lol1=GuiCtrlRead($Input1)	 ; - Czyta także zmienną z Input 1
   			 $lol3=(" i ")	; - Więc nasza opcja jest już "pełna" bo czyta nam dwie zmienne (Input 1 i Input 2)
			Else   ; - w przeciwnym razie (gdy input 1 nie jest "pełen"
				$lol3=("")	; - to nasza opcja jest pusta
	   	 EndIf	; - koniec If`a
  		 Else	; - w przeciwnym razie gdy nasz input 2 jest pusty a np input 1 pełny
   		 $lol2=("")	; - to nasza opcja jest także pusta
		EndIf

 

Część 3:

 

Nasze okienko końcowe pokazujące rezultaty... ustawiające zmienne w kolejności:

$msg=msgbox(0,"Test", $lol1 & $lol3 & $lol2)

 

#Działanie

 

Na początek wpiszemy sobie przykładowo dane:

43162436.png

 

Zaznaczamy "Dodać 1?" i klikamy "Pokaz". Naszym oczom się ukazuje:

33123506.png

 

Zaznaczamy "Dodać 2?" i klikamy "Pokaz". Naszym oczom się ukazuje:

74574728.png

 

Zaznaczamy "Dodać 1?" oraz "Dodać 2?" i klikamy "Pokaz". Naszym oczom się ukazuje:

33784239.png

9obpmnjr.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...