Re: round and statRound

2005-04-13 Thread Jeanne A. E. DeVoto
At 8:28 PM +0100 4/13/05, David Burgun wrote:
no, use:
trunc(1.5)+1
Thanks! There should be a mention of this on the round and statRound 
documentation pages!
There's a See Also link to the cookbook recipe for "Rounding a number 
up to a ceiling". (Or at least there used to be.) The function given 
there looks like this:

function ceiling theNumber
  if theNumber is not a number then return "Error: not a number"
  if theNumber < zero or theNumber is an integer then
return trunc(theNumber)
  else
return trunc(theNumber) + 1
  end if
end ceiling
which is more verbose than the equivalents that have been given here, 
but also, I think, a little easier to figure out for beginners.
--
jeanne a. e. devoto ~ [EMAIL PROTECTED]
http://www.jaedworks.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: A Cool Freebie for RevCon West Attendees (Resend)

2005-04-13 Thread Chipp Walters
There is an explanation and some screenshots of Interface Designer and 
some of the apps it's built at:

http://www.altuit.com/webs/altuit/InterfaceDesigner/default.htm
btw, What you see in the images are all our own custom 'theme' scheme. 
With ID, you can create and load your own themes as well. Works on Mac 
and PC.

Dan Shafer wrote:

He calls it Interface Designer, but I'd call it Interface Magician. It's 
a palette with which you can turn your plain-old, ordinary-looking 
stacks with standard colors and control schemes into the kinds of user 
experiences for which Chipp and his company, Altuit, have become 
justifiably famous. It is so easy to use that anyone -- even someone 
like me whose artistic skills stop just short of being able to draw 
straight lines with a ruler -- can turn out professionally styled stacks 
and applications in minutes. LIterally.

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Shrinking Mac stack

2005-04-13 Thread Sarah Reichelt
For those of you who've come lately to this, the problem was simple. 
How to add menus for both Mac and PC to an existing stack *without* 
ever resizing the existing stack.

As you all probably know, the minute you add a menu to a stack, it's 
height is recalculated whenever it opens on a different platform. The 
reason is that the menubar is 'on the card' for the PC, but at the top 
of the screen for the Mac. So, when viewing the stack on the Mac, the 
stack is automatically reduced in height by the amount of the menubar 
(thus screwing up my carefully rendered screen layout;-).

bummer, especially if you don't want this behavior.
So, Richard's idea was pretty straightforward:
set the editmenu property of the stack to true
hide the menu group
So, here's how it works: When the stack is opened up on the Mac, 
because the editmenu prop is true, the menus appear at the top of the 
card and not in the menubar. But a little known fact (only Richard 
knows it apparently as it's not documented) is that the menus will 
appear in the menubar if the menuGrp is hidden! So, just hide the 
group and then show it if the platform is Win32.

Works like a charm...and no resizing of the stack whatsoever.
Has anyone got this to work on Rev 2.5.1?
When I try it, I get what you would expect - no menus because they are 
invisible, which is a shame because it is a very neat way around this 
problem which is driving me nuts at the moment.
I'm trying to do some resizing on a stack and I'd swear that the loc 
and rect of objects vary according to whether you are getting or 
setting them - but this is probably me just being paranoid :-)

Cheers,
Sarah
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Creating & Using Tabs tutorial

2005-04-13 Thread Sarah Reichelt
Hi Judy,
Good tutorial and the PDF is a neat touch and very well put together. 
However I suggest you have a look at the "menuPick" message which makes 
handling tabs much easier.

When using one card per tab, here is the script I use:
on menuPick pCardName
  go to card pCardName
end menuPick
For tabs where you are hiding and showing groups, it is made easy by 
the fact that for tabbed buttons, the menuPick has 2 parameters: the 
tab just chosen and the tab previously chosen, so you cna use this:

on menuPick pNewGroup, pOldGroup
  hide group pOldGroup
  show group pNewGroup
end menuPick
Cheers,
Sarah
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Making Revolution faster with really big arrays

2005-04-13 Thread Dennis Brown
Brian,
I am running on a 1.8 GHz single processor G5 Tower.
With my data put into an array it takes about 9 sec to access each 
value.
With my data in a variable, it takes about 1.5 sec to access each value 
sequentially.
I don't have the new approach written yet (got side tracked on the 
graphing routines), but if I did it the slow way (no split),
it would take about 20 sec to load the array, then 10 sec to access two 
arrays or 30 sec total.
Of course if I could access both arrays at the same time sequentially, 
it would take 3 seconds.
Sounds like the scripting solution is the faster way to go in the 
normal case.

Thanks for running the test.  It finally gives me a basis for deciding 
which way to go.  It is clear that without better sequential
access methods, the difference is far less than the order of magnitude 
difference I was expecting.

Dennis
On Apr 13, 2005, at 8:32 PM, Brian Yennie wrote:
Dennis,
I through together a real rough test- just some tables with random 
values 0-1000.

SELECT (v1 + v2500) FROM values1,values2500 LIMIT 50;
This ran for me in about 10-15 seconds off of a G4 XServe with 1GB 
memory. Note that I only had enough free memory to do chunks of 
500,000 so it looks like around a minute for all 2,500,000 
combinations.

This with all of the database on-disk and no optimizations / 
tweaking... so it should be an upper limit.

How is the most recent scripted solution timing out for you?
- Brian
Brian,
Can you create a 1 by 2500 by 100 array of random numbers 
(sparsely populated i.e. some values are null) in SQL?

Can you put the sum of two random accessed numbers (except if one is 
null then the sum is null) into a third random location?

How fast can you do this last thing 2500 times in SQL.
This is the simplest of the things I am doing.
If you can do that in SQL in less than a minute, you've got my 
attention :-)

Dennis
On Apr 13, 2005, at 12:36 PM, Brian Yennie wrote:
Dennis,
I guess it's half of each, as I see it (and I misread some of this I 
think).
You only need sequential access to the lines and items, but random 
access would solve your problems. Random access is even faster than 
sequential, and can do everything sequential can.

From your syntax example:
access each line X in arrayX--initial setup of pointers and X value
access each item Y in arrayY --initial setup of pointers and Y value
repeat for number of lines of arrayX times --same as a repeat for 
each
   put X & comma & Y & return after ArrayXY --merged array
   next line X --puts the next line value in X
   next item Y --if arrayY has fewer elements than arrayX, then 
empty is supplied, could also put "End of String" in the result
end repeat
In SQL:
SELECT CONCAT(lineValue, ',' , itemValue) FROM lines, items ORDER BY 
lineNumber, itemNumber;

Give your DB enough RAM to work with and this will fly. The fields 
will be indexed once- that's what you are basically saying by 
"access" ... "index". Then they'll be retrieved super fast and the 
sort should be trivial if the records are already in order in your 
database. You could work with a dozen tables at once if you wanted.

If your still committed to a scripted solution, could you post some 
of your actual code- even if the calculations are hidden? Are you 
using nested repeat for each? This group (myself included) has been 
known to tweak these sorts of things pretty well in the past when 
there is real code to work with...

- Brian

Thanks Brian,
I don't require random access to the data.  I only need sequential 
access.  That is why the repeat for each operator works so fast 
--less than a microsecond per data item.  I'm not going to match 
that with anything other than RAM.

Dennis
On Apr 12, 2005, at 10:06 PM, Brian Yennie wrote:
Dennis,
I have to agree with Pierre here. If you are looking for random 
access to many thousands of records taking up gigabytes of memory, 
a database engine is, IMO, the only logical choice.

A simple MySQL/PostgreSQL/Valentina/etc database indexed by line 
number (or stock symbol) would be very fast.

Without indexing your data or fitting all of it into random-access 
in-memory data structures, you're fighting a painful battle. If 
you algorithm is scaling out linearly, you'll just run too slow, 
and if your data size is doing the same you'll run out of memory. 
On the other hand, database engines can potentially handle 
_terabytes_ of data and give you random access in milliseconds. 
You simply won't beat that in Transcript.

One thing you could consider if you don't want a whole database 
engine to deal with, is the feasibility of indexing the data 
yourself - which will give you some of the algorithmic benefits of 
a database engine. That is, make one pass where you store the 
offsets of each line in an index, and then use that to grab lines. 
Something like (untested):

## index the line starts and ends
put 1 into lineNumber
put 1 into charNum
put 1 into lineStarts[1]
repeat for each char c in tData
  

Re: RegEx Replace Text -- strip leading and trailing spaces

2005-04-13 Thread Ken Ray
On 4/13/05 7:22 PM, "Trevor DeVore" <[EMAIL PROTECTED]> wrote:

> On Apr 13, 2005, at 4:49 PM, Ken Ray wrote:
>>   get matchText(pWhat, "(?s)^\s+(.*?)\s+$", tReturnVal)
>> 
>> I agree that the "word 1 to -1" solution will do what you want 95+% of
>> the
>> time, but just wanted to make sure that everyone knew there was at
>> least one
>> 'hole' in that approach in case anyone cared. ;-)
> 
> Ah, good catch Ken.  I think the only thing that needs changing is the
> "+" sign after the \s.  With this version if there is no white space at
> the beginning or end of the string then no result is returned in
> tReturnVal.  So the modified (and hopefully all-encompassing) version
> is:
> 
> get matchText(pWhat, "(?s)^\s*(.*?)\s*$", tReturnVal)

Equally good catch, Trevor... I'll update my library.

:-)

Ken Ray
Sons of Thunder Software
Web site: http://www.sonsothunder.com/
Email: [EMAIL PROTECTED]
 


___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Making Revolution faster with really big arrays

2005-04-13 Thread Brian Yennie
Dennis,
I through together a real rough test- just some tables with random 
values 0-1000.

SELECT (v1 + v2500) FROM values1,values2500 LIMIT 50;
This ran for me in about 10-15 seconds off of a G4 XServe with 1GB 
memory. Note that I only had enough free memory to do chunks of 500,000 
so it looks like around a minute for all 2,500,000 combinations.

This with all of the database on-disk and no optimizations / 
tweaking... so it should be an upper limit.

How is the most recent scripted solution timing out for you?
- Brian
Brian,
Can you create a 1 by 2500 by 100 array of random numbers 
(sparsely populated i.e. some values are null) in SQL?

Can you put the sum of two random accessed numbers (except if one is 
null then the sum is null) into a third random location?

How fast can you do this last thing 2500 times in SQL.
This is the simplest of the things I am doing.
If you can do that in SQL in less than a minute, you've got my 
attention :-)

Dennis
On Apr 13, 2005, at 12:36 PM, Brian Yennie wrote:
Dennis,
I guess it's half of each, as I see it (and I misread some of this I 
think).
You only need sequential access to the lines and items, but random 
access would solve your problems. Random access is even faster than 
sequential, and can do everything sequential can.

From your syntax example:
access each line X in arrayX--initial setup of pointers and X value
access each item Y in arrayY --initial setup of pointers and Y value
repeat for number of lines of arrayX times --same as a repeat for 
each
   put X & comma & Y & return after ArrayXY --merged array
   next line X --puts the next line value in X
   next item Y --if arrayY has fewer elements than arrayX, then 
empty is supplied, could also put "End of String" in the result
end repeat
In SQL:
SELECT CONCAT(lineValue, ',' , itemValue) FROM lines, items ORDER BY 
lineNumber, itemNumber;

Give your DB enough RAM to work with and this will fly. The fields 
will be indexed once- that's what you are basically saying by 
"access" ... "index". Then they'll be retrieved super fast and the 
sort should be trivial if the records are already in order in your 
database. You could work with a dozen tables at once if you wanted.

If your still committed to a scripted solution, could you post some 
of your actual code- even if the calculations are hidden? Are you 
using nested repeat for each? This group (myself included) has been 
known to tweak these sorts of things pretty well in the past when 
there is real code to work with...

- Brian

Thanks Brian,
I don't require random access to the data.  I only need sequential 
access.  That is why the repeat for each operator works so fast 
--less than a microsecond per data item.  I'm not going to match 
that with anything other than RAM.

Dennis
On Apr 12, 2005, at 10:06 PM, Brian Yennie wrote:
Dennis,
I have to agree with Pierre here. If you are looking for random 
access to many thousands of records taking up gigabytes of memory, 
a database engine is, IMO, the only logical choice.

A simple MySQL/PostgreSQL/Valentina/etc database indexed by line 
number (or stock symbol) would be very fast.

Without indexing your data or fitting all of it into random-access 
in-memory data structures, you're fighting a painful battle. If you 
algorithm is scaling out linearly, you'll just run too slow, and if 
your data size is doing the same you'll run out of memory. On the 
other hand, database engines can potentially handle _terabytes_ of 
data and give you random access in milliseconds. You simply won't 
beat that in Transcript.

One thing you could consider if you don't want a whole database 
engine to deal with, is the feasibility of indexing the data 
yourself - which will give you some of the algorithmic benefits of 
a database engine. That is, make one pass where you store the 
offsets of each line in an index, and then use that to grab lines. 
Something like (untested):

## index the line starts and ends
put 1 into lineNumber
put 1 into charNum
put 1 into lineStarts[1]
repeat for each char c in tData
if (c = return) then
   put (charNum - 1) into lineEnds[lineNumber]
   put (charNum + 1) into lineStarts[lineNumber + 1]
   add 1 to lineNumber
end if
add 1 to charNum
end repeat
if (c <> return) then put charNum into lineEnds[lineNumber]
## get line x via random char access
put char lineStarts[x] to lineEnds[x] of tData into lineX
- Brian
Thanks Pierre,
I considered that also.  A Database application would certainly 
handle the amount of data, but they are really meant for finding 
and sorting various fields, not for doing the kind of processing I 
am doing.  The disk accessing would slow down the process.

Dennis
On Apr 12, 2005, at 5:27 PM, Pierre Sahores wrote:
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

___
use-revo

Re: RegEx Replace Text -- strip leading and trailing spaces

2005-04-13 Thread Trevor DeVore
On Apr 13, 2005, at 4:49 PM, Ken Ray wrote:
  get matchText(pWhat, "(?s)^\s+(.*?)\s+$", tReturnVal)
I agree that the "word 1 to -1" solution will do what you want 95+% of 
the
time, but just wanted to make sure that everyone knew there was at 
least one
'hole' in that approach in case anyone cared. ;-)
Ah, good catch Ken.  I think the only thing that needs changing is the 
"+" sign after the \s.  With this version if there is no white space at 
the beginning or end of the string then no result is returned in 
tReturnVal.  So the modified (and hopefully all-encompassing) version 
is:

get matchText(pWhat, "(?s)^\s*(.*?)\s*$", tReturnVal)
Of course this may be missing something obvious too given my track 
record today.  Maybe it is time for a vacation...

--
Trevor DeVore
Blue Mango Multimedia
[EMAIL PROTECTED]
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Copy Command Question

2005-04-13 Thread Ken Ray
On 4/13/05 5:27 AM, "Eric Chatonet" <[EMAIL PROTECTED]>
wrote:

> In one line, I am afraid not :-)
> But in two lines:
> 
> copy grc "TemplateRect" to this card
> set the name of last grc to "G-" & the ID of last grc

You can also use "it", since the newly created object is stored in "it":

  copy grc "TemplateRect" to this card
  set the name of it to "G-" & (the ID of it)

And if you want to fudge it into one line, you can use a semicolon (watch
line wraps):

  copy grc "TemplateRect" to this card;set the name of it to "G-" & (the ID
of it)

I know, it's cheating, but it *is* one line...

:-)

Ken Ray
Sons of Thunder Software
Web site: http://www.sonsothunder.com/
Email: [EMAIL PROTECTED]


___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: RegEx Replace Text -- strip leading and trailing spaces

2005-04-13 Thread Ken Ray
On 4/13/05 2:47 PM, "Trevor DeVore" <[EMAIL PROTECTED]> wrote:

> get matchText(pString, "(?s)^[ \t\r\n]+(.*?)[ \t\r\n]+$", tReturnVal)
> 
> This will strip leading and trailing whitespace from a multiline
> string.  But given that you say that word 1 to -1 is that much faster I
> am going to switch to that.  Those of us still trying to break away
> from our previous languages like to complicate things on occasion ;)

Unfortunately neither your nor the "word 1 to -1" solution will take into
account hard spaces (non-breaking spaces) that could be part of the
whitespace on either side of the string. So to fix that, you would need to
use:

  get matchText(pWhat, "(?s)^\s+(.*?)\s+$", tReturnVal)

I agree that the "word 1 to -1" solution will do what you want 95+% of the
time, but just wanted to make sure that everyone knew there was at least one
'hole' in that approach in case anyone cared. ;-)

Ken Ray
Sons of Thunder Software
Web site: http://www.sonsothunder.com/
Email: [EMAIL PROTECTED]





___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Making Revolution faster with really big arrays

2005-04-13 Thread Brian Yennie
Brian,
Can you create a 1 by 2500 by 100 array of random numbers 
(sparsely populated i.e. some values are null) in SQL?
Sure. There would be a few ways to do it, but for instance:
INSERT INTO someTable1 (someValue1) VALUES ( (1), (3), (46), 
(23), (12), (NULL), (8), (NULL), ...);
INSERT INTO someTable2500 (someValue2500) VALUES ( (2), (4), (NULL), 
(NULL), (2), (NULL), (98), (NULL), ...);
INSERT INTO someTable100 (someValue100) VALUES ( (11), (31), (426), 
(2.3), (1.22), (NULL), (NULL), (NULL), ...);

Can you put the sum of two random accessed numbers (except if one is 
null then the sum is null) into a third random location?
SELECT IFNULL(someValue1, NULL, IFNULL(someValue2500, NULL, 
(someValue1 + someValue2500)))
FROM someTable1, someTable2500
ORDER BY RAND(2500);

How fast can you do this last thing 2500 times in SQL.
This is the simplest of the things I am doing.
If you can do that in SQL in less than a minute, you've got my 
attention :-)
Would have to try it, but I'd say you've got a shot.
Your scripting ideas have merit also, this one just felt like database 
to me...

 -Brian
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: BZ 2138 (was Re: ANN: BreakpointNavigator Plugin release)

