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

Problem ze zmienną


Rekomendowane odpowiedzi

Opublikowano

Witam, tak jak w temacie mam problem ze zmienną, oto kod :

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("sepcio", 170, 76, 192, 124)
$Input1 = GUICtrlCreateInput("", 8, 8, 73, 21)
$Input2 = GUICtrlCreateInput("", 88, 8, 73, 21)
$Button1 = GUICtrlCreateButton("Start", 8, 32, 73, 33)
$Button2 = GUICtrlCreateButton("Koniec", 88, 32, 73, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

HotKeySet("{F10}", "pauza")
Local $pauza
Local $1
Local $2
$1 = GUICtrlRead($Input1)
$2 = GUICtrlRead($Input2)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			GUISetState(@SW_HIDE)
			While $1 <= $2                       ;;;;;;;; Tu tkwi problem
				Send($1)
				Send("{ENTER}")
				$1 = $1 + 1
			WEnd
			GUISetState(@SW_SHOW)
		Case $Button2
			Exit
	EndSwitch
WEnd

Func pauza()
	$pauza = Not $pauza
	While $pauza
		Sleep(100)
	WEnd
EndFunc

Gdy wstawiam pod $2 zwykłą liczbę(nie zmienną) wszystko działa poprawnie.

 

@EDIT

zmienna $1 nie ma wpływu na liczbę rozpoczynającą pisanie. Dlaczego ?

Opublikowano

Ogólnie to użyj pętli for, bo do tego jest lepsza.

Pamiętaj, że pętla wykona się tyle razy ile wynosi różnica między $1 a $2.

 

A co do for'a, to zrób tak:

 

for $i = 0 to $2 step +1
;kod
Next

 

Wtedy wystarczy ci będzie że wpiszesz ile razy ma się wykonywać i po sprawie

846331404756772371599.jpeg
Opublikowano

Łatwo wyjaśnie twój problem. Chcesz komuś pokazać obrazek a tutaj pokazujesz zanim "coś narysujesz" dlatego jest pusta.

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("sepcio", 170, 76, 192, 124)
$Input1 = GUICtrlCreateInput("", 8, 8, 73, 21)
$Input2 = GUICtrlCreateInput("", 88, 8, 73, 21)
$Button1 = GUICtrlCreateButton("Start", 8, 32, 73, 33)
$Button2 = GUICtrlCreateButton("Koniec", 88, 32, 73, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

HotKeySet("{F10}", "pauza")
Local $pauza
Local $1
Local $2
$1 = GUICtrlRead($Input1);;;;;;;;;;;;;;;;;;;;NIE TUTAJ
$2 = GUICtrlRead($Input2)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
;;;;;;;;;;;;;;;;;;;;;;;;;;TYLKO TUTAJ daj te dwa GUICtrlRead
			GUISetState(@SW_HIDE)
			While $1 <= $2                       ;;;;;;;; Tu tkwi problem
				Send($1)
				Send("{ENTER}")
				$1 = $1 + 1
			WEnd
			GUISetState(@SW_SHOW)
		Case $Button2
			Exit
	EndSwitch
WEnd

Func pauza()
	$pauza = Not $pauza
	While $pauza
		Sleep(100)
	WEnd
EndFunc

1387536187-U112334.png

Jeśli Ci pomogłem mógłbyś wynagrodzić lajkiem :)

Opublikowano

Faktycznie działa, uczę się dopiero więc nie wiedziałem gdzie to wstawić.

Jest to jednorazowe, da się zrobić aby to było wielokrotnego użytku ? (Kilka razy użyć bez wyłączania)

Opublikowano

Faktycznie działa, uczę się dopiero więc nie wiedziałem gdzie to wstawić.

Jest to jednorazowe, da się zrobić aby to było wielokrotnego użytku ? (Kilka razy użyć bez wyłączania)

Dla pewności napisz co się dzieje gdy klikniesz kolejny raz?

 

 

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("sepcio", 170, 76, 192, 124)
$Input1 = GUICtrlCreateInput("", 8, 8, 73, 21)
$Input2 = GUICtrlCreateInput("", 88, 8, 73, 21)
$Button1 = GUICtrlCreateButton("Start", 8, 32, 73, 33)
$Button2 = GUICtrlCreateButton("Koniec", 88, 32, 73, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

HotKeySet("{F10}", "pauza")
Local $pauza
Local $1
Local $2

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
$1 = GUICtrlRead($Input1)
$2 = GUICtrlRead($Input2)
			GUISetState(@SW_HIDE)
			While $1 <= $2                       ;;;;;;;; Tu tkwi problem
				Send($1)
				Send("{ENTER}")
				$1 = $1 + 1
			WEnd
			GUISetState(@SW_SHOW)
		Case $Button2
			Exit
	EndSwitch
WEnd

Func pauza()
	$pauza = Not $pauza
	While $pauza
		Sleep(100)
	WEnd
EndFunc

Mając taki kod testowałem i działało do czasu aż mi się chciało klikać więc nie wiem w czym problem? Może przeniosłeś tylko jedną zmienną pod przycisk zamiast dwóch?

 

 

1387536187-U112334.png

Jeśli Ci pomogłem mógłbyś wynagrodzić lajkiem :)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...