Control structure with "not"

2015-08-04 Thread Peter Bogdanoff
Is it possible to convert this to a switch control structure, or otherwise 
refined somehow? The “not” is what I need, and the setting has to be always 
“true”:

on doThisThing tSender
if tSender is not “Apple” then 
set tSwitchApple to true
end if

if Sender is not “Peach” then 
set tSwitchPeach to true
end if

if Sender is not “Grape” then 
set tSwitchGrape to true
end if
end doThisThing

Peter Bogdanoff
UCLA
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Control structure with "not"

2015-08-04 Thread Peter Haworth
You could:

set tSwitchApple to (tSender is not "Apple")
set tSwitchPeach to (tSender is not "Peach")
set tSwitchGrape to (tSender is not "Grape")

Slightly different than your code because the switches would be set to
false if the condition isn't met whereas you code doesn't do that.

On Tue, Aug 4, 2015 at 2:25 PM Peter Bogdanoff  wrote:

> Is it possible to convert this to a switch control structure, or otherwise
> refined somehow? The “not” is what I need, and the setting has to be always
> “true”:
>
> on doThisThing tSender
> if tSender is not “Apple” then
> set tSwitchApple to true
> end if
>
> if Sender is not “Peach” then
> set tSwitchPeach to true
> end if
>
> if Sender is not “Grape” then
> set tSwitchGrape to true
> end if
> end doThisThing
>
> Peter Bogdanoff
> UCLA
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Control structure with "not"

2015-08-04 Thread Scott Rossi
One option, if I understand what you're asking:

on doThisThing tSender
   repeat for each item theVar in "Apple,Peach,Grape"
  do "put (tSender <> theVar) into" && ("tSwitch" & theVar)
   end repeat
end doThisThing

Regards,

Scott Rossi
Creative Director
Tactile Media, UX/UI Design





On 8/4/15, 2:24 PM, "Peter Bogdanoff"  wrote:

>Is it possible to convert this to a switch control structure, or
>otherwise refined somehow? The ³not² is what I need, and the setting has
>to be always ³true²:
>
>on doThisThing tSender
>   if tSender is not ³Apple² then
>   set tSwitchApple to true
>   end if
>
>   if Sender is not ³Peach² then
>   set tSwitchPeach to true
>   end if
>
>   if Sender is not ³Grape² then
>   set tSwitchGrape to true
>   end if
>end doThisThing
>
>Peter Bogdanoff
>UCLA
>___
>use-livecode mailing list
>use-livecode@lists.runrev.com
>Please visit this url to subscribe, unsubscribe and manage your
>subscription preferences:
>http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Control structure with "not"

2015-08-04 Thread dunbarx
Hi.


Your if-then would be better served as:



on doThisThing tSender
if tSender is not “Apple” then set tSwitchApple to true
else if Sender is not “Peach” then set tSwitchPeach to true
else if Sender is not “Grape” then set tSwitchGrape to true
end doThisThing


The switch is as follows, but note that you cannot "set" a variable, only a 
property. So though the overall syntax that follows is correct, the handler 
will not compile.



on doThisThing tSender
   switch
  case tSender is not “Apple”
 set tSwitchApple to true
 break
  case tSender is not “Peach”
 set tSwitchApple to true
 break
  case tSender is not “Grape”
 set tSwitchApple to true
 break
   end switch
end doThisThing



In other words, the snippet "set tSwitchApple to true" has to be something like:


set the tSwitchApple of this stack to "true"


or if indeed a variable"


put "true" into tSwitchApple


Craig Newman












on doThisThing tSender
if tSender is not “Apple” then 
set
tSwitchApple to true
end if

if Sender is not “Peach” then 
set
tSwitchPeach to true
end if

if Sender is not “Grape” then 
set
tSwitchGrape to true
end if
end doThisThing





-Original Message-
From: Peter Bogdanoff 
To: How to use LiveCode 
Sent: Tue, Aug 4, 2015 5:26 pm
Subject: Control structure with "not"


Is it possible to convert this to a switch control structure, or otherwise
refined somehow? The “not” is what I need, and the setting has to be always
“true”:

on doThisThing tSender
if tSender is not “Apple” then 
set
tSwitchApple to true
end if

if Sender is not “Peach” then 
set
tSwitchPeach to true
end if

if Sender is not “Grape” then 
set
tSwitchGrape to true
end if
end doThisThing

Peter
Bogdanoff
UCLA
___
use-livecode
mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe,
unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

 

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Control structure with "not"

2015-08-04 Thread Peter Bogdanoff
This won’t work for me because ALL the switches always have to be set to true, 
except for the one related sender.

On Aug 4, 2015, at 2:40 PM, Peter Haworth  wrote:

