Re: "script cast member not found" -- bug?

2004-10-05 Thread Irv Kalb
I've seen it many times.  I've never been able to reproduce it 
exactly, but I usually see it when I am debugging through a parent 
script.  I believe that what happens is that Director "looses track" 
of the compiled code for a script.  It thinks that the script has 
been compiled, but it can't find it.

My general fix is this:
Open the script
Select the whole script
Open a new script window
Paste
Give the new script, the old script name
Delete the original script
Save and compact

Select the new script in the cast
Cut it from where it is
Paste it back into the original slot in the cast

Recompile all scripts
Save and compact
By deleting the old script and creating a new one, it forces Director 
to think that this is a new script and therefore, compile new code 
using it.

Irv
At 9:20 AM -0400 10/5/04, Mendelsohn, Michael wrote:
Hi list...
Anyone ever experience a "script cast member not found" error, when it's
really there?
My movie has a linked cast named "functionality," which contains all my
scripts.  It also has a movie script with a prepareMovie handler that
instances a parent script called "the tools."
Suddenly, when it gets to this line in the prepareMovie handler...
gTools = script("the tools", "functionality").new()
It gets one line into the new() handler of the parent, and then errors
"script cast member not found."
How does this happen?  Debugging steps into that script, meaning it was
found, but then it can't find it?
- Michael M.
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Collating multiple returns from sendAllSprites

2004-08-24 Thread Irv Kalb
You can use a list (untested, but the idea is right):
someList = []
sendallsprites(#GetCheckboxValues, "myCheckboxGroupID", someList)
nItems = count(someList)
and in the sprites:
on GetCheckboxValues me, groupID, aList
if groupID = pThisGroupID and someglobal then
append(aList, spriteNum)
end if
end
The list is passed "by reference" so that the same list will be sent 
to all the sprites, and each will add it's own sprite number to the 
list in succession.

Irv
At 4:58 PM +0100 8/24/04, Ross Clutterbuck wrote:
Hi list
A minor conundrum is at hand. I'm building a simple form and one question
consists of a number of checkboxes, each one with its own unique numeric
value. They are checkboxes because the user can select any number of them.
When the form is submitted I want to total up the values returned by those
checkboxes. I was originally going to use sendAllSprites to send a message
to all checkboxes within a specified group, who would in turn report back
their numeric value if they were checked.
The problem is though is that the return value for, say, checkbox #2 will
overwrite the value of checkbox #1 before i can collate all results to total
them up, and given my post-injury fatigue my brain has gone dead on how to
get around it lol.
Rough pseudocode of what I was going to do:
-- calling routine
result = sendAllSprites(#GetCheckboxValues, "myCheckboxGroupID")
-- inside the checkbox behaviour
property pThisGroupID -- unique ID for this checkbox group
property pSelected -- boolean for checked state
property pMyValue -- value of this checkbox
on GetCheckboxValues me, groupID
if groupID = pThisGroupID and pSelected then return pMyValue
end
So as you can see, the variable "result" will be overwritten with each
message in response to sendAllSprites.
Any ideas?
TIA
Ross
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: AW: OOP: shortest handler name

2004-08-05 Thread Irv Kalb
If you are using it this way, three things:
1) Your routine "t" doesn't (and shouldn't need to be) a method of a 
parent script.  Instead, it should just be a globally available movie 
level handler.

2)  Please don't use member numbers.  Yes it's shorter (fewer number 
of characters), but as soon as you or someone else decides to move a 
member within the cast, your program breaks without any warning.  Use 
member names instead.  As an added benefit, it will wind up making 
your code easier to read.

3)  if you are just stringing together the text of a bunch of 
members, you could pass in a list of members to concatentate:

on t listOfMembers
  nMembers = count(listOfMembers)
  output = ""
  repeat with i = 1 to nMembers
thisMember = listOfMembers[i]
output = output & member(thisMember, "websiteBuilder").text
-- or faster:
-- put the text of member thisMember of castlib "WebBuilder" 
after output
  end repeat
  return output
end

And call it like this:
htmlText = t([3, 2, 7])
or preferably (see #2 above):
htmlText = t(["header", "body", "trailer"])
Irv
PS:
  on t chunkNumber
  return member(t, "websiteBuilder").text
end
I think you meant:
  return member(chunkNumber, "websiteBuilder").text
At 11:13 PM +0200 8/5/04, Michael von Aichberger wrote:
 > Use meaningful variable and handler names. It's THE first rule of reusable
programming.
You are right and that is what I normally do. But in this case I need the
name of the handler to be short, because the purpose of the handler is to
get me the content of a text cast member. The whole program is for bulding a
web site. The various segments of the HTML code are stored in text cast
members. And I need the short handler as abbreviation when concatenating the
different html chunks. So in this case, the short handler name makes the
code even easier to read!
Instead of coding
htmlText = member(3, "websiteBuilder").text & member(2,
"websiteBuilder").text & member(7, "websiteBuilder").text
I can write htmlText = t(3) & t(2) & t(7)
with the function
on t chunkNumber
  return member(t, "websiteBuilder").text
end
Or is there a smarter way to do this?
Thanks
Michael
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: OOP: shortest handler name

2004-08-05 Thread Irv Kalb
Inside a handler (or if you prefer, "method" of a parent script or 
behavior script), you need to have the "me" in two circumstances:

1) if you have any other parameters.  This is because methods expect 
to see the current instance of the object as the first parameter 
(this is really what "me" is), then the next thing is the real first 
parameter.  So if you had a method like this:

on mMyMethod me, param1, param2, ...
and a call like this:
someObjectReference.mMyMethod(var1, var2, ...)
The value of someObjectReference is passed into the handler and is 
given to the variable "me".  The value of  var1 is given to param1, 
v2 is given to param2, etc.  So, bottomline, if you are passing in 
any more variables, you need to have "me" to catch the object 
reference.

2) if you are going to call any other method in the same script. You 
will need "me" here if you want to call some other method since you 
need to pass the object reference along, for example:

on myMethod1 me
   ... some code
   me.myMethod2()
   ... some code
end
on myMethod2 me
  ... some code
end
Since myMethod2 is a method of a script, it must have an object 
reference just like myMethod1.  When calling myMethod2, you must use 
"me." to tell it which instance.  If you didn't have "me" in the 
definition of myMethod1, then you would get a compilation error on 
the call to myMethod2, because "me" is undefined.

Consider yourself enlightened about your baxic question.
All that being said, I always add "me" to all methods.  It's just 
easier to remember to do it all the time, rather than trying to 
figure out when it is not needed.

Also, while "x" is very short and will save typing, I would never use 
such a name.  Over time, you (or more correctly, I) would forget what 
the method does if it didn't have a descriptive name.  :)

Irv
At 9:36 PM +0200 8/5/04, Michael von Aichberger wrote:
Hi everybody,
I have a baxic question about parent scripts.
Until now, a typical handler definition in a parent script of mine looked
like
on mWhatToDo me
...
end
and it was run like that:
me.mWhatToDo()
Now I have a handler that is called very often so that it would be nice, if
the handler name were very short. As short as possible that is.
This could be:
on x me
...
end
which could be run with
me.x()

Next I was asking myself, if the "me" could be omitted.
I tried
on x
end
and called it with:
x()
And it worked!
However I am sure there must be something wrong with it. There must be a
reason for the "me" after all.
Can anybody enlighten me?
Thanks!
Michael

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: List question

2004-07-22 Thread Irv Kalb
Matt,
I would suggest a slightly different approach.  I would probably 
reverse the property and value positions in your two lists.  That is, 
build up a sorted lists like:

list1 = [0:"", 19:""]
This way, you could walk through each list and check if the the 
property exists in the other list, something like this (tested with 
only your data):

on test
  List1 = [0: "", 10: ""]
  List2 = [10: "", 19: ""]
  mergedList = combineLists(List1, List2)
  put mergedList
end
on combineLists  list1, list2 
  numFeatures1 = count(list1)
  numFeatures2 = count(list2)

  if numFeatures1 < numFeatures2 then
smallerList = list1  -- doesn't copy, just sets a pointer
largerList = list2
numInSmallerList = numFeatures1
  else
smallerList = list2
largerList = list1
numInSmallerList = numFeatures2
  end if
  outputList = duplicate(largerList)  -- make a copy the larger list 
as a starting point
  sort(outputList)

  -- now loop through the items in the smaller list. 
  --  If an item is not in the output list, add the property and the value
  -- else there is a match on a property in the larger list, add to 
the existing value string

  repeat with i = 1 to numInSmallerList
theProp = getPropAt(smallerList, i)
theValue = smallerList[i]
where = getAProp(outputList, theProp)
if voidp(where) then  -- not found 
  addProp(outputList, theProp, theValue)
 
else  -- found a match
  theExistingValue = getAProp(outputList, theProp)
  theExpandedValue = theExistingValue & theValue
  setProp(outputList, theProp, theExpandedValue)
end if
  end repeat
  return(outputList)
end

This gives you a merged list with the properties and values reversed:
-- [0: "", 10: "", 19: ""]
Hope this helps,
Irv
PS:  You have to be careful about quote marks within your strings, e.g.,
"text align="right">"
is not a valid Lingo string  (I faked it for this test)
Irv

At 3:32 PM -0500 7/22/04, Matt Wells wrote:
I was wondering if you guys could give me a hand with this.
I'm creating a HTML editor and I have come across this problem. I look
at each char in the text and place what it is in a list like what you
see below.
** Now I need to find in each list the ones with matching numbers and
combine them.
My two lists:
List1 = ["": 0, "": 10]
List2 = ["": 10, ": 19]
What I need is:
List3 = ["": 0, "":10,
"": 19]
As you can see now Number 10 in List1 and List2 are combined in List3.
What I have done so far:
on combineLists 

  set numFeatures1 =count(list1)
  set numFeatures2 =count(list2)
  if numFeatures1 > numFeatures2 then
numFeatures = numFeatures1
  else
numFeatures = numFeatures2
  end if
  newlistAlign = [:]
  repeat with x = 1 to numFeatures
   
if x > numFeatures1 then
else
  set item1 =getAt(list1, x) --Num
  set type1 =getPropAt(list1, x) --Tag
end if
   
if x > numFeatures2 then
else
  set item2 =getAt(list2, x)--Num
  set type2 =getPropAt(list2, x)--Tag
end if
   
if item1 = item2 then
  newEntery = type1 & type2
  addProp newlist, newEntery, item2
end if
   
if item1 <> item2 then
  newEntery = type1
  newEntery2 = type2
  addprop newlist, newEntery,  item1
  addprop newlist, newEntery2, item2
end if

  end repeat
end   

Problem is I get this:
["": 0, "": 10, "": 10,
"": 19]
Thanks,
Matt

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Getting information form a list

2004-07-19 Thread Irv Kalb
Use "getPropAt"
Irv
At 12:29 PM -0500 7/19/04, Matt Wells wrote:
How do you get the first and second value from a property list by the
position?
listA = [10: "one", 3: "one", 4: "three"]
nCount = count(listA)
Repeat with x = 1 to nCount
  secondPos = ListA[x]
put secondPos
end repeat
With this I get
-- "one"
-- "one"
-- "three"
How do you get this from the position?
-- 10
-- 3
-- 4
   


[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: comparing lists

2004-07-11 Thread Irv Kalb
At 5:59 PM +1200 7/11/04, Sean Wilson wrote:

While Irv has already provided some crafty code, it's worth noting 
that for performance's sake you only need to iterate through the 
_smaller_ list looking for duplicates.

-Sean.
Sean is right.  Here's a revised version that accounts for this 
(still untested):

on FindMatches listA, listB
  -- The output will be a list of all items which are in both lists
  matchList = []
  nItemsInListA = count(listA)
  nItemsInListB = count(listB)
  if nItemsInListA < nItemsInListB then
-- iterate through all the items in the first list
repeat with i = 1 to nItemsInListA
  -- grab each item
  itemFromListA = listA[i]
  -- see if it exists in the other list
  where = getOne(listB, itemFromListA)
  -- if so, add it to the resulting matching list
  if where > 0 then
 append(matchList, itemFromListA)
  end if
end repeat
 else
-- iterate through all the items in the second list
repeat with i = 1 to nItemsInListB
  -- grab each item
  itemFromListB = listB[i]
  -- see if it exists in the other list
  where = getOne(listA, itemFromListB)
  -- if so, add it to the resulting matching list
  if where > 0 then
 append(matchList, itemFromListB)
  end if
end repeat
 end if
  -- return the matching list
  return matchList
end
--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Removing duplicates from 2 list

2004-07-11 Thread Irv Kalb
Why are you having to eliminate duplicates??Rather than remove 
duplicates after finding matches, only add one of each item that 
matches in both lists to your matchlist.  That's what the code that I 
provided did.

Confused ...
Irv
At 1:19 PM -0500 7/11/04, Matt Wells wrote:
Hello,
After comparing two lists and finding the matches, I have placed them in
a new list. The new list now has duplicates of the same item. I need to
get rid of all the duplicates. This is what I have so far. Shouldn't
this work?
I'm getting an Index out of range error?
  nItemsInListA = count(matchList)
  matchlist.sort()
  repeat with i = 1 to nItemsInListA -1
   
itemFromML1 = matchlist[i]
itemFromML2 = matchlist[i +1]
   
   
first = getOne(matchList, itemFromML1)
Sec = getOne(matchList, itemFromML2)
   
if first = Sec then
  matchList.deleteAt(itemFromML2)
end if

  end repeat 

Thanks,
~Matt

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: comparing lists

2004-07-10 Thread Irv Kalb
If I understand what you are looking for, try something like this (untested):
on FindMatches listA, listB
  -- The output will be a list of all items which are in both lists
  matchList = []
  nItemsInListA = count(listA)
  -- iterate through all the items in the first list
  repeat with i = 1 to nItemsInListA
-- grab each item
itemFromListA = listA[i]
-- see if it exists in the other list
where = getOne(listB, itemFromListA)
-- if so, add it to the resulting matching list
if where > 0 then
   append(matchList, itemFromListA)
end if
  end repeat
  -- return the matching list
  return matchList
end
Hope this helps,
Irv
At 9:11 PM -0500 7/10/04, Matt Wells wrote:
Hello,
I'm at a bit of loss here on comparing two lists
I need to find which values match in each list.
Basically does list A also have a 24 as does list B.
Here are the lists:
B1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25]
I1 = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26]
C1 = 1
C2 = highest number of the two lists
  repeat with x = c1 to c2
   
   --Some Crafty CODE

  end repeat
Any Ideas? Or is there a simple way of doing this?
My brain is fried - need beer - going home
Thanks for the input

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


RE: Help yourself, children

2004-06-28 Thread Irv Kalb
OK, I'll give you a month, but not a day longer!:)
Irv

Thanks a lot, but I'll need at least a month to delve into it and understand
of what is going on in that sophisticated code.
Peter the Great

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


RE: Help yourself, children

2004-06-28 Thread Irv Kalb
Yup, that would work!  :)
Irv
At 4:36 PM +1200 6/28/04, Sean Wilson wrote:
Because of the problem with the actorList, many years ago, I wrote 
a replacement for the actorList which would solve the deletion 
problem.
Hi Irv,
You know, of course, that there's a simple work-around. Before an 
object deletes itself from the actorList it gets its position and 
compares it with the total number of entries. If it isn't the last, 
it makes a call to the stepFrame handler of the next object and it 
removes itself. Something like:
--
on mKill( me )
  pos = (the actorList).getPos( me )
  if ( pos < count(the actorList) ) then
