Hallo,
ich schreibe gerade einen Script, mit der man Feedback senden kann. Bin gerade dabei, einen Captcha dafür zu programmieren, doch irgendwie bleibt mein Script an der Schleife (siehe makierung) hängen. Ich versuche es schon die ganze Zeit, aber irgendwie...funzt es nicht. Es soll ein Array mit zufälligen Positionen erstellt werden.
Script:
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.0.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
Global $CHECK_NUMBER = Random(1000000, 9999999, 1)
Global $CHECK_LABELS[7]
$Form1 = GUICreate("Form1", 474, 434)
$Label2 = GUICtrlCreateLabel("Hier können Sie ihren Feedback an mich senden.", 8, 8, 238, 17)
$Label1 = GUICtrlCreateLabel("Name:", 8, 40, 35, 17)
$Input1 = GUICtrlCreateInput("", 48, 32, 417, 21)
$Label3 = GUICtrlCreateLabel("Email:", 8, 64, 32, 17)
$Input2 = GUICtrlCreateInput("", 48, 56, 417, 21)
$Label4 = GUICtrlCreateLabel("Betreff:", 8, 88, 38, 17)
$Input3 = GUICtrlCreateInput("", 48, 80, 417, 21)
$Edit1 = GUICtrlCreateEdit("", 48, 104, 417, 209)
GUICtrlSetData(-1, "Edit1")
$Label5 = GUICtrlCreateLabel("Alle Informationen, die Sie hier angeben, werden nicht Veröffentlicht oder weitergegeben.", 8, 320, 423, 17)
$Button1 = GUICtrlCreateButton("Feedback senden", 8, 400, 107, 25, $WS_GROUP)
$Label7 = GUICtrlCreateLabel("Geben Sie bitte die Zahl ein:", 8, 376, 138, 17)
$Input4 = GUICtrlCreateInput("", 152, 376, 121, 21)
$Code = _GenLabelCode()
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndSwitch
WEnd
Func _GenLabelCode($Stellen = 7)
Local $Positions[$Stellen]
;Geordnete Positionen
For $i = 0 To $Stellen - 1
$Positions[$i] = 8 + ($i + 1) * 13
Next
Local $RandomPositions[$Stellen]
Local $Random[$Stellen]
Local $Numbers
;Problemzone
[/autoit] [autoit][/autoit] [autoit]For $i = 0 To $Stellen - 1
$Ran = Random(0, $Stellen -1, 1)
If Not _Search($Random, $Ran) Then
$RandomPositions[$i] = $Positions[$Ran]
$Random[$i] = $Ran
Else
$i -= 1
EndIf
Next
_ArrayDisplay($Random)
[/autoit] [autoit][/autoit] [autoit]Exit
[/autoit] [autoit][/autoit] [autoit];Problemzone ende
[/autoit] [autoit][/autoit] [autoit]Local $Split = StringSplit($CHECK_NUMBER, "")
Local $String = ""
Local $Counter = 0
For $i = 1 To 7
$Ran = Random(1, 7, 1)
If Not StringInStr($String, $Ran) Then
$CHECK_LABELS[$i - 1] = GUICtrlCreateLabel($Ran, $RandomPositions[$Counter], 344, 15, 26)
GUICtrlSetFont(-1, 14, 800, 0, "Arial")
$String &= $Ran
$Counter += 1
Else
$i -= 1
EndIf
Next
$Split = ""
Return $String
EndFunc ;==>_GenLabelCode
Func _Search($i_a, $i_Str)
For $a = 0 To UBound($i_a) - 1
If $i_a[$a] = $i_Str Then Return 1
Next
Return 0
EndFunc ;==>_Search