Attached is a mini-experiment implementing this code.<br>Erika<br><br><div class="gmail_quote">On Tue, Aug 9, 2011 at 2:40 PM, enyhus <span dir="ltr"><<a href="mailto:erika.nyhus@gmail.com">erika.nyhus@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Thank you for all your help so far.  I have tried integrating my color<br>
changing code with the code you have provided, but the color does not<br>
change nor are the key press and release being recorded.  I was<br>
wondering if you had any more advice on getting this to work.<br>
<br>
First I put an InLine (SetTrialStartTime) at the very beginning of the<br>
trial like this. This sets up the initial color and gets the<br>
experiment time from the start of the<br>
trial:<br>
<br>
'-----------------------------------------------------------------------------<br>
'create all the variables you'll need:<br>
dim r as integer<br>
dim g as integer<br>
dim b as integer<br>
dim vr as string<br>
dim vb as string<br>
dim vg as string<br>
dim stepcounter as integer<br>
dim Slide1Time as integer<br>
dim ResponseTime as integer<br>
<br>
'assign value 255 to the red green and blue channels, rgb 255,255,255<br>
is white<br>
r=0<br>
b=255<br>
g=255<br>
<br>
'map the integer values of r, g, and b onto the string variables vr,<br>
vb and vg<br>
vr$= r<br>
vb$= b<br>
vg$= g<br>
<br>
'use the string rgb variables to modify the backgroundcolor of the<br>
textobject<br>
CSlideText(Slide1.States(Slide1.ActiveState).Objects("Text1")).forecolor=CColor<br>
(""& vr$ &","& vg$ &","& vb$ &"")<br>
<br>
Dim lngTrialStart As Long<br>
lngTrialStart = Clock.Read<br>
'-----------------------------------------------------------------------------<br>
<br>
Then I added a label "Repeat" after the stimulus slide and before the<br>
next<br>
InLine, and another label "SkipInLine" after the next inline:<br>
<br>
Then the following InLine (WaitForKeypresses):<br>
<br>
'-----------------------------------------------------------------------------<br>
If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine<br>
<br>
Dim nResps As Long<br>
<br>
nResps = Slide1.InputMasks(1).Responses.Count<br>
<br>
'waits for the initial keypress<br>
If nResps > 0 Then<br>
<br>
   'loops until either a response is made or the trial time runs out:<br>
   nResps = Slide1.InputMasks(1).Responses.Count<br>
   Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{1}"<br>
      If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine<br>
      Sleep 1<br>
   Loop<br>
<br>
   'logs the keypress time:<br>
   c.SetAttrib "Keypress", Clock.Read<br>
<br>
   'loops the color changing code until either the release or the<br>
trial time runs out<br>
      Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{-1}"<br>
          If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine<br>
      'insert color changing code here<br>
          'First the values of green and blue will be decreased by 5 points,<br>
we started at 255,255,255 and this way after 50 repeats we will end at<br>
255,0,0, which is pure red<br>
r = r<br>
g = g - 5<br>
b = b - 5<br>
<br>
'Map the integer values of rgb onto the string variables of rgb<br>
vr$= r<br>
vb$= b<br>
vg$= g<br>
<br>
'Assign the new value to forecolor<br>
CSlideText(Slide1.States(Slide1.ActiveState).Objects("Text1")).forecolor=CColor<br>
(""& vr$ &","& vg$ &","& vb$ &"")<br>
Slide1.draw<br>
   Loop<br>
Else<br>
   Sleep 1<br>
   GoTo Repeat<br>
End If<br>
<br>
'logs the key release time:<br>
c.SetAttrib "Keyrelease", Clock.Read<br>
'-----------------------------------------------------------------------------<br>
<br>
Then after the label "SkipInLine" I added a simple InLine<br>
(WaitForTrialEnd) that waits untilt 2500 ms has passed from the start<br>
of the trial until the trial end:<br>
<br>
'-----------------------------------------------------------------------------<br>
Do Until Clock.Read - lngTrialStart >= 2500<br>
   Sleep 1<br>
Loop<br>
'-----------------------------------------------------------------------------<br>
<br>
Erika<br>
<br>
On Jul 28, 2:17 pm, David McFarlane <<a href="mailto:mcfar...@msu.edu">mcfar...@msu.edu</a>> wrote:<br>
> Erika,<br>
><br>
> At 7/28/2011 01:55 PM Thursday, you wrote:<br>
><br>
> >I have changed all the code to use<br>
> >Slide1.InputMasks(1).Responses.Count, but I am getting the following<br>
> >error when I run it.<br>
><br>
> >Operator type mismatch<br>
> >For line: Do Until Slide1.InputMasks(1).Responses(nResps) = "{SPACE}"<br>
><br>
> Um, Slide1.InputMasks(1).Responses gets you to the<br>
> ResponseDataCollection object associated with Slide1.InputMasks(1),<br>
> and Slide1.InputMasks(1).Responses(nResps) only gets you to a<br>
> particular ResponseData object, not any of its component<br>
> properties.  You have to drill down a little further to specific<br>
> ResponseData properties, e.g.,<br>
><br>
>          Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{SPACE}"<br>
><br>
> Please, please read through all the relevant topics in the E-Basic<br>
> Help facility.  This would also all become clear if you would take a<br>
> course on VBA, or give yourself some training using a book like "VBA<br>
> for Dummies".  It is a huge mistake to try to get an intricate<br>
> program to work without understanding *how* it works -- even if it<br>
> *appears* to work to you, chances are it does not really do what you<br>
> think it does, and you will unwittingly publish invalid results.<br>
><br>
> -- David McFarlane, Professional Faultfinder<br>
<font color="#888888"><br>
--<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 <a href="mailto:e-prime@googlegroups.com">e-prime@googlegroups.com</a>.<br>
To unsubscribe from this group, send email to <a href="mailto:e-prime%2Bunsubscribe@googlegroups.com">e-prime+unsubscribe@googlegroups.com</a>.<br>
For more options, visit this group at <a href="http://groups.google.com/group/e-prime?hl=en" target="_blank">http://groups.google.com/group/e-prime?hl=en</a>.<br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Erika Nyhus, Ph.D.<br>Cognitive, Linguistic, and Psychological Sciences<div><span style="font-family: arial,sans-serif; font-size: 13px; border-collapse: collapse;"><div>

Brown University </div>229 Waterman St. <div><div>Providence, RI 02912-1821</div></div></span></div><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 />

For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.<br />