<div dir="ltr">thanks a lot  to you, David!<div>I have tried your suggestion! :)</div><div>And I will absolutely use more Eprime help browser in the future:) it definitely helps a lot!</div><div>Have a good day!!!!</div><div>oli:)</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Sep 5, 2014 at 9:59 PM, David McFarlane <span dir="ltr"><<a href="mailto:mcfarla9@msu.edu" target="_blank">mcfarla9@msu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Oli,<br>
<br>
Ah, of course, you still have to cast the result of SlideState.Objects() to tell E-Prime what *type* of object it is.  You can see an example of this in the SlideState.Objects topic of the E-Prime Help facility (good to get familiar with that facility for lots of reasons!).  So your line should look more like<br>
<br>
    Set hitObject = CSlideText(theState.Objects("<u></u>Text1"))<br>
<br>
Hmm, now I find the name of the hit variable misleading, as it is not a generic Object but rather a SlideText object, and I get very fussy about names in programs.  I urge you to rename that to something like hitSlideText to better reflect its nature.  Typically, I would make a variable named "slText" if I wanted a generic SlideText variable for general purposes.  Just my personal style.<br>
<br>
Best,<br>
-- David McFarlane<span class=""><br>
<br>
<br>
At 9/4/2014 10:40 PM Thursday, Oli Chen wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Thank you very much, David! :)<br>
It is very nice of you to give such a quick reply!<br>
<br>
I understood what you mentioned, and tried to edit the code as you suggested.<br></span>
However, there is still the error :( Â and it came from the same line:  Set hitObject = theState.Objects("Text1")<span class=""><br>
the error message is "assignment variables and expression are different types"...<br>
<br>
I then wandered whether it is because I made some mistake in editing my slide.<br></span>
I had a slide with three slideTexts. I added "keyboard" as the device for response, and the allowance is "2", "3", and "4".Â<span class=""><br>
the end action is set as "terminate", but i also tried with "none".<br>
<br>
I have no idea which part can be wrong...<br>
do you have any other suggestion or solution?<br>
<br>
thanks a lot again!!!<br>
have a good day!!^______^<br>
oli:)<br>
<br>
<br></span>
On Fri, Sep 5, 2014 at 3:41 AM, David McFarlane <<mailto:<a href="mailto:mcfarla9@msu.edu" target="_blank">mcfarla9@msu.edu</a>><a href="mailto:mcfarla9@msu.edu" target="_blank">mcfa<u></u>rla9@msu.edu</a>> wrote:<br>
You did not say what line caused the error message, but I suspect it came up for one of the "hitObject = ..." lines.  That error message, "object does not have an assignable default property", typically comes up when you forget to put "Set" in front of the assignment statement for an object variable (obviously -- NOT!).  In E-Basic/VBA, you must use Set at the start of any assigment statement for an object variable, and you must *not* use Set at the start of any assignment statement for ordinary varibles (you may in this case preface the assigment with the arcane "Let" keyword, otherwise that is implied).  (Yes, this is an absurd rule, peculiar to VBA, and provides many headaches with no compensating advantages.)<span class=""><br>
<br>
So your hitObject assigment statements should read like<br>
<br></span>
  Â  Set hitObject = theState.Objects("Text1")<span class=""><br>
<br>
Also note that for cases "3" & "4" you switch to using ResponseSlide.Name, which I think will not work.<br>
<br></span>
That said ...  What happens if RESP is not 2, 3, or 4?  Of course, your input mask Allowable may guarantee valid RESP values, but safe programming practice dictates that your code not fail in the event of unexpected inputs.  As it stands, this code would throw a runtime error because hitObject would not be assigned before it reaches the hitObject.BackColor statement.  With that in mind, your code might work out to something like<br>
<br>
  Â  Dim theState As SlideState<br>
  Â  Dim hitObject As SlideText<br>
<br>
  Â  Set theState = ResponseSlide.States(<u></u>ResponseSlide.ActiveState)<br>
  Â  Select Case ResponseSlide.RESP<br>
  Â  Case "2"<br>
  Â  Â  Â  Set hitObject = theState.Objects("Text1")<br>
  Â  Case "3"<br>
  Â  Â  Â  Set hitObject = theState.Objects("Text2")<br>
  Â  Case "4"<br>
  Â  Â  Â  Set hitObject = theState.Objects("Text3")<br>
  Â  End Select<br>
  Â  If Not(hitObject Is Nothing) Then<br>
  Â  Â  Â  hitObject.BackColor = CColor("green")<br>
  Â  Â  Â  hitObject.Draw<br>
  Â  Else  ' sanity check<br>
  Â  Â  Â  ' code for invalid response here<br>
  Â  End If<span class=""><br>