2005-04-13 Thread Alex Tweedly
Jerry Balzano wrote:
On Apr 13, 2005, at 6:48 AM, Alex Tweedly wrote:
btw - BZ 2138 (can't run apps by double-click) is an Enhancement 
request - since the docs don't claim it should be possible, I 
couldn't find any excuse to make it a "bug" rather than an 
enhancement request; that may be another reason it hasn't been fixed 
yet.
Given the universality of the double-click-document-lauch-application 
paradigm, I'd say that the reason it's not in the docs is that **it is 
generally assumed to hold true**.  Surely we can think of many 
"obvious" characteristics that wouldn't be "in the docs" but would be 
taken as a bug if they didn't hold true.  So I don't accept the "in 
the docs" as a criterion for bughood.  (This is all the more true 
given the admittedly sketchy nature of the docs; why would there be 
any need e.g. for Dan Shafer to write an eBook on the IDE if the docs 
were in any sense comprehensive?)
I might have taken a different attitude now - but I was very new to 
Runrev at the time, and so a bit more tentative. Also, since the 
installation had NOT made the file association, there was an implication 
that it was not intended to allow that mode of starting.

While I'm at it, I also object to the "counsel-of-despair" attitude of 
not voting for bugs just because one hasn't reviewed all of bugzilla.  

Perhaps I'll be in the minority on this issue too, like I was on Dan 
reporting on "third party" products and plugins (Dan, you never 
addressed the "looking over D Shafer's shoulder" mindset that I would 
think you'd welcome on the part of potential readers; omitting 
third-party products that you use all the time would at best weaken 
this possibility and at worst mislead ... end parenthetical).  But I 
thought I'd try nonetheless, both on this specific bug#2138 and on the 
general "get out the vote" aesthetic.

Not despairing yet,
Jerry
Sorry, I guess I didn't express it well enough. There is no "despair" in 
how I feel about it - I really DO trust RR managers to make reasonable 
choices most of the time, and hence didn't feel a need to vote.

Not despairing at all,
Alex.
P.S. but you convinced me I should cast my votes - will start doing that 
now.

--
Alex Tweedly   http://www.tweedly.net

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: RegEx Replace Text -- strip leading and trailing spaces

2005-04-13 Thread Alex Tweedly
Trevor DeVore wrote:
This will strip leading and trailing whitespace from a multiline 
string.  But given that you say that word 1 to -1 is that much faster 
I am going to switch to that.  Those of us still trying to break away 
from our previous languages like to complicate things on occasion ;)

Is there a way to do ltrim (trim whitespace on left of string) in 
plain transcript?  Right now I just use:

function str_lTrim pString
get replaceText(pString, "^[ \t\r\n]+", "")
return it
end str_lTrim

function str_lTrim pString
  if word 1 of pString  is empty then return empty-- deal with case 
of all whitespace
 return  char (offset(word 1 of pString, pString)) to -1 of pString
end pString

The timings are fairly data dependent, but this is about 20% faster for 
most cases, and not slower for any I found.

If you know you aren't dealing with all-whitespace strings, you can 
remove that test line, and get another 10% improvement.

You can take any of those and improve by another 5% by passing the 
parameter by reference; avoids a data copy, and since you don't modify 
it, there's no downside.

BUT - in all those cases, the overhead of the function call is far more 
significant than the actual operation, so you can get another 50% saving 
by doing the replaceText (or chunk test) in-line rather than as a 
function.  You may prefer to use the function anyway for the sake of 
code that is easier to read - but if you have one or two crucial spots, 
it may be worth in-lining the operation..

--
Alex Tweedly   http://www.tweedly.net

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: BZ 2138 (was Re: ANN: BreakpointNavigator Plugin release)

2005-04-13 Thread Dennis Brown
I agree,
If you use all your votes up, and then want to vote for something else, 
you can always at that point review what you voted on and take some 
votes away from lower priority bugs so you can put them onto the new 
item.  That way you can prioritize your votes for the things that have 
bothered you.  It is RR managers job to prioritize the whole list.  The 
votes are just a help in deciding how important the issue is to the 
users who care.  If you don't vote, don't complain about the choices 
made for you.

Dennis
On Apr 13, 2005, at 5:56 PM, Jerry Balzano wrote:
On Apr 13, 2005, at 6:48 AM, Alex Tweedly wrote:
btw - BZ 2138 (can't run apps by double-click) is an Enhancement 
request - since the docs don't claim it should be possible, I 
couldn't find any excuse to make it a "bug" rather than an 
enhancement request; that may be another reason it hasn't been fixed 
yet.

Given the universality of the double-click-document-lauch-application 
paradigm, I'd say that the reason it's not in the docs is that **it is 
generally assumed to hold true**.  Surely we can think of many 
"obvious" characteristics that wouldn't be "in the docs" but would be 
taken as a bug if they didn't hold true.  So I don't accept the "in 
the docs" as a criterion for bughood.  (This is all the more true 
given the admittedly sketchy nature of the docs; why would there be 
any need e.g. for Dan Shafer to write an eBook on the IDE if the docs 
were in any sense comprehensive?)

While I'm at it, I also object to the "counsel-of-despair" attitude of 
not voting for bugs just because one hasn't reviewed all of bugzilla.  
The idea that there may be "more important bugs" that you haven't run 
across in your day-to-day transactions with Rev doesn't make sense to 
me.  I think as users we need to trust -- if nothing else -- the idea 
of our interactions with Rev as a reasonable sample of possible 
interactions.  So bugs that persistently get in our way are worth 
noting for that reason alone.  Bugs that never darken our doors are by 
definition not critical to the (or at least our) day-to-day experience 
using Rev.  When someone encounters what looks like a bug, they 
mention it to this list.  If it's already been bugzilla-ed (and 
therefore already encountered as a problem by at least one other 
user), someone generally responds to inform the original mentioner of 
that fact.  If it's been a very recent topic of conversation, the 
mentioner might even get (gently) chided for not paying close enough 
attention to the list.

Clearly, reading all of (or even a sizeable fraction of) bugzilla is 
not a reasonable practice to expect of Rev users; if that were the 
criterion for legitimate voting for bugs, it would never be legitimate 
for most of us to vote on anything (folks like Richard aside).  What 
*is* a reasonable practice to expect, when one finds a bug, is for one 
to do a quick search of the list archive to look for potentially 
useful/relevant information, and failing on that score, mentioning it 
the list.

Perhaps I'll be in the minority on this issue too, like I was on Dan 
reporting on "third party" products and plugins (Dan, you never 
addressed the "looking over D Shafer's shoulder" mindset that I would 
think you'd welcome on the part of potential readers; omitting 
third-party products that you use all the time would at best weaken 
this possibility and at worst mislead ... end parenthetical).  But I 
thought I'd try nonetheless, both on this specific bug#2138 and on the 
general "get out the vote" aesthetic.

Not despairing yet,
Jerry
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: BZ 2138 (was Re: ANN: BreakpointNavigator Plugin release)

2005-04-13 Thread Jerry Balzano
On Apr 13, 2005, at 6:48 AM, Alex Tweedly wrote:
btw - BZ 2138 (can't run apps by double-click) is an Enhancement 
request - since the docs don't claim it should be possible, I couldn't 
find any excuse to make it a "bug" rather than an enhancement request; 
that may be another reason it hasn't been fixed yet.

Given the universality of the double-click-document-lauch-application 
paradigm, I'd say that the reason it's not in the docs is that **it is 
generally assumed to hold true**.  Surely we can think of many 
"obvious" characteristics that wouldn't be "in the docs" but would be 
taken as a bug if they didn't hold true.  So I don't accept the "in the 
docs" as a criterion for bughood.  (This is all the more true given the 
admittedly sketchy nature of the docs; why would there be any need e.g. 
for Dan Shafer to write an eBook on the IDE if the docs were in any 
sense comprehensive?)

While I'm at it, I also object to the "counsel-of-despair" attitude of 
not voting for bugs just because one hasn't reviewed all of bugzilla.  
The idea that there may be "more important bugs" that you haven't run 
across in your day-to-day transactions with Rev doesn't make sense to 
me.  I think as users we need to trust -- if nothing else -- the idea 
of our interactions with Rev as a reasonable sample of possible 
interactions.  So bugs that persistently get in our way are worth 
noting for that reason alone.  Bugs that never darken our doors are by 
definition not critical to the (or at least our) day-to-day experience 
using Rev.  When someone encounters what looks like a bug, they mention 
it to this list.  If it's already been bugzilla-ed (and therefore 
already encountered as a problem by at least one other user), someone 
generally responds to inform the original mentioner of that fact.  If 
it's been a very recent topic of conversation, the mentioner might even 
get (gently) chided for not paying close enough attention to the list.

Clearly, reading all of (or even a sizeable fraction of) bugzilla is 
not a reasonable practice to expect of Rev users; if that were the 
criterion for legitimate voting for bugs, it would never be legitimate 
for most of us to vote on anything (folks like Richard aside).  What 
*is* a reasonable practice to expect, when one finds a bug, is for one 
to do a quick search of the list archive to look for potentially 
useful/relevant information, and failing on that score, mentioning it 
the list.

Perhaps I'll be in the minority on this issue too, like I was on Dan 
reporting on "third party" products and plugins (Dan, you never 
addressed the "looking over D Shafer's shoulder" mindset that I would 
think you'd welcome on the part of potential readers; omitting 
third-party products that you use all the time would at best weaken 
this possibility and at worst mislead ... end parenthetical).  But I 
thought I'd try nonetheless, both on this specific bug#2138 and on the 
general "get out the vote" aesthetic.

Not despairing yet,
Jerry
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: user-movable fields

2005-04-13 Thread Bob Hartley
At 05:40 06/04/2005, you wrote:
Thank you all!
I just put a demo of the user-movable fields, and an example of how it 
might be useful, in the user spaces of revonline--  "User movable fields", 
under programming.

This is so cool-- when I first thought of it this morning, I figured it 
would take arduous programming. Amazing.  Smart Rev--very RAD.

OK this has been done in one of my unfinished apps... see my user space 
NIJINSKY and the stack
move and resize via drag and drop.

make a text field and put this into its script
on mouseDown
if the controlKey is down then
  grab me
  end if
end mouseDown
on mouseStillDown
  if the altKey is down then
put the rect of me into tRect
put the mouseH into item 3 of tRect
put the mouseV into item 4 of tRect
set the rect of me to tRect
  end if
end mouseStillDown
on mouseWithin
   if the optionKey is down then
 if the lockText of me is false then
   set the lockText of me to true
 end if
   else
 if the lockText of me is true then
   set the lockText of me to false
 end if
   end if
end mouseWithin
Then use control and alt to move and resize it. :-)
Neat e :-)
Cheers
Bob

Sandy (aka Troutfoot)
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.3 - Release Date: 05/04/2005

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.8 - Release Date: 13/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: custom prop by 1's?

2005-04-13 Thread Howard Bornstein
On 4/13/05, Richard Gaskin <[EMAIL PROTECTED]> wrote:


> I had submitted an enhancement request to BZ some months ago for that,
> but for some odd reason I can't find it in there now
> 

Maybe we need to add a BugzillaRequestNotHandled token. ;-)

Thanks for the info.

--
Regards,

Howard Bornstein
---
www.designeq.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: ANN Getting Nine digit zip codes

2005-04-13 Thread Howard Bornstein
On 4/13/05, Dave Cragg <[EMAIL PROTECTED]> wrote:

> >
> > Jim (or Dave),
> >
> > I put this in a card script and tried it and got nothing. Both "the
> > result" and "it" came back empty. Any ideas?
> >
> 
> Not really.
> 
> Have you tried post with other urls?
> 
> All I can suggest is to log the transaction (libUrlSetLogField the long
> id of field "myLog"), and see if that reveals anything.
> 
> Cheers
> Dave

Sorry. My stupid mistake. For some reason I was expecting the result
to be just a simple text string. So, as Jim suggested to me in another
email, I had the text field way too small, so it appeared like nothing
was in it. It did show the whole page when I made the field bigger.

--
Regards,

Howard Bornstein
---
www.designeq.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: RegEx Replace Text -- strip leading and trailing spaces

2005-04-13 Thread J. Landman Gay
On 4/13/05 5:14 AM, Matt Denton wrote:
I want a single RegEx expression using ReplaceText to strip out leading 
and tailing spaces, leaving any spaces in the middle untouched.
For this particular case where you don't want to remove internal 
spacing, I like to use regular transcript:

 get word 1 to -1 of tSomeText
Easy, and no regex.
--
Jacqueline Landman Gay | [EMAIL PROTECTED]
HyperActive Software   | http://www.hyperactivesw.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: New Guide to the IDE in Process

2005-04-13 Thread Jan Schenkel
Thanks for spreading the word, Dan : Quartam Reports
is not dead at all -- it is moving forward, but at a
slower pace than I had hoped.
It is becoming increasingly difficult to juggle time
between a demanding full-time job, evening classes, my
own projects and a relationship. Quartam Reports is a
project that I do 'on top of' everything else.

In the next few days I will finalise and make
available  the Public Beta for your testing pleasures.
However, I am not going to do so before I've ironed
out just a few more quirks and feel happy with what I
deliver.

Best regards,

Jan Schenkel.

Quartam - Tools for Revolution


--- Dan Shafer <[EMAIL PROTECTED]> wrote:
> I talked tonight with Jan Schenkel, the developer of
> Quartam Reports. 
> He tells me development is definitely proceeding
> apace. Look for him to 
> have something to say on this subject in the next
> couple of days.
> 
> On Apr 12, 2005, at 11:02 AM, Bill wrote:
> 
> > Quartam reports may never be released
> >
> ~~
> Dan Shafer, Co-Chair
> RevConWest '05
> June 17-18, 2005, Monterey, California
> http://www.altuit.com/webs/altuit/RevConWest
> 
> ___
> use-revolution mailing list
> use-revolution@lists.runrev.com
>
http://lists.runrev.com/mailman/listinfo/use-revolution
> 

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread Mark Schonewille
Hi,
While we were talking this over on ChatRev, I came up with this 
one-line solution:

function f2 x
  return trunc(x)+(itemoffset((x is an integer),"true,false")-1)
end f2
(mind line-wraps).
If you want to join the discussion, download a client at

Don't forget to enter the correct port number 8008.
Best,
Mark

Frank D. Engel, Jr. wrote:
Ack!  Mine is wrong too!
Mine is a round function for a language with no round function!
--
eHUG coordinator
mailto:[EMAIL PROTECTED]
fax: +1 501 633 94 04
http://home.wanadoo.nl/mark.sch
http://www.ehug.info
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: Weird number behavior

2005-04-13 Thread MisterX
let's go wild in humor!

> Subtracting 0 from a number makes it bigger? I guess so in Revolution.

There's more than one problem with zeros... It's a special hyperprogramming
dimention that Rev opens for it's users! ;)

Between any two points a curve can hide a monster... said a famous
mathematician whose name escapes me...

Random of 0 = 1 -- random(0) should be used actually...

put 0 ^ 0 = 1 ;)

Superstack symmetry can be solved this way actually. Funny or weird starks
and buttons are not as reactive in the present field > 1 dimentional reality
which is a good thing! if a button reached zero height or width
dimentionally it would anilate itself in a a burst of errors and disappear!
This happens in our world when you divide by 0... 

Hey!, who slipped some beer in my jupiler?

For the technical limits see the rev limits. In brief

The "integer" operations precision is up to 2^(52)+k < 2^53 in rev. Quite
limiting in most financial, statistical, astronomical, mathematical fields I
can think of! I had hoped 2^64th or infinitesimmaly better ;). Most
languages have a limit but I think Hypercard could do 2^48 only...

A good thing that statistics are an impresice science as its inventor said
(you know me and names! I forgot that one too ;) 

Mathematica is great here... But after 6 months crunching it crashed before
telling me if my prime was a possible prime and disk space wasn't the
problem - i have my own prime theory which I thank this list in motivating
the inspiration though! That prime number is more than a CD full in ASCII!
;)

If anyone is interested in working on a distributed super-large integer
library in Rev, im game for it!

Hyper-threads!
Xav


> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of 
> Ben Fisher
> Sent: Wednesday, April 13, 2005 20:55
> To: use-revolution@lists.runrev.com
> Subject: Weird number behavior
> 
> Subtracting 0 from a number makes it bigger? I guess so in Revolution.
> 
> set the numberformat to "0.###"
> answer 0.91
> answer 0.91 - 0
> 
> This is documented in the docs under numberFormat, but is 
> causing me problems with some sensitive calculations. I guess 
> you'd run against the same thing with doubles in C++, but at 
> least there are alternatives with better precision (I.e. long 
> double). I wish you could declare a variable so that it would 
> have better precision.
> 
> -Ben
> 
> ___
> use-revolution mailing list
> use-revolution@lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
> 

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: RegEx Replace Text -- strip leading and trailing spaces

2005-04-13 Thread Wouter
On 13 Apr 2005, at 21:47, Trevor DeVore wrote:
snip

Is there a way to do ltrim (trim whitespace on left of string) in 
plain transcript?  Right now I just use:

function str_lTrim pString
get replaceText(pString, "^[ \t\r\n]+", "")
return it
end str_lTrim
--
Trevor DeVore
Blue Mango Multimedia
[EMAIL PROTECTED]
In plain transcript one could do:
function str_lTrim pString
return char 1 to -2 of word 1 to -1 of (it & "x")
end str_lTrim
But  it is about 2 times slower than the regex solution in this case.
So the choice is obvious :-)
Wouter
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: ANN Getting Nine digit zip codes

2005-04-13 Thread Roger . E . Eller
27 seconds on DSL.

> Please, somebody, let me know how long this
> takes you with broadband. Thanks.
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: A Cool Freebie for RevCon West Attendees

2005-04-13 Thread Dan Shafer
Wouldn't you know it? One minute after I resend my note, it shows up on 
the list.

Sigh.
dan
On Apr 13, 2005, at 11:01 AM, Dan Shafer wrote:
I am really excited today to announce that Chipp Walters -- who is not 
only the co-chair of RevCon West in Monterey June 17-18, but is also 
one of the best software designer/developers in our community -- has 
put together an amazing product that will be available FREE to all 
attendees of the conference. Just in time to nudge you over the line 
of deciding whether to take advantage of our generous $70 savings on a 
conference admission (which expires Friday, April 15), he comes up 
with a must-have tool and tosses it into the mix of what you get for 
joining us in Monterey.

He calls it Interface Designer, but I'd call it Interface Magician. 
It's a palette with which you can turn your plain-old, 
ordinary-looking stacks with standard colors and control schemes into 
the kinds of user experiences for which Chipp and his company, Altuit, 
have become justifiably famous. It is so easy to use that anyone -- 
even someone like me whose artistic skills stop just short of being 
able to draw straight lines with a ruler -- can turn out 
professionally styled stacks and applications in minutes. LIterally.

Chipp will put this product on sale some time after the conference. He 
hasn't yet set a price but if he listens to me (which he does on 
occasion), it'll cost more than 1/3 of the Early Bird price of $125 
for the conference.