call(#stepFrame, [(the actorList)[pos + 1]])
  end if
  (the actorList).deleteOne( me )
  -- remove remaining references ...
end
--

Cheers,
-Sean.
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


RE: Help yourself, children

2004-06-27 Thread Irv Kalb
Peter,
Because of the problem with the actorList, many years ago, I wrote a 
replacement for the actorList which would solve the deletion problem. 
It's a manager which I called the FrameMgr.  The basic idea is that 
it is instantiated at the beginning of your movie, and it inserts 
itself into the actorList.  Anything that wants to be in get frame 
event notification, registers itself with the FrameMgr (using the 
mAdd) call.  When you register an object, it starts receiving 
mFrameEvent calls instead of stepFrame events.  You can delete any 
object by caling its mDelete method.  It does the right thing and 
ensures that objects are deleted correctly.  When you are ready to 
stop your program, call the FrameMgr's mCleanup method, and set the 
object reference of the FrameMgr to VOID.

I haven't used this in a long time, but I remember that it worked. 
It even allows you to remove an object from the FrameMgr in its own 
mFrameEvent method.

Enjoy:
Irv
-- FrameMgr script
property ploActors  -- property which is a list of Actor  objects
property ploToBeAdded -- property which is a list of Actor objects to be added
property ploToBeRemoved -- property which is a list of Actors objects 
to be removed
property psymAtEnd  -- #kill or #warn

on new me, symAtEnd
  set psymAtEnd = symAtEnd
  set ploActors = []
  set ploToBeAdded = []
  set ploToBeRemoved = []
  add(the actorList, me)
  return me
end new
on mAdd me, oWho
  -- Just build up a list of actors who want to be added
  append(ploToBeAdded, oWho)
end mAdd
on mRemove me, oWho
  -- Check to see if object to remove is in the list of objects to be added,
  -- If so, just remove it from that list
  where = getPos(ploToBeAdded, oWho)
  if where > 0 then
deleteAt(ploToBeAdded, where)
return
  end if
  -- Just build up a list of actors who want to be deleted
  append(ploToBeRemoved, oWho)
end mRemove
on stepFrame me
  -- First, if there any actors who have asked to be removed, remove them
  if count(ploToBeRemoved) > 0 then
repeat with oToRemove in ploToBeRemoved
  set where = getPos(ploActors, oToRemove)
  if where > 0 then
-- Note: this does not delete the object, it just removes the 
reference to it
-- from the ActorMgr's internal list
deleteAt(ploActors, where)
  end if
end repeat
set ploToBeRemoved = [] 
  end if

  -- Second,  if there any actors who have asked to be added, add them
  if count(ploToBeAdded) > 0 then
repeat with oToAdd in ploToBeAdded
  set where = getPos(ploActors, oToAdd)
  if where = 0 then  -- not yet in the list
add(ploActors, oToAdd)
  end if
end repeat
set ploToBeAdded = []
  end if
  -- Finally, send an mFrameEvent message to all actors in the list
  repeat with oActor in ploActors
mFrameEvent(oActor)
  end repeat
end stepFrame
on mCleanUp me
  set nActors = count(ploActors)
  if nActors > 0 then
repeat with i = 1 to nActors
  set oActor = getAt(ploActors, i)
  if psymAtEnd = #kill then
mCleanUp(oActor)
setAt(ploActors, i, VOID)
  else
put "*** Object not removed from FrameMgr:" && oActor
beep
  end if
end repeat   
  end if

  set ploActors = []
  set ploToBeAdded = []
  set ploToBeRemoved = []
  set the actorList = []
end mCleanUp
Hi Irv,
Thanks for making clarifications. So, with your reply in my mind, I can see
that the best way to remove childs (sorry Zav, but "children" doesn't sound
good) from actorList is only through explicit statements, right? But then, I
would definitely argue that it is not dynamic. It's hardcore typing. I'm not
criticizing you post though, I'm just exploring the best way to deal with
objects.
Thanks
pb
At 10:06 PM +0300 6/27/04, Petro Bochan wrote:
Irv Kalb:
 As for an object deleting itself from the actorList ... here's the
 problem.When Director goes to a new frame, it basically goes
 through it's equivalent of a repeat loop from 1 to the number of
 > items in the repeat loop, calling the stepFrame handler in each
 object.  If an object deletes itself from the actorList inside its
 own stepFrame handler, it changes the actorList.  When this happens,
 Director can skip calling the next item in the actorList, and/or can
 go off the end of the actorList.
 If you just reset the actorList at the end, that would work fine.

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Help yourself, children

2004-06-27 Thread Irv Kalb
Before I answer your question, I'll pose a question to you.  Why 
would you do this??  (Unless you are just trying to learn about the 
actorlist.)

Instead, if you are trying to move a sprite, it would be much easier 
to do the same thing with a behavior attached to the sprite in 
channel 1.  Instead of parent scripts dealing with the actorList, 
behaviors automatically get exitFrame calls every frame.  Therefore, 
you could do what you want using this behavior (untested):

property spriteNum  -- automatically given the correct number
property pSprite
property pIncrement
on beginSprite me
  pSprite = sprite(spriteNum)  -- get a reference to the sprite itself
  pIncrement = 1
end
on exitFrame(me)
  if pSprite.locH < 500 then
  pSprite.locH = pSprite.locH + pIncrement
  end if
end
As for an object deleting itself from the actorList ... here's the 
problem.When Director goes to a new frame, it basically goes 
through it's equivalent of a repeat loop from 1 to the number of 
items in the repeat loop, calling the stepFrame handler in each 
object.  If an object deletes itself from the actorList inside its 
own stepFrame handler, it changes the actorList.  When this happens, 
Director can skip calling the next item in the actorList, and/or can 
go off the end of the actorList.

If you just reset the actorList at the end, that would work fine.
Irv
At 2:07 PM +0300 6/27/04, Petro Bochan wrote:
Hello,
-- Parent Script: Move --
property pSprite
property pLocH
property pIncrement
on new(me, aSprite)
  pSprite = aSprite
  pLoch = pSprite.locH
  pIncrement = 1
  _movie.actorList.append(me)
  return(me)
end
on stepFrame(me)
  pLocH = pLocH + pIncrement
  if(pLocH > 500) then
_movie.actorList.deleteOne(me)
  end if
  pSprite.locH = pLocH
end
-- Start Movie --
on startMovie()
  script("Move").new(sprite(1))
end
on stopMovie()
  _movie.actorList = []
end
-
The statement in the stopMovie() handler is of great functionality, but it
has a drawback that it deletes all the objects attached to the sprite. In
the on new(me, ...) handler I tell the object to add itself to the actorList
by saying _movie.actorList.append(me), right? But I wonder what is the most
efficient way to make the object remove itself from the actorList? Let's say
in the "Move" script we have the following condition and an action applied:
on stepFrame(me)
  pLocH = pLocH + pIncrement
  if(pLocH > 500) then
_movie.actorList.deleteOne(me)
  end if
  pSprite.locH = pLocH
end
Is that a good way to make the object remove itself from the actorList? I
have tried many other techniques but they don't work.
TIA
Pedro

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Seeking Shockwave math website

2004-06-24 Thread Irv Kalb
http://www.explorelearning.com
At 12:43 PM -0400 6/24/04, Mendelsohn, Michael wrote:
Hi list...
Some time ago, I came across a really cool website that had lots of math
lessons done in Shockwave.  Of course, I don't remember the URL.
Sound familiar to anyone?
Thanks,
- Michael M.
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: GPDL again

2004-06-13 Thread Irv Kalb
I'm a little familiar with that write-up, maybe I can help.  While 
you can have code in a GPDL, you generally put code in there that 
will help you build up lists, or provide selections for the resulting 
Parameter Dialog Box.

The basic thing that is going wrong in your script is that GPDL does 
not run at run-time, it runs at author time.  Therefore, the variable 
"currentSpriteNum" doesn't have a value.

I put a breakpoint after the first line of code in your GPDL and 
found that currentSpriteNum had a value of zero.  Then stepping 
through the code, it is trying to get the locH and locV of sprite 0. 
Since sprite 0 is not a real sprite, the locH and locV should not be 
trusted.  Like you, I found (after converting 
_player.currentSpriteNum to the currentSpriteNum so I could do this 
in DMX), that there must be a difference in dot syntax versus verbose 
syntax which gives you the error.

However, this is all unimportant.  The real problem with your code is 
that GPDL runs at author-time rather than a run-time.  And at 
author-time, there are no Director sprites.  The simple solution is 
code that refers to sprites and sprite locations should be moved into 
the on beginSprite handler.  on beginSprite runs right after Director 
"instantiates" each sprite.

Further, "currentSpriteNum" is not needed here.  I suggest declaring 
and using "spriteNum" instead.  It is automatically given the correct 
value at runtime.  From the Lingo Dictionary:

This property was more useful during transitions from older movies to 
Director6, when behaviors were introduced.  It allowed some 
behavior-like functionality without having to completely rewrite 
Lingo code.  It is not necessary when authoring with behaviors and is 
therefore less useful in the past.

Bottom line:
property spriteNum
property pSprite
property pStartH, pStartV
on getPropertyDescriptionList  -- no "me" needed here
-- do whatever you want to create a property list to be returned to 
define the dialog box
end

on beginSprite me
  pSprite = sprite(spriteNum)
  pStartH = pSprite.locH
  pStartV = pSprite.locV
end
Irv
At 3:01 PM +0300 6/13/04, Peter Bochan wrote:
Hello,
I guess I'm going to have GPDL nightmares soon. Again an error.
A short background. When you search the internet for Director/Lingo
tutorials you'll probably run into www.furrypants.com/loope. In the GPDL
article you'll discover that this handler can be used not only for popping
up the parameters window but also to include some code in it. I tried it out
and ended up with an error message. Here is the code:
property pSprite
property pStartH, pStartV
on getPropertyDescriptionList(me)
  pSprite = _player.currentSpriteNum
  pStartH = sprite(pSprite).locH
  pStartV = sprite(pSprite).locV
end

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Need HideHotSpots and ShowHotSpots capability

2004-06-10 Thread Irv Kalb
Welcome to the list!
I remember going through the exact thing about a year ago.  I was 
looking for a programmatic way to do the exact same thing.  I also 
had the requirement that I had to be able to do VR HotSpots 
cross-platform.  Unfortunately I could not find a solution.  I also 
ran across the Developware version, but it was Windows only.  My 
client eventually dropped the requirement to show/hide ths hotspots.

I never followed through with trying out the Developware Xtra as I 
needed a cross-platform solution, so I can't tell you how well it 
works.  But if your kiosks are Windows only, I think that they are 
the only game in town.

Irv
At 6:34 AM -0700 6/10/04, Paul Fretheim wrote:
Hi,
I am new to this list.  Hi everybody!
My company has kiosks at Park visitor centers, bookstores and 
museums which run Macromedia Director loops which are subsets of our 
CDs which feature QTVR scenes.

As you know, there is a button at the bottom of the QTVR window 
which makes the hot spots toggle between visible and not visible.  I 
would like to be able to write some Lingo code to make the QTVRs 
reset to the "Hotspots not Visible" mode, so when a potential 
customer has toggled the hotspots to visible, the Director movie 
will reset the hotspots to "Not Visible" the next time around so the 
panos do not have mysterious blue rectangles all over them after the 
person who clicked them visible, either knowingly or otherwise, 
walks away, leaving them visible.

I am using Director 8 and I have the reference books:  "Director in 
a Nutshell," "Lingo in a Nutshell" and "Using Director 8," but I 
cannot find the correct property name for HotSpots.

I have been able to find the VRHotSpotEnter and VRHotSpotExit 
properties, which will give Boolean values that can be acted upon, 
but I can't find the property name for setting Visible/Invisible.

It occurs to me that this may be a property of the controller, but I 
have been unable to find settings there either.

Any assistance will be most appreciated.
I downloaded the demo version of an Xtra from Germany, which 
purports to offer the Hide/Show capablity I need, but the 
instructions were like trying to read a translation of Hegel and all 
the warnings put me off.  There seemed to be so many potential 
instabilities that I would be reluctant to place something which 
relied on that at retaliers.  Does anyone have experience with the 
"Developware" Xtras?


Thanks.

Paul Fretheim
Owner, Inyo Pro - Publishers of Interpretive Products on the National Parks
http://inyopro.com
[EMAIL PROTECTED]
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: pass with prepareMovie not possible?

2004-06-09 Thread Irv Kalb
It's really not clear what you are trying to accomplish, but here is 
an approach that I have used in projects with multiple movies, maybe 
you can use something similar.

Each movie links to one common external castlib, lets call it 
GCode.cst (for global code castlib).  In this castlib, I have a movie 
script with a handler called SharedPrepareMovie and another called 
SharedStartMovie.  Each of these two handlers take a parameter of a 
symbol.  Back to this in a second.

Then each movie has its own movie script cast member which has the 
real on PrepareMovie and on StartMovie handlers.  In these handlers, 
I do any custom code that may need to be done for this particular 
movie, then I call the Shared version of the handler and pass in a 
symbol for the type of the movie that it is.  For example, in some 
large projects I may have a mainmenu module and some chapter movies, 
and a help movie, etc.  So a typical chapter movie might look like 
this:

on prepareMovie
  -- any special code for this movie, if there is any
  SharedPrepareMovie(#chapter)
end
on startMovie
  -- any special code for this movie, if there is any
   SharedStartMovie(#chapter)
end
Back to the shared handlers, the movie script in the GCode castlib is 
really just a case statement:

on SharedPrepareMovie symMovieType
   case symMovieType of
  #chapter:   -- whatever you need to do all chapters
  #menu:  -- whatever you might need to do for a menu
 #help:  -- whatever you might need to do for a help movie
 -- etc.
  end
end
And I have a similar approach for the SharedStartMovie handler.
Hope this approach helps,
Irv
At 10:07 AM +0200 6/9/04, Roland Schroth wrote:
I have the following problem:
In a movie script I have a prepareMovie and a startMovie procedure 
to initialize some settings.
As I want my other movie scripts to still execute their own code for 
these messages, I thought that putting a pass at the end of
each of these procedures should enable that behaviour.
But now I have the problem that only the first prepareMovie is 
executed and the pass does not seem to have any effect at all.
Neither the scripts in the internal cast nor those in the external 
ones execute their prepareMovie or the startMovie messages.


--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


RE: When and when

2004-06-09 Thread Irv Kalb
Peter,
You should not be worried about the amount of memory used by local 
variables.  All local variables are allocated using a stack 
mechanism.  When you call a handler, space for local variables is 
allocated on the top of a stack (actually, it might be done when 
Lingo first encounters each local variable, but that's not really 
important).  When your code returns from a handler, the space 
allocated for all the local variables used in the handler is "pop'ed" 
off the stack and given back to the system.   You don't have to do 
anything, Director handles this for you.

Irv

At 9:06 PM +0300 6/9/04, Peter Bochan wrote:


Oh, I see. But you know, the reason I'm actually afraid of using variables
is that I'm not sure how much space in memory will they take. That is, after
reading all those artciles about parents, children, xtras, ancestors,
inheritance I hesitate much to use many variables because of cleanup. Maybe
it's my skimming the documentation or some other issue but I'm definitely
not going to give up. Never.

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: database lingo vs. xtra

2004-06-08 Thread Irv Kalb
And if you want your Lingo-based "database" to run faster, check out 
an article I wrote for DOUG many years ago at:

http://www.director-online.com/buildArticle.php?id=442
This describes a technique I use to store data in cast members as 
Lingo routines.  I don't know if the timing is still accurate, but 
when I testing this approach against storing data as just text or 
field members, my approach was about seven times as fast.

Irv
At 11:26 AM +1200 6/9/04, Tony Bray wrote:
On 9 Jun 2004, at 0:37, Stephen Ingrum <[EMAIL PROTECTED]> wrote:
Details:
the "database" will be updated by only 1 (or maybe 2) people ever.
it will contain 1200-1500  entries
each entry will contain firstname, lastname, storenumber,
images(anywhere from 0-5), other misc textbased fields
For the last 4 years I have had a "database" running using external 
casts, of text members, to store similar information in lists.

i.e. each text cast member contains a record of 
[#uniqueStudentID:#app004,#firstname:"Fred", #lastname:"Bloggy", 
#phone:"678 789",etc]

I have 5 external casts (Apprentices, Employers, Coordinators, 
Credits, Notes) which are interlinked in my program by the uniqueID.

This database is updated on a more or less daily basis by 2 or 3 people.
The database is used to export Mail Merge files in Word, 
Spreadsheets in Excel, etc.

For the small number of records that you wish to use I would 
definitely use Lingo. An understanding of relational databases is a 
help, but in your case I do not think you will need that knowledge.

Just my $0.05 (we don't have 2 cent coins in NZ)
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: When and when

2004-06-07 Thread Irv Kalb
Congratualtions on your thesis!
In just looking over the versions of getPropertyDescriptionList from 
your post, both have errors. GPDL #1 says that you are trying to 
build a list of members, but what you are really displaying is a list 
of numbers.  This is because you are just adding the value of the 
variable "j" to the list.  "j" is really just an integer.  Further, 
while you are iterating over the number of members of castlib 
"Assets", you are not checking the correct member in the if 
statement.  Finally, for speed, you should always use a local 
variable when you have a repeat loop going up to some value which is 
returned from a function.  In your case, 'the number of members of 
castlib "Assets"' will not change during the loop, so you should do 
the check once.  The code should look more like this (untested):

property pVectorShape
on getPropertyDescriptionList(me)
  vectorShapesList = []
nMembers = the number of members of castlib "Assets"  -- do this once here
repeat with j = 1 to the nMembers
  if(member(j, "Assets").type = #vectorShape) then
vectorShapesList.add(member(j, "Assets"))
  end if
end repeat
  descriptionList = [:]
  descriptionList.addProp(#pVectorShape, [#comment:"Which one",
#format:#member, #range:vectorShapesList, #default:1])
  return(descriptionList)
end
GPDL #2 has two errors.  First, in your repeat loop you are trying to 
access member(j, i), but "i" has no value.  Then, you are trying to 
add to the vectiorShapesList a variable called "theName" but that is 
not defined either.

However, I believe that your general question is really about when 
you should use a variable to store  results of a function.  You 
should always use one if you are going to re-use the value multiple 
times and the value doesn't change (as in the description above). 
However, the other case that you describe has to do with using a 
local variable versus just using the results of a function directly. 
The answer is that it really is up to you.  It really is a matter of 
style.  Here's an example:

on someHandler
  someVariable = function1(someParam) + function2(someOtherParam) + 
someOtherVariable
end

versus:
on someHandler
  f1Result = function1(SomeParam)
  f2Result = function2(SomeOtherParam)
  someVariable = f1Result + f2Result + someOtherVariable
end
You will get the same answer whether you do, or do not use a local 
variable.  The main reasons to use local variable(s) are for clarity 
and debugging.  I personally like to use local variables for 
intermediate results for debugging purposes.  If you store some 
intermediate result into a local variable, you can set a breakpoint 
right after a call to a function and ensure that the function is 
returning the value you expected.   It really helps track errors down 
quickly.  Further, by splitting things up into multiple lines like 
this, I often find it easier to read.

Others disagree with me and try to pack as much into a single line as possible.
Using local variables will be slightly more expensive time-wise, but 
unless the function calls are made millions of times, you will never 
notice a slowdown by using an additional local variable.

Irv
At 10:30 PM +0300 6/7/04, Peter Bochan wrote:
Hello,
First, I'm very happy as I managed to defend my M.A. thesis to an excellent
mark. Second, I'm a bit confused: when do I use variables and when do I use
functions straight ahead?
E.g. I wanted to make a handler that would check for definite members in
definite castLib and then add the results to the list. When I tried to use
this:

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Importing multiple images problem

2004-05-26 Thread Irv Kalb
Is there any reason why these images must be all imported into 
Director?  It might be easier to deal with these images if you had 
them all as external images in a single folder.  Then you could have 
one (or more, depending on what your needs are for the catalog) 
graphic members that link to an external file.

To set this up, you import one image, which could just be a blank 
image, and select Import Link only (or what ever it is called.  Then 
at run time, you build up a string of what the real file name is, and 
set the filename of the member.

Hope this helps.
Irv
At 9:00 PM -0700 5/26/04, Hermann Brandi wrote:
Hi everybody!
I have a problem importing multiple images in Director. I'm making a catalog
with 2600 images. Yesterday I was importing my first 1038 images processed
with Photoshop. I've used Director MX and Director MX 2004 to make the
importation to an external cast member. When I imported the images, Director
imported 1038 images but of the first image on the list. I followed all the
steps to make the importation and even though the list was apparently
complete it doesn't make the work well.
I thought that might be a problem with the quantity so I started to import
20 images at a time. At first worked well but when I reached approximately
the 150th image Director began to import not 20 images but 15 or less. If I
continue to import the other images it imported the same 15 images of the
last time. What am I doing wrong?
This is the second version of the catalog and on the previous one I used
Director MX to handle 1600 images. I had no problem importing 600 at a time.
I don't know what is happening here.
I hope you can help me.
Best regards,
Hermann Brandi

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Importing multiple images problem

2004-05-26 Thread Irv Kalb
Is there any reason why these images must be all imported into 
Director?  It might be easier to deal with these images if you had 
them all as external images in a single folder.  Then you could have 
one (or more, depending on what your needs are for the catalog) 
graphic members that link to an external file.

To set this up, you import one image, which could just be a blank 
image, and select Import Link only (or what ever it is called.  Then 
at run time, you build up a string of what the real file name is, and 
set the filename of the member.

Hope this helps.
Irv
At 9:00 PM -0700 5/26/04, Hermann Brandi wrote:
Hi everybody!
I have a problem importing multiple images in Director. I'm making a catalog
with 2600 images. Yesterday I was importing my first 1038 images processed
with Photoshop. I've used Director MX and Director MX 2004 to make the
importation to an external cast member. When I imported the images, Director
imported 1038 images but of the first image on the list. I followed all the
steps to make the importation and even though the list was apparently
complete it doesn't make the work well.
I thought that might be a problem with the quantity so I started to import
20 images at a time. At first worked well but when I reached approximately
the 150th image Director began to import not 20 images but 15 or less. If I
continue to import the other images it imported the same 15 images of the
last time. What am I doing wrong?
This is the second version of the catalog and on the previous one I used
Director MX to handle 1600 images. I had no problem importing 600 at a time.
I don't know what is happening here.
I hope you can help me.
Best regards,
Hermann Brandi

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: passing values

2004-05-24 Thread Irv Kalb
I've read your posting a number of times.  I can understand some of 
what you are saying, but I don't understand what your question is?

Can you describe your goal a little clearer - what are you trying to 
achieve?  Does the program choose a pan value and the user is 
supposed to click on the appropriate button to say which is the 
closest pan value?

Where does the Tone sound start playing?  In the code that you show, 
you are only capturing the pan value of the Tone sound, but not 
setting it.

I don't know if this helps, but it sounds like you probably want to 
create five lists (or a list of 5 lists).  Initialize them to the 
empty list in your beginSprite handler, and add to the appropriate 
one in your dataCollect routine.

Maybe you need to show us more of what you are really doing.
Irv
At 2:49 PM -0400 5/24/04, Paul Schulman wrote:
I am working on this project in which I have two tones presented.  The first
tone (a hissing sound) is presented when I press one of 5 buttons. 
Each button
makes the hiss seem to come from a different direction.  The second tone (a
sort of warbling sound) is in an exitFrame handler. 

 I want to store the apparent direction of the warbling tone (as a 
pan value)in
the appropriate list or  file; that is, if the white noise comes from the far
left, I want to store the direction of the warbling sound in the list for the
far left white noise.  But since I have the warbling tone in an exitFrame
handler, it outputs each of the five lists.

If I remove the warbling tone from the exitFrame handler and put it in the
mouseDown handler, the warbling  doesn't occur at all.
I don't know if any of this will make sense but here goes. Here's the basic
code (I've edited out non-essential stuff):
on mouseDown me
  sound(1).play(member("white noise"))
  pHissDirection =   sound(1).pan
end
on exitFrame me
  ptoneDirection = sound(2).pan
  if the doubleclick then
dataCollect 
  end if
end

dataCollect is where the lists are. 

Thanks
Paul Schulman
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: movie vs behavior lingo

2004-05-20 Thread Irv Kalb
Handlers in movie scripts are available globally.   So, if you have 
an on mouseUp handler if a movie script, and nothing else is 
"catching" the mouseUp events, then they get sent to the on mouseUp 
handler in the movie script.

If/when you have an on mouseUp handler in a behavior, it only applies 
to the sprite or sprites to which you have that behavior attached. 
For example, if you have a sprite in channel 1, and you attach such a 
behavior, then if you do a mouse up while over that sprite, then 
Director will send the mouseUp event to that behavior.

If you just have this code in a behavior script and don't attach the 
behavior to a sprite, then the code will have no effect since it is 
not really active at all.  Specifically, there will not be any 
"instances" of this script running.

Hope this helps,
Irv

At 5:37 PM -0400 5/20/04, Paul Schulman wrote:
I am setting up movie in which just horizontal mouse locations are recorded in
lists.  In a movie script, I initialized some (global) lists in a startMovie
handler.  Then in a mouseUp handler I have this case statement that adds the
mouseH to one or the other of the lists. 

This works nicely if this handler is in the movie script.  If I put it in a
behavior script, even declaring the lists as global, it doesn't work.  What
principle am I missing?
Paul Schulman
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]

--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Lingo Animation Optimization Test

2004-05-14 Thread Irv Kalb
Hi Anthony,

In looking this over quickly, I found one optimization, one warning, 
and one nigley:

Optimization: In your "on Animation" you have a line that says:

  if pnCurrentMem > plMembers.count then

This will call the count routine EVERY time.  Instead, create a new 
property, e.g., pnMembers, set it in your "on PlayAnimation" method 
when you get a new list of animation members, and use it in the test 
above.

Warning: In the "on PlayAnimation" routine, you have a line:

  plMembers = lMembers

Lists are passed by reference.  Therefore, if the routine that starts 
the animation by calling this routine changes its version of this 
list, even after it returns from this call, the list in your behavior 
will be changed.  This potential problem can be avoided (unless it's 
done on purpose this way), by changing the above line to:

  plMembers = duplicate(lMembers)

Nigley:  In your stopAnimation routine, you have a parameter variable 
called bResetMem.  But you since you are comparing it to symbols 
(#original and #first) it should really be called yResetMem according 
to your naming convention.

Other than that it looks clean.

Irv

At 11:07 AM -0500 5/14/04, Anthony W. Fouts, Jr. wrote:


Here is the actual animation behavior I am optimizing.

http://www.lifelinestudios.com/sAnimationSequential.htm



--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Navigate the flashing cursor

2004-05-03 Thread Irv Kalb
I think you can do this by setting "the selStart" and "the selEnd" to 
the same value.

Irv

At 12:08 AM +0300 5/4/04, Peter Bochan wrote:
Hello,

Is there a way to move the flashing cursor in editable field cast member not
by means of arrows but through lingo? I mean let's say I've got an editable
field with the word "Director" and I want to place the flashing cursor just
after the letter "e"?
Thanks for the input
peb965


[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: resources for updating Director skills

2004-04-26 Thread Irv Kalb
You can read my E-Book on object oriented programming in Lingo, at:

   http://furrypants.com/loope

Irv

At 5:26 PM +0100 4/26/04, [EMAIL PROTECTED] wrote:
Hi

As lapsed Director user I am looking for learning resources to get my Director
skills back up to speed.  I worked extensively in Director up to version 7
(since when I have done a lot of Flash, yes I defected, sorry).  I would
appreciate suggestions of books or online resources dealing with OO coding and
3D in Dir MX2004.
tia

Joe



--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Lingo and PHP

2004-04-15 Thread Irv Kalb
Two more things in addition to what's already been said.

About getting data back from PHP ... PHP is typically used on a 
server to create a custom web page on the fly and returns a string 
which is an html page.  However, you can use PHP to create and return 
any string.  That string can be the result of a database search.  The 
string is returned in netTextResult.

If you are looking for a standardized way to make netLingo calls, 
check out my on line book at:

http://www.furrypants.com/loope   Chapter 14.

Irv

At 11:31 PM -0400 4/14/04, Dave McColgin wrote:
How do I make a high score list (just 10 rows with name and score)
stored on my server and polled/set by my game movie? I do not have CGI,
but I do have postgresql.
I've been trying to use Lingo's postNetText to get a $_POST var to PHP,
but it isn't connecting properly. Also, this could hypothetically get
data TO my database, but I'm not even sure how I would get data FROM my
database this way.
My question is whether this method is feasible, or if there is a better
way to talk to psql without spending my student loan money on an XTRA?
Would it be better to use Flash's loadVars to do this, and somehow
import it?
dave mccolgin



--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Error With Behavior in Linked Cast?

2004-04-14 Thread Irv Kalb
It could be one of these weird cases where Director loses track of 
the compiled version of the member.  If you still have your copy in 
an internal cast, delete the script member from your external cast, 
save and compact, then copy and paste it again.

Or perhaps there are no field members in the cast.

Then there are three other problems (or maybe your mail client 
doesn't support the use of colons).

1)  GetPropertyDescriptionList defines a property list.  Your first 
line should be:

 property = [:]

2)  Your add prop command is missing colons also, should be

propertyList.addProp (#pmAnimation, [#comment :c, #format: f, #default: d])

3)  plAnimation is not declared as a property, so your beginSprite 
just assigns a value to a temporary variable and then the variable 
goes away.

Irv

At 9:58 AM -0500 4/14/04, Anthony W. Fouts, Jr. wrote:
Can't figure out why this behavior works when it is in the internal cast,
but returns
an error when it is in a linked cast.  What am I missing?
Anthony
www.lifelinestudios.com

-- ERROR MESSAGE--
Script error: Cast member not found

-- SCRIPT--
property pmAnimation
on getPropertyDescriptionList
propertyList = []
c = "Field member list of sequential bitmap files for animation"
f = #field
d = ""
propertyList.addProp (#pmAnimation, [#comment c, #format f, #default d])
return propertyList
end getPropertyDescriptionList
on beginSprite me
plAnimation = field(pmAnimation).value
end beginSprite



--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: SVG generation scripts

2004-04-07 Thread Irv Kalb
OK, I'll bite.  What is SVG???

Irv

At 2:51 AM +0200 4/8/04, Valentin Schmidt wrote:
Hi list,

I've taken an important step forward in fullfilling my ingenious plan to
achieve world domination by means of lingo :-)
I've written 2 classes (parent-scripts) for runtime generation of
SVG-files: one for general SVG generation, the other for SVG graphs.
Both are translations of existing PHP code.
They are available from:

The scripts work on macs as well, but the demo-dirs and projectors use
the Adobe SVG Viewer embedded as ActiveX Control to display the
generated SVG-files, which of course doesn't work on macs.
Regards,
Valentin
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Quick Time Dynamic Play

2004-03-25 Thread Irv Kalb
It's not clear from your posting if your difficulty is in the "if" 
syntax or in the ability to play a QT movie.  First, here's the if 
syntax.  This code assumes that the variable "pcgreaterthan4" has to 
be LESS than each threshhold.  If you want it to be less than or 
equal, just add an equal sign after the less than sign:

property spriteNum

on mouseUp me
  if pcgreaterthan4 < 0.35 then
playMovie("someMovieName")
  else if pcgreaterthan4 < 0.5 then
playMovie("someOtherMovieName")
  else if pcgreaterthan4 < 0.85 then
playMovie("yetSomeOtherMovieName")
  else  -- pcgreaterthan4 is >=  0.85
playMovie("someCatchAllMovie")
  end if
end
Then in order to play a QT movie, you need to add an "on playMovie" handler.

on playMovie me, aMovieName
  sendSprite((spriteNum + 1), #mSetMovieNameAndPlay, theMovieName)
end
The code here depends a lot on your user interface.  For this code to 
work, I'll assume that you have a quicktime sprite in the next 
channel up.  You should have that quicktime member set to link to 
some "dummy" movie.

Finally, on the QuickTimeSprite, attach a behavior that says 
something like this:

property spriteNum
property pSavedMoviePath
on beginSprite me
  pSavedMoviePath = sprite(spriteNum).fileName
end
on endSprite me
  sprite(spriteNum).fileName = pSavedpath
end
on mSetMovieNameAndPlay me, theMovieName
  sprite(spriteNum).fileName = the moviePath & theMovieName
  sprite(spriteNum).movieRate = 1  -- start it playing
end
Hope this helps.

Irv

At 12:13 PM -0500 3/25/04, Kakali Bhattacharya wrote:
I am in desperate need for some help with QuickTime and Lingo in Director.

I have a Calculate button that I am trying to program with the handler on
mouseUp me and involving an if then else if condition to dynamically recall
movie clips from the cast to play on stage based on the conditions defined
in the if then argument.
Could anyone please help me syntax it so that when my users click on the
Calculate button they would be able to see a video that is appropriate to
the calculation results?
my variables for the results is "pcgreaterthan4"

and basically I need one if then for pcgreaterthan4 < 0.35, one
pcgreaterthan4 > 0.35 but <0.50 another pcgreaterthan4 > 0.50 but < 0.65 and
pcgreaterthan4 > 0.85 and <1.0 and last pcgreaterthan4 > 0.85.
I have used an if pcgreaterthan4 < 0.35 then
(need syntax to play movie from cast)
else if pcgreaterthan4 > 0.35 and pcgreaterthan4 < 0.50 then
(need syntax to play movie from cast)
all of this is on a mouse up command - so I need to not have the movies
appear on beginframe either.
Any help would be greatly appreciated.

Kakali

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Setting properties via a method's parameters

2004-03-23 Thread Irv Kalb
I just tried it, and I found that version #2 does not compile.  I get 
a "comma expected" within the pCurrent.pModule part of the on 
mHandler line.

If I think back real hard to my days of writing compilers, I can 
understand why this would be.   Parameters  that are declared on a 
handler line are allocated storage just like temporary variables 
within a handler - on the system "stack".  This way when you leave a 
handler, all temporary variables and variables implicitly declared in 
the handler definition can just go away.  For example, consider the 
following:

on mHandler me, paramVar1, paramVar2
  temp1 = paramVar1 + 1
  temp2 = paramVar2 + 1
  ...
end
In this code, when execution enters the handler mHandler, storage for 
paramVar1, paramVar2, temp1, and temp2 are all allocated on the 
stack.  When the handler exits, Lingo just "pops" these four 
variables off the top off the stack and these variables go away.

Properties of the object are stored in a different place.  In fact, 
they are stored at the address returned in the "return me" line.  The 
object reference itself points to where the property variables are 
stored.

Therefore, you could not put a property variable in the line that 
defines a handler.  Property variables and temporary variables are 
stored in different places.

Hope that made sense ... and I hope it is right  :)

Irv

At 10:37 AM -0500 3/23/04, Mendelsohn, Michael wrote:
Hi list...

What would be pros and cons of streamlining version #1 into version #2?
Currently, version #1 appears in my parent script, where pCurrent is a
property of that parent, and is itself a proplist, and the handler is
only called once.  Just seeking opinions.
Thanks,
Michael M.
-- version #1: ---

on mHandler(me, whichModule, whichSection, whichTopic)
  pCurrent.pModule = whichModule
  pCurrent.pSection = whichSection
  pCurrent.pTopic = whichTopic
  -- rest of the code
end
-- version #2: ---

on mHandler(me, pCurrent.pModule, pCurrent.pSection, pCurrent.pTopic)
  -- rest of the code
end
For example:
gObj.mHandler(3,6,8)
--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


RE: Using @//

2004-03-03 Thread Irv Kalb
I may be wrong, but I think that the problem is 
that Buddy doesn't understand the "@" operator.

I've always used an approach like Sebastien's.

Irv

At 11:34 AM -0500 3/3/04, Kerry Thompson wrote:
 > Hi Kerry
 a.) set the itemDelimiter to the foler delimiter (ie the last
 char of the moviePath)
 b.) remove the last chunks of the moviePath to come back in
 the parent folder
That works, Sébastien. Thanks.

I'd still like to know what I'm doing wrong with @//, though.

Cordially,

Kerry Thompson



[To remove yourself from this list, or to change 
to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post 
messages to the list, email [EMAIL PROTECTED] 
(Problems, email [EMAIL PROTECTED]). 
Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


OT: Happy Birthday Dr. Seuss

2004-03-02 Thread Irv Kalb
Today is the 100th anniversary of the birthday of Dr. Seuss (Theodor Geisel)!

My personal favorite is The Lorax, "I speak for the trees, for the 
trees have no tongues".

Irv
--
Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Text bleeding through

2004-02-27 Thread Irv Kalb
What's the "ink" of the sprite in channel 150?

Irv

At 12:28 PM -0500 2/27/04, Kerry Thompson wrote:
I have a text sprite that is bleeding through some sprites in higher
channels, and I can't figure out how to stop it.
The text sprite is being set up dynamically at run time. The member's
dts property is set to false.
When I bring up a sprite over it, though, the text still shows through.
The text is in channel 19, and the graphic that should cover it is in
channel 150.
What's really odd is that there are other text sprites on screen that
aren't bleeding through. For example, one in channel 5 is covered just
fine by the same graphic in channel 150.
Any ideas?

--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: absolute vs relative pathnames

2004-02-24 Thread Irv Kalb
I've never done that in Shockwave.  I don't know if it would be 
anything different than from a projector, but here's how I would 
approach it.  You said that the QT movie is at the same directory 
level as your Director movie, so just take the current value  of "the 
moviePath", and concatenate on the name of your QT movie.

  member("") = the MoviePath & ""

and forget about at signs and slashes.

Irv

At 7:05 PM -0500 2/24/04, Harry Goldberg wrote:
Nope - that didn't work either. Whenever I "Get Info" on the 
castmember from the cast window and then fill in the cast member's 
name, the name is replaced with the entire path to the quicktime 
movie. A path which is incorrect when the movie is placed on a web 
server.

Harry

Harry

Try it without "@/", just the filename.

eisenstein


All - I have a question about absolute vs relative path names. I 
am trying to change the pathname of a quicktime castmember to be 
relative to the director movie and I am unable to replace the 
current pathname with @/. My intension is to create a 
shockwave movie that accesses a quicktime file that is in the same 
directory as the director movie. When I transfer the shocked movie 
and the quicktime file to the web server, the director movie can't 
find the quicktime file (it is looking for the movie in the 
original path).

thanks in advance for your help,

Harry

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Accessing sprite(x) properties via variable

2004-02-20 Thread Irv Kalb
Maybe I don't really get what you are trying to ask.  There are two 
different things going on here.   There are sprite properties and 
there are properties defined in one or more behaviors - and they are 
very different beasts.

Things like locH, locV, blend, etc are properties of the sprite. 
Each is accessable by directly accessing them:

  sprite(x).locV
  sprite(x).locH
  sprite(x).blend
Since these things are "known", you can get them directly.  (Maybe I 
don't really get what you are asking here)

However, if you want to get a property of a behavior attached to a 
sprite here's how to do that.  I just tried some code like this in a 
behavior and it worked:

property spriteNum
property p1
property p2
on beginSprite me
  p1 = 8
  p2 = 9
end
on mSetValue me, symPropName, newValue
  setProp(me, symPropName, newValue)
end
on mGetValue me, symPropName
  theValue = getProp(me, symPropName)
  return theValue
end
and attached it to sprite 1

then I did this from the message window:
put sendSprite(1, #mGetValue, #p1)
--8
sendsprite(1, #mSetValue, #p1, 14)
put sendSprite(1, #mGetValue, #p1)
-- 14
Is this what you are looking for??

By the way.  I understand what you mean, but the term "OOP Nazi" is 
extremely offensive.

Irv
--
Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Accessing sprite(x) properties via variable

2004-02-20 Thread Irv Kalb
Are you looking to do  this for many, many different properties?

If not, a "standard" way is to get and set property values is using 
accessor methods.  In a behavior attached to the Mass-Spring-Damper 
thing:

property pMyProperty

on mGetMyProperty me
  return pMyProperty
end
on mSetMyProperty me, newValue
  pMyProperty = newValue
end
Then do the set or get via a sendSprite:

  someVariable = sendSprite(channelOfDamper, #mGetMyProperty)

or

  sendSprite(channelOfDamper, #mSetMyProperty, newValue)

You would need one such pair for each property.  However, if you have 
a number of different properties, then you could also pass in the 
property name to get/set as an argument:

on mSetMyProperty me, symProperty, newValue
  -- I think this will work
  me.symProperty = newValue
  -- If not, you can use a case statment for each of the properties 
in your script
  case symProperty of
#pPropertyName1:
   pPropertyName1 = newValue
#propertyName2:
   pPropertyName2 = newValue
etc.
end

on mGetMyProperty me, symProperty
  return me.symProperty
  -- Or use a case as above
end


If there are multiple properties you need to set/get at once, you 
could package them up into a list.

Or

Irv

At 2:25 PM -0500 2/20/04, roymeo wrote:
I've got a parent script which does your standard Mass-Spring-Damper 
sort of boinging.  I'd like to be able to pass it a sprite object 
and a #Property and have it automatically get/set that sprite's 
property.

So if I want to attach it to sprite(x).locH, I send it sprite(x) and 
#locH which are params oSprite and sProp

and I can address
sprite(x).locH
But you can't address
sprite(x).sProp  or
sprite(x).getProp(sProp) etc.
Is there a way to do this without using do statements?

My brain is itching in that way that means I'm either missing 
something obvious or due for my next trepanning session.



--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


RE: scriptInstaceList

2004-02-18 Thread Irv Kalb
(I sent this to the list yesterday, but I haven't seen it come through yet)

At 8:04 PM +0200 2/17/04, Peter Bochan wrote:
Thanks Irv, it's really better to use sendSprite when I want to call a
unique handler. Judging from your message, the only way to use call
function, is still through list.
The call statement can take either a single object reference OR a 
list of object references.  In your example, it looked you need to be 
able to send a message to more than one reference, so the list of 
references was the logical option.

And one more thing: why did you correct your post to sendSprite,
#bumpCounterH, 2)? The previous post was just fine.
In my original posting, I wrote:

  sendSprite(1, #bumpCounterH, xref, 2)

after I sent it, I realized that the "xref" was left over from your 
original code.  So I changed it in order to show that the "xref" 
should be removed:

  sendSprite(1, #bumpCounterH, 2)

which was the right way of doing it.

Glad it helped!

Irv

--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


RE: scriptInstaceList

2004-02-18 Thread Irv Kalb
At 8:04 PM +0200 2/17/04, Peter Bochan wrote:


Thanks Irv, it's really better to use sendSprite when I want to call a
unique handler. Judging from your message, the only way to use call
function, is still through list.
The call statement can take either a single object reference OR a 
list of object references.  In your example, it looked you need to be 
able to send a message to more than one reference, so the list of 
references was the logical option.


And one more thing: why did you correct your post to sendSprite,
#bumpCounterH, 2)? The previous post was just fine.
In my original posting, I wrote:

  sendSprite(1, #bumpCounterH, xref, 2)

after I sent it, I realized that the "xref" was left over from your 
original code.  So I changed it in order to show that the "xref" 
should be removed:

  sendSprite(1, #bumpCounterH, 2)

which was the right way of doing it.

Glad it helped!

Irv

--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: scriptInstaceList

2004-02-16 Thread Irv Kalb
Actually, that should have been:

  sendSprite, #bumpCounterH, 2)

Irv

At 1:44 PM -0800 2/16/04, Irv Kalb wrote:
Short answer:  for a case like this, use the sendSprite command instead, e.g.,

  sendSprite(1, #bumpCounterH, xref, 2)

--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: scriptInstaceList

2004-02-16 Thread Irv Kalb
Short answer:  for a case like this, use the sendSprite command instead, e.g.,

  sendSprite(1, #bumpCounterH, xref, 2)

SendSprite will send the message to all instances of all behaviors 
attached to the sprite.  Assuming that there are no other behaviors 
attached that have a bumpCounterH routine, this should work fine.

As you figured out, the "call" approach will work correctly if you 
have the proper object reference to the proper script instance.  An 
ideal way to use "call" is when objects (and/or behaviors) have a way 
of "registering" themselves to the thing that will wind up calling 
them back.

Lets say that two different behaviors want to be called back when 
someone clicks on yet a third behavior.  Each of the two behaviors 
could send a mRegister message passing "me".  me will always refer to 
the current instance of the current script.  On the receiving side, 
the script with the mRegister, simply adds the parameter to a list of 
objects/behaviors that want to be called back:

  property pListOfBehaviorsThatWantToBeCalledWhenIAmClickedOn

on beginSprite me

on new me
  pListOfBehaviorsThatWantToBeCalledWhenIAmClickedOn = []  -- start off empty
end
-- Build up a list of objects/behaviors that want to be called back
on mRegister me, instanceThatWantsNotification
  append(pListOfBehaviorsThatWantToBeCalledWhenIAmClickedOn, 
instanceThatWnatsNotification)
end

-- Our action has happened, lets call back everyone who registered
on mouseDown me
  call(#someCallbackRoutine, 
pListOfBehaviorsThatWantToBeCalledWhenIAmClickedOn, etc.)
end

I hope that makes sense.

Call will be faster because it targets only the instances you really 
want.  But as you found out, it is much more difficult to get to 
those references.  Bottom line, use sendSprite and it should work 
just fine.

Also.  "getAt" is a very old form.  Newer Lingo allows you to get at 
elements of a list through bracket syntax:

  getAt(myList, itemNumberX)

is the same as the newer and cleaner:

  myList[itemNumberX]

So, there is no need to use getAt any more.

Irv

At 11:00 PM +0200 2/16/04, Peter Bochan wrote:
Hello everyone,

I've got a sprite with 2 behaviors attached to it: 1 - "horizontal movement"
(it has the bumpCounterH handler with three args), 2 - "vertical movement"
(it has the bumCounterV handler with three args too). I use the call command
to send a message to the first handler along with some parameters. What the
Director MX documentation says is (p.370):
on mouseDown(me)
  xref = getAt(sprite(1).scriptInstanceList, 1)
  call(#bumpCounterH, xref, 2)
end
This works fine, it calls the specified handler and passes the defined
argument. But should the call command be used only with getAt list command?
What if I want to reference the behavior via its name?
e.g.

on mouseDown(me)
  call(#bumpCounterH, sprite(1).scriptInstanceList, "horizontal movement",
2)
end
Or what if I want to use this command directly?

e.g.

on mouseDown(me)
  call(#bumpCounterH, sprite(1).scriptInstanceList, 1, 2)
end
I tried this, it "works". I mean the right behavior is being called but the
name of the behavior comes as the first parameter, and the first parameter
in the call shows up as a second parameter in the handler being called and
so on. So this kind of shift is going on.
So does scriptInstanceList work only with getAt command or with set
variables?
--

At this link(http://www.peb965.cv.ua/list_questions/scriptInstanceList.htm),
you may paste the following to the message window:
call(#bumpCounterH, sprite(1).scriptInstanceList, 1, 560,899,210)
-- you shall see the shift of arguments
call(#bumpCounterH, sprite(1).scriptInstanceList, "horizontal movement",
456,220,325)
-- shift as well
tVar = getAt(sprite(1).scriptInstanceList, 1, 1)
call(#bumpCounterH, tVar, 567,890,765)
-- works fine
--

Source(http://www.peb965.cv.ua/list_questions/dir/scriptInstanceList.dir)



TIA
peb965


[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Re: updating an online database

2004-02-12 Thread Irv Kalb
Yes, Mathew has found a typo in my code.  Apologies to anyone who has 
tried to use PostNetText from this particular section.  I have put a 
corrected version up on my site.  (The strange thing is that my test 
Director file is correct, but the code in the on-line documentation 
that was wrong.)

Lee: Please let me know if this fixes/changes your problem.

Irv

At 10:14 AM -0500 2/12/04, Mathew Ray wrote:
Hi Lee,

Ironically enough I was looking at that new chapter of LOOPE 
yesterday and I noticed something in the netManager...

Under mActivateOperation(), look into the case statement... the 
postNetText option has a variable name that appears to be wrong. Try 
replacing it with this little snippet:

#postNetText:
theData = lOperation[#data]
NetID = postNetText(sURL, theData)
HTH,
~Mathew
Lee Blinco wrote:
Hi Irv
net error being returned is = 1.
the asp page is not set to return anything.
if i use net manager then the db is not updated, if i use the single lingo
command postNextText to the same page the db is updated.
So i'm still not sure why the netManager call aways fails.
Thanks for your tip Pedja i have now got a working system that uploads my
data in one big list which i parse at the asp page but i'd like to
understand why irv's netmanager is returning an error all the time.
Lee Blinco
Multimedia Developer
AVR Productions
+44 (0)1462 819603


[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Bug of the week

2004-02-10 Thread Irv Kalb
Does it have anything to do with the "play" command?

Irv

At 12:53 PM -0500 2/10/04, Kerry Thompson wrote:
I managed to get the startMovie handler called 7 times. I'm willing to
let you guess how I managed that before I reveal yet another Stupid
Lingo Trick.
Cordially,

Kerry Thompson

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Re: updating an online database

2004-02-06 Thread Irv Kalb
Lee,

From your description below, it sounds like you are using the 
NetManager correctly.  Therefore, I'm guessing that the problem, 
whatever it is, in on your server side with your asp page.  The error 
code that is reported is simply the value that is returned when the 
NetManager calls NetError.

If you want to verify this, put a breakpoint in the NetManager right 
after the call to netError and see what is being returned.  Is your 
asp page set up to return any text?  I don't know anything about asp, 
but perhaps you have intended the page to return a text value of 1, 
but it is returning as an error code of 1 instead.

In the case where you are using the netManager to pass in your list, 
does the data in the database get updated correctly - even though it 
returns an error code?

Irv

At 12:15 PM + 2/6/04, Lee Blinco wrote:
to make sure i've created a new movie with just a preparemovie script like
this
global goNetManager
on PrepareMovie me
  goNetManager = new(script"NetManager")
  end
a parent script which is netMgr#6 from irvs' book and a single sprite with
the following code
global goNetManager
on mouseUp me
  thelist = [#gameNo:84, #points:10 , #predID:23322, #twocorrect:1,
#place:1]
  goNetManager.mPostNetText("http://www.mydomain.com/uploadPredData.asp";,
me,thelist)
end
on mNetEvent me, sText, errorCode
  if errorCode <> 0 then
alert("Error:" && errorCode)
  else
beep
-- Do whatever you want to with sText
  end if
end
and i still get error = 1

if i simply change the line
goNetManager.mPostNetText("http://www.mydomain.com/uploadPredData.asp";,
me,thelist)
to

PredID = PostNetText("http://www.mydomain.com/uploadPredData.asp",thelist)

and i then check the database the data has been uploaded but this falls over
obviously withlots of repeated calls as in my application.
--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: updating an online database

2004-02-05 Thread Irv Kalb
I don't know if the problem is in your net routines or at the server, 
but I have have a different approach to net routines.  I have a whole 
chapter in my on line book on building a net manager that would 
handle many net calls.  Check it out at:

http://www.furrypants.com/loope/

Chapter 14 goes into detail about this.  I have used this net manager 
to do exactly what you are describing - sending postNetText commands 
to a CGI script (PHP) that talks to a database (mySQL)

I would guess hat your current approach locks out user activity while 
all the messages are being sent.  My net manager allows all 
interactivity to continue while the messages and net checking are 
handled in the background.

Irv

At 12:23 PM + 2/5/04, Lee Blinco wrote:
Hi list,
i'm updating an online mysql database with 3 fields, in 982 records and
basically its unreliable it doesn't manage top do all the updates or even a
consistent numberit usually falls about 100 short.
--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: looking to speed up the search process in seudo db with what I have

2004-02-03 Thread Irv Kalb
Hi,

Here's te URL of an article I wrote a while back that might help you:

http://www.director-online.com/buildArticle.php?id=442

The basic idea is to create a new type of cast 
member called a "Data cast member".  The basic 
idea is that you create your lists as real Lingo 
lists rather than as text in text cast members. 
It might take a little work to do the conversion, 
but it when I wrote the article nearly 4 years 
ago (yikes!), it was about seven times faster 
than using text.

Since your lists would be handled as lists, you 
can use real Lingo list calls like "getOne" to 
find if something exists in a list.

See if this will help you,

Irv

At 3:25 PM +0100 2/3/04, [EMAIL PROTECTED] wrote:
Hello guru’s

I am new on posting although I have follow the 
list for more than a year, so excuse me for 
wrong doings in the list protocols, plus my 
orthodox programming manners and technique plus 
my foreign English.
My problem; I made out of 400 “text cast 
members”(with a property list in each of them) a 
kind of database. For searches of items in this 
“text cast members”, I used “if member.xx.text 
contains….” and it all worked find with the 
exception that it took around 30 seconds to do 
the searches into the 400 “text cast members” 
(each having a property list of around 20 
items), one to twenty times depending of the 
number of items I was searching for. Once 
created a results list out of the search in the 
“text cast members”, I eliminated the “text cast 
members” found repeated, for the creation of a 
final list with the items I was looking for.

An example of a list in a “text cast member” is:
[#a1:2,#a2:2,#a3:2,#a4:2,#a5:2,#a6:2,#a7:2,#a8:2,#a9:2,#a10:2,#a11:2,#a12:2,#a13:2]

--
Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: looking to speed up the search process in seudo db with what I have

2004-02-03 Thread Irv Kalb
Hi,

Here's te URL of an article I wrote a while back that might help you:

http://www.director-online.com/buildArticle.php?id=442

The basic idea is to create a new type of cast 
member called a "Data cast member".  The basic 
idea is that you create your lists as real Lingo 
lists rather than as text in text cast members. 
It might take a little work to do the conversion, 
but it when I wrote the article nearly 4 years 
ago (yikes!), it was about seven times faster 
than using text.

Since your lists would be handled as lists, you 
can use real Lingo list calls like "getOne" to 
find if something exists in a list.

See if this will help you,

Irv

At 3:25 PM +0100 2/3/04, [EMAIL PROTECTED] wrote:
Hello guru’s

I am new on posting although I have follow the 
list for more than a year, so excuse me for 
wrong doings in the list protocols, plus my 
orthodox programming manners and technique plus 
my foreign English.
My problem; I made out of 400 “text cast 
members”(with a property list in each of them) a 
kind of database. For searches of items in this 
“text cast members”, I used “if member.xx.text 
contains….” and it all worked find with the 
exception that it took around 30 seconds to do 
the searches into the 400 “text cast members” 
(each having a property list of around 20 
items), one to twenty times depending of the 
number of items I was searching for. Once 
created a results list out of the search in the 
“text cast members”, I eliminated the “text cast 
members” found repeated, for the creation of a 
final list with the items I was looking for.

An example of a list in a “text cast member” is:
[#a1:2,#a2:2,#a3:2,#a4:2,#a5:2,#a6:2,#a7:2,#a8:2,#a9:2,#a10:2,#a11:2,#a12:2,#a13:2]

--
Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: streaming quicktime

2004-01-29 Thread Irv Kalb
I just tried this, and as you say, it does start to play at 160x120.

However, if you just go into the score, you can change the size (W 
and H) to be 256x192, and it plays just fine that way too.

Irv

At 10:25 PM + 1/29/04, matt bindoff wrote:
For streaming QT in a browser, your size and speed are set in your 
QT prefs (at least for the "streaming" trailers on QuickTime.com).
this indeed is correct for streaming QT played in the QT player or 
embedded in a browser, but director seems to mess things up somehow.

to clarify what is happening consider the following:
http://stream.qtv.apple.com/events/oct/itunes/windows_ref.mov
if i play the above steam in QT player i get a movie that is 256x192
if i play the same stream in director i get a movie of 160x120
ah so it's a broadband / narrowband thing is it? no. a quick glance 
at my network usage shows an average 60K for both cases. so it seems 
that the same data is received by QT in director, but it is not 
displayed at the correct size. scaling just scales the 160x120 
image. the plot thickens.

any ideas why this would happen? also could anyone please test the 
stream in director - i'd be interested to see if anyone can get it 
to play at 256x192.

is this perhaps a bug in the QT implementation?

matt



[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: sorting through lists

2004-01-23 Thread Irv Kalb
All of Alex's suggested were right on target.  I'm sure that they 
will help a great deal.

I do have one more suggestion for you.  Any time you reference into a 
sublist more than once, Lingo has to rebuild a reference to the 
sublist.  If you are going to go into a sublist multiple times, I'm 
sure it would be faster to set a temporary variable to the sublist 
and pull out values from there.  Here's a specific case.  In your 
second routine:

on filterList sList, filterStr
   rList = []
  mx = count (sList)
  repeat with k = 1 to mx 
fName = [sList[k].area, sList[k].team, sList[k].player,
sList[k].points ]
if sList[k].team =filterStr then append rList, fName
  end repeat
  return rList
end

I would bet it would be faster to do something like this:

on filterList sList, filterStr
   rList = []
  mx = count (sList)
  repeat with k = 1 to mx
subListName = sList[k]  -- store reference into a local variable here
fName = [subListName.area, subListName.team, subListName.player,
subListName.points ]
if subListName.team =filterStr then append rList, fName
  end repeat
  return rList
end
Since lists are "pass by reference", if you execute a statement like the above:

  subListName = sList[k]  -- (use whatever name is appropriate here)

you are NOT duplicating any data.  Intead, you are setting this new 
variable (subListName) basically as a "pointer" to the appropriate 
place in the original list.  This would save the time of 
dereferencing your current sList[k] five times in this routine alone.

Actually, now that I look at this code closer, there is another 
optimization you can do.  You don't even need to build up your fName 
list unless the team matches the filterStr.  So only build it 
conditionally:

on filterList sList, filterStr
   rList = []
  mx = count (sList)
  repeat with k = 1 to mx
subListName = sList[k]  -- store reference into a local variable here
if subListName.team =filterStr then
   fName = [subListName.area, subListName.team, subListName.player,
subListName.points ]
   append rList, fName
 end if
  end repeat
  return rList
end


You could probably use the same approach (using a local variable 
pointing into your list structure) in your html generation where you 
are using templist[i][j][1] twice in the same doubly nested repeat 
loop.  Set some local variable to that:

  someLocalVariable = templist[i][j][1]

then replace the current instances with the local variable.

However, I'm sure that Alex's suggestion of building the whole thing 
as a string variable, then putting it into the text of a member will 
have the most immediate impact.

Irv

At 11:59 AM + 1/23/04, Lee Blinco wrote:
Hi folks,
i am developing an application that takes in a load of footy score
predictions and then calculates points for each prediction once the games
have been played, it then works out the winners etc. Another factor is that

--
Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Solitaire game

2004-01-12 Thread Irv Kalb
If anyone has some free time (and interest) to play around with a 
solitaire game, I've recently built a new version of an old game.

I don't play many computer games, but many years ago I got hooked on 
a solitaire game called 40 Thieves.  I played it quite a bit on my 
Mac.  But when I made the move to OSX, I didn't want to have to go 
into Classic mode to play it.  So, I wrote my own version in Director.

Anyone interested in testing it out can find it at:

http://www.furrypants.com/fortythieves/40Thieves.html

The game is very challenging and you won't win very often.  The 
instructions can be found by pressing the Help button.

Any comments, questions, problems, or suggestions please contact me offlist at:

  [EMAIL PROTECTED]

or at

  [EMAIL PROTECTED]   if you don't mind identifying yourself as a 
human (spam filter)

This game was developed entirely in Director with an extremely object 
oriented approach.

Enjoy (especially the unlimited Undo!)

Irv
--
Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: New Director and OOP

2004-01-09 Thread Irv Kalb
At 1:50 PM -0800 1/9/04, Buzz Kettles wrote:
At 11:29 AM +0300 1/9/04, you wrote:
Does anybody know, is there new features in Lingo?
For examle, for when I write parent scripts, it'll be better to 
have an opportunity to use class (parent script) inheritance, 
polymorphism and so on...
there's always been inheritance - see the 'ancestor' property in the 
lLingo Dict

... and polymorphism has always worked also.

Irv

--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Get and Put data to and from the Internet

2004-01-09 Thread Irv Kalb
Assuming that you are talking about using Lingo ... I have a whole 
chapter in my online book about how to build a Net Manager that will 
do the netLingo calls for you.  See chapter 14 of

http://www.furrypants.com/loope/

Irv



At 5:12 PM +1300 1/9/04, Teo Petralia wrote:
Hi!
So... what's the best way to be able to get data from the Internet 
(I mean stored on the Internet, text, images, etc), and put data on 
the Internet?

Teo
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Test - please ignore

2004-01-06 Thread Irv Kalb
Nothing to see here.

Irv

--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Blank line in the callstack

2003-12-31 Thread Irv Kalb
I have seen that when the code goes through a "do" statement.  Is 
that what's happening in your situation?

Irv

At 9:23 AM -0500 12/31/03, Mendelsohn, Michael wrote:
Hi all...

When debugging, what is the meaning of a blank line in the callstack?

--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Math help needed - trig

2003-12-17 Thread Irv Kalb
[Apologies in advance for a cross post.  I posted this to another 
list, but that list seems to be down right now.]

I don't want to say how many years its been since I actually studied 
and used trig and angular measurements, but suffice it to say that 
there are only fuzzy memories left.  Here's what I need to be able to 
calculate.

I have a point, and from that point I have a distance (in pixels) and 
an angle in which to travel.  I need to be able to calculate the x 
and y values (or h and v) to get to that point.

First, I want to make sure that I am using proper accepted practices. 
I was looking around at some popular math sites and found this 
diagram on math.com:

http://www.math.com/tables/art/geometry/unitcircle1.gif

In the discussion there, is says that zero degrees is defined as 
going directly to the right of the point, and the angle is measured 
in a counter-clockwise direction from there?  Is this the standard 
way of doing this type of measurement?

Assuming that is correct, then I need a formula to give me an x,y at 
a given angle.  So something like this:

on GeneratePoint  centerPoint, angle, distance
  resultPoint = -- some function of centerPoint, angle, angle and 
distance here, probably using sin or cos or tan
   -- and of course, the pythagorean theorm
  return resultPoint
end

(Multiple steps making it clearer for me to understand would be appreciated)

Too many gray cells have left the building.

Thanks,

Irv
--
Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: Weird error code

2003-12-13 Thread Irv Kalb
Grimm,

I ran into this problem earlier this year.  The bug is definitely in 
the vList Xtra.  I wrote Daniel Devolder (sp?) about it, and he sent 
me a newer version of his XTRA that seemed to fix the problem.  This 
was about 6 months ago (on a Mac under Mac OS).  I don't know if he 
has released a newer copy of his XTRA or not.  First thing to do 
would be to get the latest version of the VList Xtra from his site. 
If that doesn't fix it, try writing him directly.

Irv

At 2:15 PM -0500 12/13/03, grimmwerks wrote:
I'm only checking a list to see what the count of something is

(ie if gThisAssetList.assets.count) and I'm getting an alert of:

is3dCastMember
Unknown error code (-2147219478)
...and I'm not even DOING anything with 3d.

Thoughts?

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.

[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


RE: accessing the timeoutlist, part II

2003-12-11 Thread Irv Kalb
This is excellent news for the Director community!

Sending one large e-cake to celebrate his return.

Irv

At 4:01 PM -0800 12/11/03, Thomas Higgins wrote:
 > Can one imply from this statement, that JT has returned to the nest?

Either that or you can imply that I live with JHT... :\ 

(your implication is correct though, mine is in jest)

Cheers,
Tom Higgins
Product Specialist - Director Team
Macromedia
DIRECTOR, de lekkerste!

...

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


RE: accessing the timeoutlist, part II

2003-12-11 Thread Irv Kalb
Can one imply from this statement, that JT has returned to the nest?

Irv

At 2:01 PM -0800 12/11/03, Thomas Higgins wrote:


I just strolled over to the source (John Henry Thompson, father of Lingo)
and got the scoop:
  
--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


RE: figuring out the previous handler

2003-12-09 Thread Irv Kalb
There is no built-in mechanism.  (Ancestor is not the right thing).

The easiest way to do this is to pass a different value (probably a 
symbol) from the two different  places:

on mouseUp
  SomeHandler(, #mouseUp)
  
end
on 
  SomeHandler(, #sendSprite)
 ...
end
Then in the code you posted below have a parameter that gets this 
value and branches on it:

on SomeHandler , symPreviousHandler
   case symPreviousHandler of:
   #mouseUp:
 gTools.mRecordData("set")
   #sendSprite
 gTools.mRecordData("get")
   ...
 end case
  ...
Irv



At 4:25 PM -0500 12/9/03, Mendelsohn, Michael wrote:
 > Do you need the handler to know, or do you need to know for debugging
purposes?
I need the handler to know the previous handler, as in:

if lingoPreviousHandler = "mouseUp" then -- or some such wording
 gTools.mRecordData("set") -- something clicked caused to go here.
else if lingoPreviousHandler = "sendSprite"
 gTools.mRecordData("get") -- something else happened, so go here.
end if
-- arguments.caller in place of "lingoPreviousHandler" would handle this
fine
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: fileIO writeString()

2003-12-09 Thread Irv Kalb
Unless the Lingo documentation explicitly says differently, all Lingo 
calls are "synchronous" - which means that your program waits there 
until the operation complete.

Examples of "asynchronous" calls are the netLingo calls like 
getNetText, postNetText, etc.

Irv

At 3:11 PM -0500 12/9/03, Mendelsohn, Michael wrote:
Hi all...

Quick question about the fileIO xtra:

Regarding writeString(), I'm using it to write out a pretty long string.
When the Lingo gets to that line of code, does code execution stop there
until the string is entirely written out, or does it proceed to execute
the next line of code while in the process of writing to the external
file?
And by the way, is there a string length limit?

Have a stupendous day!
- Michael M.
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Multiple statements in one line

2003-12-04 Thread Irv Kalb
Nope.  One statement per line.

And while you are at it, I find it much clearer when each property is 
declared on a seperate line.

Irv

At 11:01 PM +0200 12/4/03, Peter Bochan wrote:
Hello,
I wonder, can Director script window have multiple statements in one
line?
e.g.
instead of
varA = 5
varB = 10
I'd like to use
varA = 5; (or ,, .. // -+ whatever the sign could be) varB = 10
when declaring property variables you can separate them by commas. Can
that be done to the declaration of mere mortal variables? If not, I'd
like to have it in the next version of DMX.
Just felt like sharing my one kopiyka with you folks.
So long


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


RE: asynchronous communication within director - synthesis

2003-11-25 Thread Irv Kalb
Well, I guess I don't have any experience with a XTRA that would do 
this.  If there is such a beast, then great.

Maybe I'm missing what the original poster was asking for.  But my 
approach would be to write a Director program that "talks" to some 
script(s) that live on a server (e.g., PHP scripts), and have the 
scripts talk to a database.  All messages would then be stored in the 
database (or just as files on a server - simulating a database) on 
the server.

The Director program could make a postNetText request to a script 
asking for all articles (riddles) that are either new, or have had a 
new message added recently.  The script would access the database and 
find all such articles and report their names back to the Director 
program.  The Director program could then display the names of all 
such articles.  The user might click on one, and the Director program 
could do another getNetText request to get the text of all articles 
in that thread.  The script could request the text from the database 
and return it to the Director program.  The Director program could 
then display it in a scrolling field.  The Director program could 
have an area where a user could add a new message to the current 
thread, or start a new thread.  This approach would not need to use 
any HTML at all.

There are many different ways to do the same thing.

Irv

PS:  Thanks!

At 10:16 AM +0530 11/26/03, Pranav Negandhi wrote:
I dun get it Irv. Are you saying that an xtra that can embedd a webpage in
Director will _still_ need to be programmed to send and retrieve messages
from the server? What I was talking about was to embedd the HTML front ends
into Director by using the xtra and letting the web pages communicate with
the CGI scripts residing on the server. Dunno what you meant.
Pranav Negandhi
concept-I
www.cimultimedia.com
P.S. Loved LOOPE.


 The Director On Line User Group does just this in purely PHP using a
 browser as it's interface.  http://www.director-online.com  click on
 Forum.
 However, if you want to do this with a Director program, then you
 have to have the Director program send messages to a server
 accessable somewhere on the net.  The Director program would use net
 Lingo calls to either getNetText or postNetText to send and/or
 receive messages.  But the target of those messages would have to be
 some CGI or "middleware" program that receives such messages, and
 makes calls to either a database, or reads and writes files on the
 server.
 So, your list below is not a choose one of the 6, rather, some
 combination of them.


[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: asynchronous communication within director - synthesis

2003-11-25 Thread Irv Kalb
If I understand what you want to do, you basically want to implement 
a message board.  In general, to do this, you have to have some sort 
of database (could be a real database, or even just a bunch of text 
files) on a server somewhere, so that a program can read the text, 
display it, and either add a message to a "thread" or start a new 
thread.

The Director On Line User Group does just this in purely PHP using a 
browser as it's interface.  http://www.director-online.com  click on 
Forum.

However, if you want to do this with a Director program, then you 
have to have the Director program send messages to a server 
accessable somewhere on the net.  The Director program would use net 
Lingo calls to either getNetText or postNetText to send and/or 
receive messages.  But the target of those messages would have to be 
some CGI or "middleware" program that receives such messages, and 
makes calls to either a database, or reads and writes files on the 
server.

So, your list below is not a choose one of the 6, rather, some 
combination of them.

If you want to learn more about using the netLingo calls, check out 
my online EBook at:

http://www.furrypants.com/loope  see Chapter 14.

Irv

At 11:09 PM + 11/25/03, Justin Olmanson wrote:
Thanks to Grimmwerks, Nomshar and Pranav!


My question restated:
I am designing a program that helps isolated students solve riddles 
and  other puzzles. I want to have a message board area that allows 
students to  post their own riddles as well as solve those of 
others...

With the goal of keeping it seamless I wanted to have the message 
board area  be viewable / usable from within the director 
application. I was thinking  about checking out the html xtra and 
digging into net lingo but wanted to  hear from others if such a 
thing is possible / easy to do / a
nightmare...  better to open an external browser...


If I understand the response posts correctly then they are saying 
that my options are:

1. SQL db is option (but sucky)
2. Use php or perl as a go between
3. Use flash to do a xml socket connection...
4. Use a server side text file with meta data in xml format to apend 
and retrieve
5. Embed a webpage within director using:
   a) cXtra WebBrowser
   b)WebXtra Tabuleiro
   c) html Xtra 2.0.5 Media Connect
6. Make the browser using netLingo calls (too much work)

These being my options I gravitate toward 5 (due to lack of skill 
with the others). I looked at each Xtra option and from what I could 
tell cXtra WebBrowser gave this novice the best vibe. My goal is for 
the bboard to feel like it is part of the app. / allow the posting 
of text (only) attachments not necessary and no need for offline 
viewing.

Does anyone have something to say about the 3 xtras listed? / 
personal experience / project fit...?

The learners just need to be able to view / navigate the posts via 
the links on the page as well as post their own messages.

thanks,

 Justin

_
From the hottest toys to tips on keeping fit this winter, you’ll find a
range of helpful holiday info here. 
http://special.msn.com/network/happyholidays.armx

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Director and Flash objects

2003-11-11 Thread Irv Kalb
I don't know how you can get the properties of the flash object, but 
getting the spriteNumber is easy.

In any behavior that is attached to the sprite (or create a new one 
if there aren't any), if you just decleare the property "spriteNum", 
it will automatically be given the number of the channel where the 
sprite is located.  For example, you could add a behavior like this:

property spriteNum

on beginSprite me
  put "My sprite number is:"  && spriteNum
end
And it will report the correct sprite number no matter what channel 
the Flash sprite (or any sprite) is in.  You can then write code to 
use the variable "spriteNum" to do whatever you want.

Irv



At 5:12 PM +0100 11/11/03, Roland Blaettler wrote:
Hello all

Within Director I can have an object like  and I am able to get the spriteNum rather easy.
Now I have imported a few flash films and again the objects in the list
has this format
e.g 
e.g 
Would anybody be able to tell me how I can extract all properties of
this flash object within a loop?
Or, how can I extract sprite numbers (in director) of these flash
object?
Many thanks for any hints

Roland
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: scriptList vs. scriptInstanceList

2003-11-10 Thread Irv Kalb
The scriptlist tells you what scripts are attached to a sprite, AND 
the value of the parameters that have been set in each 
GetPropertyDescriptList dialog box.  This is available at author 
time.  The scripts are listed as:  member x of castlib y.  The 
properties are reported as a property list [#myProp1: 1, #myProp2: 
"somevalue", ...]

The scriptInstanceList is a runtime thing that tells you a list of 
what instances of behaviors scripts are attached to a script.   This 
list of behavior object references can be manipulated at run time 
(i.e., instantiate a new behavior and add it to the 
scriptInstanceList of sprite at runtime - or remove an instance of  a 
behavior at runtime).  There is no information available here about 
initial property settings.

Irv

At 4:46 PM -0500 11/10/03, Jeremy Aker wrote:
What is the difference between sprite(x).scriptList and 
sprite(x).scriptInstanceList?

-Jeremy Aker
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: ball and paddle problem

2003-10-07 Thread Irv Kalb
If you've copied and pasted exactly, the problem with the code below 
is that you've missed a continuation character.  In the first line 
you have a continuation character of "¬".  You need this same 
character at the end of the second line.  If you were doing this in 
Director MX, you would use the "\" as the continuation character.

Irv

At 2:58 PM -0700 10/7/03, Steve Rachels wrote:
Thanks, Tony.

I would bet my last buck that's what I want.  Except now I seem to be
getting a

Re: RE: Concatenating property list values

2003-09-26 Thread Irv Kalb
No escape sequences are needed.  I just created a new movie, pasted 
the code I just posted into a movie level script, created a field 
called musiclibrary.  I went to the message window and typed test(). 
Now I see the member musicLibrary has:

Splish Splash - Bobby Darin
Runaround Sue - Dion
It must be something else, but I don't know what.

Irv

At 11:37 AM -0500 9/26/03, Mindy McCutchan wrote:
--only stores the tag title
thisString = tempList[#tagTitle] & " - " & tempList[#tagArtist] & RETURN
No matter what method I use to store the information from the list, it
won't even store anything that appears after the first "&". It does the
same even if I do something like this:
thisString = tempList[#tagTitle] & "hi"

Put thisString
"Splish Splash"
Is there some kind of escape sequence needed or something related???

Thanks,
Mindy
--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: RE: Lingo-l digest, Vol 1 #972 - 20 msgs

2003-09-26 Thread Irv Kalb
OK, so I had three typos - I warned that it was Email Lingo.  This works:

on test
  gmusicLib = [[#tagTitle: "Splish Splash", #tagArtist: "Bobby Darin",\
#tagAlbum: "The Bobby Darin Story", #tagYear: "1961", #tagGenre:\
"Oldies", #tagFilePath: "D:\My Music\old school\Bobby Darin - Splish\
Splash.mp3"], [#tagTitle: "Runaround Sue", #tagArtist: "Dion",\
#tagAlbum: "Runaround Sue", #tagYear: "1961", #tagGenre: "Oldies",\
#tagFilePath: "D:\My Music\old school\Buddy Holly - Runaround Sue.mp3"]]
  -- Store the output in a string until you are finished
  stringOut = ""
  -- Find out how many items are in your list
  nItems = count(gMusiclib)
  repeat with i = 1 to nItems
-- create a tempory pointer to each property list
tempList = gMusiclib[i]
   
-- build up a single line
thisString = tempList[#tagTitle] & " - " & tempList[#tagArtist] & RETURN
   
-- add it to the full output string
put thisString after stringOut
   
-- alternatively:  stringOut = stringOut & thisString (but the 
above is faster)
  end repeat

  -- Finally put it into the field
  member("musicLibrary").text = stringOut
 end
Irv

At 9:13 AM -0500 9/26/03, Mindy McCutchan wrote:
Cath & Irv--
Thanks for your suggestions, but neither will work. I'd previously tried
storing it into a variable before displaying.  Also, I had used "item"
previously without writing over items in the list. At that time I had
each of my properties stored in separate arrays. My troubles started
when I stored the property lists in one array. It's so strange because
what returned "Bobby Darin - Splish Splash" for you, only returns Bobby
Darin for me still.
Any other ideas??
Thanks,
Mindy


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Concatenating property list values

2003-09-25 Thread Irv Kalb
Here's how I would do it.  (Untested email Lingo)

-- Store the output in a string until you are finished
stringOut = ""
-- Find out how many items are in your list
nItems = count(gMusic)
repeat with i = 1 to nItems
-- create a tempory pointer to each property list
tempList = gMusic[i]
-- build up a single line
thisString = tempList[#tagTitle] & " - " & tempList[#tagTitle] & RETURN
-- add it to the full output string
put thisString after stringOut
   -- alternatively:  stringOut = stringOut & thisString (but the 
above is faster)
end repeat

-- Finally put it into the field
member("musicLibrary").text = stringOut
Hope this helps

Irv

At 5:28 PM -0500 9/25/03, Mindy McCutchan wrote:
Hi everyone,
I'm having problems with the output of a value from a property list.
Well, actually I have a linear list and each index is a property list.
gmusicLib = [[#tagTitle: "Splish Splash", #tagArtist: "Bobby Darin",
#tagAlbum: "The Bobby Darin Story", #tagYear: "1961", #tagGenre:
"Oldies", #tagFilePath: "D:\My Music\old school\Bobby Darin - Splish
Splash.mp3"], [#tagTitle: "Runaround Sue", #tagArtist: "Dion",
#tagAlbum: "Runaround Sue", #tagYear: "1961", #tagGenre: "Oldies",
#tagFilePath: "D:\My Music\old school\Buddy Holly - Runaround Sue.mp3"]]
That's just an example once the file info is loaded.

I'm trying to output some of the values in to a text field member using
this:
repeat with i = 1 to gmusicLib.count
member("musicLibrary").item[i] = gmusicLib[i].tagArtist & " - "
& gmusicLib[i].tagTitle & RETURN
end repeat
All that outputs is the artist name.

I found an example similar in Director 8.5 Studio that used apostrophes
inside the quotes, but I can't get that to work. I'm using MX, if that
makes a difference.
I'm just a student learning director, so any explanations would be
really great :)
Thanks,
Mindy
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: forms and prints

2003-09-18 Thread Irv Kalb
Director does not have any built in forms.  To create forms in 
Director, you typically create the background art in some other 
graphics creation package then import the graphic into Director as a 
cast member.  Then you layer different field members on top of the 
art in different score channels so they line up with your art.

Once you have that, then you can add a print button which would 
either use the "printFrom" command (I'm not sure, but I think it will 
capture any text that has been entered into the fields), or using 
imaging Lingo to grab a portion or the whole stage and print that.

Sending the information online is much more complicated.  To do that, 
there are two basic options, sending email, or sending information to 
a server using postNetText.  If you want to send information via 
email, I would recommend the DirectEmail XTRA.  Using postNetText, 
you must write code to extract information out of each field, build 
up a property list, and send that property list to a server that is 
listening for such information.

Good luck,

Irv



At 11:31 PM +1000 9/18/03, Elvin Certeza wrote:
Hello list,

What is the best way for creating  interactive and printable forms? My
client wants a page / area where a user can fill up a form and be able to
print it as well. Whilst I'm here on this topic. I am also interested in
sending the forms information via online. So, this way the users have two
options? Print the filled up form, or send online via email or other method?
Any suggestions are appreciated. I have never done this before.

Thanks..

Elvin..





[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: accessing scriptInstanceList in a MIAW: Bug...or just me?

2003-09-17 Thread Irv Kalb
Yes, this is a typical standard problem when working with MIAW's.

The ways that I use to debug MIAWs are:

1) (Quick and dirty) Use "put" statements in the code of the MIAW

and/or

2)  Build the MIAW in a way that it can be run AS a stage movie. 
That is, have checks in the MIAW code that says something like:

if the windowList = [] then
  --  debugging mode, MIAW is running as a stage movie
  --  Here, you could supply some fake data that would simulate 
coming from the stage
  --
end if

Hope this helps,

Irv

At 2:57 PM -0400 9/17/03, Mendelsohn, Michael wrote:
Hi all...

In author mode, I'm trying to debug something within a MIAW that was
launched from the stage (i.e. a separate dir file).  The breakpoint
works, but the variables in that MIAW all display void, and so I can't
debug because nothing works, even though it works in projector mode.
Anyone have this issue?  How can I get those variables to display as
they are?
thanks,
Michael M.


[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Scrolling background over multiple .dcr's

2003-09-15 Thread Irv Kalb
I'm not sure if I understand the exact details of what ou are trying 
to do.  But here's the standard way to do what you want.

If you aren't already doing this, create a castlib that is shared by 
all your movies - that is, make all movies link to the same external 
castlib file.  Then move your filmstrip and (assuming that the code 
is in a behavior) the associated behavior into the shared castlib. 
Then copy the sprite 5 from your main movie and paste it into each of 
the new movies.

Irv

At 2:31 PM -0700 9/15/03, Todd Culley wrote:
Hello List,

I have a project where a film strip of images serves as the background.
When a user selects a menu item the filmstrip slides to that image. There
are 10 areas to choose from and 11 images in the filmstrip (an image for the
main menu).  I currently have the film strip working as it should in one
movie, but I need to break the project up into multiple movies.
Currently, I have one large image (5600x540) in sprite(5) that is a linked
member in 'main.dcr'.
My user interface has a main menu, from the main menu you can go to any of
the 10 areas.  Upon arriving at an area you can navigate to the
next/previous area or go back home.  The image slides relative to its
current location.
How can I get the filmstrip functionality over multiple movies?
Appreciate any suggestions.
tia,
Todd
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Attach behavior to sprite...

2003-09-11 Thread Irv Kalb
... and just to clarify things even further.

beginSprite will be called by Director when the play head enters the 
spriteSpan.

If you have a behavior that you want to attach on the fly, you can 
also write a "new" handler in the script, but it will NOT be called 
automatically.  It only executes if you call the "new" handler 
specifically.

I think the ideal way to handle this is something like this:

property spriteNum

-- If behavior is added on the fly, you must call this and pass the channel
on new me me, whichChannel
  spriteNum = whichChannel
  me.CommonStartUpCode()
end
on beginSprite me
  me.CommonStartUpCode()
end
on CommonStartUpCode me
  -- here you put any code that you want to execute when starting up,
end
Irv

At 9:04 AM -0700 9/11/03, [EMAIL PROTECTED] wrote:
Quoting Evan Adelman <[EMAIL PROTECTED]>:
 When generating objects of scripts on the fly to attach to sprites,
 you're actually invoking the 'new' handler, not the beginSprite handler:
 xCursor = (script "flaCursorScript").new(2)
Evan is right, but I'd like to add something.

If you have a script already attached to a sprite (presumably attached during
authoring), if it has an "on new" handler _and_ an "on beginSprite" handler,
both will execute. New executes first, then beginSprite.
That's not contradicting Evan. He's right about the order when you attach a
behavior at runtime. When it's attached during authoring, it's different.
Cordially,

Kerry Thompson


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Attach behavior to sprite...

2003-09-11 Thread Irv Kalb
Here's my guess about your problem, and a potential fix.  The problem 
has to do with the value of "spriteNum".  When you use a behavior 
normally (attached during authoring), the special property variable 
spriteNum is automatically given the corrent value.  All you have to 
do is to declare spritenum as a property, and it will be given the 
value of the channel number of the sprite.

However, if you attach a behavior "on the fly", this assignment does 
not happen.  To fix this, you can do it in your code.  I see below 
that you are creating an instance of the cursor script by doing this:

  xCursor = (script "flaCursorScript").new(2)

However, you don't show your "new" handler in the behavior.  I'll bet 
that you can fix this problem by doing this:

property spriteNum

on new me, whichChannel
  spriteNum = whichChannel  -- assign spriteNum here
  -- anything else you want to do here
  return me
end
Then just use spriteNum in  your exitFrame handler (and you don't 
need your beginSprite handler).

Or, if you like using your spriteRef variable, you can have your new 
method just do this instead:

on new me, whichChannel
  spriteRef = whichChannel
  -- anything else you want to do here
  return me
end
Irv

At 4:08 PM +0200 9/11/03, Kristian wrote:
Hi,

Below I have attached some simple code... The purpose with the code is to
(at runtime) be able to attach a behavior to a puppeted sprite containing a
flash member. The code works as long as I do not use the 'pSpriteRef'
variable and say instead type '2' or '3' (in the exitFrame handler in the
BEHAVIOR CODE below)... Unfortunately this will not work for me because this
behavior will be attached to more than one sprite (and the purpose of using
a behavior would be lost if I need to hardcode object references)... The
error message complains about the #hitTest which to me sounds like it does
not recognize the sprite as a flash sprite.
Anyone? Suggestions?

//Kristian

-- PART OF MOVIE SCRIPT CODE
puppetSprite 2, TRUE
sprite(2).member = puppetName
sprite(2).width = 220
sprite(2).height = 491
sprite(2).locH = 5
sprite(2).locV = 76
if member(puppetName).loaded = TRUE then
flaSetActiveSubItem(gAMemList.aSubMain,gAMemList.aSubSub,
AMemList.aCastPage)
end if
xCursor = (script "flaCursorScript").new(2)
sprite(2).scriptInstanceList.Add(xCursor)
-- BEHAVIOR CODE
property spriteNum, pSpriteRef
on beginSprite me
pSpriteRef = me.spriteNum
end
on exitframe me
if sprite(pSpriteRef).hitTest(the mouseLoc) = #button then
if sprite(pSpriteRef).cursor <> 280 then
sprite(pSpriteRef).cursor = 280
end if
else
if sprite(pSpriteRef).cursor <> -1 then
sprite(pSpriteRef).cursor = -1
end if
end if
end
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: attaching behaviors at runtime

2003-09-10 Thread Irv Kalb
Craig,

Yes, I would use a completely different approach than mucking with 
the scriptInstanceList.  If you have written your own behavior that 
handles clicking on each answer, and you have a way of talking to all 
answer sprites, then here's what I would do.

In the answer behavior, add a property called something like, 
pAvailable.  When the user can answer the question, pAvailable should 
be set to TRUE.  When the user selects one answer, you should call a 
handler in the behavior attached to all answers that sets pAvailable 
to FALSE.  The on mouseUp handler (or however you deal with mouse 
clicks) should have a simple test like this:

on mouseUp me
  if not(pAvailable) then
 return  -- user has already answered the question, just return
  end if
  --  Here you do what ever you want to with this answer
end
The behavior should start out like this:

property pAvailable

on beginSprite me
  me.mSetAvailability(TRUE)
  ...  anything else you want to do
end
on mSetAvailability me, TRUEorFALSE
   pAvailable = TRUEorFALSE
end
Then when a question is answered and you are showing feedback, you 
call mSetAvailability on all answer sprites and pass FALSE.  When you 
are ready for the next question, you call mSetAvailability on all 
answer sprites, and pass TRUE.  (If you want, the mAavailability 
could also change the color of the text for example, change it to 
gray when it is no longer available, and back to black when the new 
question is shown.)

Irv

At 6:41 PM -0400 9/10/03, Craig Taylor wrote:


Just to clarify, I have a series of "answer" buttons with rollover
behaviours.  The "on mouseUp" event calls another behaviour using a
sendSprite command.  Once the question is answered, I need to strip it of
any behaviours while the user gets an automated response to their selection.
(The "answer" sprites are still on-screen and I want no user interaction to
take place at this time.)  All sprites then reset themselves with the next
Q&A and I need to then reattach the appropriate behaviours, so the user can
answer the next question.  This all happens within the same sprite span.  Is
there a completely different way I should be attacking this, or do you think
I am on the right track??
Thank you!
-_Craig


[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


[XPOST] LOOPE - New chapter available

2003-09-08 Thread Irv Kalb
I've been writing even more ...

For anyone interested in my free E-book on Object Oriented 
Programming (OOP) in Lingo, I have just added a new chapter.  This 
one is called:

  Building a Simple Game. 

This new chapter (Chapter 15) describes how behaviors and objects can 
be used together to build a simple game.  The sample game is the 
standard "Memory" game.

The whole book so far can be found at:

  http://www.furrypants.com/loope

I would appreciate any feedback, typos, corrections, questions, 
comments about things that are unclear, etc.  Please send any 
feedback to me with the word "LOOPE" in the subject line.

Enjoy,

Irv
--
Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: unexpected selection of a text member

2003-09-05 Thread Irv Kalb
I recently ran into what is probably the same problem in a large 
project.  You have some text hilighted in a text member, you click on 
the another application, click back in your Director program, the 
entire contents of the text member are highlighted.

We spent a lot of time and tried everything we could think of, but we 
could not come up with a good work-around.   Sorry.

Irv

At 6:22 PM +0200 9/5/03, jean-louis valero wrote:
Please list
How to avoid the unexpected selection of a text member after we 
click on the stage previously in the background ?
thanks again
jean-louis valero

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: field and miaw

2003-08-30 Thread Irv Kalb
Look up the "tell" command.  As in:

  tell window yourMIAWwindow
 someVariable = member("someFieldName").txt
  end tell
Then someVariable will contain a copy of the text in "someFieldName" 
in yourMIAW

Irv

At 1:19 PM -0700 8/30/03, director wrote:
hi everyone,

how do you get the value of a field in a MIAW.

thanks

DS-NYC

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Slide Show question

2003-08-30 Thread Irv Kalb
Check out the following in the Lingo Dictionary:

  go next
  go previous
  go marker(-1)
  go marker(1)
I'm assuming that you have your slides layed out in the score, and 
are jumping to the next or previous markers - where you have a 
standard "go to the frame" script.

Irv

At 7:54 PM -0700 8/29/03, Pier de Sanctis wrote:
Hello there,

I have a relatively simple question regarding the creation of a 
slide show. Before I go on to describe what I want to accomplish, 
take a second to laugh, because this request comes from a Director 
novice. Having said that, I need to create a screen with two buttons 
(back and forward) that control the pictures being displayed by a 
slide show. I know of a cumbersome way of doing this by creating a 
button per picture that brings you to a specific marker, but this 
means creating as many buttons as there are images. There has to be 
a way to write a behavior that allows you to move forward and back 
between frames. Right?

I thank you in advance for any help you may be able to give me.

Pier

Pier de Sanctis
314 East 86th, Apt #3
New York, NY 10028
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: explore properties of script objects

2003-08-29 Thread Irv Kalb
Here's a function that I've had in my "toolbox" for many year (note 
the "set" statements from a long time ago).  Just pass in your object 
reference:

on DebugObject oWho
  set nParams = count(oWho)
  repeat with paramNum = 1 to nParams
set symParam = getPropAt(oWho, paramNum)
set theValue = getAProp(oWho, symParam)
set strParam = value(symParam)
put strParam & ":  " & theValue
  end repeat
end DebugObject
Irv

At 2:23 PM +0200 8/29/03, Michael von Aichberger wrote:
Hi everybody!

I have a script object, like

gObj = new(script "oTest").

The function gObj.handlers() gives me all the methods of that script.

Is there a comparable function that gives me all the properties and their
values?
Thanks
Michael
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: eliminate certain folders

2003-08-21 Thread Irv Kalb
Untested email Lingo, but here's how I would approach it:

FolderList = baFolderList("osX")
-- Build up a list of the folders you to eliminate from the list
EliminateList = ["Temporary Items", "TheFindByContentFolder"]
-- Iterate through the EliminateList, seeing if each is found in the FolderList
repeat with thisFolderToEliminate in EliminateList
  where = getOne(FolderList, thisFolderToEliminate)  -- see if it's there
  if where > 0 then  -- If it is there, delete it.
deleteAt(FolderList, where
  end if
end repeat
FolderList should now contain all folders except for those in the 
EliminateList.

Hope this helps,

Irv

At 11:28 PM +0200 8/21/03, Tony Åström wrote:
HI,

I use baFolderList to get the list of folders.
But how can I eliminate certain folders in the list for example, 
"Temporary Items", "TheFindByContentFolder"?
set Folder = baFolderList( "osX")
put Folder
-- [".Trashes", "Desktop Folder", "Temporary Items", 
"TheFindByContentFolder", "TheVolumeSettingsFolder", "Trash"]

TIA
Tony
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


RE: Projector vs. external cast

2003-08-19 Thread Irv Kalb
Looks like you've been getting some excellent information herre. 
Just two things to add about the line below.

If you are wanting to wind up with a protected castlib (either a .cxt 
or a .cct), then you should make a simple change to the line below. 
This line will work fine for an unprotected castlib.  If you want to 
make it work for unprotected and protected versions of the castlib, 
you can drop the extension:

  castlib("Content").filename = the moviePath & "Assets:Content"

Director will look for any file that starts with "Content" with any 
extension following it.  And as Kery said, if this is Mac only then 
you are fine.  If you want it to work on PC's and Mac's, you need to 
do something like this:

  theSeperator = the last char of the moviePath
  castlib("Content").filename = the moviePath & "Assets" & 
theSeperator & "Content"

Irv

At 3:48 PM +0200 8/19/03, Kristian wrote:

--
castLib("Content").fileName = the moviePath & "Assets:Content.cst"
--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: delete the last RETURN in a list

2003-08-18 Thread Irv Kalb
It sounds like you do have some confusion between a list and a 
textual representation of that list.  If you need to build up these 
items into a list (maybe for saving and using elsewhere), you can do 
it like this (untested e-mail Lingo):

fileList = []
repeat with i = 1 to the maxInteger
  thisFileName = getNthFileNameInfolder(, i)
  if thisFileName = EMPTY then
exit repeat
add(fileList, thisFileName)
  end if
end repeat
Then to display the list in a text or field member

listAsString = ''
nItems = count(fileList)
repeat with i = 1 to nItems
  thisFileName = fileList[i]
  put (thisFileName & return) after listAsString
end repeat
delete the last char of listAsString  -- eliminate final extra RETURN
member("").text = listAsString
Then you still have the list in the variable fileList.

However, if you just want to display the list of files, you can 
eliminate the list entirely like this (again untested e-mail Lingo):

listAsString = ""
repeat with i = 1 to the maxInteger
  thisFileName = getNthFileNameInFolder(, i)
  put (thisFileName & return) after listAsString
end repeat
delete the last char of listAsString
member("").text = listAsString
Irv

At 2:50 PM +0200 8/18/03, Tony Åström wrote:
Hi List,

I getNthFileNameinFolder into a gSoundList an put RETURN after every 
filename then
on mouseUp
  nLine = the mouseLine
  if nLine > 0 then
sprite(me.spriteNum).member.line[nLine].hilite()gSoundList[nLine]
  end if
end

When I click below the last filename in the scrollable field I get 
the error "Index out of range!" I can understand that.
How can I delete the RETURN after the last filename in the gSoundList?

TIA
Tony
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: QT conundrum

2003-08-16 Thread Irv Kalb
Kerry,

As part of my current project, we had to do snapshots also - with 
different types of media, including QT.  We always played the QT 
DirectToStage.   When the user wanted to take a snapshot, we 
temporarily turned DirectToStage off, took the snapshot, then turned 
DTS back on.  Would this work for you?

  sprite(QTSprite).directToStage = FALSE
  -- take snapshot using imaging Lingo
  sprite(QTSprite).directToStage = TRUE
Irv

At 4:59 PM -0400 8/16/03, Kerry Thompson wrote:
I have a couple of QT sprites on stage, and I want the controller.

They have to be non-dts because I need to be able to grab a snapshot of
a frame. But it looks like the controller isn't an option when it's not
dts.
I can do the vcr controls (play, stop, pause, rewind) pretty easily just
with sprites. But I'd like to be able to scrub the movie.
Is there some code around to do a QT slider? Or is there a way to get
the slider with a non-dts sprite?
Cordially,

Kerry Thompson

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Re: timeout to child (was loop every hour)

2003-07-25 Thread Irv Kalb
For more information on object oriented programming in Lingo, visit:

  http://www.furrypants.com/loope

Irv

At 10:46 PM -0400 7/25/03, Denis Bel-Isle wrote:
Thomas and Irv,

I'm out of the gutter - thanks to you both. That darn "me" thing 
again ... Yet, you have provided enough of a working model for me to 
experiment with. This, of course, means that my week-end is ruined.

Cheers!

Denis

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Re: timeout to child (was loop every hour)

2003-07-24 Thread Irv Kalb
Hi,

In Director, to create objects you use parent scripts (or behavior 
scripts).  The passage you quoted below refers to the fact that 
within a parent or behavior script, you can create a timeout object 
in one handler (also known as a method), and set the target (the 
method to be called back when the timeout occurs) to be another 
method within the same script.  You do this by specifying the name of 
the target method, and passing "me" as the target object.

Here's some code from a typical parent script - let's call it MyTimer.

on new me
  return me
end
on mStartMyTimer me
  oTimeout = timeOut("Initialize").new(100, #mTimerCallBackmethod, me)
end
on mTimerCallBackmethod me
  timeout("initialize").forget()  -- forget the timer
end
Let's say that you place the above code in a parent script, then 
create a global object from the script like this:

global gMyTimer

gMyTimer = new(script "MyTimer")

Then, at some time, you call:

  gMyTimer.mStartMyTimer()

Then, 100 ms later, the mTimerCalllBackmethod of that object will be 
called back.

Alternatively (but similarly), if you put this code into a behavior 
and attach it to a sprite say in channel 1:

on mStartMyTimer me
  oTimeout = timeOut("Initialize").new(100, #mTimerCallBackmethod, me)
end
on mTimerCallBackmethod me
  timeout("initialize").forget()
end
You could do a

sendSprite(1, #mStartMyTimer)

then, 100 ms later, the mTimerCallbackMethod would be called back.

The key is the word "me" which refers to the current "instance" of 
the script.  Macromedia calls this instance the "child" that is 
created from a parent script or a behavior created from a behavior 
script.

Hope this helps,

Irv

At 4:22 PM -0400 7/24/03, Denis Bel-Isle wrote:
Hi,

I often need millisecond precision and I'm very interested by this. 
I don't understand very well how to use the #target attribute of the 
timeout object. I work out fine timeout() when the #timeoutHandler 
is in a movie script - works great. But what does"  "The 
targetObject identifies the name of the child object that contains 
the #timeoutHandler" exactly means? The child of which parent? I 
have tried with the #timeoutHandler in a member script, but it 
doesn't seem to work. I would be grateful if someone could provide a 
small example.

Thanks in advance,

Denis
--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: detecting whether projector is running from writeprotected drive

2003-07-24 Thread Irv Kalb
The free FileXtra4 has a call, I think it's called fx_VolumeIsCDRom. 
I don't know what it would do with a DVD drive, but it would be easy 
for you to try it.  It also has some other calls that you could play 
around with.

http://kblab.net/xtras/FileXtra4/

Irv

At 1:34 PM +0200 7/24/03, Brennan wrote:
Hi folks,

I want to find out whether my projector is running from a write protected
drive. I don't want to rely on Windows drive letters because I want a
cross platform solution and in any case, an increasing number of people
have more than one write protected drive on their windows box. (e.g. both
a DVD and CD drive).
This turned out to be trickier than I thought. I felt sure there would be
some system property, or that buddyAPI or fileio would do it for me.
In the end, I've opted for fileIO, but it's a bit messy. FileIO will not
report an error if I try to open a file with the 'write' flag set to true,
which strikes me as a bug.
It will, however, cause an error if I try to create a file on a
non-writable drive, although if the drive is writable, I then have to
'clean up' and remove the dummy file that got created, which requires also
that I open it. (You can only delete a file that is open with fileIO).
This seems like a lot of messing about, but it works.
Here's my code, does anyone have a slicker approach? Suggestions for
freeware xtras are welcome.
on moviePathWritable

  f = new(xtra "fileio")
  dummyFilePath = the moviepath & "zxxz.txt"
  f.createFile(dummyFilePath)
  errCode = f.status()
  if errCode <> 0 then
-- some error, assume that disk can not be written to
return false
  end if
  f.openfile(dummyFilePath, 0)
  f.delete()
  return true
end

Brennan
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: RE: intersecting sprites in a maze game

2003-07-07 Thread Irv Kalb
Actually, he has a whole chapter (22) on how to write a maze game.

Irv

At 9:56 AM -0700 7/7/03, Jonathyn B. Tellez wrote:
Advanced Lingo for Games by Gary Rosensweig is a GREAT source for these
kinds of questions.  This particular issue is dealt with head on in the
"Space Invaders" chapter.  He uses prepareFrame in a clever way if I
remember right.
JB Tellez
Lead Lingo Programmer
Scientific Learning Corp.
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: basic question: Lingo to test authoring orprojector mode

2003-07-03 Thread Irv Kalb
Eudora's new line continuation characters are semi-colon & right paren  ;)
See it worked  ;)
Irv

At 11:55 AM -0500 7/3/03, Howdy-Tzi wrote:

No, it's the same. MX didn't change existing Lingo. Not even line 
continuation characters got re-redone this time... ;)

-- WthmO


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: List bracket access

2003-07-01 Thread Irv Kalb
Kerry,

The bracket syntax always gets you what is the value at the given 
location, whether it's a linear list or a property list.

Yes, you have to use getPropAt, to get the property, then you can use 
that property to get the value.

Using your example, if you do a:

  theProp = getPropAt(vpl, 1)

theProp is assigned "TB199".

Then you can use that to get the value:

  put vpl[theProp]

you get [135, 137, 0, 0, 0, 0]

Irv

At 12:41 PM -0400 7/1/03, Kerry Thompson wrote:
I'm trying to retrieve a sub-list from a property list. My property list
looks something like this:
vpl= ["TB199": [135, 137, 0, 0, 0, 0], "TB53": [138, 158, 11, 92, 0, 0]]

I though when I did bracket access, e.g. pl[1], I would get the first
element in the list. In this case, "TB199": [135, 137, 0, 0, 0, 0]
But I'm not. I'm getting the value, i.e., [135, 137, 0, 0, 0, 0]

What's really confusing me is that I'm getting what I expect from a
higher-order list. In the example above, vpl is actually derived from a
larger list which looks like this:
pl = ["31": ["TB199": [135, 137, 81, 114, 0, 0], "TB53": [138, 158, 81,
114, 0, 0]], "n31": ["TB199": [135, 137, 0, 0, 0, 0], "TB53": [138, 158,
11, 92, 0, 0]]]
In that case, pl[1] is ["TB199": [135, 137, 81, 114, 0, 0], "TB53":
[138, 158, 81, 114, 0, 0]]
So, how do I get the entire first element--the property list--from vpl?
Do I have to cobble it together with getPropAt and bracket access (or
getAt)?
Cordially,

Kerry Thompson

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: displaying text from list

2003-06-27 Thread Irv Kalb
No, you don't want to change your original data, you just want to 
build a string with returns in it.

Here's my untested version:

on ListToString listIn
  stringOut = ""
  nItems = count(listIn)
  repeat with i = 1 to nItems
 put (listIn[i] & RETURN) after stringOut
  end repeat
  return stringOut
end
Call this routine, pass in your list, it will return a string, put 
the string into some field or text member to display it.

Irv

At 10:51 AM -0500 6/27/03, [EMAIL PROTECTED] wrote:
Thank you guys,
I'll try these and see what happens. Perhaps if I duplicate the list before
dumping it into the field I could then avoid hard returns in the actual
list, right?
Chris
 From: [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 Date: Fri, 27 Jun 2003 11:35:55 -0400
 To: [EMAIL PROTECTED]
 Subject: Re:  displaying text from list
 -- not tested :)
 repeat with i=1 to myList.count
 tItem = myList[i]
 tItem = tItem & RETURN
 myList[i] = tItem
 end repeat
 -- potential problem is you now have hard returns in your data
 -- hope this helps
 --mv




 [EMAIL PROTECTED]@mail4.fcgnetworks.net on 06/27/2003 11:01:17 AM

 Please respond to [EMAIL PROTECTED]

 Sent by:[EMAIL PROTECTED]

 To:[EMAIL PROTECTED]
 cc:
 Subject: displaying text from list

 Hi,
 Is there any way to insert a RETURN or SPACE after each item in a linear
 list? I am working on a questionaire with checkboxes that stores the text
 in
 a global list and after the user is finished with the questionaire I want
 them to be able to read the answers. So I've dumped the list into a field
 but there are no spaces between each item and the text is hard to read.
 Any suggestions would be greatly appreciated!
 Chris Satory
 [To remove yourself from this list, or to change to digest mode, go to
 http://www.penworks.com/lingo-l.cgi  To post messages to the list, email
 [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L
 is for learning and helping with programming Lingo.  Thanks!]


 [To remove yourself from this list, or to change to digest mode, go to
 http://www.penworks.com/lingo-l.cgi  To post messages to the list, email
 [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is
 for learning and helping with programming Lingo.  Thanks!]
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: text

2003-06-12 Thread Irv Kalb
Look up "the scrollTop" in the Lingo Dictionary.

Irv

At 8:53 AM -0600 6/12/03, Liz wrote:
Hi,

I have some scrollable text in a window and would like to be able to
start the text half way through the text field.  What I am actually
trying to do is to place a hyperlink in the top part of the text and
have it jump down to another location further down in the text. 

Any idea how I can do this in lingo?

Thanks
Liz
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: change sprites channels

2003-06-08 Thread Irv Kalb
No, you can't change sprite channels, but you can change the ordering.

When you want to bring something forward, set the "locZ" property 
high.  But don't forget to reset it when the spritespan ends, or  it 
will remain in that ordering:

on endSprite me
  sprite(spriteNum).locZ = spriteNum
end
Irv

At 9:32 PM -0700 6/8/03, director wrote:
im trying to do some tabs that when you click one it
one should appear in front and the rest in back. is
there a way to do this. can you change the sprites
channel once it is in the score.
thanks.

<-DS->

__
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


RE: testing for resolution with dual monitors

2003-05-29 Thread Irv Kalb
My dual monitor Mac returns:

-- [rect(0, 0, 1280, 1024), rect(-1024, 0, 0, 768)]

Irv

At 1:12 PM -0500 5/28/03, Josh Race wrote:
I'm trying to TEST the resolution of the users monitor and determine 
whether they have single or dual monitors setup. 

I've found that the "desktopRectList" will return the resolution, 
but does it work for two monitors?  I'm on single monitor, so 
can't test.  Anyone running dual?

thanks



What's the issue exactly?

Anyone have ideas for this...
I tried displayRes xtra and buddy, neither seem to be of much help.
thanks in advance,
-- josh
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Multimedia Wrangler.
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: ARRRRRRRRGHHHHHH!!

2003-04-02 Thread Irv Kalb
I'll throw out a guess based on your description.  Here's my understanding:

You are attempting to create a QT object.  In the "new" handler of 
your script, you are checking for QT being installed.  In the case 
where it is not installed, your new method is issueing a go to frame 
xxx.

My guess is that you are creating the object like this:

global gQTObject

gQTObject = new(script "QTObject script")

then the sprites are trying to use the global gQTObject.

If this is the case, then your problem is that you are issueing the 
go to before the gQTObject is assigned a value.  That is, in the code 
of the "new" handler, you are doing the go to before you do the 
"return me".

If this is the case, then you should split up the code into a new 
handler and a separate handler to check for QT:

on new me
  -- any initialization code that runs once
  return me
end
on IsQTInstalled me
   if  then
  return TRUE
   else
  return FALSE
   end if
end
Then you initialization code would be something like this:

  gQTObject = new(script "QTObject script")
  OK = gQTObject.IsQTInstalled()
  if not(fOK) then
 go frame "Missing QT"
 return
  end if
  -- Carry on 
If I am wrong about your structuring, please post some code so we can 
see what is happening.

Irv

At 5:22 PM -0600 4/2/03, [EMAIL PROTECTED] wrote:
Ok, now that I've got your attention, has anyone else experienced this -

I have a child object being birthed at the very onset of a movie. All
works well. blah blah blah.
I've now uninstalled qt  on this pc - this app uses qt, and if qt isn't
installed I'm to go to the 'hey you need this frame'.
Well I just stepped through the entire birthing of the object - it
happens fine, right at the beginning. And the object itself then GOES TO A
FRAME where sprites request what's needed. But they're getting a freaking
'void' error that there's no object to call from, EVEN THOUGH THE OBJECT
ITSELF CALLED THE FRAME!
This only happened when I uninstalled qt?

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Lingo / Director / Shockwave development for all occasions. 
 
  (Home-made Lingo cooked up fresh every day just for you.)
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: object gets keydown?

2003-04-02 Thread Irv Kalb
Objects by themselves do not receive key interactions - independent 
of whether are or are not added to the actorlist.

Irv

At 12:43 PM -0600 4/2/03, [EMAIL PROTECTED] wrote:
If I create an object and don't add it to the actorlist, does it still
receive key interaction?
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Lingo / Director / Shockwave development for all occasions. 
 
  (Home-made Lingo cooked up fresh every day just for you.)
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: wait

2003-03-27 Thread Irv Kalb
The best way to achieve something like this is to do move the sprite 
at every frame event.  Since I don't know what your starting and 
stopping "triggers" are, I'll just give you the basic idea:

property spriteNum

on exitFrameme
  sprite(spriteNum).locV = sprite(spriteNum).locV + 1
end
This will move the sprite 1 pixel every frame.   So, the animation 
will run at whatever the frame rate is.

Irv

At 7:09 PM -0500 3/27/03, DT-Rene Vazquez wrote:
Hi, I'm trying to animate a sprite by script code with lingo. I move the
sprite with a while loop sprite by increasing its locV property, but I
want to introduce some delay between each change in position in order to
see the animation. Can someone give me some guide to achieve this effect
or something similar?
Thanks a lot in advance
[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Lingo / Director / Shockwave development for all occasions. 
 
  (Home-made Lingo cooked up fresh every day just for you.)
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: send me your CD drivers!

2003-03-25 Thread Irv Kalb
You would probably get  more responses if you listed the name of the 
file that we should look for - and where it can be found.  I, for 
one, have no idea what the name of the CD Driver file is.

Irv

At 4:51 PM -0500 3/25/03, Fletcher Moore wrote:
Hi,

Can every Mac user on this list do me a favor? I am testing which Apple CD
drivers work with the CDPro Xtra. I've tried 1.4.8 and 1.4.7 (no luck) and
1.2 (worked). I've also got 1.4.3, though I haven't tried it yet. I know
1.3.4 and 1.3.5 don't work.
What I need is as many other versions of the driver as I can find --
preferably all those between 1.3.5 and 1.4.7. So if you've got one, can you
send me a copy?
Again, I need:

1.3.6
1.3.7
1.3.8
1.3.9
1.4.0
1.4.1
1.4.2
1.4.4
1.4.5
1.4.6
Drivers earlier than 1.3.4 also welcome.

Many thanks.

Fletch

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Lingo / Director / Shockwave development for all occasions. 
 
  (Home-made Lingo cooked up fresh every day just for you.)
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


Re: LimitingFieldSize

2003-03-23 Thread Irv Kalb
Check out:

  the floatPrecision

Irv

At 8:35 AM -0700 3/23/03, kevin pyatt wrote:
Hello. I am trying to figure out a way to limit or specify the size 
of a string or integer sisplayed in a text field.
Example:
a =1 .0
b=1.5
c=a+b
member("myTextBox").text = string(c)

Question:
The value that is output is displayed as 2.5000. Is there a way to 
define or specify the number of decimal places that are displayed?
Thank you for your time...



Kevin Pyatt
Ponderosa High School
Chemistry Teacher
Multimedia Developer/Instructional Designer
Scientific Creations
Business line:303.829.8960
www.scientificcreations.com


_
Add photos to your e-mail with MSN 8. Get 2 months FREE*. 
http://join.msn.com/?page=features/featuredemail

[To remove yourself from this list, or to change to digest mode, go 
to http://www.penworks.com/lingo-l.cgi  To post messages to the 
list, email [EMAIL PROTECTED]  (Problems, email 
[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
programming Lingo.  Thanks!]


--

Lingo / Director / Shockwave development for all occasions. 
 
  (Home-made Lingo cooked up fresh every day just for you.)
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo.  Thanks!]


  1   2   3   >