David,<br>I was really hoping that there was some sort of SlideText.Blink or something easy that I missed. Oh well, I'll see what I can do and let you guys know what I come up with.<br><br><br>Thanks,<br>Greg<br><br><div class="gmail_quote">
On Wed, Mar 4, 2009 at 9:45 PM, David McFarlane <span dir="ltr"><<a href="mailto:mcfarla9@msu.edu">mcfarla9@msu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Greg,<br>
<br>
I think things are about as messy as you fear, but I hope someone else<br>
has a better answer (or you come up with one yourself and then enlighten<br>
the rest of us). I only want to remind you of a couple items that you<br>
may have already seen in your reading of the online E-Basic Help and<br>
that you might use as building blocks for your solution.<br>
<br>
It looks like you are thinking of fiddling with the properties of the<br>
slide sub-objects. If you do this in a script loop, then you might be<br>
able to use the slide .Draw method (as opposed to .Run) to just redraw<br>
the modified slide and not affect anything else. Even better, visual<br>
slide sub-objects have their own .Draw method, so perhaps you can use<br>
that in script to redraw just the relevant sub-object after making your<br>
changes. I have never explored any of this, so I would be interested to<br>
know if this works. As far as keeping track of the state of each<br>
sub-object, if you do not want to do that in variables or an array, you<br>
might try changing some property of the sub-object that has no visible<br>
effect for your slide, e.g., change .BackStyle from opaque to<br>
transparent, or change .BorderColor while leaving .BorderWidth at 0.<br>
<br>
Digging deeper, you can even make direct use of the Canvas object. In<br>
fact, when you think of it, all the visual objects are just shortcuts to<br>
the Canvas object (which in turn is a shortcut to the DisplayDevice<br>
object). So you can think of visual display objects in a hierarchy:<br>
the Slide object acts as a container for handling Text and Image<br>
objects, and Text and Image objects act as containers for the operations<br>
that they perform on a Canvas object. We can always do things directly<br>
on the Canvas, but that rather defeats the whole purpose of E-Prime, so<br>
I would generally discourage that. But for some situations that is the<br>
best solution. (Sorry for the didactic digression.)<br>
<br>
So yes, I might marshal these tools in some loop, whether looping with a<br>
List or inline script with an explicit Do...Loop (please do not use<br>
While...Wend, that went out with the Commodore 64). (Oh, and for<br>
something really whacky, you can split up the Do.. and the ..Loop in two<br>
inline script objects that surround some EP design objects in your<br>
Procedure, though so far I have never had to resort to that myself.)<br>
<br>
But after all that I get the feeling that I have missed your real<br>
question, because I think you already have the slide in a loop via a<br>
List object and know how to modify the properties you need, and you just<br>
want some help with the conditional structure. Sorry about that.<br>
<br>
-- David McFarlane, Professional Faultfinder<br>
<div><div></div><div class="h5"><br>
<br>
On Tuesday 3 March 2009 at 7:50 p.m. Greg Osenbach wrote:<br>
> Does anyone out there know a good way to make text on a slide flash? I<br>
> have several text items on a slide that gets looped through based on<br>
> responses. For every item in the list the slide may be looped through<br>
> up to 10 times before moving on to the next list item. One the the text<br>
> objects on the page only change when moving to a new list entry. I<br>
> would like to make the text flash once to notify the subject that that<br>
> portion changed.<br>
><br>
> I have though about setting up a small loop around the slide with some<br>
> gotos and some labels and using SlideText1.ForeColor. Basically setting<br>
> a boolean flag for FirstPass, changing the text color and setting the<br>
> slide to time out for 400ms or something. then doing a check and if<br>
> First Pass is True, change the text to black and then jump to a label<br>
> above the slide and setting the timeout back to infinate. Again after<br>
> the slide, check the flag and if false, then do not go back up to the label.<br>
><br>
> This looks like a bit of a rube goldberg machine to me. There has got<br>
> to be a simpler way. I just am not sure what it is.<br>
><br>
> Ideas?<br>
><br>
> Thanks,<br>
> Greg<br>
<br>
<br>
</div></div><br>
</blockquote></div><br>
<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 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>
-~----------~----~----~----~------~----~------~--~---<br>
<br>