Get it on this one now, folks. It's going to change fundamentally the 
way customers and users respond to your applications. Go to the Web 
site (http://www.altuit.com/webs/altuit/RevConWest) and sign up before 
the deadline for Early Bird expires on FRIDAY, APRIL 15.

~~
Dan Shafer, Co-Chair
RevConWest '05
June 17-18, 2005, Monterey, California
http://www.altuit.com/webs/altuit/RevConWest
EARLY BIRD REGISTRATION SAVES $70 AND ENDS APRIL 15!
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


A Cool Freebie for RevCon West Attendees (Resend)

2005-04-13 Thread Dan Shafer
(List...Apologies if this shows up twice. I sent it two hours ago and 
it hasn't shown up yet so I'm guessing the Big Bit Bucket in the Sky is 
smacking its lips after devouring it.)

I am really excited today to announce that Chipp Walters -- who is not 
only the co-chair of RevCon West in Monterey June 17-18, but is also 
one of the best software designer/developers in our community -- has 
put together an amazing product that will be available FREE to all 
attendees of the conference. Just in time to nudge you over the line of 
deciding whether to take advantage of our generous $70 savings on a 
conference admission (which expires Friday, April 15), he comes up with 
a must-have tool and tosses it into the mix of what you get for joining 
us in Monterey.

He calls it Interface Designer, but I'd call it Interface Magician. 
It's a palette with which you can turn your plain-old, ordinary-looking 
stacks with standard colors and control schemes into the kinds of user 
experiences for which Chipp and his company, Altuit, have become 
justifiably famous. It is so easy to use that anyone -- even someone 
like me whose artistic skills stop just short of being able to draw 
straight lines with a ruler -- can turn out professionally styled 
stacks and applications in minutes. LIterally.

Chipp will put this product on sale some time after the conference. He 
hasn't yet set a price but if he listens to me (which he does on 
occasion), it'll cost more than 1/3 of the Early Bird price of $125 for 
the conference.

Get it on this one now, folks. It's going to change fundamentally the 
way customers and users respond to your applications. Go to the Web 
site (http://www.altuit.com/webs/altuit/RevConWest) and sign up before 
the deadline for Early Bird expires on FRIDAY, APRIL 15.

~~
Dan Shafer, Co-Chair
RevConWest '05
June 17-18, 2005, Monterey, California
http://www.altuit.com/webs/altuit/RevConWest
EARLY BIRD REGISTRATION SAVES $70 AND ENDS APRIL 15!
~~
Dan Shafer, Co-Chair
RevConWest '05
June 17-18, 2005, Monterey, California
http://www.altuit.com/webs/altuit/RevConWest
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: New Guide to the IDE in Process

2005-04-13 Thread Dan Shafer
I didn't know the RunRev Marketing guy's name was Prosser.
:-D
~~
Dan Shafer, Co-Chair
RevConWest '05
June 17-18, 2005, Monterey, California
http://www.altuit.com/webs/altuit/RevConWest
On Apr 13, 2005, at 8:04 AM, Geoff Canyon wrote:
On Apr 12, 2005, at 1:15 PM, Dan Shafer wrote:
Sigh.
On Apr 12, 2005, at 12:41 PM, Bill wrote:
This is the link to the last page of the runrev store:
http://secure.runrev.com/Merchant2/merchant.mvc?
Where your ebooks are (fairly well hidden).
 PROSSER
 But Mr. Dent, the plans have been available in the local planning 
office for the last nine months.

 ARTHUR
 Oh, yes, soon as I heard of this plan, I went straight around to see 
them yesterday afternoon. You hadn’t exactly gone out of your way to 
call much attention to them, had you? Such as maybe telling someone 
about them?

 PROSSER looks more uncomfortable.
 PROSSER
 Well, the plans were on display –
 ARTHUR
 On display? I had to go down to the cellar to find them!
 PROSSER
 That’s the display department.
 ARTHUR
 With a flashlight.
 PROSSER
 Well, the lights had probably gone.
 ARTHUR
 So had the stairs.
 PROSSER
 Er – well – you did find them, didn’t you?
 ARTHUR
 Oh, yes. Yes, I did. The plans were on display, in the bottom of a 
locked filing cabinet, stuck in a disused lavatory, with a sign on the 
door reading “Beware of the Leopard.”

regards,
Geoff Canyon
[EMAIL PROTECTED]
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


A Cool Freebie for RevCon West Attendees

2005-04-13 Thread Dan Shafer
I am really excited today to announce that Chipp Walters -- who is not 
only the co-chair of RevCon West in Monterey June 17-18, but is also 
one of the best software designer/developers in our community -- has 
put together an amazing product that will be available FREE to all 
attendees of the conference. Just in time to nudge you over the line of 
deciding whether to take advantage of our generous $70 savings on a 
conference admission (which expires Friday, April 15), he comes up with 
a must-have tool and tosses it into the mix of what you get for joining 
us in Monterey.

He calls it Interface Designer, but I'd call it Interface Magician. 
It's a palette with which you can turn your plain-old, ordinary-looking 
stacks with standard colors and control schemes into the kinds of user 
experiences for which Chipp and his company, Altuit, have become 
justifiably famous. It is so easy to use that anyone -- even someone 
like me whose artistic skills stop just short of being able to draw 
straight lines with a ruler -- can turn out professionally styled 
stacks and applications in minutes. LIterally.

Chipp will put this product on sale some time after the conference. He 
hasn't yet set a price but if he listens to me (which he does on 
occasion), it'll cost more than 1/3 of the Early Bird price of $125 for 
the conference.

Get it on this one now, folks. It's going to change fundamentally the 
way customers and users respond to your applications. Go to the Web 
site (http://www.altuit.com/webs/altuit/RevConWest) and sign up before 
the deadline for Early Bird expires on FRIDAY, APRIL 15.

~~
Dan Shafer, Co-Chair
RevConWest '05
June 17-18, 2005, Monterey, California
http://www.altuit.com/webs/altuit/RevConWest
EARLY BIRD REGISTRATION SAVES $70 AND ENDS APRIL 15!
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: RegEx Replace Text -- strip leading and trailing spaces

2005-04-13 Thread Trevor DeVore
On Apr 13, 2005, at 12:25 PM, Wouter wrote:
On 13 Apr 2005, at 18:09, Trevor DeVore wrote:

I use this regex to strip whitespace:
get replaceText(pString, "^[ \t\r\n]+|[ \t\r\n]+$", "")
No offence, but this won't strip whitespaces at both ends of a string 
in one pass.
And it is about ten times slower for one pass than: get word 1 to -1 
of pString
(which does strip leading and ending whitespaces in one pass, but true 
it is no regex).
None taken.  Your're right.  I put that together using my ltrim and 
rtrim functions and didn't test it.  I think the correct regex syntax 
should be something like this:

get matchText(pString, "(?s)^[ \t\r\n]+(.*?)[ \t\r\n]+$", tReturnVal)
This will strip leading and trailing whitespace from a multiline 
string.  But given that you say that word 1 to -1 is that much faster I 
am going to switch to that.  Those of us still trying to break away 
from our previous languages like to complicate things on occasion ;)

Is there a way to do ltrim (trim whitespace on left of string) in plain 
transcript?  Right now I just use:

function str_lTrim pString
get replaceText(pString, "^[ \t\r\n]+", "")
return it
end str_lTrim
--
Trevor DeVore
Blue Mango Multimedia
[EMAIL PROTECTED]
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread David Burgun
yeah, I solved it with:
if  Value is not an integer then
put truc(Value + 1) into value
end if
Cheers
Dave
What about?
put ceil(25.0) = 26, not the indended result.
Try:
function ceil pVal
  if pVal mod trunc(pVal) = 0 then return pVal
  return trunc(pVal)+1
end function
-Chipp
Alex Tweedly wrote:
Alex Tweedly wrote:
Don't think there's one built-in.
function ceil pVal
 return ceil(pVal)+1
end ceil
Sorry - I meant
   return trunc(pVal)+1
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread Björnke von Gierke
On Apr 13 2005, at 21:40, Chipp Walters wrote:
What about?
put ceil(25.0) = 26, not the indended result.
Try:
function ceil pVal
  if pVal mod trunc(pVal) = 0 then return pVal
  return trunc(pVal)+1
end function
-Chipp
Alex Tweedly wrote:
Alex Tweedly wrote:
Don't think there's one built-in.
function ceil pVal
 return ceil(pVal)+1
end ceil
Sorry - I meant
   return trunc(pVal)+1
I can't believe we needed 10 mails to get that function right :D
--
official ChatRev page:
http://chatrev.cjb.net
Chat with other RunRev developers:
go stack URL "http://homepage.mac.com/bvg/chatrev1.3.rev";
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread Chipp Walters
What about?
put ceil(25.0) = 26, not the indended result.
Try:
function ceil pVal
  if pVal mod trunc(pVal) = 0 then return pVal
  return trunc(pVal)+1
end function
-Chipp
Alex Tweedly wrote:
Alex Tweedly wrote:
Don't think there's one built-in.
function ceil pVal
 return ceil(pVal)+1
end ceil
Sorry - I meant
   return trunc(pVal)+1
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread Dennis Brown
sorry, that should be trunc(pVal+1)
On Apr 13, 2005, at 3:36 PM, Dennis Brown wrote:
How does this work with even values 1,2,3
you would need to add just less than 1 or test that the number and the 
trunc are not the same

function ceil pVal
 if trunc(pVal) = pVal then return pVal
  else return trunc(pVal+1) --fixed
 end if
end ceil
Dennis
On Apr 13, 2005, at 3:24 PM, Alex Tweedly wrote:
Alex Tweedly wrote:
Don't think there's one built-in.
function ceil pVal
 return ceil(pVal)+1
end ceil
Sorry - I meant
   return trunc(pVal)+1
--
Alex Tweedly   http://www.tweedly.net

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread Frank D. Engel, Jr.
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Ack!  Mine is wrong too!
Mine is a round function for a language with no round function!
On Apr 13, 2005, at 3:37 PM, Frank D. Engel, Jr. wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hmm... rounding 2 up with that formula will yield 3 instead of 2; is 
this what you want?

Consider:
function ceil x
  return trunc(x + 0.5)
end ceil
On Apr 13, 2005, at 3:28 PM, David Burgun wrote:
no, use:
trunc(1.5)+1
Thanks! There should be a mention of this on the round and statRound 
documentation pages!

Cheers
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

- ---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFCXXTh7aqtWrR9cZoRAug5AKCLFEoknl8im6wcRq6iZHeIJTejDgCfYHAO
1YcsCaME3TllFCOSp7KhXAw=
=fBN+
-END PGP SIGNATURE-

___
$0 Web Hosting with up to 200MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

- ---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFCXXWT7aqtWrR9cZoRApz/AJ9Q1Qht+7VPJnLi4mnQIhpfeo6ZQwCcDWN+
4kUqB4SGDocQJk5NvAW7VOo=
=hXpo
-END PGP SIGNATURE-

___
$0 Web Hosting with up to 200MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread Frank D. Engel, Jr.
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hmm... rounding 2 up with that formula will yield 3 instead of 2; is 
this what you want?

Consider:
function ceil x
  return trunc(x + 0.5)
end ceil
On Apr 13, 2005, at 3:28 PM, David Burgun wrote:
no, use:
trunc(1.5)+1
Thanks! There should be a mention of this on the round and statRound 
documentation pages!

Cheers
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

- ---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFCXXTh7aqtWrR9cZoRAug5AKCLFEoknl8im6wcRq6iZHeIJTejDgCfYHAO
1YcsCaME3TllFCOSp7KhXAw=
=fBN+
-END PGP SIGNATURE-

___
$0 Web Hosting with up to 200MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread Dennis Brown
How does this work with even values 1,2,3
you would need to add just less than 1 or test that the number and the 
trunc are not the same

function ceil pVal
 if trunc(pVal) = pVal then return pVal
  else return trunc(pVal)+1
 end if
end ceil
Dennis
On Apr 13, 2005, at 3:24 PM, Alex Tweedly wrote:
Alex Tweedly wrote:
Don't think there's one built-in.
function ceil pVal
 return ceil(pVal)+1
end ceil
Sorry - I meant
   return trunc(pVal)+1
--
Alex Tweedly   http://www.tweedly.net

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread David Burgun
no, use:
trunc(1.5)+1
Thanks! There should be a mention of this on the round and statRound 
documentation pages!

Cheers
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread Alex Tweedly
Alex Tweedly wrote:
Don't think there's one built-in.
function ceil pVal
 return ceil(pVal)+1
end ceil
Sorry - I meant
   return trunc(pVal)+1
--
Alex Tweedly   http://www.tweedly.net

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: RegEx Replace Text -- strip leading and trailing spaces

2005-04-13 Thread Wouter
On 13 Apr 2005, at 18:09, Trevor DeVore wrote:
On Apr 13, 2005, at 3:14 AM, Matt Denton wrote:
G'day all
Regular Expression syntax in ReplaceText is driving me a bit loopy 
right now, I was hoping someone out there could work out what I'm 
doing wrong...

I want a single RegEx expression using ReplaceText to strip out 
leading and tailing spaces, leaving any spaces in the middle 
untouched.
Matt,
I use this regex to strip whitespace:
get replaceText(pString, "^[ \t\r\n]+|[ \t\r\n]+$", "")
--
Trevor DeVore
Blue Mango Multimedia
[EMAIL PROTECTED]
No offence, but this won't strip whitespaces at both ends of a string 
in one pass.
And it is about ten times slower for one pass than: get word 1 to -1 of 
pString
(which does strip leading and ending whitespaces in one pass, but true 
it is no regex).

Gr W.
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread Björnke von Gierke
no, use:
trunc(1.5)+1
On Apr 13 2005, at 21:10, David Burgun wrote:
Hi,
I just want to always round a number up, for instance 25.1 25.001 
25.3 25.5 25.9 should all be rounded up to 26.

The round and statFunctions don't seem to do this, is there a function 
that does?

Thanks
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: round and statRound

2005-04-13 Thread Alex Tweedly
David Burgun wrote:
Hi,
I just want to always round a number up, for instance 25.1 25.001 
25.3 25.5 25.9 should all be rounded up to 26.

The round and statFunctions don't seem to do this, is there a function 
that does?

Don't think there's one built-in.
function ceil pVal
 return ceil(pVal)+1
end ceil
--
Alex Tweedly   http://www.tweedly.net

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


round and statRound

2005-04-13 Thread David Burgun
Hi,
I just want to always round a number up, for instance 25.1 25.001 
25.3 25.5 25.9 should all be rounded up to 26.

The round and statFunctions don't seem to do this, is there a 
function that does?

Thanks
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Flesxible looping [Was: Making Revolution faster with really big arrays]

2005-04-13 Thread Alex Tweedly
Frank D. Engel, Jr. wrote:
People working on computer languages generally avoid (and with good 
reason) adding new keywords.
True in general, but this is Transcript, which already has over 250 
keywords (a fair number of which have changed in or since 2.0), so I 
didn't feel the same need to restrain myself :-)  

But you're right - if it can be done by reusing existing keywords (or 
operators) that would be better.

Have you considered "and for" rather than "also"?
Yes, I did, but was worried that there would be ambiguities with 
existing usages of 'and' as an operator.
(e.g. repeat while x and y   is valid today)

It's hard to tell when there's no published BNF or formal language 
description; if 'and for' can be parsed unambiguously, it would be better.

--
Alex Tweedly   http://www.tweedly.net

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Weird number behavior

2005-04-13 Thread Ben Fisher
Subtracting 0 from a number makes it bigger? I guess so in Revolution.

set the numberformat to "0.###"
answer 0.91
answer 0.91 - 0

This is documented in the docs under numberFormat, but is causing me problems 
with some sensitive calculations. I guess you'd run against the same thing with 
doubles in C++, but at least there are alternatives with better precision (I.e. 
long double). I wish you could declare a variable so that it would have better 
precision.

-Ben

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: There's got to be a better way

2005-04-13 Thread ron barber
Thanks Richard,
as always, very helpful.
Distinguishing 'open' as read into memory and as receiving the openxxx 
messages was where I was fuzzy.

Ron
ps - sorry for the personal post, I'll be more patient next time...
On Apr 13, 2005, at 12:59 PM, Richard Gaskin wrote:
ron barber wrote:
On Apr 12, 2005, at 7:38 PM, Richard Gaskin wrote:
Here's a tip to get even better performance (sometimes as much as 
two or three times more): use a field in an unopened window for the 
translation.

When a field is on the current card, even if hidden, it's 
initialized with additional things that don't come into play when 
accessing a field on an unopened card.
I'm a little confused about the unopened part.
Is the unopened card on the stack that you are working on but on  "cd 
2" or is the unopened cd on a separate stack altogether (a substack 
for example)? I thought that refering to a fld in an unopened stack 
would open that stack?
The field can be on any unopened card to get the optimized 
performance, whether in the same stack or a substack or a separate 
stack file.  I tend to use a substack to hold miscellaneous parts, so 
that's why I mentioned a stack, but really any of those will do.

Stack files are not "opened" per se when you merely read or write 
properties or object contents from them, in the sense that they do not 
appear visually and do not recieve the opening messages (preopenstack, 
preOpenCard, openStack, openCard, etc.).

But stack files are read from disk and loaded into memory in order to 
access those properties.

Substacks, on the other hand, are already in memory if the mainstack 
is in memory since the entire stack file is read at once.

So if the choice is a stack file that's not already open, it will 
indeed required it to be read into RAM so a substack or second card 
would be faster.

--
 Richard Gaskin
 Fourth World Media Corporation
 __
 Rev tools and more: http://www.fourthworld.com/rev
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: How to use parameters with sendMesssage

2005-04-13 Thread David Burgun
Hi,
It's working now, I just didn't realize you had to put the parameters 
into the string too!

Thanks a lot
Dave

Recently, David Burgun  wrote:
 I can't get this to send the correct paramater handler
 set myRect to 1,2,3,4
 sendMessage "UpdateData " & myRect to group "Update"
 on UpdateData theRect
 end updateData
 UpdateData gets called ok, but "theRect" is set to "1" - the rest of
 the list have gone.
 How can I send a Rect as a parameter like this?

I'm not really sure how your script works at all.  If myRect is a custom
property, you have to use "the" in front of it, but I don't think that's
what you're after here.
Try 'put' instead of 'set':
 put 1,2,3,4 into myRect
 sendMessage "UpdateData " & myRect to group "Update"
Regards,
Scott Rossi
Creative Director
Tactile Media, Multimedia & Design
-
E: [EMAIL PROTECTED]
W: http://www.tactilemedia.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Making Revolution faster with really big arrays

