[AutoIt] $Radio hilfe

05/02/2009 23:21 muse-#1
Huhu leute ,
bin noch neu in der au3 szene und hab ma was zum üben gemacht doch komme schon am anfang nicht mehr weiter , da ich nicht weiß wie man auslesen kann welche Radiobox gerade benuzt wurde und dies dann mit dem Klickbutton verbindet...(wie gesagt ist nur was um zu üben hat keinen tieferen sinn der spaß :P)
Habe das ganze schon ohne Race-choose hinbekommen wollte es nun aber bissl erweitern.

Quote:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\pwn_age55\eigene dateien\rnd cahr creator erweitert.kxf
$Form1_1 = GUICreate("draky´s rnd char", 610, 571, 200, 250)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlCreateInput("", 216, 456, 145, 21)
$Label1 = GUICtrlCreateLabel("Charname", 256, 432, 68, 17)
$Button1 = GUICtrlCreateButton("Create", 240, 496, 81, 33)
$Button2 = GUICtrlCreateButton("End", 488, 520, 65, 25, 0)
$Alliance = GUICtrlCreateLabel("Alliance", 88, 40, 41, 17)
$Horde = GUICtrlCreateLabel("Horde", 464, 48, 33, 17)
$Human = GUICtrlCreateRadio("Human", 72, 88, 113, 17)
$Dwarf = GUICtrlCreateRadio("Dwarf", 72, 136, 113, 17)
$Gnome = GUICtrlCreateRadio("Gnome", 72, 184, 113, 17)
$Nightelf = GUICtrlCreateRadio("Nightelf", 72, 232, 113, 17)
$Draenei = GUICtrlCreateRadio("Draenei", 72, 280, 113, 17)
$Orc = GUICtrlCreateRadio("Orc", 432, 88, 113, 17)
$Troll = GUICtrlCreateRadio("Troll", 432, 136, 113, 17)
$Tauren = GUICtrlCreateRadio("Tauren", 432, 184, 113, 17)
$Scourge = GUICtrlCreateRadio("Scourge", 432, 232, 113, 17)
$Bloodelf = GUICtrlCreateRadio("Bloodelf", 432, 280, 113, 17)
GUISetState(@SW_Show)
#EndRegion ### END Koda GUI section ###

GUICtrlSetOnEvent ($Button1,"Create")

While 1
Sleep(100)
WEnd



Func CLOSEClicked()
Exit
EndFunc
//Google hat auch keine informativen Threads herausgegeben
05/03/2009 00:19 felixli93#2
Quote:
Originally Posted by pwna=) View Post
Huhu leute ,
bin noch neu in der au3 szene und hab ma was zum üben gemacht doch komme schon am anfang nicht mehr weiter , da ich nicht weiß wie man auslesen kann welche Radiobox gerade benuzt wurde und dies dann mit dem Klickbutton verbindet...(wie gesagt ist nur was um zu üben hat keinen tieferen sinn der spaß :P)
Habe das ganze schon ohne Race-choose hinbekommen wollte es nun aber bissl erweitern.



//Google hat auch keine informativen Threads herausgegeben
naja, du musst einfach jede einzelne radio überprüfen vie "GuiCtrlRead"
wenn ein radio aktiv ist, gibt "GuiCtrlRead" 1 zurück, wenn nicht, dann 4
05/03/2009 00:58 muse-#3
jo das hab ich mir ca. auch so gedacht
Quote:
if (GUICtrlRead($Human)) = 1 Then
....
EndIf
aber wie bekomme ich das dann in den button bzw sollte man das in eine While schleife packen :I
05/03/2009 01:13 kknb#4
abfragen kannst du den ganzen spass so.

Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\pwn_age55\eigene dateien\rnd cahr creator erweitert.kxf
$Form1_1 = GUICreate("draky´s rnd char", 610, 571, 200, 250)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlCreateInput("", 216, 456, 145, 21)
$Label1 = GUICtrlCreateLabel("Charname", 256, 432, 68, 17)
$Button1 = GUICtrlCreateButton("Create", 240, 496, 81, 33)
$Button2 = GUICtrlCreateButton("End", 488, 520, 65, 25, 0)
$Alliance = GUICtrlCreateLabel("Alliance", 88, 40, 41, 17)
$Horde = GUICtrlCreateLabel("Horde", 464, 48, 33, 17)
$Human = GUICtrlCreateRadio("Human", 72, 88, 113, 17)
$Dwarf = GUICtrlCreateRadio("Dwarf", 72, 136, 113, 17)
$Gnome = GUICtrlCreateRadio("Gnome", 72, 184, 113, 17)
$Nightelf = GUICtrlCreateRadio("Nightelf", 72, 232, 113, 17)
$Draenei = GUICtrlCreateRadio("Draenei", 72, 280, 113, 17)
$Orc = GUICtrlCreateRadio("Orc", 432, 88, 113, 17)
$Troll = GUICtrlCreateRadio("Troll", 432, 136, 113, 17)
$Tauren = GUICtrlCreateRadio("Tauren", 432, 184, 113, 17)
$Scourge = GUICtrlCreateRadio("Scourge", 432, 232, 113, 17)
$Bloodelf = GUICtrlCreateRadio("Bloodelf", 432, 280, 113, 17)
GUISetState(@SW_Show)
#EndRegion ### END Koda GUI section ###

