This is a simple recall memory test, but because of the requirements for data recording, I'm running into a snag with the script.<br><br>My test begins with Study Block that has 2 nested lists (Water & Land ) within a StudyList. Half the words from each nested list are presented in random order. Water list has 12 words, Land list has 12 different words (total 24 words to pool from). The 12 random words that are presented are marked in the following Test Block on the single list, RecallList. RecallList is created with 4 attributes ("Word", "Sampled", "CorrectAnswer", "Type"; all values set at /?/). The script that takes the words presented in the Study session and moves them to the RecallList is as follows:<br>-----------------------------<br>'Mark the selected level as 1=sampled and z=correct in the StudyList<br>Dim RowIdentifier As Integer<br><br>RowIdentifier = RowIdentifier + 1<br><br>RecallList.SetAttrib RowIdentifier, "Word", c.GetAttrib ("Word")<br>RecallList.SetAttrib RowIdentifier, "Type", c.GetAttrib ("Type")<br>RecallList.SetAttrib RowIdentifier, "Sampled", "1"<br>RecallList.SetAttrib RowIdentifier, "CorrectAnswer", "z"<br>-----------------------------<br><br>Debug.Print let's me know that the test is successful up to this point.<br><br>The problem I am having is in the next line of script in the Test Block. I want the program to go to the RecallList, find the words, then one at a time, go back through the StudyList, find the matching "Word" and change the "Sampled" attribute from 0 to 1. This is important because the "Sampled" setting (0,1) is eventually how I plan to have the non-presented words added to the RecallList. By doing this my data read out is remarkably simplified.<br><br>HOWEVER, I am snagged at the script that says to go back to StudyList and find the corresponding word to the one from RecallList. The script looks like this:<br>-----------------------------<br>'Add additional levels to RecallList as distractors<br>Dim i As Integer<br>Dim Shown As Integer<br>Dim FindTarget As Integer<br>Dim TotalNumSampled As Integer<br><br>TotalNumSampled = 3<br>Shown = 0<br><br>For i = 1 To TotalNumSampled<br> 'Choose levels until get a Shown level<br> Do<br> Shown = Shown + 1<br> Loop Until RecallList.GetAttrib(Shown, "Type") = "Water" <br> TargetWord = RecallList.GetAttrib(Shown, "Word")<br><br> Do<br> FindTarget = FindTarget + 1<br> Loop Until Water.GetAttrib(FindTarget, "Word") = TargetWord<br> Water.SetAttrib FindTarget, "Sampled", "1"<br> <br>Next i<br>-----------------------------<br>(the next set is for "Land" Type) This script worked perfectly last week on several trials. Now E-Prime keeps coming up with<br><b>"Run-time Error (Line 330) -999: Factor Error:<br>Level specified is not valid"</b><br>Line 330 = Loop Until Water.GetAttrib(FindTarget, "Word") = TargetWord<br><br>Does anyone have an idea why this is happening?<br>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups "E-Prime" group.<br />
To post to this group, send email to e-prime@googlegroups.com.<br />
To unsubscribe from this group, send email to e-prime+unsubscribe@googlegroups.com.<br />
To view this discussion on the web visit <a href="https://groups.google.com/d/msg/e-prime/-/vd5-XROjrnAJ">https://groups.google.com/d/msg/e-prime/-/vd5-XROjrnAJ</a>.<br />
For more options, visit <a href="https://groups.google.com/groups/opt_out">https://groups.google.com/groups/opt_out</a>.<br />
<br />
<br />