2005-04-13 Thread Mark Brownell
On Wednesday, April 13, 2005, at 10:37 AM, Mark Brownell wrote:
Dennis,
I once used the split function to create almost instant arrays based 
on 1, 2, 3, etc... as the locations created by the split, ( I call 
them locations because I'm an old Director user.) This process could 
work well when you put "2500 items in an array." The split function 
creates the array without a loop process.

Mark
OOPs!!! You already got that trick. I'm on digest mode and didn't see 
that you have this (split by return) function suggested by Dick Kriesel.

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: There's got to be a better way

2005-04-13 Thread Richard Gaskin
ron barber wrote:
On Apr 12, 2005, at 7:38 PM, Richard Gaskin wrote:
Here's a tip to get even better performance (sometimes as much as two 
or three times more): use a field in an unopened window for the 
translation.

When a field is on the current card, even if hidden, it's initialized 
with additional things that don't come into play when accessing a 
field on an unopened card.
I'm a little confused about the unopened part.
Is the unopened card on the stack that you are working on but on  "cd 2" 
or is the unopened cd on a separate stack altogether (a substack for 
example)? I thought that refering to a fld in an unopened stack would 
open that stack?
The field can be on any unopened card to get the optimized performance, 
whether in the same stack or a substack or a separate stack file.  I 
tend to use a substack to hold miscellaneous parts, so that's why I 
mentioned a stack, but really any of those will do.

Stack files are not "opened" per se when you merely read or write 
properties or object contents from them, in the sense that they do not 
appear visually and do not recieve the opening messages (preopenstack, 
preOpenCard, openStack, openCard, etc.).

But stack files are read from disk and loaded into memory in order to 
access those properties.

Substacks, on the other hand, are already in memory if the mainstack is 
in memory since the entire stack file is read at once.

So if the choice is a stack file that's not already open, it will indeed 
required it to be read into RAM so a substack or second card would be 
faster.

--
 Richard Gaskin
 Fourth World Media Corporation
 __
 Rev tools and more: http://www.fourthworld.com/rev
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Making Revolution faster with really big arrays

2005-04-13 Thread Dennis Brown
Mark,
Yes, this is what I am going to do.
Thanks,
Dennis
On Apr 13, 2005, at 1:37 PM, Mark Brownell wrote:
On Tuesday, April 12, 2005, at 07:25 PM, 
[EMAIL PROTECTED] wrote:

I might be able to suffer with the
chunk specification for the line#, then use a repeat for each item and
put 2500 items in an array.  That way I will only need 2500 array 
items
at any one time instead of 125,000,000 array items per data file.  But
I will still have to put 125,000,000 items into array elements and 
then
read them back out again once per data pass.  Perhaps 10-100 times
slower than an "access" keyword instead of 1000-10,000 times slower.  
I
will do some sample tests and see what I come up with.

Dennis
Dennis,
I once used the split function to create almost instant arrays based 
on 1, 2, 3, etc... as the locations created by the split, ( I call 
them locations because I'm an old Director user.) This process could 
work well when you put "2500 items in an array." The split function 
creates the array without a loop process.

Mark
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Making Revolution faster with really big arrays

2005-04-13 Thread Mark Brownell
On Tuesday, April 12, 2005, at 07:25 PM, 
[EMAIL PROTECTED] wrote:

I might be able to suffer with the
chunk specification for the line#, then use a repeat for each item and
put 2500 items in an array.  That way I will only need 2500 array items
at any one time instead of 125,000,000 array items per data file.  But
I will still have to put 125,000,000 items into array elements and then
read them back out again once per data pass.  Perhaps 10-100 times
slower than an "access" keyword instead of 1000-10,000 times slower.  I
will do some sample tests and see what I come up with.
Dennis
Dennis,
I once used the split function to create almost instant arrays based on 
1, 2, 3, etc... as the locations created by the split, ( I call them 
locations because I'm an old Director user.) This process could work 
well when you put "2500 items in an array." The split function creates 
the array without a loop process.

Mark
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: How to use parameters with sendMesssage

2005-04-13 Thread Scott Rossi
Recently, David Burgun  wrote:

> I can't get this to send the correct paramater handler
> 
> set myRect to 1,2,3,4
> 
> sendMessage "UpdateData " & myRect to group "Update"
> 
> on UpdateData theRect
> end updateData
> 
> UpdateData gets called ok, but "theRect" is set to "1" - the rest of
> the list have gone.
> 
> How can I send a Rect as a parameter like this?


I'm not really sure how your script works at all.  If myRect is a custom
property, you have to use "the" in front of it, but I don't think that's
what you're after here.

Try 'put' instead of 'set':

 put 1,2,3,4 into myRect
 sendMessage "UpdateData " & myRect to group "Update"


Regards,

Scott Rossi
Creative Director
Tactile Media, Multimedia & Design
-
E: [EMAIL PROTECTED]
W: http://www.tactilemedia.com

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: ANN Getting Nine digit zip codes

2005-04-13 Thread Dave Cragg
On 13 Apr 2005, at 17:00, Howard Bornstein wrote:
On 4/13/05, Jim Hurley <[EMAIL PROTECTED]> wrote:
on mouseUp
put empty into field 1
put "Selection=" & 1 after tQuery
put "&" after tQuery
put "address1=" & urlEncode("123 BROAD ST") after tQuery
put "&" after tQuery
put "zipcode=" & 95959 after tQuery
put  "http://zip4.usps.com/zip4/zip4_responseA.jsp"; into tUrl
post tQuery to url tUrl
if the result <> empty then
  answer the result
else
  set the htmltext of field 1 to  it
end if
end mouseUp

Jim (or Dave),
I put this in a card script and tried it and got nothing. Both "the
result" and "it" came back empty. Any ideas?
Not really.
Have you tried post with other urls?
All I can suggest is to log the transaction (libUrlSetLogField the long 
id of field "myLog"), and see if that reveals anything.

Cheers
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: ANN Getting Nine digit zip codes

2005-04-13 Thread Roger . E . Eller
Jim,

48 seconds on our super-slow-controlled-bandwidth corporate LAN. I will 
try it later from home on DSL for better results.

Roger Eller <[EMAIL PROTECTED]>

On 04/13/2005 at 08:55 AM, Jim Hurley <[EMAIL PROTECTED]> wrote:
> Please, somebody, let me know how long this
> takes you with broadband. Thanks.

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Making Revolution faster with really big arrays

2005-04-13 Thread Dennis Brown
Brian,
Can you create a 1 by 2500 by 100 array of random numbers (sparsely 
populated i.e. some values are null) in SQL?

Can you put the sum of two random accessed numbers (except if one is 
null then the sum is null) into a third random location?

How fast can you do this last thing 2500 times in SQL.
This is the simplest of the things I am doing.
If you can do that in SQL in less than a minute, you've got my 
attention :-)

Dennis
On Apr 13, 2005, at 12:36 PM, Brian Yennie wrote:
Dennis,
I guess it's half of each, as I see it (and I misread some of this I 
think).
You only need sequential access to the lines and items, but random 
access would solve your problems. Random access is even faster than 
sequential, and can do everything sequential can.

From your syntax example:
access each line X in arrayX--initial setup of pointers and X value
access each item Y in arrayY --initial setup of pointers and Y value
repeat for number of lines of arrayX times --same as a repeat for each
   put X & comma & Y & return after ArrayXY --merged array
   next line X --puts the next line value in X
   next item Y --if arrayY has fewer elements than arrayX, then empty 
is supplied, could also put "End of String" in the result
end repeat
In SQL:
SELECT CONCAT(lineValue, ',' , itemValue) FROM lines, items ORDER BY 
lineNumber, itemNumber;

Give your DB enough RAM to work with and this will fly. The fields 
will be indexed once- that's what you are basically saying by "access" 
... "index". Then they'll be retrieved super fast and the sort should 
be trivial if the records are already in order in your database. You 
could work with a dozen tables at once if you wanted.

If your still committed to a scripted solution, could you post some of 
your actual code- even if the calculations are hidden? Are you using 
nested repeat for each? This group (myself included) has been known to 
tweak these sorts of things pretty well in the past when there is real 
code to work with...

- Brian

Thanks Brian,
I don't require random access to the data.  I only need sequential 
access.  That is why the repeat for each operator works so fast 
--less than a microsecond per data item.  I'm not going to match that 
with anything other than RAM.

Dennis
On Apr 12, 2005, at 10:06 PM, Brian Yennie wrote:
Dennis,
I have to agree with Pierre here. If you are looking for random 
access to many thousands of records taking up gigabytes of memory, a 
database engine is, IMO, the only logical choice.

A simple MySQL/PostgreSQL/Valentina/etc database indexed by line 
number (or stock symbol) would be very fast.

Without indexing your data or fitting all of it into random-access 
in-memory data structures, you're fighting a painful battle. If you 
algorithm is scaling out linearly, you'll just run too slow, and if 
your data size is doing the same you'll run out of memory. On the 
other hand, database engines can potentially handle _terabytes_ of 
data and give you random access in milliseconds. You simply won't 
beat that in Transcript.

One thing you could consider if you don't want a whole database 
engine to deal with, is the feasibility of indexing the data 
yourself - which will give you some of the algorithmic benefits of a 
database engine. That is, make one pass where you store the offsets 
of each line in an index, and then use that to grab lines. Something 
like (untested):

## index the line starts and ends
put 1 into lineNumber
put 1 into charNum
put 1 into lineStarts[1]
repeat for each char c in tData
if (c = return) then
   put (charNum - 1) into lineEnds[lineNumber]
   put (charNum + 1) into lineStarts[lineNumber + 1]
   add 1 to lineNumber
end if
add 1 to charNum
end repeat
if (c <> return) then put charNum into lineEnds[lineNumber]
## get line x via random char access
put char lineStarts[x] to lineEnds[x] of tData into lineX
- Brian
Thanks Pierre,
I considered that also.  A Database application would certainly 
handle the amount of data, but they are really meant for finding 
and sorting various fields, not for doing the kind of processing I 
am doing.  The disk accessing would slow down the process.

Dennis
On Apr 12, 2005, at 5:27 PM, Pierre Sahores wrote:
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Flexible looping [Was: Making Revolution faster with really big arrays]

2005-04-13 Thread Dennis Brown
Alex,
I see your point and that was my first thought also.  After sleeping on 
it, what I am really suggesting now is not "breaking apart" the repeat 
structure as much creating an new sequential access method operator(s). 
 This is more flexible than tying it to the loop operator.  It means 
that you have complete control over the separate items and can make 
them out of sync on purpose (it might even be nice to be able to 
specify a starting point instead of creating a new chunk --kind of like 
the skip n lines in a search.  For instance, you want to match every 
line in A with every other item in B.  It just happens to be a quirk 
that the pointers are currently embedded into the repeat for each 
structure.  This would also significantly simplify the possible syntax 
variations in the repeat structure.

The access each line X and the next access X would be paired.  Help me 
out.  How can this be specified so that it makes sense for the 
language?  It would have interleave the block structure to be useful.

Access each line X in arrayX from line 3 --just creates the pointers 
and access mode structures
  do something
next access X --grabs X and advances the line pointer
end access X --destroys the pointer structure?

I would also like it applied to Arrays if the order they come out is 
deterministic --like the order they were created, or numeric order of a 
numeric key.

And yes, I am all for making the language more readable --self 
documenting.  After all that is one of the points of X-Talk.

Dennis
On Apr 13, 2005, at 11:25 AM, Alex Tweedly wrote:
Dennis Brown wrote:
The Idea is to break apart the essential functional elements of the 
repeat for each control to allow more flexibility.  This sample has a 
bit more refinement than what I posted yesterday in Bugzilla.

The new keyword would be "access" , but could be something else.
An example of the use of the new keywords syntax would be:
access each line X in arrayX--initial setup of pointers and X value
access each item Y in arrayY --initial setup of pointers and Y value
repeat for number of lines of arrayX times --same as a repeat for each
   put X & comma & Y & return after ArrayXY --merged array
   next line X --puts the next line value in X
   next item Y --if arrayY has fewer elements than arrayX, then empty 
is supplied, could also put "End of String" in the result
end repeat

Another advantage of this syntax is that it provides for more 
flexibility in structure of loops.  You could repeat forever, then 
exit repeat when you run out of values (based on getting an empty 
back).  The possibilities for high speed sequential access data 
processing are much expanded which opens up more possibilities for 
Revolution.

Dennis,
I think having more flexible repeat structures to allow parallel 
passes through lists or arrays is a really good idea, but I don't like 
the form you have suggested. It seems wrong to have separate 
statements to setup the loop; as far as I know, the language currently 
keeps the meaning of each statement self-contained, so I think this 
multi-line form would be a hard one to "sell".

I think it would be better to add a new keyword to indicate parallel 
looping; the primary loop determines the repeat-termination test 
criterion, while the others are incremented/advanced in synch. (of 
course, using exit allows you to terminate the loop based on the 
secondary loops if needed).

I'd suggest the word "also" since it's not currently used, or perhaps 
the phrase  "also each".

So the form would be something like
repeat for each line X in xList also item Y in yLine  repeat for each 
line X in xList also each item Y in yLine  repeat for each line X in 
xList and also each item Y in yLine
and of course there could be more than 2 :
repeat for each line Y in ylist also line x in xlist also item z in 
zlist also item name innamelist ...

This would allow the variants
repeat forever also each item Z in theList
repeat for each element E in myArray also each line X in xList
repeat with i = 1 to 100 also each line X in xList
etc.
And for symmetry, it might also be feasible to allow
repeat for each X in Xlist also i = 1 step 1
(since there's not a terminating condition in the secondary, it would 
confusing to have i = 1 to 100, so simply specify initial and step 
values).

Similar to this, I'd love to see a method for accessing arrays which 
gives both the key and the element. Currently, you can say
  repeat for each line K in the keys of myArray
put myArray[k] into V
but most modern languages have something like
  for (k,v in myarray)
which gives both key and value without needing to do another hash 
lookup.

And now that I'm started on this topic, I've always envied the 
readability of Python's tuple-assignment. I find
  x1,y2,x2,y2 = myRectangle
much more obvious than
x1 = myRectangle[0]
y1 = myRectangle[1]
x2 = myRectangle[2]
etc.

In Transcript, I really wish I could say
  put myRectangle as items into x1,y1,x2,y2
or
  put 

Re: mouseEnter/mouseLeave Problem

2005-04-13 Thread Judy Perry
It also looks like you took out the pass mouseWhatever lines.  What
happened if you kept those but uncommented the other stuff?

Judy

On Wed, 13 Apr 2005, David Burgun wrote:

> Yes, the Script of the object is as follows (I have modified it since
> I first posted):
>
> on mouseEnter
> set foregroundColor of me to blue
> end mouseEnter
>
> on mouseLeave
> set foregroundColor of me to black
> end mouseLeave
>
> on mouseDown
> --set the layer of me to top
> end mouseDown
>
> on mouseStillDown
> -- Move the object via the mouse, sets a new rect for the object
> based on mouse movement
> end mouseStillDown
>
> If you look in the mouseDown handler, if I comment out the:
>
> --set the layer of me to top
>
> All the rectangles work as they should, if I uncomment it, I lose the
> mouseLeave message. Any one have any ideas???

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Creating & Using Tabs tutorial

2005-04-13 Thread Judy Perry
I'm kinda lost... what is this comment in respect to?

I think there is/was a "getting started" by *user type*.

I am hazarding a guess that "Chater 1" would be very like Dan's upcoming
review of the IDE? (which , of course, of necessity, will likely be
different than my own little 'getting started' pdf for my class which only
shows how to use the IDE to create a simple shell of a slide-show
multimedia program with a very little bit of user interactivity).

Judy

On Wed, 13 Apr 2005, Mikey wrote:

> I guess what I was hoping for was to see "Chapter 1", or the "Getting
> Started Guide".  The little pieces parts don't seem to do for decent
> anything.
> --
> http://taoof4d.blogspot.com
> http://4dwishlist.blogspot.com
> On the first day, God created the heavens and the Earth
> On the second day, God created the oceans.
> On the third day, God put the animals on hold for a few hours,
>and did a little diving.
> And God said, "This is good."
>

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: How to use parameters with sendMesssage

2005-04-13 Thread Klaus Major
Hi David,
Hi All,
I can't get this to send the correct paramater handler
set myRect to 1,2,3,4
sendMessage "UpdateData " & myRect to group "Update"
on UpdateData theRect
end updateData
UpdateData gets called ok, but "theRect" is set to "1" - the rest of 
the list have gone.

How can I send a Rect as a parameter like this?

I wonder why this does work at all, since there is no "sendmessage" 
command???
You surely mean "send"...

This will work:
...
put "1,2,3,4" into myRect
### ;-)
send "UpdateData myRect" to group "Update"
...
Hope that helps.
Thanks in Advance
Dave
Regards
Klaus Major
[EMAIL PROTECTED]
http://www.major-k.de
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


How to use parameters with sendMesssage

2005-04-13 Thread David Burgun
Hi All,
I can't get this to send the correct paramater handler
set myRect to 1,2,3,4
sendMessage "UpdateData " & myRect to group "Update"
on UpdateData theRect
end updateData
UpdateData gets called ok, but "theRect" is set to "1" - the rest of 
the list have gone.

How can I send a Rect as a parameter like this?
Thanks in Advance
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Making Revolution faster with really big arrays

2005-04-13 Thread Brian Yennie
Dennis,
I guess it's half of each, as I see it (and I misread some of this I 
think).
You only need sequential access to the lines and items, but random 
access would solve your problems. Random access is even faster than 
sequential, and can do everything sequential can.

From your syntax example:
access each line X in arrayX--initial setup of pointers and X value
access each item Y in arrayY --initial setup of pointers and Y value
repeat for number of lines of arrayX times --same as a repeat for each
   put X & comma & Y & return after ArrayXY --merged array
   next line X --puts the next line value in X
   next item Y --if arrayY has fewer elements than arrayX, then empty 
is supplied, could also put "End of String" in the result
end repeat
In SQL:
SELECT CONCAT(lineValue, ',' , itemValue) FROM lines, items ORDER BY 
lineNumber, itemNumber;

Give your DB enough RAM to work with and this will fly. The fields will 
be indexed once- that's what you are basically saying by "access" ... 
"index". Then they'll be retrieved super fast and the sort should be 
trivial if the records are already in order in your database. You could 
work with a dozen tables at once if you wanted.

If your still committed to a scripted solution, could you post some of 
your actual code- even if the calculations are hidden? Are you using 
nested repeat for each? This group (myself included) has been known to 
tweak these sorts of things pretty well in the past when there is real 
code to work with...

- Brian

