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

[Pytanie] Checkbox


Rekomendowane odpowiedzi

Opublikowano

Czas na naukę następnego aspektu autoita. Checkbox. Jak zastosować go w praktyce? Jak zrobić tak żeby gdy jest odznaczony była jedna funkcja a gdy zaznacze przerywa się pierwsza i zaczyna druga?

comment_aKm2b5jSiJgvkhmrlSzZ5Yc80OK7Mzta

Opublikowano

jeżeli jest zaznaczony to

 If GUICtrlRead($Checkbox1) == $GUI_CHECKED Then ; oczywiscie jest to przykład który czytaczy w gui jest zaznaczony
; co ma sie robic gdy zaznaczony
EndIf

a co do nie zaznaczonego to jak nie zaznaczysz to po prostu bd tak jak by go nie było

Opublikowano

If GUICtrlRead($Checkbox1) = 0 Then ; odznaczony

 

 

endif

 

 

 

0 i false to fałsz

1 i true prawda

 

 

 

@edit

jak znasz funkcje to nie powinieneś mieć problemu, ale jakby co to pisz.

Opublikowano

dam ci na przykładzie :

masz 5 checkboxow

:

If GUICtrlRead($Checkbox1) == $GUI_CHECKED Then
  ;akcja
 EndIf
 If GUICtrlRead($Checkbox2) == $GUI_CHECKED Then
  ;akcja
 EndIf
 If GUICtrlRead($Checkbox3) == $GUI_CHECKED Then
  ;akcja
 EndIf
 If GUICtrlRead($Checkbox4) == $GUI_CHECKED Then
;akcja
 EndIf
 If GUICtrlRead($Checkbox5) == $GUI_CHECKED Then
  ;akcja
 EndIf

i gdy 1 nie jest zaznaczony idzie do 2 i tak do końca aż do 5

 

tak jak napisał KingSP1MPC też moża

Opublikowano

#include <ButtonConstants.au3>

#include <GUIConstantsEx.au3>

#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=

$Form1 = GUICreate("Form1", 189, 82, 192, 124)

$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 8, 24, 137, 33)

GUISetState(@SW_SHOW)

#EndRegion ### END Koda GUI section ###

 

While 1

$nMsg = GUIGetMsg()

Switch $nMsg

Case $GUI_EVENT_CLOSE

Exit

 

If GUICtrlRead($Checkbox1) == $GUI_CHECKED Then

Sleep(1000)

Send("Z")

Sleep(1000)

Send("Z")

Sleep(1000)

Send("Z")

Sleep(1000)

Send("Z")

EndIf

 

EndSwitch

WEnd

 

 

 

Nie działa

 

 

@up ale ja myślałem bardziej o tym żeby gdy mam zaznaczone 2 checkboxy żeby oba wykonać

comment_aKm2b5jSiJgvkhmrlSzZ5Yc80OK7Mzta

Opublikowano

jeżeli robisz uchwyt pod jakimś elementem gui używaj warunku case. pod case ify będą działać.

 

 

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 189, 82, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 8, 24, 137, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###



While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $Checkbox1
Sleep(1000)
Send("Z")
Sleep(1000)
Send("Z")
Sleep(1000)
Send("Z")
Sleep(1000)
Send("Z")

EndSwitch
WEnd

Opublikowano

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 294, 213, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 144, 8, 105, 33)
$Button1 = GUICtrlCreateButton("Button1", 144, 48, 97, 49, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
 Case $GUI_EVENT_CLOSE
  Exit
  case $Button1
  If GUICtrlRead($Checkbox1) == $GUI_CHECKED Then
Sleep(1000)
  Send("Z")
  Sleep(1000)
  Send("Z")
  Sleep(1000)
  Send("Z")
  Sleep(1000)
  Send("Z")
EndIf
EndSwitch
WEnd

teraz działa

 

co do tego by "gdy są wcisniete 2 to działa"

to robisz tak :

 

If GUICtrlRead($Checkbox1) == $GUI_CHECKED And

GUICtrlRead($Checkbox2) == $GUI_CHECKED Then

;cos tam

EndIf

Opublikowano

Nie rozumiemy się. Chodzi mi o to taki skrypt:

  • Wciśnięty 1 box: klika z co sekundę
  • Wciśnięty drugi box: klika o co 2 sekundy
  • Wciśnięte oba checkboxy: klika z i o

comment_aKm2b5jSiJgvkhmrlSzZ5Yc80OK7Mzta

Opublikowano

a to przykład z 2 gdy wcisniesz button to sprawdza czy checkbox 1 i 2 sa wcisnete

#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 117, 164, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 8, 16, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 8, 40, 97, 17)
$Button1 = GUICtrlCreateButton("Button1", 16, 72, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
 Case $GUI_EVENT_CLOSE
  Exit
  case $Button1
  If GUICtrlRead($Checkbox1) == $GUI_CHECKED And
  If GUICtrlRead($Checkbox2) == $GUI_CHECKED Then
Sleep(1000)
  Send("Z")
  Sleep(1000)
  Send("Z")
  Sleep(1000)
  Send("Z")
  Sleep(1000)
  Send("Z")
EndIf
EndSwitch
WEnd

Opublikowano

sprawdz to :

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 117, 164, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 8, 16, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 8, 40, 97, 17)
$Button1 = GUICtrlCreateButton("Button1", 16, 72, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
 Case $GUI_EVENT_CLOSE
  Exit
  case $Button1
  If GUICtrlRead($Checkbox1) == $GUI_CHECKED And
  If GUICtrlRead($Checkbox2) == $GUI_CHECKED Then
Sleep(1000)
  Send("Z")
  Sleep(1000)
  Send("O")
  Sleep(1000)
  Send("Z")
  Sleep(1000)
  Send("O")
EndIf
If GUICtrlRead($Checkbox1) == $GUI_CHECKED Then

Sleep(1000)
  Send("Z")
  Sleep(1000)
  Send("z")
  Sleep(1000)
  Send("Z")
  Sleep(1000)
  Send("z")
EndIf
If GUICtrlRead($Checkbox2) == $GUI_CHECKED Then
Sleep(1000)
  Send("o")
  Sleep(1000)
  Send("O")
  Sleep(1000)
  Send("o")
  Sleep(1000)
  Send("O")
endif
EndSwitch
WEnd

Opublikowano

@UP

 

w twoim kodzie są błędy skrypt się nie uruchomi.

 

a nawet po odpowiedniej korekcie to nie da rady ,nawet po wciśnięciu buttona to robi najpierw

 

If GUICtrlRead($Checkbox1) == $GUI_CHECKED Then

 

If GUICtrlRead($Checkbox2) == $GUI_CHECKED Then

 

więc wychodzi

 

zzzzoooo

 

 

wstaw sobie pod 1 checkbox, bo inaczej będzie potrzebna wielowątkowość, da rade zrobic a zresztą daje ci do poczytania http://www.mpcforum....tkowosc-autoit/

Weteran
Opublikowano
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
AdlibRegister("z",1000)
AdlibRegister("o",2000)
$Form1 = GUICreate("Form1", 120, 57, 192, 114)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 8, 8, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 8, 32, 97, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
 Case $GUI_EVENT_CLOSE
  Exit
EndSwitch
WEnd
Func z()
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
 Send("{z}")
 EndIf
EndFunc
Func o()
If GUICtrlRead($Checkbox2) = $GUI_CHECKED Then
 Send("{o}")
 EndIf
EndFunc

1329036830-U154499.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...