ok, das sieht doch schonmal vielversprechend aus. werde mich mal einlesen und es ausprobieren wenn ich zeit hab. danke!
den ganzen code hier reinzuklatschen wäre etwas viel, was für einen ausschnitt meinst du denn? wo ich das array erstelle?
edit:
ok, ich habe jetzt folgende codes:
array erstellen:
Code:
Dim $array_recallitems[15]; recall-items:
$array_recallitems[0] = FileReadLine ($file_recallitems, 1)
$array_recallitems[1] = FileReadLine ($file_recallitems, 2)
$array_recallitems[2] = FileReadLine ($file_recallitems, 3)
;geht eigtl bis [15]
gesuchte variabele setzen:
(text aus input)
Code:
$recall1 = GUICtrlRead (21)
$recall2 = GUICtrlRead (22)
$recall3 = GUICtrlRead (23)
;geht auch eigtl bis 15
und jetzt möchte ich vergleichen, ob eine der eingegebenen wörter in einem der 3 (eigtl 15) input-feldern übereinstimmt mit einem der 3 (eigtl 15) strings aus dem array:
Code:
Local $aiResult = _ArrayFindAll ($array_recallitems, $recall1)
if $recall1 = $aiResult Then ; ?!
$recallscore = $recallscore+1
EndIf
;hier erstmal nur fürs erste wort..
das ganze funktioniert so aber leider nicht. ich sollte vllt dazu sagen, dass ich noch nicht soo viel ahnung habe vom programmieren/coden..
zweiter versuch:
alles ganu wie oben, außer die abfrage der übereinstimmung. die sieht jetzt so aus:
Code:
For $i = 0 to Ubound($array_recallitems) - 1
If $recall1 = $array_recallitems[$i] then
$recallscore = $recallscore+1
Exitloop
EndIf
Next
klappt aber auch nicht. in der ausgabe
Code:
MsgBox (0, "test", $recallscore & "correct")
zeigt der mir jetzt immer 1correct an, egal, was ich eingebe..
was komisch ist, weil es meiner meinung nach eigtl das selbe ist wie
Code:
Dim $Array[3]
$Array[0]=1
$Array[1]=2
$Array[2]=3
$a=2
$score=0
For $i = 0 to Ubound($Array) - 1
If $a = $Array[$i] then
$score = $score+1
MsgBox (0, "test", $score)
Exitloop
EndIf
Next
und das funktioniert super mit a=1,2 und/oder 3..