Thanks Brian,
I don't require random access to the data.  I only need sequential 
access.  That is why the repeat for each operator works so fast --less 
than a microsecond per data item.  I'm not going to match that with 
anything other than RAM.

Dennis
On Apr 12, 2005, at 10:06 PM, Brian Yennie wrote:
Dennis,
I have to agree with Pierre here. If you are looking for random 
access to many thousands of records taking up gigabytes of memory, a 
database engine is, IMO, the only logical choice.

A simple MySQL/PostgreSQL/Valentina/etc database indexed by line 
number (or stock symbol) would be very fast.

Without indexing your data or fitting all of it into random-access 
in-memory data structures, you're fighting a painful battle. If you 
algorithm is scaling out linearly, you'll just run too slow, and if 
your data size is doing the same you'll run out of memory. On the 
other hand, database engines can potentially handle _terabytes_ of 
data and give you random access in milliseconds. You simply won't 
beat that in Transcript.

One thing you could consider if you don't want a whole database 
engine to deal with, is the feasibility of indexing the data yourself 
- which will give you some of the algorithmic benefits of a database 
engine. That is, make one pass where you store the offsets of each 
line in an index, and then use that to grab lines. Something like 
(untested):

## index the line starts and ends
put 1 into lineNumber
put 1 into charNum
put 1 into lineStarts[1]
repeat for each char c in tData
if (c = return) then
   put (charNum - 1) into lineEnds[lineNumber]
   put (charNum + 1) into lineStarts[lineNumber + 1]
   add 1 to lineNumber
end if
add 1 to charNum
end repeat
if (c <> return) then put charNum into lineEnds[lineNumber]
## get line x via random char access
put char lineStarts[x] to lineEnds[x] of tData into lineX
- Brian
Thanks Pierre,
I considered that also.  A Database application would certainly 
handle the amount of data, but they are really meant for finding and 
sorting various fields, not for doing the kind of processing I am 
doing.  The disk accessing would slow down the process.

Dennis
On Apr 12, 2005, at 5:27 PM, Pierre Sahores wrote:
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: RegEx Replace Text -- strip leading and trailing spaces

2005-04-13 Thread Trevor DeVore
On Apr 13, 2005, at 3:14 AM, Matt Denton wrote:
G'day all
Regular Expression syntax in ReplaceText is driving me a bit loopy 
right now, I was hoping someone out there could work out what I'm 
doing wrong...

I want a single RegEx expression using ReplaceText to strip out 
leading and tailing spaces, leaving any spaces in the middle 
untouched.
Matt,
I use this regex to strip whitespace:
get replaceText(pString, "^[ \t\r\n]+|[ \t\r\n]+$", "")
--
Trevor DeVore
Blue Mango Multimedia
[EMAIL PROTECTED]
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: custom prop by 1's?

2005-04-13 Thread Richard Gaskin
Howard Bornstein wrote:
Is "the executionContexts" documented anywhere? I couldn't find a
reference to it in the online documentation.
I don't know.
Not sure where I learned about it, maybe from poking around the Rev 
frontscripts.

To the best of my knowledge, there are only a very few tokens in use 
that aren't documented, mostly relating to debugging stuff -- off the 
top of my head:

 messageMessages
This global property determines whether "messageHandled" and
"messageNotHandled" messages are sent whenever a message is
fired.
 messageHandled
This message is sent when any other message has been sent and
has encountered a handler for it.
 messageNotHandled
This message is sent when any other message has been sent and
has not encountered a handler for it.
 exectutionContexts
Returns a list of handlers called which lead from original
message to the current place where this is called.
These were added for internal use and because these are not documented 
they are highly subject to change.  For example, in its current form the 
executionContexts is not nearly as useful as it could be because it 
doesn't include params sent with the message.

I had submitted an enhancement request to BZ some months ago for that, 
but for some odd reason I can't find it in there now

--
 Richard Gaskin
 Fourth World Media Corporation
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: ANN Getting Nine digit zip codes

2005-04-13 Thread Howard Bornstein
On 4/13/05, Jim Hurley <[EMAIL PROTECTED]> wrote:
> I forgot to acknowledge help from Dave Cragg. The handler below is from
> Dave and is a wonderful tutorial for anyone interested in getting info
> from a web site with data to be filed in. Just run this on a card with
> one field and you will see the full 9 digit zip  code for the address:
> 123 Broad St, 95959
> 
> on mouseUp
> put empty into field 1
> 
> put "Selection=" & 1 after tQuery
> put "&" after tQuery
> put "address1=" & urlEncode("123 BROAD ST") after tQuery
> put "&" after tQuery
> put "zipcode=" & 95959 after tQuery
> 
> put  "http://zip4.usps.com/zip4/zip4_responseA.jsp"; into tUrl
> 
> post tQuery to url tUrl
> if the result <> empty then
>   answer the result
> else
>   set the htmltext of field 1 to  it
> end if
> 
> end mouseUp


Jim (or Dave),

I put this in a card script and tried it and got nothing. Both "the
result" and "it" came back empty. Any ideas?

-- 
Regards,

Howard Bornstein
---
www.designeq.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: ANN Getting Nine digit zip codes

2005-04-13 Thread Howard Bornstein
On 4/13/05, Jim Hurley <[EMAIL PROTECTED]> wrote:
> I forgot to acknowledge help from Dave Cragg. The handler below is from
> Dave and is a wonderful tutorial for anyone interested in getting info
> from a web site with data to be filed in. Just run this on a card with
> one field and you will see the full 9 digit zip  code for the address:
> 123 Broad St, 95959
> 
> on mouseUp
> put empty into field 1
> 
> put "Selection=" & 1 after tQuery
> put "&" after tQuery
> put "address1=" & urlEncode("123 BROAD ST") after tQuery
> put "&" after tQuery
> put "zipcode=" & 95959 after tQuery
> 
> put  "http://zip4.usps.com/zip4/zip4_responseA.jsp"; into tUrl
> 
> post tQuery to url tUrl
> if the result <> empty then
>   answer the result
> else
>   set the htmltext of field 1 to  it
> end if
> 
> end mouseUp


Jim (or Dave),

I put this in a card script and tried it and got nothing. Both "the
result" and "it" came back empty. Any ideas?

-- 
Regards,

Howard Bornstein
---
www.designeq.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: custom prop by 1's?

2005-04-13 Thread Howard Bornstein
On 4/13/05, Richard Gaskin <[EMAIL PROTECTED]> wrote:


> 
> answer the executionContexts
> 

Richard,

Is "the executionContexts" documented anywhere? I couldn't find a
reference to it in the online documentation.


-- 
Regards,

Howard Bornstein
---
www.designeq.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Flesxible looping [Was: Making Revolution faster with really big arrays]

2005-04-13 Thread Frank D. Engel, Jr.
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
People working on computer languages generally avoid (and with good 
reason) adding new keywords.

Have you considered "and for" rather than "also"?
On Apr 13, 2005, at 11:25 AM, Alex Tweedly wrote:
Dennis Brown wrote:
The Idea is to break apart the essential functional elements of the 
repeat for each control to allow more flexibility.  This sample has a 
bit more refinement than what I posted yesterday in Bugzilla.

The new keyword would be "access" , but could be something else.
An example of the use of the new keywords syntax would be:
access each line X in arrayX--initial setup of pointers and X value
access each item Y in arrayY --initial setup of pointers and Y value
repeat for number of lines of arrayX times --same as a repeat for each
   put X & comma & Y & return after ArrayXY --merged array
   next line X --puts the next line value in X
   next item Y --if arrayY has fewer elements than arrayX, then empty 
is supplied, could also put "End of String" in the result
end repeat

Another advantage of this syntax is that it provides for more 
flexibility in structure of loops.  You could repeat forever, then 
exit repeat when you run out of values (based on getting an empty 
back).  The possibilities for high speed sequential access data 
processing are much expanded which opens up more possibilities for 
Revolution.

Dennis,
I think having more flexible repeat structures to allow parallel 
passes through lists or arrays is a really good idea, but I don't like 
the form you have suggested. It seems wrong to have separate 
statements to setup the loop; as far as I know, the language currently 
keeps the meaning of each statement self-contained, so I think this 
multi-line form would be a hard one to "sell".

I think it would be better to add a new keyword to indicate parallel 
looping; the primary loop determines the repeat-termination test 
criterion, while the others are incremented/advanced in synch. (of 
course, using exit allows you to terminate the loop based on the 
secondary loops if needed).

I'd suggest the word "also" since it's not currently used, or perhaps 
the phrase  "also each".

So the form would be something like
repeat for each line X in xList also item Y in yLine  repeat for each 
line X in xList also each item Y in yLine  repeat for each line X in 
xList and also each item Y in yLine
and of course there could be more than 2 :
repeat for each line Y in ylist also line x in xlist also item z in 
zlist also item name innamelist ...

This would allow the variants
repeat forever also each item Z in theList
repeat for each element E in myArray also each line X in xList
repeat with i = 1 to 100 also each line X in xList
etc.
And for symmetry, it might also be feasible to allow
repeat for each X in Xlist also i = 1 step 1
(since there's not a terminating condition in the secondary, it would 
confusing to have i = 1 to 100, so simply specify initial and step 
values).

Similar to this, I'd love to see a method for accessing arrays which 
gives both the key and the element. Currently, you can say
  repeat for each line K in the keys of myArray
put myArray[k] into V
but most modern languages have something like
  for (k,v in myarray)
which gives both key and value without needing to do another hash 
lookup.

And now that I'm started on this topic, I've always envied the 
readability of Python's tuple-assignment. I find
  x1,y2,x2,y2 = myRectangle
much more obvious than
x1 = myRectangle[0]
y1 = myRectangle[1]
x2 = myRectangle[2]
etc.

In Transcript, I really wish I could say
  put myRectangle as items into x1,y1,x2,y2
or
  put the items of myRectangle into x1,y1,x2,y2
instead of the clumsy
 put item 1 of myRect into X
 put item 2 of myRect into Y
etc.
No performance advantage - but so much more readable.
--
Alex Tweedly   http://www.tweedly.net
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
- ---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFCXTvH7aqtWrR9cZoRAmvNAJ9ehYE1TgzLys89AibBMfYN+BcjgwCfXMvJ
sEGH5kcSEj+3yPAnAPUeN+k=
=pj+O
-END PGP SIGNATURE-

___
$0 Web Hosting with up to 200MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing

Flesxible looping [Was: Making Revolution faster with really big arrays]

2005-04-13 Thread Alex Tweedly
Dennis Brown wrote:
The Idea is to break apart the essential functional elements of the 
repeat for each control to allow more flexibility.  This sample has a 
bit more refinement than what I posted yesterday in Bugzilla.

The new keyword would be "access" , but could be something else.
An example of the use of the new keywords syntax would be:
access each line X in arrayX--initial setup of pointers and X value
access each item Y in arrayY --initial setup of pointers and Y value
repeat for number of lines of arrayX times --same as a repeat for each
   put X & comma & Y & return after ArrayXY --merged array
   next line X --puts the next line value in X
   next item Y --if arrayY has fewer elements than arrayX, then empty 
is supplied, could also put "End of String" in the result
end repeat

Another advantage of this syntax is that it provides for more 
flexibility in structure of loops.  You could repeat forever, then 
exit repeat when you run out of values (based on getting an empty 
back).  The possibilities for high speed sequential access data 
processing are much expanded which opens up more possibilities for 
Revolution.

Dennis,
I think having more flexible repeat structures to allow parallel passes 
through lists or arrays is a really good idea, but I don't like the form 
you have suggested. It seems wrong to have separate statements to setup 
the loop; as far as I know, the language currently keeps the meaning of 
each statement self-contained, so I think this multi-line form would be 
a hard one to "sell".

I think it would be better to add a new keyword to indicate parallel 
looping; the primary loop determines the repeat-termination test 
criterion, while the others are incremented/advanced in synch. (of 
course, using exit allows you to terminate the loop based on the 
secondary loops if needed).

I'd suggest the word "also" since it's not currently used, or perhaps 
the phrase  "also each".

So the form would be something like
repeat for each line X in xList also item Y in yLine  
repeat for each line X in xList also each item Y in yLine  
repeat for each line X in xList and also each item Y in yLine  
and of course there could be more than 2 :
repeat for each line Y in ylist also line x in xlist also item z in 
zlist also item name innamelist ...

This would allow the variants
repeat forever also each item Z in theList
repeat for each element E in myArray also each line X in xList
repeat with i = 1 to 100 also each line X in xList
etc.
And for symmetry, it might also be feasible to allow
repeat for each X in Xlist also i = 1 step 1
(since there's not a terminating condition in the secondary, it would 
confusing to have i = 1 to 100, so simply specify initial and step values).

Similar to this, I'd love to see a method for accessing arrays which 
gives both the key and the element. Currently, you can say
  repeat for each line K in the keys of myArray
put myArray[k] into V
but most modern languages have something like
  for (k,v in myarray)
which gives both key and value without needing to do another hash lookup.

And now that I'm started on this topic, I've always envied the 
readability of Python's tuple-assignment. I find
  x1,y2,x2,y2 = myRectangle
much more obvious than
x1 = myRectangle[0]
y1 = myRectangle[1]
x2 = myRectangle[2]
etc.

In Transcript, I really wish I could say
  put myRectangle as items into x1,y1,x2,y2
or
  put the items of myRectangle into x1,y1,x2,y2
instead of the clumsy
 put item 1 of myRect into X
 put item 2 of myRect into Y
etc.
No performance advantage - but so much more readable.
--
Alex Tweedly   http://www.tweedly.net

No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: mouseEnter/mouseLeave Problem

2005-04-13 Thread David Burgun
You might have to resort to checking to see if the mouseloc is within
the rect of each graphic you wish to check - ugh.
Ok, I finally got the expect results by doing the following
on mouseEnter
put the name of the last graphic into myGraphicName
if myGraphicName <> name of me then
 set the foregroundColor of graphic myGraphicName to black
end if
set the foregroundColor of me to blue
end mouseEnter
on mouseDown
put the name of the last graphic into myGraphicName
set layer of me to top
if myGraphicName <> name of me then
 set the foregroundColor of graphic myGraphicName to black
end if
end mouseDown
And this works!!
Hope this is of help to someone at some stage!!!
Dave
-
But I *DO* release the mouse button! I have two overlapping 
rectangles, A and B:

A is in front of B - both are black, mouse is outside both of them.
(user moves mouse into either A or B and the color changes to blue)
(user moves outside of both and they both go black)
(user moves back and forth between A and B and they change color correctly)
(user does a mouseDown and mouseUp in side the one that is already at 
the Front (A in this case))
(user moves mouse back and forth between A and B and they change 
color correctly)
(user does a mouseDown on the rectangle that is behind (B in this case))
(Both rectangles turn blue - B is placed in front of A)
(Move back and forth twice and all is back to normal and A and B 
change as expected)

So, I tried doing this:
on mouseDown
put name of last graphic into myGraphicName
set the foreGroundColor of graphic myGraphicName to black
set layer of me to top
end mouseDown
And it STILL doesn't work!
I have also tried sending an "mouseLeave" event to the "last" graphic 
and this doesn't work either!

Could someone explain to me why this doesn't work???
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


[ANN] #014 and #015 How-To stacks: Managing Answer and Ask Dialogs

2005-04-13 Thread Eric Chatonet
Hi everyone,
I go on with energy :-)
And I hope these new tutorials will be helpful:
How-To stack #014: Managing Answer Dialogs (specially dedicated to  
beginners but the HTML part might interest all)
Shows how to manage answer dialogs (with plain text or HTML), how to  
build a prompt, set icons, buttons and other options, etc. and manage  
user's choice.
It includes a very handy code builder which keeps count of all your  
inputs and settings.
Print function included.

How-To stack #015 How to manage Ask Dialogs
Shows how to manage ask dialogs, set all options, how to request by  
scripting an input that matches what you expect and finally manage  
user's input.
Such as the previous tutorial, it includes a very handy code builder  
which keeps count of all your inputs and settings.
Print function included.

---
On RevOnLine:
User name: So Smart Software
Category: Programming
On RevNet:
Tutorials section
To donwload RevNet, go to http://www.fourthworld.com/rev/index.html
Directly by pasting into the message box:
#014: Managing Answer Dialogs
go url  
"http://www.sosmartsoftware.com/downloads/ 
Managing%20Answer%20Dialogs.rev"

#015 How to manage Ask Dialogs
go url  
"http://www.sosmartsoftware.com/downloads/Managing%20Ask%20Dialogs.rev";

---
Previous "How-To" stacks are available from RevOnLine or RevNet or by  
pasting into the message box:

#001 How to magnify images and only images!
go url  
"http://www.sosmartsoftware.com/downloads/ 
Magnifying%20images%20only.rev"

#002 How to change card dimensions
go url  
"http://www.sosmartsoftware.com/downloads/ 
Managing%20card%20dimensions.rev"

#003 How to install brushed metal appearance on all platforms
go url  
"http://www.sosmartsoftware.com/downloads/ 
Managing%20brushed%20metal.rev"

#004 How to manage HTML lists on the fly
go url  
"http://www.sosmartsoftware.com/downloads/Managing%20HTML%20lists.rev";

#005 How to drag and drop images and different ways to store images
go url  
"http://www.sosmartsoftware.com/downloads/ 
Images%20drag%20and%20drop.rev"

#006 How to manage contextual tooltips on the fly
go url  
"http://www.sosmartsoftware.com/downloads/Managing%20Tooltips.rev";

#007 How to manage "Snap to" scrollbars (revised on 3/3/05)
go url  
"http://www.sosmartsoftware.com/downloads/Managing%20Scrollbars.rev";

#008 How to build a menu on the fly
go url "http://www.sosmartsoftware.com/downloads/Managing%20Menus.rev";
#009 How to fix the decorations (titlebar appearance)
go url  
"http://www.sosmartsoftware.com/downloads/Managing%20Titlebars.rev";

#010 How to drag and drop files and folders
go url  
"http://www.sosmartsoftware.com/downloads/ 
Managing%20Drag%20and%20Drop.rev"

#011 How to manage user waiting
go url  
"http://www.sosmartsoftware.com/downloads/Managing%20Waitings.rev";

#012 How to ask a password
go url "http://www.sosmartsoftware.com/downloads/Asking%20Password.rev";
#013 How to manage tabbed buttons
go url  
"http://www.sosmartsoftware.com/downloads/ 
Managing%20Tabbed%20Buttons.rev"

With best regards,
Eric Chatonet.
---
So Smart Software
For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch
 ---