<br>
If you could judiciously rename your objects so that they directly reflected the response value, you could compact this even further, e.g.,<br>
<br></span>
  Â  Dim theState As SlideState<br>
  Â  Dim hitObject As SlideText<br>
<br>
  Â  Set theState = ResponseSlide.States(<u></u>ResponseSlide.ActiveState)<br>
  Â  Select Case ResponseSlide.RESP<br>
  Â  Case "2", "3", "4"<br>
  Â  Â  Â  Set hitObject = theState.Objects("Text" & ResponseSlide.RESP)<br>
  Â  Â  Â  hitObject.BackColor = CColor("green")<br>
  Â  Â  Â  hitObject.Draw<br>
  Â  Case Else  ' sanity check<br>
  Â  Â  Â  ' code for invalid response here<br>
  Â  End Select<span class=""><br>
<br>
Just some ideas, you can take it from there.<br>
<br>
-----<br>
David McFarlane<br></span>
E-Prime training online: <<a href="http://psychology.msu.edu/Workshops_Courses/eprime.aspx" target="_blank">http://psychology.msu.edu/<u></u>Workshops_Courses/eprime.aspx</a>><a href="http://psychology.msu.edu/Workshops_Courses/eprime.aspx" target="_blank"><u></u>http://psychology.msu.edu/<u></u>Workshops_Courses/eprime.aspx</a><br>
Twitter:  @EPrimeMaster (<<a href="https://twitter.com/EPrimeMaster" target="_blank">https://twitter.com/<u></u>EPrimeMaster</a>><a href="https://twitter.com/EPrimeMaster" target="_blank">https://twitter.<u></u>com/EPrimeMaster</a>)<br>
<br>
/----<br>
Stock reminder:  1) I do not work for PST.  2) You may reach PST's trained staff (and other support facilities) at <<a href="https://support.pstnet.com" target="_blank">https://support.pstnet.com</a>><a href="https://support.pstnet.com" target="_blank">ht<u></u>tps://support.pstnet.com</a> .  3) If you do get an answer from PST staff, please extend the courtesy of posting their reply back here for the sake of others.<span class=""><br>
\----<br>
<br>
<br>
<br>
At 9/4/2014 06:43 AM Thursday, Chen wrote:<br>
I would like to highlight an object based on the subject's response.<br>
<br>
I learned from some codes when an object was selected by the subject with a mouse<br>
<br>
...unfortunately I am not smart enough to apply it in when I ask my subject to give a response by pressing the key "2", "3", or "4".<br>
<br></span>
 Basically my subject has 3 seconds to make a choice.<span class=""><br>
<br>
I would like the box surrounding the selected option to change color (to green for example) while the slide is still displayed, or the words (in the text of the slide) change color.<br>
<br>
My code is like this:<br>
<br></span>
Dim theState As SlideState  Â  '<br>
<br>
Dim hitObject As SlideText<br>
<br>
Set theState = ResponseSlide.States(<u></u>ResponseSlide.ActiveState)  Â  'ResponseSlide is the name of the slide'<span class=""><br>
<br>
Select Case ResponseSlide.RESP<br>
<br>
Case "2"<br>
<br></span>
  Â hitObject = theState.Objects("Text1")<br>
<br>
Case "3"<br>
<br>
  Â hitObject = ResponseSlide.Name("Text2")<br>
<br>
Case "4"<br>
<br>
  Â hitObject = ResponseSlide.Name("Text3")<span class=""><br>