GUICtrlSetOnEvent ($Button1,"Create")

While 1
Sleep(100)
WEnd

func create()
	$ausgabe1 = $Human And BitAND(GUICtrlRead($Human), $GUI_CHECKED) = $GUI_CHECKED
	$ausgabe2 = $Dwarf And BitAND(GUICtrlRead($Dwarf), $GUI_CHECKED) = $GUI_CHECKED
	$ausgabe3 = $Gnome And BitAND(GUICtrlRead($Gnome), $GUI_CHECKED) = $GUI_CHECKED
	$ausgabe4 = $Nightelf And BitAND(GUICtrlRead($Nightelf), $GUI_CHECKED) = $GUI_CHECKED
	$ausgabe5 = $Draenei And BitAND(GUICtrlRead($Draenei), $GUI_CHECKED) = $GUI_CHECKED
	$ausgabe6 = $Orc And BitAND(GUICtrlRead($Orc), $GUI_CHECKED) = $GUI_CHECKED
	$ausgabe7 = $Troll And BitAND(GUICtrlRead($Troll), $GUI_CHECKED) = $GUI_CHECKED
	$ausgabe8 = $Tauren And BitAND(GUICtrlRead($Tauren), $GUI_CHECKED) = $GUI_CHECKED
	$ausgabe9 = $Scourge And BitAND(GUICtrlRead($Scourge), $GUI_CHECKED) = $GUI_CHECKED
	$ausgabe10 = $Bloodelf And BitAND(GUICtrlRead($Bloodelf), $GUI_CHECKED) = $GUI_CHECKED
	if $ausgabe1 = 1 Then
		msgbox(0,"","human")
	ElseIf $ausgabe2 = 1 Then
		msgbox(0,"","dwarf")
	ElseIf $ausgabe3 = 1 Then
		msgbox(0,"","gnome")
	ElseIf $ausgabe4 = 1 Then
		msgbox(0,"","Nightelf")
	ElseIf $ausgabe5 = 1 Then
		msgbox(0,"","Draenei")
	ElseIf $ausgabe6 = 1 Then
		msgbox(0,"","Orc")
	ElseIf $ausgabe7 = 1 Then
		msgbox(0,"","Troll")
	ElseIf $ausgabe8 = 1 Then
		msgbox(0,"","Tauren")
	ElseIf $ausgabe9 = 1 Then
		msgbox(0,"","Scourge")
	ElseIf $ausgabe10 = 1 Then
		msgbox(0,"","Bloodelf")
	Else
		msgbox(0,"","es wurde nichst ausgewählt!")
	EndIf
EndFunc



Func CLOSEClicked()
Exit
EndFunc
05/03/2009 01:25 muse-#5
supi vielen vielen dank setz mich gleich weiter ran =D
// aber eine Frage noch wozu dient
Quote:
BitAND...$GUI_CHECKED) = $GUI_CHECKED
05/03/2009 12:07 felixli93#6
naja, so "kompliziert" mit BITAnd brauchst du das gar nicht machen

kann auch einfach $ausgabe1 = GuiCtlrRead ($human) sein
bei der sache mit BitAnd wird halt ein Bool zurückgegeben (True oder False), wenn du's einfach ohne das BitAnd machst, wird halt 1 oder 4 zurückgegeben

geht beides

zur erläuterung der sache von kknb:

$ausgabe1 = $Human And BitAND(GUICtrlRead($Human), $GUI_CHECKED) = $GUI_CHECKED

Das statement $Human gibt immer True zurück, weil es eine GuiId ist, die anders als 0 ist
Das 2. Statement BitAND (...) = $GUI_CHECKED, gibt nur dann True zurück, wenn die checkbox bei $Human aktiviert ist (eigentlich reicht beim 2. statement GUICtrlRead ($Human) = $GUI_CHECKED völlig aus
da das 1. statement sowieso immer True returned, ist es eigentlich überflüssig, daraus folgt, dass eigentlich nur das 2. statement ohne BitAND nötig ist, also GuiCtrlRead ($Human) = $GUI_CHECKED
das returned dann "True", falls checkbox aktiv oder "False" falls nicht
05/03/2009 12:39 muse-#7
ok danke :)
// ok habs hinbekommen danke für den geilen support