Web site   http://www.sosmartsoftware.com/
Email   eric.chatonet AT sosmartsoftware.com/
Post   24, Bd de Port-Royal 75005 Paris
Phone   (33) 143 317 762
Mobile   (33) 620 745 086
---
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: New Guide to the IDE in Process

2005-04-13 Thread Geoff Canyon
On Apr 12, 2005, at 1:15 PM, Dan Shafer wrote:
Sigh.
On Apr 12, 2005, at 12:41 PM, Bill wrote:
This is the link to the last page of the runrev store:
http://secure.runrev.com/Merchant2/merchant.mvc?
Where your ebooks are (fairly well hidden).
 PROSSER
 But Mr. Dent, the plans have been available in the local planning 
office for the last nine months.

 ARTHUR
 Oh, yes, soon as I heard of this plan, I went straight around to see 
them yesterday afternoon. You hadn’t exactly gone out of your way to 
call much attention to them, had you? Such as maybe telling someone 
about them?

 PROSSER looks more uncomfortable.
 PROSSER
 Well, the plans were on display –
 ARTHUR
 On display? I had to go down to the cellar to find them!
 PROSSER
 That’s the display department.
 ARTHUR
 With a flashlight.
 PROSSER
 Well, the lights had probably gone.
 ARTHUR
 So had the stairs.
 PROSSER
 Er – well – you did find them, didn’t you?
 ARTHUR
 Oh, yes. Yes, I did. The plans were on display, in the bottom of a 
locked filing cabinet, stuck in a disused lavatory, with a sign on the 
door reading “Beware of the Leopard.”

regards,
Geoff Canyon
[EMAIL PROTECTED]
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Making Revolution faster with really big arrays

2005-04-13 Thread Dennis Brown
To Alex & Dick,
Yes, I am doing something like what Dick suggested, only a lot more 
complex --actually I have about a hundred very different calculations 
to do on various arrays which is why I was not more specific about the 
calculations (it has to do with generating various statistics and 
indicators).  Your suggestion using the split is just the ticket to 
solve my problem in leu of an improved transcript --which would still  
be 15 times faster for each pass, but it sure beats all the other ways 
I've come up with.  Please accept my humble thanks for all your help.

To Frank & Mark & Brian & Robert & Pierre & all,
I have been overwhelmed by all the various offers of help in a few 
short hours from posting my problem.  You are a wonderful community of 
helpful people.  Thank you all very much.

From the content of the replies, and the complexity of some of the 
proposed solutions it seems more obvious to me now than before that an 
improved sequential access method for data needs to be included in 
Transcript.  After all one should not have to jump through hoops to do 
such a simple and common task.  I guess the shortcoming  of the random 
access methods used in the language are not apparent until it is used 
with really big arrays which amplify the speed issue.   From my 
previous posted timings, you can see how much faster sequential access 
is than any of the other methods.  I can't accept the answer that the 
language is unsuitable for a task, because it is interpreted, when a 
minor improvement would make it suitable.  Let's fix the problem 
instead of thinking that Revolution can not be used for such tasks.  I 
will bet improved sequential access would find its way into most 
projects.

I look forward to more discussions about number crunching improvements,
Thanks,
Dennis
On Apr 13, 2005, at 9:59 AM, Alex Tweedly wrote:
Dennis,
could you post the "dumb, too-slow" code to show what you need to do ?
The more specifically we can see the problem, the more "imaginative" 
solutions we might come up with.

I suspect some variant of Dick's suggestion (using split on 
all-but-one of the lists, and "for each"-ing over that remaining one) 
- perhaps repeated internally on the items of each line - will get you 
an adequate solution --- but we'll get there more quickly and 
certainly if we know more closely what we are trying to do.

--
Alex Tweedly   http://www.tweedly.net
On Apr 13, 2005, at 5:41 AM, Dick Kriesel wrote:
On 4/12/05 7:36 PM, "Dennis Brown" <[EMAIL PROTECTED]> wrote:
...I have two arrays 10,000 lines with 2500 items in each line...
...I need to pair the items together...
Do you have something like closing prices in one container and shares 
traded
in another container, each for the same 10,000 securities over the same
2,500 trading days?  If so, do you want to calculate something like 
trading
volume as price * shares?

If so, then here's a way to bring together the values from one such 
list
with the values from another, without waiting for any chunk 
expressions.  On
my machine, generating a 10,000 line by 2,500 item list of integers to
prepare for the test took about three minutes.  Then bringing together 
all
the pairs of lines from two lists, as you indicated in your initial 
email,
took about 1.2 seconds.

So you could do many passes through your big lists before the day is 
done,
and not need to wait for an extension to the language.

To try it, paste the following into the script of a new stack.  If I've
misunderstood or done something wrong, please let me know.
-- Dick
-
global gList
on mouseUp
  if gList is empty then initialize
  combinePairsOfLines gList,gList
end mouseUp
on initialize
  put 1 into tLineCount
  put 2500 into tItemCount
  put tLineCount && tItemCount & cr
  put the seconds into tSeconds
  repeat with i = 1 to tLineCount
repeat with j = 1 to tItemCount
  put i + j & comma after tList
end repeat
put return after tList
if i mod 1000 = 0 then put "line count so far:" && i & cr after msg
  end repeat
  put tList into gList -- save for reuse across edit-test cycles
  put "elapsed seconds to initialize:" && \
  the seconds - tSeconds & cr after msg
end initialize
on combinePairsOfLines pList1,pList2
  put the long seconds into tSeconds
  split pList2 using return
  put 0 into i
  repeat for each line tLineFromList1 in pList1
add 1 to i
put tLineFromList1 & pList2[i] into tCombinedLine
-- doSomethingWithCombinedLine tCombinedLine
  end repeat
  put "elapsed seconds to combine pairs:" && \
  the long seconds - tSeconds & cr after msg
end combinePairsOfLines

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: mouseEnter/mouseLeave Problem

2005-04-13 Thread David Burgun
Similar to what I put in another message that I just sent in...
If you maintain a global variable to keep track of the graphic that is
set to blue - then, whenever you set a new graphic to blue, you can make
sure the previous graphic, whose name is stored in the global variable,
gets set back to black.
I believe that mouseleave is also not called while the button is still
down. And now that I looked it up in the docs, even using mousecontrol
will not work (as used in the suggested script I just sent), because
that remains the original clicked control, even if you have moved over
another object, until you release the mousebutton.
You might have to resort to checking to see if the mouseloc is within
the rect of each graphic you wish to check - ugh.

But I *DO* release the mouse button! I have two overlapping 
rectangles, A and B:

A is in front of B - both are black, mouse is outside both of them.
(user moves mouse into either A or B and the color changes to blue)
(user moves outside of both and they both go black)
(user moves back and forth between A and B and they change color correctly)
(user does a mouseDown and mouseUp in side the one that is already at 
the Front (A in this case))
(user moves mouse back and forth between A and B and they change 
color correctly)
(user does a mouseDown on the rectangle that is behind (B in this case))
(Both rectangles turn blue - B is placed in front of A)
(Move back and forth twice and all is back to normal and A and B 
change as expected)

So, I tried doing this:
on mouseDown
put name of last graphic into myGraphicName
set the foreGroundColor of graphic myGraphicName to black
set layer of me to top
end mouseDown
And it STILL doesn't work!
I have also tried sending an "mouseLeave" event to the "last" graphic 
and this doesn't work either!

Could someone explain to me why this doesn't work???
Thanks a lot
Dave
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David
Burgun
Sent: Wednesday, April 13, 2005 9:43 AM
To: How to use Revolution
Subject: RE: mouseEnter/mouseLeave Problem
I don't think so, cos it's mouseLeave that isn't being called.
If both rectangles are black and I move the mouse back and forth
between them, all works as it should. If I mouseDown in either of the
rectangles and then move the mouse to the other recangle, the
Rectangle moved to changes to blue BUT the rectangle that has just
been left DOES NOT get the mouseLeave message. Once this has happened
once, the behaviour goes back to normal again, e.g. the rectangles
change color and you would expect again!
This really seems to be to do with interaction between mouseUp and/or
mouseDown and maybe mouseStillDown. If anyone could shed some light
on this I would be really gratefull I just can't seem to work out why
this doesn't work???!!!
Thanks in advance for any help
Dave

Could it have to do with the fact that mouseenter is not sent if the
mouse button is already down when you enter an object?
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David
Burgun
Sent: Wednesday, April 13, 2005 7:08 AM
To: How to use Revolution
Subject: mouseEnter/mouseLeave Problem
Hi,
I have a script on a graphic rectangle object that does the following:
on mouseEnter
set foregroundColor of me to blue
pass mouseEnter
end mouseEnter
on mouseLeave
set foregroundColor of me to black
pass mouseLeave
end mouseLeave
on mouseDown
set the layer of me to top
end mouseDown
on mouseStillDown
-- Move the object via the mouse, sets a new rect for the object
based on mouse movement
end mouseStillDown
This works fine most of the time, however if I have two rectangle
that overlap each other on the display, then when I move the mouse
from one to the other, the mouseLeave handler does not seem to get
 >called ***IF* I have moused-down in one of these objects. For
instance:
Both rectangles are set to black
I move the mouse into into Rectangle A which is in front of Rectangle
B. Everything works ok. The rectangles change from black to blue as
expected. However if I do this:
Both rectangles are set to black
Move into Rectangle A - Changes to Blue
Move into Rectangle B - A changes to Black and B changes to Blue (but
B says behind A)
MouseDown in Rectangle B - B moves in in front of A
MouseUp in Rectangle B - (mouseStillDown may have been called)
(Now Rectangle B is in Front and set to Blue, rectangle A is black)
Move into Rectangle A - B does NOT go to black, the mouseLeave
handler is NOT called, A gets changed to Blue, so both are set to
Blue!!!
Any ideas why mouseLeave is not being called? Seems to be after a
MouseDown/Up sequence?
Thanks a lot
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/list

RE: mouseEnter/mouseLeave Problem

2005-04-13 Thread David Burgun
Ok, thanks, I will take a look, but I would just lke to know why what 
I have already doesn't work! What I have been trying to do as a 
work-around is this:

--
-- When mouseDown is called the current "top" will be the last 
selected Rectangle
-- Send a mouseLeave message to this Rectangle.
on mouseDown
put name of last graphic into myGraphicName

send "mouseLeave" to graphic myGraphicName
set layer of me to top
end mouseDown
This kind of fixes the problem in that if I click is the top most 
rectangle (e.g. the layer is not changed) then the rectanges change 
color as expected. If I click if the rectangle on the bottom, both 
rectangles get changed to blue.

I am wondering if there is any way to wait for the send command to 
complete? I am guessing that the set layer to top command is causing 
the mouseLeave message to be missed or dropped?

Thanks for any help
Dave
You might be able to rework this by catching the mousemove message in
the card script or the stack script. Something like the following might
work (untested, so it will prolly need some tweaking)
On mousemove
   Global gBluelist
   If word 1 of the long name of the mousecontrol = "graphic" then
  Put the short name of the mousecontrol into tGraphic
  If gBluelist = tGraphic then exit mousemove
If gBluelist <> empty then
set the foregroundcolor of graphic gBluelist to black
Put empty into gBluelist
Set the foregroundcolor of graphic tGraphic to blue
Put tGraphic into gBluelist
  Else
  Set the foregroundcolor of graphic tGraphic to blue
Put tGraphic into gBluelist
End if
   Else
  If gBluelist <> empty then
set the foregroundcolor of graphic gBluelist to black
Put empty into gBluelist
  End if
   End if
End mousemove
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David
Burgun
Sent: Wednesday, April 13, 2005 7:08 AM
To: How to use Revolution
Subject: mouseEnter/mouseLeave Problem
Hi,
I have a script on a graphic rectangle object that does the following:
on mouseEnter
set foregroundColor of me to blue
pass mouseEnter
end mouseEnter
on mouseLeave
set foregroundColor of me to black
pass mouseLeave
end mouseLeave
on mouseDown
set the layer of me to top
end mouseDown
on mouseStillDown
-- Move the object via the mouse, sets a new rect for the object
based on mouse movement
end mouseStillDown
This works fine most of the time, however if I have two rectangle
that overlap each other on the display, then when I move the mouse
from one to the other, the mouseLeave handler does not seem to get
called ***IF* I have moused-down in one of these objects. For
instance:
Both rectangles are set to black
I move the mouse into into Rectangle A which is in front of Rectangle
B. Everything works ok. The rectangles change from black to blue as
expected. However if I do this:
Both rectangles are set to black
Move into Rectangle A - Changes to Blue
Move into Rectangle B - A changes to Black and B changes to Blue (but
B says behind A)
MouseDown in Rectangle B - B moves in in front of A
MouseUp in Rectangle B - (mouseStillDown may have been called)
(Now Rectangle B is in Front and set to Blue, rectangle A is black)
Move into Rectangle A - B does NOT go to black, the mouseLeave
handler is NOT called, A gets changed to Blue, so both are set to
Blue!!!
Any ideas why mouseLeave is not being called? Seems to be after a
MouseDown/Up sequence?
Thanks a lot
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Replacing Answer/Ask

2005-04-13 Thread Derek Bump
> I agree.  It's now bug 2779, if you are interested in voting for it.
Didn't have to ask twice.  I've parted with 5 of my votes for this item, 
so we'll see how soon it will be before that get's implimented 
(hopefully soon).

> In thinking about it, I'm thinking of this with another benefit: not
> only does it reduce the on-disk size of the stack, but it should also
> reduce startup time for the standalone, since there will be less data
> to read in from disk.
This would also be a great benefit.  I'd love to be able to boast a 1 
second load time on Windows 95 (on XP it would explode on the screen).

Derek Bump
Dreamscape Software
___
Compress Images Easily with JPEGCompress 2.5
http://www.dreamscapesoftware.com/
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: mouseEnter/mouseLeave Problem

2005-04-13 Thread Lynch, Jonathan
Similar to what I put in another message that I just sent in...

If you maintain a global variable to keep track of the graphic that is
set to blue - then, whenever you set a new graphic to blue, you can make
sure the previous graphic, whose name is stored in the global variable,
gets set back to black.

I believe that mouseleave is also not called while the button is still
down. And now that I looked it up in the docs, even using mousecontrol
will not work (as used in the suggested script I just sent), because
that remains the original clicked control, even if you have moved over
another object, until you release the mousebutton.

You might have to resort to checking to see if the mouseloc is within
the rect of each graphic you wish to check - ugh.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David
Burgun
Sent: Wednesday, April 13, 2005 9:43 AM
To: How to use Revolution
Subject: RE: mouseEnter/mouseLeave Problem

I don't think so, cos it's mouseLeave that isn't being called.

If both rectangles are black and I move the mouse back and forth 
between them, all works as it should. If I mouseDown in either of the 
rectangles and then move the mouse to the other recangle, the 
Rectangle moved to changes to blue BUT the rectangle that has just 
been left DOES NOT get the mouseLeave message. Once this has happened 
once, the behaviour goes back to normal again, e.g. the rectangles 
change color and you would expect again!

This really seems to be to do with interaction between mouseUp and/or 
mouseDown and maybe mouseStillDown. If anyone could shed some light 
on this I would be really gratefull I just can't seem to work out why 
this doesn't work???!!!

Thanks in advance for any help
Dave


>Could it have to do with the fact that mouseenter is not sent if the
>mouse button is already down when you enter an object?
>
>-Original Message-
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] On Behalf Of David
>Burgun
>Sent: Wednesday, April 13, 2005 7:08 AM
>To: How to use Revolution
>Subject: mouseEnter/mouseLeave Problem
>
>Hi,
>
>I have a script on a graphic rectangle object that does the following:
>
>on mouseEnter
>set foregroundColor of me to blue
>pass mouseEnter
>end mouseEnter
>
>on mouseLeave
>set foregroundColor of me to black
>pass mouseLeave
>end mouseLeave
>
>on mouseDown
>set the layer of me to top
>end mouseDown
>
>on mouseStillDown
>-- Move the object via the mouse, sets a new rect for the object
>based on mouse movement
>end mouseStillDown
>
>This works fine most of the time, however if I have two rectangle
>that overlap each other on the display, then when I move the mouse
>from one to the other, the mouseLeave handler does not seem to get
>called ***IF* I have moused-down in one of these objects. For
>instance:
>
>Both rectangles are set to black
>I move the mouse into into Rectangle A which is in front of Rectangle
>B. Everything works ok. The rectangles change from black to blue as
>expected. However if I do this:
>
>Both rectangles are set to black
>Move into Rectangle A - Changes to Blue
>Move into Rectangle B - A changes to Black and B changes to Blue (but
>B says behind A)
>MouseDown in Rectangle B - B moves in in front of A
>MouseUp in Rectangle B - (mouseStillDown may have been called)
>(Now Rectangle B is in Front and set to Blue, rectangle A is black)
>Move into Rectangle A - B does NOT go to black, the mouseLeave
>handler is NOT called, A gets changed to Blue, so both are set to
>Blue!!!
>
>Any ideas why mouseLeave is not being called? Seems to be after a
>MouseDown/Up sequence?
>
>Thanks a lot
>Dave
>
>
>___
>use-revolution mailing list
>use-revolution@lists.runrev.com
>http://lists.runrev.com/mailman/listinfo/use-revolution
>
>
>___
>use-revolution mailing list
>use-revolution@lists.runrev.com
>http://lists.runrev.com/mailman/listinfo/use-revolution

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: mouseEnter/mouseLeave Problem

2005-04-13 Thread Lynch, Jonathan
You might be able to rework this by catching the mousemove message in
the card script or the stack script. Something like the following might
work (untested, so it will prolly need some tweaking)

On mousemove
   Global gBluelist
   If word 1 of the long name of the mousecontrol = "graphic" then
  Put the short name of the mousecontrol into tGraphic
  If gBluelist = tGraphic then exit mousemove
If gBluelist <> empty then 
set the foregroundcolor of graphic gBluelist to black
Put empty into gBluelist
Set the foregroundcolor of graphic tGraphic to blue
Put tGraphic into gBluelist
  Else
  Set the foregroundcolor of graphic tGraphic to blue
Put tGraphic into gBluelist
End if
   Else
  If gBluelist <> empty then
set the foregroundcolor of graphic gBluelist to black
Put empty into gBluelist
  End if
   End if
End mousemove

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David
Burgun
Sent: Wednesday, April 13, 2005 7:08 AM
To: How to use Revolution
Subject: mouseEnter/mouseLeave Problem

Hi,

I have a script on a graphic rectangle object that does the following:

on mouseEnter
set foregroundColor of me to blue
pass mouseEnter
end mouseEnter

on mouseLeave
set foregroundColor of me to black
pass mouseLeave
end mouseLeave

