SlideStates

Matt Paffel mpaffel at gmail.com
Mon Aug 23 22:48:38 UTC 2010


Thanks David

On Aug 23, 10:59 am, David McFarlane <mcfar... at msu.edu> wrote:
> Arrgh, another overuse of If...End If for mutually exclusive
> possibilities, where ElseIf & Else, or Select...Case (not to mention a
> bit of indentation) would clarify the code tremendously.  Please consider
>
> If c.GetAttrib("GamePlay") = "Default" Then
>      Set Slide1.ActiveState = "Default"
> ElseIf c.GetAttrib("GamePlay") = "Lose" Then
>      If CInt(c.GetAttrib("FinalPie")) = 100 Then
>          Set Slide1.ActiveState = "Default"
>      Else
>          Set Slide1.ActiveState = "Lose"
>      End If
> ElseIf c.GetAttrib("GamePlay") = "Victory" Then
>      Set Slide1.ActiveState = "Victory"
> Else
>      MsgBox "Oops!  Invalid value for GamePlay"
> End If
>
> or
>
> Select c.GetAttrib("GamePlay")
> Case "Default"
>      Set Slide1.ActiveState = "Default"
> Case "Lose"
>      If CInt(c.GetAttrib("FinalPie")) = 100 Then
>          Set Slide1.ActiveState = "Default"
>      Else
>          Set Slide1.ActiveState = "Lose"
>      End If
> Case "Victory"
>      Set Slide1.ActiveState = "Victory"
> Case Else
>      MsgBox "Oops!  Invalid value for GamePlay"
> End Select
>
> Isn't that better?  Then again, this whole bit of logic might be
> collapsed to simply something like
>
> If CInt(c.GetAttrib("FinalPie")) = 100 Then
>      Set Slide1.ActiveState = "Default"
> Else
>      Set Slide1.ActiveState = c.GetAttrib("GamePlay")
> End If
>
> (without the validity check), or even
>
> Set Slide1.ActiveState = Iif( (CInt(c.GetAttrib("FinalPie")) = 100), _
>      "Default", c.GetAttrib("GamePlay") )
>
> Regards,
> -- David McFarlane, Professional Faultfinder
>
> Matt Paffel wrote:
> > problem solved by inserting If...Then statement:
>
> > If c.GetAttrib("GamePlay") = "Default" Then
> > Set Slide1.ActiveState = "Default"
> > End If
> > If c.GetAttrib("GamePlay") = "Lose" Then
> > If CInt(c.GetAttrib("FinalPie")) = 100 Then
> > Set Slide1.ActiveState = "Default"
> > Else
> > Set Slide1.ActiveState = "Lose"
> > End If
> > End If
> > If c.GetAttrib("GamePlay") = "Victory" Then
> > Set Slide1.ActiveState = "Victory"
> > End If

-- 
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-prime at googlegroups.com.
To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com.
For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.



More information about the Eprime mailing list