<br>
End Select<br>
<br>
hitObject.BackColor = CColor("green")<br>
<br>
hitObject.Draw<br>
<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<u></u>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<u></u>~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
<br>
the error message is like this:<br>
<br>
The object does not have an assignable default property.<br>
<br>
<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<u></u>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<u></u>~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
<br>
Hope someone can help me...I have been stuck for an entire day...;-;<br>
<br>
Thanks a lot in advance!<br>
<br>
OLI:)<br>
<br>
<br>
--<br>
You received this message because you are subscribed to the Google Groups "E-Prime" group.<br></span>
To unsubscribe from this group and stop receiving emails from it, send an email to <mailto:<a href="mailto:e-prime%252Bunsubscribe@googlegroups.com" target="_blank">e-prime%2Bunsubscribe@<u></u>googlegroups.com</a>><a href="mailto:e-prime%2Bunsubscribe@googlegroups.com" target="_blank">e-prime+<u></u>unsubscribe@googlegroups.com</a>.<br>
To post to this group, send email to <mailto:<a href="mailto:e-prime@googlegroups.com" target="_blank">e-prime@googlegroups.<u></u>com</a>><a href="mailto:e-prime@googlegroups.com" target="_blank">e-prime@googlegroups.com</a>.<br>
To view this discussion on the web visit <<a href="https://groups.google.com/d/msgid/e-prime/5408c098.1243320a.687a.0b18SMTPIN_ADDED_MISSING%40gmr-mx.google.com" target="_blank">https://groups.google.com/d/<u></u>msgid/e-prime/5408c098.<u></u>1243320a.687a.0b18SMTPIN_<u></u>ADDED_MISSING%40gmr-mx.google.<u></u>com</a>><a href="https://groups.google.com/d/msgid/e-prime/5408c098.1243320a.687a.0b18SMTPIN_ADDED_MISSING%40gmr-mx.google.com" target="_blank">https://groups.google.com/<u></u>d/msgid/e-prime/5408c098.<u></u>1243320a.687a.0b18SMTPIN_<u></u>ADDED_MISSING%40gmr-mx.google.<u></u>com</a>.<br>
<br>
For more options, visit <<a href="https://groups.google.com/d/optout" target="_blank">https://groups.google.com/d/<u></u>optout</a>><a href="https://groups.google.com/d/optout" target="_blank">https://groups.google.<u></u>com/d/optout</a>.<br>
<br>
<br>
<br>
<br>
--<br>
Yin-Hua, ChenÂ<span class=""><br>
<br>
Research Center for Mind, Brain and Learning<br></span>
National Chengchi UniversityÂ<span class=""><br>
No. 64, Sec. 2, Zhi-Nan Rd., Wen-shan District, Taipei City 11605, Taiwan<br>
Tel: <a href="tel:%2B886%202%202234%204967" value="+886222344967" target="_blank">+886 2 2234 4967</a><br>
</span></blockquote>
<br><span class="">
-- <br>
You received this message because you are subscribed to the Google Groups "E-Prime" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:e-prime%2Bunsubscribe@googlegroups.com" target="_blank">e-prime+unsubscribe@<u></u>googlegroups.com</a>.<br>
To post to this group, send email to <a href="mailto:e-prime@googlegroups.com" target="_blank">e-prime@googlegroups.com</a>.<br></span>
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/e-prime/5409c1bc.4946320a.155b.0890SMTPIN_ADDED_MISSING%40gmr-mx.google.com" target="_blank">https://groups.google.com/d/<u></u>msgid/e-prime/5409c1bc.<u></u>4946320a.155b.0890SMTPIN_<u></u>ADDED_MISSING%40gmr-mx.google.<u></u>com</a>.<div class="HOEnZb"><div class="h5"><br>
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank">https://groups.google.com/d/<u></u>optout</a>.<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Yin-Hua, Chen <br><br> Research Center for Mind, Brain and Learning<div><div>National Chengchi University </div><div>No. 64, Sec. 2, Zhi-Nan Rd., Wen-shan District, Taipei City 11605, Taiwan<br><div>Tel: +886 2 2234 4967</div></div></div></div>
</div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups "E-Prime" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:e-prime+unsubscribe@googlegroups.com">e-prime+unsubscribe@googlegroups.com</a>.<br />
To post to this group, send email to <a href="mailto:e-prime@googlegroups.com">e-prime@googlegroups.com</a>.<br />
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/e-prime/CANgqGTO2oes6YZepiLah-h-1PCDxL2Sbe5su9E1Uo0sL%2BYOqyQ%40mail.gmail.com?utm_medium=email&utm_source=footer">https://groups.google.com/d/msgid/e-prime/CANgqGTO2oes6YZepiLah-h-1PCDxL2Sbe5su9E1Uo0sL%2BYOqyQ%40mail.gmail.com</a>.<br />
For more options, visit <a href="https://groups.google.com/d/optout">https://groups.google.com/d/optout</a>.<br />