on mouseDown
set the layer of me to top
end mouseDown

on mouseStillDown
-- Move the object via the mouse, sets a new rect for the object 
based on mouse movement
end mouseStillDown

This works fine most of the time, however if I have two rectangle 
that overlap each other on the display, then when I move the mouse 
from one to the other, the mouseLeave handler does not seem to get 
called ***IF* I have moused-down in one of these objects. For 
instance:

Both rectangles are set to black
I move the mouse into into Rectangle A which is in front of Rectangle 
B. Everything works ok. The rectangles change from black to blue as 
expected. However if I do this:

Both rectangles are set to black
Move into Rectangle A - Changes to Blue
Move into Rectangle B - A changes to Black and B changes to Blue (but 
B says behind A)
MouseDown in Rectangle B - B moves in in front of A
MouseUp in Rectangle B - (mouseStillDown may have been called)
(Now Rectangle B is in Front and set to Blue, rectangle A is black)
Move into Rectangle A - B does NOT go to black, the mouseLeave 
handler is NOT called, A gets changed to Blue, so both are set to 
Blue!!!

Any ideas why mouseLeave is not being called? Seems to be after a 
MouseDown/Up sequence?

Thanks a lot
Dave


___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Making Revolution faster with really big arrays

2005-04-13 Thread Alex Tweedly
Dennis Brown wrote:
Thanks Alex,
This is quite an imaginative suggestion.  It would work great if I 
just had two lists, but I have two arrays 10,000 lines with 2500 items 
in each line.  It would be a lot more complex to combine them into a 
single array (I need to pair the items together).  But it could be 
done with a lot more shuffling.   
Dennis,
could you post the "dumb, too-slow" code to show what you need to do ?
The more specifically we can see the problem, the more "imaginative" 
solutions we might come up with.

I suspect some variant of Dick's suggestion (using split on all-but-one 
of the lists, and "for each"-ing over that remaining one) - perhaps 
repeated internally on the items of each line - will get you an adequate 
solution --- but we'll get there more quickly and certainly if we know 
more closely what we are trying to do.

--
Alex Tweedly   http://www.tweedly.net

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: mouseEnter/mouseLeave Problem

2005-04-13 Thread David Burgun
Hi Jonathan,
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David
Burgun
Sent: Wednesday, April 13, 2005 7:08 AM
To: How to use Revolution
Subject: mouseEnter/mouseLeave Problem
Hi,
I have a script on a graphic rectangle object that does the following:
on mouseEnter
set foregroundColor of me to blue
pass mouseEnter
end mouseEnter
on mouseLeave
...
Any ideas why mouseLeave is not being called? Seems to be after a
MouseDown/Up sequence?
wild and quick guess:
Did you try a "mouserelease" handler with the same script as the "mouseleave"?
Thanks a lot
Dave
Yes, the Script of the object is as follows (I have modified it since 
I first posted):

on mouseEnter
set foregroundColor of me to blue
end mouseEnter
on mouseLeave
set foregroundColor of me to black
end mouseLeave
on mouseDown
--set the layer of me to top
end mouseDown
on mouseStillDown
-- Move the object via the mouse, sets a new rect for the object
based on mouse movement
end mouseStillDown
If you look in the mouseDown handler, if I comment out the:
--set the layer of me to top
All the rectangles work as they should, if I uncomment it, I lose the 
mouseLeave message. Any one have any ideas???

Thanks
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Creating & Using Tabs tutorial

2005-04-13 Thread Mikey
I guess what I was hoping for was to see "Chapter 1", or the "Getting
Started Guide".  The little pieces parts don't seem to do for decent
anything.
-- 
http://taoof4d.blogspot.com
http://4dwishlist.blogspot.com
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: BZ 2138 (was Re: ANN: BreakpointNavigator Plugin release)

2005-04-13 Thread Alex Tweedly
Robert Brenstein wrote:
Out of 996 unresolved bugs 514 are currently unconfirmed whereas 482 
are being checked or handled. Notably 261 of those 514 are enhancement 
requests. There are 92 enhancements implemented or dismissed and 202 
being implemented or in consideration as far as I can see.

Seeing many "known" bugs remaining unconfirmed indeed leaves a feeling 
of discomfort and concern, although it is clear from the above numbers 
that RR team uses bugzilla.
Ahhh - nostalgia :-)
As I said earlier, I used to spend a lot of time dealing with bug 
databases - usually making up excuses why *I* had so many entries in 
there :-) So I spent a quick hour or two of nostalgia looking at 
Rev's Bugzilla from the viewpoint of a dev. manager, rather than as a 
customer/user. 

Your overview sounds pretty good:
996 unresolved bugs
514 unconfirmed just over 50%
261 enhancement requests
243 "real" bugs still unconfirmed - about 25%
But  I fear that analysis is of dubious value - it probably contains 
some fairly old history, and it certainly contains some very recent 
entries (which you can't reasonably expect much action on). 

So I looked at 3 month's worth - all bugs initially entered between 
1/12/2004 to 3/1/2005.

175 unresolved bugs
138 are unconfirmed  (80%)
 45 are enhancement requests
 93 "real" bugs still unconfirmed - over 50%
I bet the monthly bug-review meetings at Runrev are pretty exciting 
btw - BZ 2138 (can't run apps by double-click) is an Enhancement request 
- since the docs don't claim it should be possible, I couldn't find any 
excuse to make it a "bug" rather than an enhancement request; that may 
be another reason it hasn't been fixed yet.

--
Alex Tweedly   http://www.tweedly.net

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: More New-be Curiousity Questions

2005-04-13 Thread Frank D. Engel, Jr.
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On Apr 13, 2005, at 7:35 AM, [EMAIL PROTECTED] wrote:
Thanks! That link on comparisons between Dreamcard and Revolution is 
just
what I needed!
_http://www.runrev.com/section/platform.php_
(http://www.runrev.com/section/platform.php)

Questions:
1.) If I spend a year developing some great application in Dreamcard, 
then
is moving it to Revolution simply a matter of purchasing Revolution 
(will the
same source code produced run in either environment)?
Yes.  Rev and Dreamcard use the same basic engine for running scripts, 
so they should function identically in nearly all cases.

2.) If I want to use MySQL, I am assuming that the MySQL in any of the
several WAMP (WIndows Apache MySQL PhP) installs will do the trick, or 
is there  a
special MySQL install I should do?
Any standard MySQL server should work fine, but you might want to 
consider PostgreSQL instead if you are thinking of going to Oracle.  
MySQL is *not* a true SQL database server and there are a substantial 
number of features of SQL which both PostgreSQL and Oracle implement, 
but which MySQL does not.  Take views for example.  Supposedly they 
will be added to an upcoming version of MySQL, but PostgreSQL and 
Oracle have had them for years.  MySQL is not fully ACID compilant 
either (at least it wasn't last I checked), but PostgreSQL is, meaning 
your data is safer in the event of a power failure, and concurrency is 
managed somewhat better.

Additionally, MySQL is *not* free for commercial distribution, but 
PostgreSQL is.  PostgreSQL is available under a much more liberal open 
source license.

3.) If I develop an application using MySQL, using commonly available 
SQL
commands, and staying away from proprietary things, is it then much of 
a job to
switch that application to Oracle as a back end?
As long as your SQL code is compatible with both MySQL (or PostgreSQL, 
or whatever you use at home) and Oracle, switching to Oracle is a 
matter of buying the needed version of Rev (one with Oracle support) 
and changing the code used to connect to the database (or some settings 
in the Query Builder, if you use it).  The rest should just work.

If any changes need to be made to the SQL code, that would be the only 
major difference you are likely to encounter.

4.)  Does Revolution/Dreamcard give one a way to, lets say, present a
dialogue similar to Explorer, choose a path, choose a file, and then 
open that
WIndows file and read and write to it randomly, byte by byte?  I have  
something
in Liberty Basic which does that. Just curious if anyone in this list  
uses
Liberty Basic or has any opinions pro or con?
I don't use Liberty Basic, but I have used other forms of BASIC in the 
past.  Rev allows you to develop many kinds of apps substantially 
faster than is possible in most other languages, but it will have a bit 
of a learning curve if you've never used an Xtalk before.

As pointed out in another reply, it is possible to get random access to 
a file, but as long as the size of the file is not too large, it may be 
more efficient (and much easier) to read the entire file into memory, 
make your changes in memory, and write it back to the file.

For (a rather pathetic) example:
answer file "Select a file:"
put URL ("binfile:" & it) into myBuffer
put char 1 of myBuffer into char 12 of myBuffer
if char 90 of myBuffer is not "Q" then put char 5 of myBuffer into char 
53 of myBuffer
put the number of chars in myBuffer into secretNumber
add charToNum(char 774 of myBuffer) to secretNumber
answer "The secret number is: " & secretNumber
- -- whatever...
ask file "Save changes to:"
put myBuffer into URL ("binfile:" & it)


5.) When I download a trial version of Dreamcard or Revolution, is it 
ok to
download at work, where I have a fast T1, put it on a cd, and install 
and
unlock  at home (where I have slow dial-up) and then just enter the 
unlock key?
Yes
8.) When I finish developing an application, then is that entire  
application
expressed solely in the form of script files, viewable in any  editor, 
or are
there some components of the application which are in some kind  of 
object or
format which is not editable. I realize that if one  
deploys/distributes
applications, they are in some compiled or tokenized form so  the code 
remains
proprietary. That is not what I am asking.  I am thinking  that if the 
final
application is defined by editable files of coding/script,  then it is 
possible to
write a program in some language to output that code,  whereas if the 
final
application has template files which are not plain ascii  script, then 
it would
not be easy to programatically output a script file.   I am asking this
question mainly out of curiosity, to get a feeling for what a  
finished application
is like, in source form.
Normally, the script code is readable in the stack file (or in the 
standalone file if using Rev Studio/Enterprise and building 
standalones), but it is possible to encrypt the file b

RE: mouseEnter/mouseLeave Problem

2005-04-13 Thread David Burgun
I don't think so, cos it's mouseLeave that isn't being called.
If both rectangles are black and I move the mouse back and forth 
between them, all works as it should. If I mouseDown in either of the 
rectangles and then move the mouse to the other recangle, the 
Rectangle moved to changes to blue BUT the rectangle that has just 
been left DOES NOT get the mouseLeave message. Once this has happened 
once, the behaviour goes back to normal again, e.g. the rectangles 
change color and you would expect again!

This really seems to be to do with interaction between mouseUp and/or 
mouseDown and maybe mouseStillDown. If anyone could shed some light 
on this I would be really gratefull I just can't seem to work out why 
this doesn't work???!!!

Thanks in advance for any help
Dave

Could it have to do with the fact that mouseenter is not sent if the
mouse button is already down when you enter an object?
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David
Burgun
Sent: Wednesday, April 13, 2005 7:08 AM
To: How to use Revolution
Subject: mouseEnter/mouseLeave Problem
Hi,
I have a script on a graphic rectangle object that does the following:
on mouseEnter
set foregroundColor of me to blue
pass mouseEnter
end mouseEnter
on mouseLeave
set foregroundColor of me to black
pass mouseLeave
end mouseLeave
on mouseDown
set the layer of me to top
end mouseDown
on mouseStillDown
-- Move the object via the mouse, sets a new rect for the object
based on mouse movement
end mouseStillDown
This works fine most of the time, however if I have two rectangle
that overlap each other on the display, then when I move the mouse
from one to the other, the mouseLeave handler does not seem to get
called ***IF* I have moused-down in one of these objects. For
instance:
Both rectangles are set to black
I move the mouse into into Rectangle A which is in front of Rectangle
B. Everything works ok. The rectangles change from black to blue as
expected. However if I do this:
Both rectangles are set to black
Move into Rectangle A - Changes to Blue
Move into Rectangle B - A changes to Black and B changes to Blue (but
B says behind A)
MouseDown in Rectangle B - B moves in in front of A
MouseUp in Rectangle B - (mouseStillDown may have been called)
(Now Rectangle B is in Front and set to Blue, rectangle A is black)
Move into Rectangle A - B does NOT go to black, the mouseLeave
handler is NOT called, A gets changed to Blue, so both are set to
Blue!!!
Any ideas why mouseLeave is not being called? Seems to be after a
MouseDown/Up sequence?
Thanks a lot
Dave
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: mouseEnter/mouseLeave Problem

2005-04-13 Thread Klaus Major
Hi Jonathan,
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David
Burgun
Sent: Wednesday, April 13, 2005 7:08 AM
To: How to use Revolution
Subject: mouseEnter/mouseLeave Problem
Hi,
I have a script on a graphic rectangle object that does the following:
on mouseEnter
set foregroundColor of me to blue
pass mouseEnter
end mouseEnter
on mouseLeave
...
Any ideas why mouseLeave is not being called? Seems to be after a
MouseDown/Up sequence?
wild and quick guess:
Did you try a "mouserelease" handler with the same script as the 
"mouseleave"?

Thanks a lot
Dave
Regards
Klaus Major
[EMAIL PROTECTED]
http://www.major-k.de
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: mouseEnter/mouseLeave Problem

2005-04-13 Thread Lynch, Jonathan
Could it have to do with the fact that mouseenter is not sent if the
mouse button is already down when you enter an object?

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David
Burgun
Sent: Wednesday, April 13, 2005 7:08 AM
To: How to use Revolution
Subject: mouseEnter/mouseLeave Problem

Hi,

I have a script on a graphic rectangle object that does the following:

on mouseEnter
set foregroundColor of me to blue
pass mouseEnter
end mouseEnter

on mouseLeave
set foregroundColor of me to black
pass mouseLeave
end mouseLeave

on mouseDown
set the layer of me to top
end mouseDown

on mouseStillDown
-- Move the object via the mouse, sets a new rect for the object 
based on mouse movement
end mouseStillDown

This works fine most of the time, however if I have two rectangle 
that overlap each other on the display, then when I move the mouse 
from one to the other, the mouseLeave handler does not seem to get 
called ***IF* I have moused-down in one of these objects. For 
instance:

Both rectangles are set to black
I move the mouse into into Rectangle A which is in front of Rectangle 
B. Everything works ok. The rectangles change from black to blue as 
expected. However if I do this:

Both rectangles are set to black
Move into Rectangle A - Changes to Blue
Move into Rectangle B - A changes to Black and B changes to Blue (but 
B says behind A)
MouseDown in Rectangle B - B moves in in front of A
MouseUp in Rectangle B - (mouseStillDown may have been called)
(Now Rectangle B is in Front and set to Blue, rectangle A is black)
Move into Rectangle A - B does NOT go to black, the mouseLeave 
handler is NOT called, A gets changed to Blue, so both are set to 
Blue!!!

Any ideas why mouseLeave is not being called? Seems to be after a 
MouseDown/Up sequence?

Thanks a lot
Dave


___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Copy Command Question

2005-04-13 Thread Frank D. Engel, Jr.
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
If you're using that particular action a lot, make a custom command, 
maybe this one (for example):

on copyGraphic namedThis withThisName
  copy grc namedThis to this card
  set the name of last grc to withThisName
end copyGraphic
On Apr 13, 2005, at 6:36 AM, David Burgun wrote:
Hi David,
In one line, I am afraid not :-)
But in two lines:
copy grc "TemplateRect" to this card
set the name of last grc to "G-" & the ID of last grc
Best regards,
Hi,
Ok, seems strange that you can't do it as one command.
Thanks!
Dave

Le 13 avr. 05, à 12:19, David Burgun a écrit :
copy graphic "TemplateRect" to this card  -- TemplateRect is 
precreated
put the ID of the last graphic into myGraphicID
put "G-" & myGraphicID into myGraphicName
set the name of graphic ID myGraphicID to myGraphicName

Is there no way to do something like this the following?
copy graphic "TemplateRect" to this card with name ""
Eric Chatonet.

So Smart Software
For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch

Web sitehttp://www.sosmartsoftware.com/
Email   [EMAIL PROTECTED]/
Phone   33 (0)1 43 31 77 62
Mobile  33 (0)6 20 74 50 86

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

- ---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFCXRx17aqtWrR9cZoRAs/TAKCKT/qpArnpte6gnFLyzGvbEfiUxACgjYhf
/s11mvtOLfH8PT4B80chcxE=
=dMeJ
-END PGP SIGNATURE-

___
$0 Web Hosting with up to 200MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: ANN Getting Nine digit zip codes

2005-04-13 Thread Eric Chatonet
Hi Jim,
2928.108 Kbps (366.014 Ko/sec) > 25 secondes.
Best regards,
Le 13 avr. 05, à 14:55, Jim Hurley a écrit :
This is not yet ready for prime time, but I would like to know how 
this works for those with broadband access to the Web.

The program takes data from a DB and goes--one address at a time--to 
the US Post Office web site to get the extra 4 digit appendage to the 
zip code (necessary for bar code addresses.)

What I would like to know is how fast this runs with broadband. To 
process 50 address takes me 109 seconds using 56K modem. Tolerable, 
since I only need to apply it once to my neighborhood DB of 400 
addresses.

Please, somebody, let me know how long this takes you with broadband. 
Thanks.
Eric Chatonet.

So Smart Software
For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch

Web sitehttp://www.sosmartsoftware.com/
Email   [EMAIL PROTECTED]/
Phone   33 (0)1 43 31 77 62
Mobile  33 (0)6 20 74 50 86

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: ANN Getting Nine digit zip codes

2005-04-13 Thread Chris Carroll-Davis
29 seconds on my 2mb ADSL  (UK)
Chris
On 13 Apr 2005, at 13:55, Jim Hurley wrote:
This is not yet ready for prime time, but I would like to know how 
this works for those with broadband access to the Web.

The program takes data from a DB and goes--one address at a time--to 
the US Post Office web site to get the extra 4 digit appendage to the 
zip code (necessary for bar code addresses.)

What I would like to know is how fast this runs with broadband. To 
process 50 address takes me 109 seconds using 56K modem. Tolerable, 
since I only need to apply it once to my neighborhood DB of 400 
addresses.

Please, somebody, let me know how long this takes you with broadband. 
Thanks.

To see the program, run this in the message box
go url "http://home.infostations.net/jhurley/NineDigitZipCodes.rev"; 
(DO NOT CLICK THIS LINK)

Jim
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Newbe Questions: Revolution vs. Dreamcard, Differences?

2005-04-13 Thread Frank D. Engel, Jr.
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Please note that when looking at that chart you may see that Oracle 
access is limited to Rev and not Dreamcard, but that any of the three 
versions provides access to other types of database servers, including 
MySql, PostgreSQL (which is my personal favorite), and others.