> You could:
> 
> set tSwitchApple to (tSender is not "Apple")
> set tSwitchPeach to (tSender is not "Peach")
> set tSwitchGrape to (tSender is not "Grape")
> 
> Slightly different than your code because the switches would be set to
> false if the condition isn't met whereas you code doesn't do that.
> 
> On Tue, Aug 4, 2015 at 2:25 PM Peter Bogdanoff  wrote:
> 
>> Is it possible to convert this to a switch control structure, or otherwise
>> refined somehow? The “not” is what I need, and the setting has to be always
>> “true”:
>> 
>> on doThisThing tSender
>>if tSender is not “Apple” then
>>set tSwitchApple to true
>>end if
>> 
>>if Sender is not “Peach” then
>>set tSwitchPeach to true
>>end if
>> 
>>if Sender is not “Grape” then
>>set tSwitchGrape to true
>>end if
>> end doThisThing
>> 
>> Peter Bogdanoff
>> UCLA
>> ___
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Control structure with "not"

2015-08-04 Thread Phil Davis
You can always use 'switch' without specifying an expression to evaluate 
as part of the 'switch' line, like so:


switch
case (tSender is not "Apple")
put true into tSwitchApple
--break
case (tSender is not "Peach")
put true into tSwitchPeach
--break
case (tSender is not "Grape")
put true into tSwitchGrape
--break
end switch


Or there's this. It doesn't generate errors but it also doesn't work - 
the variables are not filled by it:


switch  tSender
case (not "Apple")
put true into tSwitchApple
--break
case (not "Peach")
put true into tSwitchPeach
--break
case (not "Grape")
put true into tSwitchGrape
--break
end switch

("break" is commented to allow same logic flow as your example)


Here's another way (that does work) to skin that cat:

on doThisThing pSender
constant kFruits = "Apple,Peach,Grape"

put kFruits into tFruitsA
split tFruitsA with comma as set
put false into tFruitsA[pSender]
end doThisThing


I love arrays.
And there are probably many other ways to do it.

Phil Davis



On 8/4/15 2:24 PM, Peter Bogdanoff wrote:

Is it possible to convert this to a switch control structure, or otherwise 
refined somehow? The “not” is what I need, and the setting has to be always 
“true”:

on doThisThing tSender
if tSender is not “Apple” then
set tSwitchApple to true
end if

if Sender is not “Peach” then
set tSwitchPeach to true
end if

if Sender is not “Grape” then
set tSwitchGrape to true
end if
end doThisThing

Peter Bogdanoff
UCLA
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



--
Phil Davis


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Control structure with "not"

2015-08-04 Thread Peter Haworth
Maybe I'm misunderstanding what you want but I think my code does that.

For example, let's say tSender is "Apple":

set tSwitchApple to (tSender is not "Apple") --> false
set tSwitchPeach to (tSender is not "Peach") --> true
set tSwitchGrape to (tSender is not "Grape") --> true

Looking at your code again, it's unclear as to whether your tSwitchxxx
things are variables or custom properties.  Using "set" makes me think they
are custom properties but then you would need "of " or the
script won't compile. If they are variables, then use "put" to put values
into them.

If they are variables, I'd make the switches into an array and then:

repeat for each item rFruit in "Apple,Peach,Grape"
   put (tSender is not rFruit) into tSwitches[rFruit]
end repeat

And I really like Phil's "split" solution!


On Tue, Aug 4, 2015 at 2:49 PM Peter Bogdanoff  wrote:

> This won’t work for me because ALL the switches always have to be set to
> true, except for the one related sender.
>
> On Aug 4, 2015, at 2:40 PM, Peter Haworth  wrote:
>
> > You could:
> >
> > set tSwitchApple to (tSender is not "Apple")
> > set tSwitchPeach to (tSender is not "Peach")
> > set tSwitchGrape to (tSender is not "Grape")
> >
> > Slightly different than your code because the switches would be set to
> > false if the condition isn't met whereas you code doesn't do that.
> >
> > On Tue, Aug 4, 2015 at 2:25 PM Peter Bogdanoff  wrote:
> >
> >> Is it possible to convert this to a switch control structure, or
> otherwise
> >> refined somehow? The “not” is what I need, and the setting has to be
> always
> >> “true”:
> >>
> >> on doThisThing tSender
> >>if tSender is not “Apple” then
> >>set tSwitchApple to true
> >>end if
> >>
> >>if Sender is not “Peach” then
> >>set tSwitchPeach to true
> >>end if
> >>
> >>if Sender is not “Grape” then
> >>set tSwitchGrape to true
> >>end if
> >> end doThisThing
> >>
> >> Peter Bogdanoff
> >> UCLA
> >> ___
> >> use-livecode mailing list
> >> use-livecode@lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode