guictrlsetdata mit random beim label geht nicht!

06/22/2012 15:32 Lufl#1
Hallo community,
ich habe hier ein problem:
ich möchte einen mathe trainer erstellen, und will das label wo die zahl drinne steht, mit guictrlsetdata ein random per variable einbauen, dies klappt aber nicht.
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Form1", 279, 143, 192, 124)
$Label1 = GUICtrlCreateLabel("", 16, 16, 61, 17)
$Label2 = GUICtrlCreateLabel("", 16, 40, 4, 4)
$Label3 = GUICtrlCreateLabel("zahl", 16, 40, 23, 17)
$Label4 = GUICtrlCreateLabel("+", 48, 40, 10, 17)
$Label5 = GUICtrlCreateLabel("zahl", 64, 40, 23, 17)
$Label6 = GUICtrlCreateLabel("=", 88, 40, 10, 17)
$Button1 = GUICtrlCreateButton("Button1", 40, 72, 161, 57)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			GUICtrlSetData($Label3,$randomzahl1())

	EndSwitch
WEnd


Func randomzah1()
	Random(1,100,1)
EndFunc
könnt ihr mir sagen welchen Fehler ich gemacht habe?

lg Lufl
06/22/2012 15:35 -STORM-#2
Im Prinzip 3 Fehler:
1. Die Variable $randomzahl1 muss erst deklariert werden. Variablen enthalten keine () und Funktionen keine $ . Beides kann nicht vermischt werden.
2. In der Funktion muss Return benutzt werden, damit die generierte Zahl auch an die Variable übergeben wird.
3. Tippfehler: Im Funktionsnamen wurde das l am Ende vergessen.

Eigentlich kannst du auf die Variable $randomzahl1 aber komplett verzichten und direkt die Funktion aufrufen:
06/22/2012 15:42 Lufl#3
Wow, danke :)
06/22/2012 15:43 Freddy​#4
PHP Code:
GUICtrlSetData($Label3,Random(1,100,1)) 
so ist am besten
06/22/2012 16:56 KDeluxe#5
Quote:
Originally Posted by -STORM- View Post
2. In der Funktion muss Return benutzt werden, damit die generierte Zahl auch an die Variable übergeben wird.
Oder ByRef verwenden:
Code:
$Ausgabe = 0
_Random($Ausgabe)
MsgBox(0, "", $Ausgabe)

Func _Random(ByRef $Zahl)
	$Zahl = Random(0, 100, 1)
EndFunc
06/23/2012 15:53 Lawliet#6
Ein Thread reicht:
[Only registered and activated users can see links. Click Here To Register...]
#closed