On Apr 12, 2005, at 10:20 PM, Richard Gaskin wrote:
[EMAIL PROTECTED] wrote:
What can Revolution  do that Dreamcard cant do.
Primarily, build standalones.
There's a comparison chart at:

--
 Richard Gaskin
 Fourth World Media Corporation
 __
 Rev tools and more: http://www.fourthworld.com/rev
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

- ---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFCXRjD7aqtWrR9cZoRArPJAJ9rDWNtL4t3fLUNOn/lWrFUuYPHzQCfcMdx
ecOc17HKYSOA17LldUkmkIs=
=Blos
-END PGP SIGNATURE-

___
$0 Web Hosting with up to 200MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: ANN Getting Nine digit zip codes

2005-04-13 Thread Jim Hurley
I forgot to acknowledge help from Dave Cragg. The handler below is 
from Dave and is a wonderful tutorial for anyone interested in 
getting info from a web site with data to be filed in. Just run this 
on a card with one field and you will see the full 9 digit zip  code 
for the address: 123 Broad St, 95959

on mouseUp
   put empty into field 1
   put "Selection=" & 1 after tQuery
   put "&" after tQuery
   put "address1=" & urlEncode("123 BROAD ST") after tQuery
   put "&" after tQuery
   put "zipcode=" & 95959 after tQuery
   put  "http://zip4.usps.com/zip4/zip4_responseA.jsp"; into tUrl
   post tQuery to url tUrl
   if the result <> empty then
 answer the result
   else
 set the htmltext of field 1 to  it
   end if
end mouseUp
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: There's got to be a better way

2005-04-13 Thread ron barber
Hi Richard,
On Apr 12, 2005, at 7:38 PM, Richard Gaskin wrote:
Here's a tip to get even better performance (sometimes as much as two 
or three times more): use a field in an unopened window for the 
translation.

When a field is on the current card, even if hidden, it's initialized 
with additional things that don't come into play when accessing a 
field on an unopened card.

In all versions of WebMerge through v2.3 I had been using a hidden 
field on the main card for the translation.  But after I learned this 
trick from Tuviah in v2.4 I now do that translation in an unopened 
substack,
I'm a little confused about the unopened part.
Is the unopened card on the stack that you are working on but on  "cd 
2" or is the unopened cd on a separate stack altogether (a substack for 
example)? I thought that refering to a fld in an unopened stack would 
open that stack?

thanks
Ron
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


ANN Getting Nine digit zip codes

2005-04-13 Thread Jim Hurley
This is not yet ready for prime time, but I would like to know how 
this works for those with broadband access to the Web.

The program takes data from a DB and goes--one address at a time--to 
the US Post Office web site to get the extra 4 digit appendage to the 
zip code (necessary for bar code addresses.)

What I would like to know is how fast this runs with broadband. To 
process 50 address takes me 109 seconds using 56K modem. Tolerable, 
since I only need to apply it once to my neighborhood DB of 400 
addresses.

Please, somebody, let me know how long this takes you with broadband. Thanks.
To see the program, run this in the message box
go url "http://home.infostations.net/jhurley/NineDigitZipCodes.rev"; 
(DO NOT CLICK THIS LINK)

Jim
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Replacing Answer/Ask

2005-04-13 Thread Frank D. Engel, Jr.
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
I agree.  It's now bug 2779, if you are interested in voting for it.
In thinking about it, I'm thinking of this with another benefit: not 
only does it reduce the on-disk size of the stack, but it should also 
reduce startup time for the standalone, since there will be less data 
to read in from disk.

Nice.
On Apr 12, 2005, at 8:47 PM, Derek Bump wrote:
Yes, in most cases, especially me, my projects have no need to analyze 
it's own code, so removing the plaintext versions of that code from 
the standalones would be a great way to reduce file size.

I'd say it's definitely worth a request in BugZilla enhancement 
request.
- ---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFCXRZ97aqtWrR9cZoRAltwAJwK3Q26rkjuWFanlWNgqiFpYgo/ZQCeLM/9
Zyj7XAFlI+R+8htGwrY5WW4=
=irhN
-END PGP SIGNATURE-

___
$0 Web Hosting with up to 200MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: export jpeg frustration

2005-04-13 Thread Klaus Major
Hi Chris,
Klaus -
don't get depressed -  I just used the first solution that came along! 
 Thanks for your help.
BOTH solutions work beautifully!   I'll use yours next time, just to 
show how fair-minded I am...;-)
you are a VERY nice guy, thank you :-)
C
Regards
Klaus Major
[EMAIL PROTECTED]
http://www.major-k.de
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: export jpeg frustration

2005-04-13 Thread Chris Carroll-Davis
Klaus -
don't get depressed -  I just used the first solution that came along!  
Thanks for your help.  BOTH solutions work beautifully!   I'll use 
yours next time, just to show how fair-minded I am...;-)

C
On 13 Apr 2005, at 12:30, Klaus Major wrote:
Bonjour Eric,
Hi Chris,
I think that Klaus formulation is better ;-)
merci beaucoup, mon ami, i was just about to fall into a dep 
depression :-D

But using a function is a good choice:
function GlobalObjRect pObj
  return globalLoc(the topLeft of pObj),globalLoc(the botRight of 
pObj)
end GlobalObjRect

put GlobalObjRect(the long ID of graphic "PFrame") into tRect -- ∆
export snapshot from rect tRect to file tFile as JPEG
Le 13 avr. 05, à 13:16, Chris Carroll-Davis a écrit :
Eric -
Thanks so much!  I'm pleased I wasn't doing something daft.  Your 
function does the trick beautifully.

Regards,
Chris
Regards
Klaus Major
[EMAIL PROTECTED]
http://www.major-k.de
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: More New-be Curiousity Questions

2005-04-13 Thread Alex Tweedly
[EMAIL PROTECTED] wrote:
Thanks! That link on comparisons between Dreamcard and Revolution is just  
what I needed!
 

Questions: 
 

I can't properly answer any of the DB questions - but here are my 
opinions on the others.

1.) If I spend a year developing some great application in Dreamcard, then  
is moving it to Revolution simply a matter of purchasing Revolution (will the  
same source code produced run in either environment)?
 

Yes
4.)  Does Revolution/Dreamcard give one a way to, lets say, present a  
dialogue similar to Explorer, choose a path, choose a file, and then open that  
WIndows file and read and write to it randomly, byte by byte?  I have  something 
in Liberty Basic which does that. Just curious if anyone in this list  uses 
Liberty Basic or has any opinions pro or con?
 

Yes it does. Here's a little script to totally mangle a JPEG file :-)
 answer file "What is file containing the photo ?" with "D:/Our 
Documents/Alex Photos/x.jpg" with filter "JPEGs,*.jpg"
 put it into theFileName
 open file theFileName for binary update
 read from file theFileName at 100 for 4 characters
 put it into myData
 write myData to file theFileName at 200

Sorry - never used Liberty Basic.
5.) When I download a trial version of Dreamcard or Revolution, is it ok to  
download at work, where I have a fast T1, put it on a cd, and install and 
unlock  at home (where I have slow dial-up) and then just enter the unlock key?

 

Yes.
8.) When I finish developing an application, then is that entire  application 
expressed solely in the form of script files, viewable in any  editor, or are 
there some components of the application which are in some kind  of object or 
format which is not editable. I realize that if one  deploys/distributes 
applications, they are in some compiled or tokenized form so  the code remains 
proprietary. That is not what I am asking.  I am thinking  that if the final 
application is defined by editable files of coding/script,  then it is possible to 
write a program in some language to output that code,  whereas if the final 
application has template files which are not plain ascii  script, then it would 
not be easy to programatically output a script file.   I am asking this 
question mainly out of curiosity, to get a feeling for what a  finished application 
is like, in source form.
 

No, it's not entirely text script files. It's a stack, which includes 
the scripts but also the graphical components. You could write a script 
to convert one of those to text, or to read a text file and re-construct 
a stack - but I find it hard to think what you would gain from it.

9.)  Is there a data type which is fixed point penny accurate BCD type  
decimal arithematic, which would allow accurate calculations with money in a  
buisness application.
Is there a floating point type of variable?  
 

There is no "currency" type. There is (effectively) a floating 
(double-prec) type, in that variable are typeless, and will behave like 
a double-prec floating value except when they appear like integers or 
strings.

10.) I stumbled across Dreamcard/Revolution while I was searching for  
information on Python.  I had downloaded a version of Python yesterday, and  when I 
ran it, was somewhat startled to see a DOS type black window open up. 

Ahhh - you wanted Pythoncard, not basic Python.
Is  Revolution related to Python in any way?  

smart-ass answer: Yes, they're both equally good, but very different.
real answer: No.
Does Dreamcard/Revolution  development happen right in Windows, just like, e.g. Visual Basic IDE, or does  it take place in one of those black DOS Windows.
 

It's like VB, only even more integrated. The development environment IS 
the running application environment. Most of the time, this just feels 
like VB only smoother - occasionally it turns out to open up some really 
powerful possibilities.

11.) When I purchase Dreamcard/Revolution, do I receive a box with  CD,s   
and are the video training portions on a DVD, or VHS, or how  does that work? 
Just curious.
 

I purchased it on-line, and downloaded the program, docs, etc. Training 
videos are also on-line.
There may be options to get physical CDs etc. (certainly are for paper 
docs), but I think the great majority of users got it on-line.

--
Alex Tweedly   http://www.tweedly.net

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


More New-be Curiousity Questions

2005-04-13 Thread Typing80wpm
Thanks! That link on comparisons between Dreamcard and Revolution is just  
what I needed!
_http://www.runrev.com/section/platform.php_ 
(http://www.runrev.com/section/platform.php) 
 
Questions: 
 
1.) If I spend a year developing some great application in Dreamcard, then  
is moving it to Revolution simply a matter of purchasing Revolution (will the  
same source code produced run in either environment)?
 
2.) If I want to use MySQL, I am assuming that the MySQL in any of the  
several WAMP (WIndows Apache MySQL PhP) installs will do the trick, or is there 
 a 
special MySQL install I should do?
 
3.) If I develop an application using MySQL, using commonly available SQL  
commands, and staying away from proprietary things, is it then much of a job to 
 
switch that application to Oracle as a back end?
 
4.)  Does Revolution/Dreamcard give one a way to, lets say, present a  
dialogue similar to Explorer, choose a path, choose a file, and then open that  
WIndows file and read and write to it randomly, byte by byte?  I have  
something 
in Liberty Basic which does that. Just curious if anyone in this list  uses 
Liberty Basic or has any opinions pro or con?
 
5.) When I download a trial version of Dreamcard or Revolution, is it ok to  
download at work, where I have a fast T1, put it on a cd, and install and 
unlock  at home (where I have slow dial-up) and then just enter the unlock key?
 
6.) Are there many or any people who develope applications in Dreamcard  
which access the .mdb Jet Engine database used by Access (just curious), or  
which 
access dbf files in a Visual Foxpro application?
 
7.) Are there any developers who left Visual Foxpro (lets say), or Visual  
Basic, and came to Revolution as a development tool, who share some of their  
experieces?
 
8.) When I finish developing an application, then is that entire  application 
expressed solely in the form of script files, viewable in any  editor, or are 
there some components of the application which are in some kind  of object or 
format which is not editable. I realize that if one  deploys/distributes 
applications, they are in some compiled or tokenized form so  the code remains 
proprietary. That is not what I am asking.  I am thinking  that if the final 
application is defined by editable files of coding/script,  then it is possible 
to 
write a program in some language to output that code,  whereas if the final 
application has template files which are not plain ascii  script, then it would 
not be easy to programatically output a script file.   I am asking this 
question mainly out of curiosity, to get a feeling for what a  finished 
application 
is like, in source form.
 
9.)  Is there a data type which is fixed point penny accurate BCD type  
decimal arithematic, which would allow accurate calculations with money in a  
buisness application.
Is there a floating point type of variable?  
 
10.) I stumbled across Dreamcard/Revolution while I was searching for  
information on Python.  I had downloaded a version of Python yesterday, and  
when I 
ran it, was somewhat startled to see a DOS type black window open up. Is  
Revolution related to Python in any way?  Does Dreamcard/Revolution  
development 
happen right in Windows, just like, e.g. Visual Basic IDE, or does  it take 
place in one of those black DOS Windows.
 
11.) When I purchase Dreamcard/Revolution, do I receive a box with  CD,s   
and are the video training portions on a DVD, or VHS, or how  does that work? 
Just curious.
 
Thanks for your time!
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: export jpeg frustration

2005-04-13 Thread Klaus Major
Bonjour Eric,
Hi Chris,
I think that Klaus formulation is better ;-)
merci beaucoup, mon ami, i was just about to fall into a dep 
depression :-D

But using a function is a good choice:
function GlobalObjRect pObj
  return globalLoc(the topLeft of pObj),globalLoc(the botRight of pObj)
end GlobalObjRect
put GlobalObjRect(the long ID of graphic "PFrame") into tRect -- ∆
export snapshot from rect tRect to file tFile as JPEG
Le 13 avr. 05, à 13:16, Chris Carroll-Davis a écrit :
Eric -
Thanks so much!  I'm pleased I wasn't doing something daft.  Your 
function does the trick beautifully.

Regards,
Chris
Regards
Klaus Major
[EMAIL PROTECTED]
http://www.major-k.de
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: export jpeg frustration

2005-04-13 Thread Eric Chatonet
Hi Chris,
I think that Klaus formulation is better ;-)
But using a function is a good choice:
function GlobalObjRect pObj
  return globalLoc(the topLeft of pObj),globalLoc(the botRight of pObj)
end GlobalObjRect
put GlobalObjRect(the long ID of graphic "PFrame") into tRect -- ∆
export snapshot from rect tRect to file tFile as JPEG
Le 13 avr. 05, à 13:16, Chris Carroll-Davis a écrit :
Eric -
Thanks so much!  I'm pleased I wasn't doing something daft.  Your 
function does the trick beautifully.

Regards,
Chris
On 13 Apr 2005, at 12:10, Eric Chatonet wrote:
Hi Chris,
The export snapshot from rect of window windowID to file... does not 
appear very reliable.
So convert the rect of your object to global coordinates and use 
export snapshot from rect to file... instead :-)

function GlobalObjRect pRect
  return item 1 of pRect + the left of this stack,item 2 of pRect + 
the top of this stack,item 3 of pRect + the left of this stack,item 4 
of pRect + the top of this stack
end GlobalObjRect

Best regards,
Le 13 avr. 05, à 13:01, Chris Carroll-Davis a écrit :
Hello folks.
Can anyone shed any light on this?  I'm having problems with the 
export syntax.  I am trying to export an area of a window...

The snippet below works fine, happily creating a jpeg in the default 
folder, but using screen coords (which I don't want)

   put the ticks & "temp.jpg" into tFile
   put the rect of graphic "PFrame" into pRect
   put the id of this wd into WinId
   put prect && winId && defaultfolder && tFile
   export snapshot from rect pRect to file tFile as JPEG

But if (as below) I add the window parameter to use window-relative 
coords, it doesn't work.  Instead, I get the error:  "export: no 
image selected, or image not open".  It's as if it is suddenly 
ignoring the "snapshot" form of export.

   put the ticks & "temp.jpg" into tFile
   put the rect of graphic "PFrame" into pRect
   put the id of this wd into WinId
   put prect && winId && defaultfolder && tFile
   export snapshot from rect pRect of window WinId to file tFile 
as JPEG

Eric Chatonet.

So Smart Software
For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch

Web sitehttp://www.sosmartsoftware.com/
Email   [EMAIL PROTECTED]/
Phone   33 (0)1 43 31 77 62
Mobile  33 (0)6 20 74 50 86

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: export jpeg frustration

2005-04-13 Thread Chris Carroll-Davis
Eric -
Thanks so much!  I'm pleased I wasn't doing something daft.  Your 
function does the trick beautifully.

Regards,
Chris
On 13 Apr 2005, at 12:10, Eric Chatonet wrote:
Hi Chris,
The export snapshot from rect of window windowID to file... does not 
appear very reliable.
So convert the rect of your object to global coordinates and use 
export snapshot from rect to file... instead :-)

function GlobalObjRect pRect
  return item 1 of pRect + the left of this stack,item 2 of pRect + 
the top of this stack,item 3 of pRect + the left of this stack,item 4 
of pRect + the top of this stack
end GlobalObjRect

Best regards,
Le 13 avr. 05, à 13:01, Chris Carroll-Davis a écrit :
Hello folks.
Can anyone shed any light on this?  I'm having problems with the 
export syntax.  I am trying to export an area of a window...

The snippet below works fine, happily creating a jpeg in the default 
folder, but using screen coords (which I don't want)

   put the ticks & "temp.jpg" into tFile
   put the rect of graphic "PFrame" into pRect
   put the id of this wd into WinId
   put prect && winId && defaultfolder && tFile
   export snapshot from rect pRect to file tFile as JPEG

But if (as below) I add the window parameter to use window-relative 
coords, it doesn't work.  Instead, I get the error:  "export: no 
image selected, or image not open".  It's as if it is suddenly 
ignoring the "snapshot" form of export.

   put the ticks & "temp.jpg" into tFile
   put the rect of graphic "PFrame" into pRect
   put the id of this wd into WinId
   put prect && winId && defaultfolder && tFile
   export snapshot from rect pRect of window WinId to file tFile 
as JPEG
Eric Chatonet.

So Smart Software
 For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch

Web sitehttp://www.sosmartsoftware.com/
Email   [EMAIL PROTECTED]/
Phone   33 (0)1 43 31 77 62
Mobile  33 (0)6 20 74 50 86

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Copy Command Question

2005-04-13 Thread rev
Quoting David Burgun <[EMAIL PROTECTED]>:

> >Hi David,
> >
> >In one line, I am afraid not :-)
> >But in two lines:
> >
> >copy grc "TemplateRect" to this card
> >set the name of last grc to "G-" & the ID of last grc
> >
> >Best regards,
>
> Hi,
>
> Ok, seems strange that you can't do it as one command.
>
> Thanks!
> Dave
>
>
Hi Dave

Have a look on revonline and go to my space (nijinsky). I should have something
that will do the trick there, I only have 3-4 stacks on there ATM so have a
look.

sorry I can't give you the code just now direct, but I'm at work and don't have
rev here. I have one stack that does this.

click a button to copy a field to another stack but before it is copied
another interim stack pops up with dialogue boxes for name etc then when you
press the accept button it copies your desired field and renames it etc etc.
There is also one that allows you to move and resize a field after insertion
without haveing runrev installed...

hope that is clear, in a mad rush here as usual... :-)


cheers
bob

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


  1   2   >