Re: Please suggest script

2010-11-17 Thread Phil Davis

On 11/17/10 10:30 AM, Timothy Miller wrote:

I tried:

get the selectedText
revGoUrl it

That worked, to my amazement. Cool. Didn't know about RevGoUrl.

OTOH, the docs say revGoUrl is deprecated. I'm not sure what to use instead.


Try:

get the selectedText
launch url it

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Method question

2010-11-09 Thread Phil Davis

Hi Glen,

See if this works:


-- card script --

local h1, h2, v1, v2


on mouseDown
   put the clickH into h1
   put the clickV into v1
end mouseDown


on mouseUp
   put the mouseH into h2
   put the mouseV into v2
   put grcDragRegion()
end mouseUp


function grcDragRegion
   -- define mouse drag rect
   put min(h1,h2) into tMouseLeft
   put max(h1,h2) into tMouseRight
   put min(v1,v2) into tMouseTop
   put max(v1,v2) into tMouseBottom

   -- define overlap of mouse drag rect  grc rect
   put max(tMouseLeft, the left of grc 1) into item 1 of tOverlapRect
   put max(tMouseTop, the top of grc 1) into item 2 of tOverlapRect
   put min(tMouseRight, the right of grc 1) into item 3 of tOverlapRect
   put min(tMouseBottom, the bottom of grc 1) into item 4 of tOverlapRect

   -- return it
   return tOverlapRect
end grcDragRegion

Phil Davis


On 11/9/10 10:48 AM, Glen Bojsza wrote:

I have a problem which I am not certain which method is valid or should be
used (with Rev / Livecode there are sometimes too many ways of achieving a
goal).

I have a graphic on a card left 62 right 462.

My objective is to allow a user to left click and drag across the graphic as
if selecting a section of it.

I need start left,top,right,bottom and end left,top,right,bottom.

The only interest is knowing the start of the drag when inside the graphic
and the end of the drag inside the graphic... with the following caveats.


- The user may start the drag either outside the graphic and then
continue the drag into the graphic (which is the start point) or start the
drag inside the graphic which would be the start point.
- The user may release the mouse button inside the graphic which
indicates the stop point or release the mouse button outside the graphic
where the stop point is at the point of the mouse leaving the graphic.


This seems like it should be simple but I am getting tied down but trying to
over complicate it?

This is for Windows and Linux .

Any elegant or simple solutions out there?
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Method question

2010-11-09 Thread Phil Davis

Ah! I overlooked that. Here's a fix:


-- card script --

local h1, h2, v1, v2, wasWithinGrc


on mouseDown
   put false into wasWithinGrc
   put the clickH into h1
   put the clickV into v1
end mouseDown


on mouseMove h,v
   if h,v is within the rect of grc 1
   then put true into wasWithinGrc
end mouseMove


on mouseUp
   -- exit if mouse never entered the grc
   if wasWithinGrc = true then
  put the mouseH into h2
  put the mouseV into v2
  put grcDragRegion()
   else
  put empty
   end if
end mouseUp


function grcDragRegion
   -- define mouse drag rect
   put min(h1,h2) into tMouseLeft
   put max(h1,h2) into tMouseRight
   put min(v1,v2) into tMouseTop
   put max(v1,v2) into tMouseBottom

   -- define overlap of mouse drag rect  grc rect
   put max(tMouseLeft, the left of grc 1) into item 1 of tOverlapRect
   put max(tMouseTop, the top of grc 1) into item 2 of tOverlapRect
   put min(tMouseRight, the right of grc 1) into item 3 of tOverlapRect
   put min(tMouseBottom, the bottom of grc 1) into item 4 of tOverlapRect

   -- return it
   return tOverlapRect
end grcDragRegion



On 11/9/10 11:57 AM, Glen Bojsza wrote:

Hi Phil,

Yes it works BUT it doesn't constrain itself to the graphic.

I want it to only to report the points if the user includes the graphic when
they d their drag... as it currently stands it reports coordinates even if
the user does not drag across the graphic.

But other that that it is total a different perspective on how I was looking
at the problem... I was too focused on the graphic.

thanks,

Glen

On Tue, Nov 9, 2010 at 12:27 PM, Phil Davisrev...@pdslabs.net  wrote:


Hi Glen,

See if this works:


-- card script --

local h1, h2, v1, v2


on mouseDown
   put the clickH into h1
   put the clickV into v1
end mouseDown


on mouseUp
   put the mouseH into h2
   put the mouseV into v2
   put grcDragRegion()
end mouseUp


function grcDragRegion
   -- define mouse drag rect
   put min(h1,h2) into tMouseLeft
   put max(h1,h2) into tMouseRight
   put min(v1,v2) into tMouseTop
   put max(v1,v2) into tMouseBottom

   -- define overlap of mouse drag rect  grc rect
   put max(tMouseLeft, the left of grc 1) into item 1 of tOverlapRect
   put max(tMouseTop, the top of grc 1) into item 2 of tOverlapRect
   put min(tMouseRight, the right of grc 1) into item 3 of tOverlapRect
   put min(tMouseBottom, the bottom of grc 1) into item 4 of tOverlapRect

   -- return it
   return tOverlapRect
end grcDragRegion

Phil Davis



On 11/9/10 10:48 AM, Glen Bojsza wrote:


I have a problem which I am not certain which method is valid or should be
used (with Rev / Livecode there are sometimes too many ways of achieving a
goal).

I have a graphic on a card left 62 right 462.

My objective is to allow a user to left click and drag across the graphic
as
if selecting a section of it.

I need start left,top,right,bottom and end left,top,right,bottom.

The only interest is knowing the start of the drag when inside the graphic
and the end of the drag inside the graphic... with the following caveats.


- The user may start the drag either outside the graphic and then
continue the drag into the graphic (which is the start point) or start
the
drag inside the graphic which would be the start point.
- The user may release the mouse button inside the graphic which
indicates the stop point or release the mouse button outside the
graphic
where the stop point is at the point of the mouse leaving the graphic.


This seems like it should be simple but I am getting tied down but trying
to
over complicate it?

This is for Windows and Linux .

Any elegant or simple solutions out there?
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: [OT] Mac App Store

2010-10-24 Thread Phil Davis

On 10/21/10 11:34 AM, Scott Rossi wrote:

Recently, Richard Gaskin wrote:


Is there anyone here with apps in the current iOS App Store who can
answer that?

As far as I can tell, no, they only offer tools/Web pages that display
statistical data of your sales.

How would it be possible for a developer to know if someone who calls is
actually eligible for technical support?

I am quite a novice in the whole iApp arena, but barring any methods of
cracking I haven't heard about yet, apps are more or less tied to a device
-- you cannot arbitrarily move apps from one device to another,


FWIW - Recently I got an iPod Touch and restored by iPhone onto it, making it a 
mirror image of my phone app-wise except for the ability to call.


Phil Davis



and you
cannot distribute apps outside the app store (aside from testing and limited
distribution apps).  So presumably, the someone wanting help legitimately
obtained your app.

Your question does raise another question: what about folks who deliver paid
apps with no restrictions on the devices they can run on?

Regards,

Scott Rossi
Creative Director
Tactile Media, UX Design


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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: revServer installation issues

2010-10-22 Thread Phil Davis

On 10/22/10 8:19 AM, Devin Asay wrote:

On Oct 21, 2010, at 8:02 PM, Phil Davis wrote:


Thanks Andre! This is a crazy problem. I just made the changes you recommend and
added the .htaccess back into the mix, but no joy! I'm guessing I made a change
to my httpd.conf at some point without commenting it and that's what is keeping
your solution from working here. I'll see if I can track it down and post an
explanation.

However I am not without a solution: Mike sent me a copy of his httpd.conf, I
replaced mine with it and *BAM* my .irev pages are now working!

Can you do a diff on the two conf files and maybe find where yours went wrong?


Will do. It won't do it immediately as I have to catch up with some other stuff, 
but I'll get there. Hopefully by tonight.



I am truly amazed at (and grateful for) the level of support provided by you
guys, Andre and Mike, and so many other people on this list. It's an honor to be

Ditto. This list is one of the best things about the LiveCode community.


Of course your name is right up there too, Devin. Thanks for the input on this 
one.



Regards,

Devin



Devin Asay
Humanities Technology and Research Support Center
Brigham Young University

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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: revServer installation issues

2010-10-21 Thread Phil Davis

On 10/21/10 5:49 AM, Mike Bonner wrote:

 From your description, it sounds like the new directives aren't getting
loaded at all.

If you run:

/usr/sbin/httpd -V |grep -i server_config_file

does it show the correct config file is at -D
SERVER_CONFIG_FILE=/private/etc/apache2/httpd.conf?


Yes, that's what I get.


And you're using the server document root not your Sites directory.


Yep.


Oh, and have you checked to make sure revserver is executable? This should
NOT be the problem, if it were your browser should get an internal server
error response, but doesn't hurt to confirm.


Right. revserver permissions are 755. (rwxr-xr-x)


Also noticed you added the line:
ScriptAlias /cgi-bin/revserver
/Library/WebServer/CGI-Executables/revserver  ##  PD 20101020 added
I don't believe this is required as long as revserver is at the toplevel
inside the CGI-Executables folder.
The existing:
ScriptAliasMatch ^/cgi-bin/((?!(?i:webobjects)).*$)
/Library/WebServer/CGI-Executables/$1
should handle it.


Thanks.


I chose to put the data, extensions, and handlers folders in /opt/revserver
as per one of the options in the readme.txt but i'm sure the other 2 methods
would work just fine.


OK.
Thanks for the feedback Mike.


On Thu, Oct 21, 2010 at 12:23 AM, Andre Garziaan...@andregarzia.comwrote:


On Thu, Oct 21, 2010 at 3:49 AM, Phil Davisrev...@pdslabs.net  wrote:


I managed to replicate your problem here on my mac os x, am trying to

solve

it.


Wow. Thanks Andre! That's huge!


I am good at breaking things, specially my computers!



Phil




--
http://www.andregarzia.com All We Do Is Code.
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: revServer installation issues

2010-10-21 Thread Phil Davis

On 10/21/10 7:59 AM, Devin Asay wrote:

On Oct 20, 2010, at 11:01 PM, Phil Davis wrote:


On 10/20/10 4:57 PM, Devin Asay wrote:


Phil,

I had to do it this way:

 Action irev-script /cgi-bin/revserver/revserver

Because I had moved the entire revserver folder into cgi-bin (well, really 
CGI-Executables.) Until I did I was having similar problems to yours. In other 
words the Action had to point to the executable file, not just the enclosing 
folder.


I did try that at one point (and changed the appropriate paths in the config 
file) but it didn't work there either, so I went back to the current placement. 
Still, it won't hurt anything to look at that approach again.



I'm more a blunder-around-in-the-dark guy when it comes to this stuff, so it's 
probably just an accident that I got it to work. :-)


A man after my own heart!  ;-)


Devin


Devin Asay
Humanities Technology and Research Support Center
Brigham Young University

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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: revServer installation issues

2010-10-21 Thread Phil Davis
Thanks Andre! This is a crazy problem. I just made the changes you recommend and 
added the .htaccess back into the mix, but no joy! I'm guessing I made a change 
to my httpd.conf at some point without commenting it and that's what is keeping 
your solution from working here. I'll see if I can track it down and post an 
explanation.


However I am not without a solution: Mike sent me a copy of his httpd.conf, I 
replaced mine with it and *BAM* my .irev pages are now working!


I am truly amazed at (and grateful for) the level of support provided by you 
guys, Andre and Mike, and so many other people on this list. It's an honor to be 
here!


Phil


On 10/21/10 2:26 PM, Andre Garzia wrote:

Folks,

This is FIXED!!

Damn


Phil, check out your http.conf for AllowOverride None. By default this comes
set for the documents folder and for the cgi-bin folder.

You need to change it to AllowOverride All and then you can place your
.htaccess files and they will work.

Just did it here.

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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


revServer installation issues

2010-10-20 Thread Phil Davis

Hey folks -

I'm trying to figure out where I'm going wrong as I try to get revServer going 
on my Mac Mini. I have followed all the advice (I think) in the great emails 
from Devin Asay and Mike Bonner from July 20 and I see my test.irev page being 
served but without the ?rev ... ? stuff being preprocessed - in fact the HTML 
isn't rendered as HTML either; it all comes into my browser window as text.


Any clues?

Yes, I'm restarting apache after making each carefully-commented-so-I 
can-back-out change to httpd.conf. My apache logs don't show anything unusual.


My outcomes don't seem any different whether the revserver filess are owned by 
nobody:wheel or phil:admin.


Thanks for any ideas.
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: revServer installation issues

2010-10-20 Thread Phil Davis

On 10/20/10 4:57 PM, Devin Asay wrote:

Phil,

It seems clear that the config file isn't quite right, and that the revServer 
engine isn't being launched. Where are your revServer files installed,


/Library/WebServer/CGI-Executables
I copied all the files from the 'revserver' folder into the 'CGI-Executables' 
folder - without the enclosing 'revserver' folder.



... and can you post the mods you made to your httpd.conf file?


My mods were applied to the /private/etc/apache2/httpd.conf file, and each 
changed line has a '## PD 201010xx' tag on the end of it.


First, for the record:
DocumentRoot /Library/WebServer/Documents

Note - I tried adding some directives in an .htaccess file inside this directory 
but since removed the file.



--- Now the first set of changes -

Directory /Library/WebServer/Documents
AddHandler irev-script .irev  ## PD 20101018 added
Action irev-script /cgi-bin/revserver  ## PD 20101018 added
Options Indexes FollowSymLinks MultiViews ExecCGI  ## PD 20101018 added 
'ExecCGI'
AllowOverride All   ## PD 20101018 replaced 'None' with 'All' for .htaccess 
overrides


#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

/Directory

--- Second set of changes -

IfModule alias_module
#
ScriptAliasMatch ^/cgi-bin/((?!(?i:webobjects)).*$) 
/Library/WebServer/CGI-Executables/$1


ScriptAlias /cgi-bin/revserver 
/Library/WebServer/CGI-Executables/revserver  ##  PD 20101020 added


/IfModule

--- Third set of changes ---

IfModule mime_module
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig /private/etc/apache2/mime.types

   AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

# For type maps (negotiated resources):
#AddHandler type-map var

AddHandler irev-script .irev  ##  PD 20101020 added
Action irev-script /cgi-bin/revserver  ##  PD 20101020 added

#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
/IfModule


Also, which OS version are you running?


10.5.8 Build 9L30 - not OS X server.




Devin

On Oct 20, 2010, at 5:19 PM, Phil Davis wrote:


Hey folks -

I'm trying to figure out where I'm going wrong as I try to get revServer going
on my Mac Mini. I have followed all the advice (I think) in the great emails
from Devin Asay and Mike Bonner from July 20 and I see my test.irev page being
served but without the?rev ... ?  stuff being preprocessed - in fact the HTML
isn't rendered as HTML either; it all comes into my browser window as text.

Any clues?

Yes, I'm restarting apache after making each carefully-commented-so-I
can-back-out change to httpd.conf. My apache logs don't show anything unusual.

My outcomes don't seem any different whether the revserver filess are owned by
nobody:wheel or phil:admin.

Thanks for any ideas.
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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

Devin Asay
Humanities Technology and Research Support Center
Brigham Young University

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


Thanks Devin.
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: revServer installation issues

2010-10-20 Thread Phil Davis

Hi Mike,

On 10/20/10 4:57 PM, Mike Bonner wrote:

out of curiosity, are you changing the files in /etc/httpd or /etc/apache2
if in httpd, try apache2 (if you're pretty sure you're setting them up
right) or if trying apache2 try httpd
Assuming both folders exist.


Nope, only the 'apache2' folder exists.

And did you turn in ExecCGI in the options for whatever directory you're
setting up?

Pretty much just the 3 things
and add ExecCGI to the options line

Options Your Options Here plus ExecCGI
AddHandler rev-script .irev
Action /cgi-bin/revserver
All within adirectory... ...   /Directory  block.


Maybe I'm overlooking something - see my response to Devin for more detail.

Thanks Mike -
Phil

On Wed, Oct 20, 2010 at 5:19 PM, Phil Davisrev...@pdslabs.net  wrote:


Hey folks -

I'm trying to figure out where I'm going wrong as I try to get revServer
going on my Mac Mini. I have followed all the advice (I think) in the great
emails from Devin Asay and Mike Bonner from July 20 and I see my test.irev
page being served but without the?rev ... ?  stuff being preprocessed - in
fact the HTML isn't rendered as HTML either; it all comes into my browser
window as text.

Any clues?

Yes, I'm restarting apache after making each carefully-commented-so-I
can-back-out change to httpd.conf. My apache logs don't show anything
unusual.

My outcomes don't seem any different whether the revserver filess are owned
by nobody:wheel or phil:admin.

Thanks for any ideas.
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: revServer installation issues

2010-10-20 Thread Phil Davis

On 10/20/10 10:25 PM, Andre Garzia wrote:

Phil,

check your error_log after you try to access your irev file, see if there is
a premature end of headers and a permission error, one next to the other.
That usually means suEXEC error.


Nope, nothing like that. I have an image missing so I get that error but nothing 
else.

I managed to replicate your problem here on my mac os x, am trying to solve
it.


Wow. Thanks Andre! That's huge!

Phil


andre

On Thu, Oct 21, 2010 at 3:02 AM, Phil Davisrev...@pdslabs.net  wrote:


Hi Mike,


On 10/20/10 4:57 PM, Mike Bonner wrote:


out of curiosity, are you changing the files in /etc/httpd or /etc/apache2
if in httpd, try apache2 (if you're pretty sure you're setting them up
right) or if trying apache2 try httpd
Assuming both folders exist.


Nope, only the 'apache2' folder exists.

  And did you turn in ExecCGI in the options for whatever directory you're

setting up?

Pretty much just the 3 things
and add ExecCGI to the options line

Options Your Options Here plus ExecCGI
AddHandler rev-script .irev
Action /cgi-bin/revserver
All within adirectory... .../Directory   block.


Maybe I'm overlooking something - see my response to Devin for more detail.

Thanks Mike -
Phil

  On Wed, Oct 20, 2010 at 5:19 PM, Phil Davisrev...@pdslabs.net   wrote:

  Hey folks -

I'm trying to figure out where I'm going wrong as I try to get revServer
going on my Mac Mini. I have followed all the advice (I think) in the
great
emails from Devin Asay and Mike Bonner from July 20 and I see my
test.irev
page being served but without the?rev ... ?   stuff being preprocessed -
in
fact the HTML isn't rendered as HTML either; it all comes into my browser
window as text.

Any clues?

Yes, I'm restarting apache after making each carefully-commented-so-I
can-back-out change to httpd.conf. My apache logs don't show anything
unusual.

My outcomes don't seem any different whether the revserver filess are
owned
by nobody:wheel or phil:admin.

Thanks for any ideas.
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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

  ___

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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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






--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: determining if user has shell access

2010-10-14 Thread Phil Davis
 Another thought - I remember from my Unix days that you can put  at the end 
of a line command to make it run in the background and make it non-blocking. Of 
course you have to redirect its output to a text file. Would that work here? 
(Probably not on Windows though.)


Just throwing it against the wall to see if it sticks...

Phil Davis


On 10/14/10 2:56 AM, Monte Goulding wrote:

Write a tiny script that does something trivial in shell (e.g. shell ls), and 
build that as a tiny executable.
Have your real script run that as a separate process and see if it never 
returns.

That's not a bad plan.

Cheers

--
Monte Goulding
M E R Goulding Software Development
Bespoke application development for vertical markets

InstallGadget - How to create an installer in 10 seconds
revObjective  - Making behavior scripts behave

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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


fun with elevated processes

2010-10-14 Thread Phil Davis

 I can now easily restart Apache from a LC handler:

on mouseUp
   constant kRestartApache = apachectl -k graceful
   open elevated process kRestartApache for neither
   if the result  empty then
  answer Could not restart server.
  close process kRestartApache
   end if
   -- process will normally close itself when finished
end mouseUp

Cool!
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: fun with elevated processes

2010-10-14 Thread Phil Davis

 Hi Ken,

On 10/14/10 9:34 AM, Ken Ray wrote:

   I can now easily restart Apache from a LC handler:

on mouseUp
 constant kRestartApache = apachectl -k graceful
 open elevated process kRestartApache for neither
 if the result  empty then
answer Could not restart server.
close process kRestartApache
 end if
 -- process will normally close itself when finished
end mouseUp

That's cool, Phil! What did you have to do before 'open elevated process'?


I would have used an AppleScript approach:

  put do shell script \
 quote  kRestartApache  quote \
 with administrator privileges \
  into tAppleScriptCommand

  do tAppleScriptCommand as appleScript



Does this take the place of trying to pass an admin password on the command
line?


Yes! The elevated keyword apparently causes Rev to ask the OS to do its admin 
dialog thing before running the process.



Ken Ray
Sons of Thunder Software, Inc.
Email: k...@sonsothunder.com
Web Site: http://www.sonsothunder.com/


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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Constant command

2010-10-14 Thread Phil Davis

 On 10/14/10 12:26 PM, J. Landman Gay wrote:

On 10/14/10 11:28 AM, dunb...@aol.com wrote:

About the constant command that Phil used in his process gadget. What does
it do that a variable does not? I see it cannot be altered in the same
handler, and I see that it can overRide a built-in constant, which might be
useful. Anyone ever come up with a compelling reason to use such a thing?


In Phil's example a variable would work just as well. I use constants more 
often at the top of scripts.


Me too.


In the case of scripts, local variables have to be set at some point before 
they will have a value, so I use those for things that are specific to the 
user setup (file paths I'll need repeatedly, for example.) Constant values are 
permanent until you change the script, so they're good for things that rarely 
change, like version numbers, lists of related objects you need to loop 
through often, and other script-related uses.


I almost never use constants inside a handler, but that's just personal style.


Me neither.

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Workaround For No selectionChanged Message?

2010-10-12 Thread Phil Davis

 Hi Scott,

Your experience is consistent with mine. So when my code makes selection change, 
it sends selectionChanged to the target field right after doing so.


Phil Davis

On 10/12/10 5:42 PM, Scott Rossi wrote:

Am I living on another planet or is the selectionChanged message not
triggered by selecting the contents of a field via script?

I have recently begun to struggle again with a simple text editor project
and it seems when the contents of a field are selected via script (select
text of fld 1), no selectionChanged message is sent.

I have a frontScript with a selectionChanged routine that is supposed to
track any changes in text selection.  It works as expected when selections
are changed via mouse, click, and drag, but when text is selected by script
using the above select text of fld 1 nothing happens.

Admittedly, this is Rev 4.0, but is this correct behavior?  I could use a
klunky workaround of a looping script that constantly polls the selectedText
but this is, er, klunky.  Might there be another way?

Thanks for any suggestions/clarifications.

Regards,

Scott Rossi
Creative Director
Tactile Media, UX Design


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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Elevated Process

2010-10-07 Thread Phil Davis
 For completeness, I'll throw in this option - not exactly what you are asking 
for but it could work too:


  put do shell script  q(tShellCommand)  with administrator 
privileges into tASCommand

  do tASCommand as AppleScript

This approach puts up a system password dialog.

Phil



On 10/7/10 7:09 AM, Generic Email wrote:

I am on OS X, and I want to click a button, and have that button run a sudo 
command.

but it needs to prompt for a password.

Is there a way from LC to use the standard OS X elevated process dialogs?

Thanks!


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: [ANN] scroll wheel object for RevMobile iPhone made with Rev

2010-10-07 Thread Phil Davis

 Klaus -
Try this (note caps in .zip file name):
http://berndniggemann.on-rev.com/scrollwheel/scrollwheelstack/scrollWheeliPhone.rev.zip

I had the same problem so I went to the '/scrollwheelstack' directory and got 
the link from the file list.


Phil Davis


On 10/7/10 1:04 PM, Klaus on-rev wrote:

Hi Bernd,


some time ago someone was looking for native iPhone controls for RevMobile. I
tried to emulate an iPhone scroll wheel through Rev objects that looks close
to the native scroll wheel.
The advantage of an Rev object is that it is all graphics and scalable. The
disadvantage that RevMobile and the iPhone are not the fastest. (small
scroll wheels work acceptably on an iPhone 3G, much better experience on an
iPad)
As a revlet look here:
http://berndniggemann.on-rev.com/scrollwheel/scrollWheeliPhone/index.html
as a zipped stack here:
http://berndniggemann.on-rev.com/scrollwheel/scrollwheelstack/scrollwheeliphone.rev.zip

I get a file not found error here?


click and drag on the wheels, if at first not responsive click outside the
revlet and than inside again.
Comments welcome
regards
Bernd

Best

Klaus

--
Klaus Major
http://www.major-k.de
kl...@major.on-rev.com

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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: LiveCode Application Error upon quitting

2010-10-04 Thread Phil Davis

 On 10/4/10 9:20 PM, J. Landman Gay wrote:

On 10/4/10 5:41 PM, Paul Looney wrote:

Bob, Jaque,
I've had Quit errors in the IDE from version 3.5 onward; OS X version
10.4.11 onward - through 10.6.4.
The problem line is:

wait 0 seconds

which we use many times elsewhere, with no problem.


Just curious, why would you wait for zero?


What - would you prefer to wait longer?
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: LiveCode Application Error upon quitting

2010-10-04 Thread Phil Davis

 On 10/4/10 9:53 PM, Mark Wieder wrote:

Phil-

Monday, October 4, 2010, 9:40:00 PM, you wrote:


   On 10/4/10 9:20 PM, J. Landman Gay wrote:

On 10/4/10 5:41 PM, Paul Looney wrote:

The problem line is:
wait 0 seconds
which we use many times elsewhere, with no problem.

Just curious, why would you wait for zero?

What - would you prefer to wait longer?

Some of us are impatient.

Right - like Paul. ;-)  Hey, it's his code... no need to dwell on the fact that 
I steered him there.


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Storing an Array as a Custom Property

2010-10-01 Thread Phil Davis

 On 10/1/10 9:04 AM, Gregory Lypny wrote:

Hi everyone,

Page 236 of the LiveCode user guide says that arrays cannot be stored as single 
custom properties.  Can anyone confirm this please?  The reason I ask is that I 
thought that I had read in a past Rev newsletter that it was now possible, but 
I may be mistaken.

I'm developing an app in LiveCode and have been saving uni-dimensional arrays 
as single customs props without apparent problems; however, it may be another 
story with multi-dimensional arrays.


For multi-dimensional arrays you need arrayEncode() and arrayDecode():

put ice cream into aMyFoods[favorites][desserts][cold]
set the uMyFoods of stack dataContainer to arrayEncode(aMyFoods)


Regards,

Gregory


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Storing an Array as a Custom Property

2010-10-01 Thread Phil Davis

 On 10/1/10 11:06 AM, Mike Bonner wrote:

You can put multidimensional arrays into properties, at least as of what..
3.5? If I recall correctly, the only real issue with this is that you have
to pull the whole thing back out as a unit to work with it.  I'm not
positive, but I don't think it arrayencodes and decodes when you get and
set. bit not sure.


I stand corrected! Thanks.

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Listing all the unique words in a piece of text (Resource Center broken?)

2010-09-30 Thread Phil Davis

 Hi Mark,

It's not hard!

repeat for each word tWord in tYourtext
   add 1 to aWordCounts[tWord]
end repeat
put the keys of aWordCounts into tList
sort lines of tList
put tList

... but you probably figured this out by now.

Phil



On 9/30/10 8:17 PM, Mark Swindell wrote:

There's a sample script in the LiveCode Resource Center called listing all the unique words 
in a piece of text.  It's located under Resource Center/Sample Scripts/Text/Listing all 
the ...

There's a button available to download the script.  Unfortunately it doesn't  
appear to work and I can't peek into the actual button containing the script.

I used both LiveCode and Rev Studio 4.0... same result.

If anyone has a minute to look and see if this is consistent with their setup, 
I'd appreciate it.  (Or if anyone has the code, I'd appreciate getting it.)

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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Scripts that are already running

2010-09-24 Thread Phil Davis
 Richard's approach would be my approach also. It's usually easier to make the 
solution overly complex, than to make it this simple.


Phil Davis


On 9/24/10 11:12 AM, Richard Gaskin wrote:

DunbarX wrote:


This all came about because someone wanted a single universal watchdog on
his stack. He had several handlers in several places, all of which could
create a condition he wanted to act upon. So the send in time handler fit that
bill. If he created yet another such handler somewhere, it would be
covered. But it occurred to be that if the condition was met and the handler 
still

had much to do and might take a long time to do it, then the condition could
not be dealt with until that handler ends. It seemed intriguing to think
that something could monitor, say, the state of variables, from outside the
handler while it was running.

Anyone think this is a useful, perhaps monumental, feature?


Indeed it would:

Add Threaded messaging and or execution in Transcript
http://quality.runrev.com/qacenter/show_bug.cgi?id=2832

But threading comes with an additional level of responsibility.  Right now we 
almost never have to worry about race conditions, an area where a lot of 
programmers using threaded languages spend thousands of hours each year 
debugging hard-to-track-down issues.


Once you introduce threading into the language it's like handing someone a 
loaded gun with a map to their foot.  Still very useful, and well worth 
implementing, but it would so fundamentally change the messaging system that 
it would raise the learning curve and open up many new ways to make mistakes. :)


For those who need it threading would be a godsend, and RunRev couldn't add 
this fast enough for me.  Many server processes could be much more optimized 
with a threaded implementation.


In the meantime, for single-user apps working within a non-threading system 
isn't usually so bad.  As we've seen in this example, it usually requires no 
more than a single line of code to have any additional checking happening 
inside of any handler you like, and with that requirement it leaves the 
scripter explicitly in control of the interactions between things.


For property settings this might even be reduced to zero additional lines of 
code in the repeat loop if you include a setProp handler that will respond to 
the change:


-- Main handler:

on mouseUp
  repeat with i = 1 to 100
 set the uMyProp of this stack to i
  end repeat
end mouseUp


-- In stack script, library, or any other place in the
-- message path:

setProp uMyProp pValue
  if pValue = 50 then
DoSomethingCool
  end if
end uMyProp


It can be tempting to use getProp and setProp in places where more 
controllable and concise function and command calls can work well as 
accessors, but when you need 'em they're handy to have available.


--
 Richard Gaskin
 Fourth World
 LiveCode training and consulting: http://www.fourthworld.com
 Webzine for LiveCode developers: http://www.LiveCodeJournal.com
 LiveCode Journal blog: http://LiveCodejournal.com/blog.irv
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: uuencode/uudecode

2010-09-23 Thread Phil Davis

 Hi Matthias,

With LiveCode on Mac OS X you could use a shell() command and let the 'uuencode' 
line command do the work. Not sure about Windows... there doesn't seem to be a 
direct way to uuencode a file - no 'uuencode' command, nor any way to do it 
using PowerShell (AFAIK). Do you feel like writing your own LC uu library? That 
should be doable.


More info about the uuencode spec:
http://en.wikipedia.org/wiki/Uuencoding
http://www.opengroup.org/onlinepubs/009695399/utilities/uuencode.html

Phil


On 9/23/10 7:42 AM, Matthias Rebbe wrote:

Hi,

how can i uuencode data with LiveCode?
Do i need 3rd party tools for that? i cannot find anything about it, when 
searching the dictionary for uuencode.

Regards,

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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Mac OS X - how to darken screen?

2010-09-18 Thread Phil Davis
 Good idea. On a couple of my machines (one Mac, one Win) the speed was so fast 
that the fade was almost undetectable, so I went with:


repeat with N = 100 down to 1
   set the blendLevel of stack screencover to N
   wait 4 milliseconds with messages
end repeat

... and a similar repeat with N = 1 to 100.

That made the fade last .4 sec to about 1 sec depending on the machine, which is 
an acceptable range for my need. Thanks for the ideas!


Phil



On 9/17/10 5:16 PM, Scott Rossi wrote:

Phil:

I don't know if you tried Klaus's suggestion (programmatically setting the
blendLevel), but you'll have more control compared to using the built-in
dissolve effect, and if I'm not mistaken the dissolve will look like crap on
Windows without QT installed.  Just a suggestion.

on mouseUp
put the screenRect into pTargetScreenRect
showBlackScreen pTargetScreenRect
wait 3 seconds with messages
send showNormalScreen to me
end mouseUp

command showBlackScreen pTargetScreenRect
# pTargetScreenRect = the rect of your target screen
-- make a 'cover' stack to fill screen
create inv stack screencover -- temp stack, no need to save it
set the backgroundColor of stack screencover to black
set the blendLevel of stack screencover to 100 -- transparent
palette stack screencover -- make this stack the frontmost layer
set the rect of stack screencover to pTargetScreenRect -- size to
screen
show stack screencover -- but it's still transparent
-- make the screen go dark
repeat with N = 19 down to 0
   set blendLevel of stack screencover to N * 5
   wait 20 millisecs with messages
end repeat
end showBlackScreen

command showNormalScreen
-- make the screen look normal again
repeat with N = 1 to 20
   set blendLevel of stack screencover to N * 5
   wait 20 millisecs with messages
end repeat
delete stack screencover -- end the stack's existence
end showNormalScreen


Best Regards,

Scott Rossi
Creative Director
Tactile Media, UX Design




Recently, Phil Davis wrote:


   Thanks so much everyone! Great tips all. Here is my final code, tested on
Mac
OS X 10.5.8 and Windows 7:

command showBlackScreen pTargetScreenRect
 # pTargetScreenRect = the rect of your target screen

 -- make a 'cover' stack to fill screen
 create inv stack screencover -- temp stack, no need to save it
 set the backgroundColor of stack screencover to black
 set the blendLevel of stack screencover to 100 -- transparent
 palette stack screencover -- make this stack the frontmost layer
 set the rect of stack screencover to pTargetScreenRect -- make it same
size as screen
 show stack screencover -- but it's still transparent

 -- make the screen go dark
 lock screen -- hide changes until all is ready for display
 set the blendLevel of stack screencover to 1 -- almost opaque (0 causes
flash on Win 7)
 set the defaultStack to screencover -- to make dissolve work right
 unlock screen with effect dissolve fast -- to reveal black stack
end showBlackScreen



command showNormalScreen
 -- make the screen look normal again
 lock screen -- hide changes until all is ready for display
 set the defaultStack to screencover -- to make dissolve work right
 set the blendLevel of stack screencover to 100 -- transparent
 unlock screen with effect dissolve fast -- to reveal normal screen
 delete stack screencover -- end the stack's existence
end showNormalScreen


Best -
Phil




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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: What is the name of that function...

2010-09-18 Thread Phil Davis

 Hey, it works for the government!

Key:
Johnny = US Treasury
Fred = Federal Reserve Bank
:-)

(OK, it would be funnier if it were less true - I'll say no more)


On 9/18/10 3:51 PM, Mark Wieder wrote:

If Johnny owes nine dollars and gives five of those dollars he doesn't
have to Fred, how many does he have left over?


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Mac OS X - how to darken screen?

2010-09-17 Thread Phil Davis
 Thanks so much everyone! Great tips all. Here is my final code, tested on Mac 
OS X 10.5.8 and Windows 7:


command showBlackScreen pTargetScreenRect
   # pTargetScreenRect = the rect of your target screen

   -- make a 'cover' stack to fill screen
   create inv stack screencover -- temp stack, no need to save it
   set the backgroundColor of stack screencover to black
   set the blendLevel of stack screencover to 100 -- transparent
   palette stack screencover -- make this stack the frontmost layer
   set the rect of stack screencover to pTargetScreenRect -- make it same 
size as screen

   show stack screencover -- but it's still transparent

   -- make the screen go dark
   lock screen -- hide changes until all is ready for display
   set the blendLevel of stack screencover to 1 -- almost opaque (0 causes 
flash on Win 7)

   set the defaultStack to screencover -- to make dissolve work right
   unlock screen with effect dissolve fast -- to reveal black stack
end showBlackScreen



command showNormalScreen
   -- make the screen look normal again
   lock screen -- hide changes until all is ready for display
   set the defaultStack to screencover -- to make dissolve work right
   set the blendLevel of stack screencover to 100 -- transparent
   unlock screen with effect dissolve fast -- to reveal normal screen
   delete stack screencover -- end the stack's existence
end showNormalScreen


Best -
Phil


On 9/17/10 10:27 AM, Klaus on-rev wrote:

Hi all,

important addition!


...
something like this should work:

1. set some properties for the templatestack:
the rect to the screenrect
backgroundcolor to black

decorations to empty!

loc to the screenloc
blendlevel to 100 = completely transparent

2. create stack the_cover
3. set blendlevel in a repeat loop up to 0**
4. Now do your work behind this stack
5. set blendlevel of htat stack in a repeat loop to 0**
6. Close stack the_cover

** Experiment a bit wiht the step in the repeat loop, maybe step 5 or step 
10 will do

Best

Klaus

--
Klaus Major
http://www.major-k.de
kl...@major.on-rev.com

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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Mac OS X - how to darken screen?

2010-09-16 Thread Phil Davis
 I want to darken my Mac screen (not just a stack window) the way a slide 
presentation would do it at its beginning, and then bring it up again to reveal 
what has been changed. Does anyone have an AppleScript or a shell() command for 
this that can be run from Rev?


Thanks!
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Mac OS X - how to darken screen?

2010-09-16 Thread Phil Davis

 Outrageous! Very cool. Thanks Andre.
Phil



On 9/16/10 6:41 PM, Andre Garzia wrote:

You can take a screenshot of the screen and manipulate it to darken it.

On Thu, Sep 16, 2010 at 10:32 PM, Phil Davisrev...@pdslabs.net  wrote:


  I want to darken my Mac screen (not just a stack window) the way a slide
presentation would do it at its beginning, and then bring it up again to
reveal what has been changed. Does anyone have an AppleScript or a shell()
command for this that can be run from Rev?

Thanks!
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: how to identify a 64-bit Windows machine in Rev

2010-09-15 Thread Phil Davis

 You give the most complete answers! Thanks Dar. You've been missed in these 
parts!

Phil


On 9/14/10 5:37 PM, Dar Scott wrote:


On Sep 13, 2010, at 6:06 PM, Phil Davis wrote:

 Does anyone have a clear-cut way for Rev to know whether it's running in a 
32-bit or a 64-bit environment on Windows?




Hardware CPU:

Under...

HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0

...find...

Identifier REG_SZ

If 64 is in the value, the hardware is 64.  If x86 is, you don't know

ProcessorStringName

If 64 is in the name, the hardware is 64.  Otherwise, you don't know.


OS:

You can check the environment variable PROCESSOR_ARCHITECTURE.

If 64 in the value, then you seem to be running a 64-bit Rev on a 64-bit system.

Otherwise look at environment variable PROCESSOR_ARCHITEW6432.  If 64 is in 
the value, you are running on a 64-bit OS.  If it is x86, then you are running 
a 32-bit OS.


You can also look for a folder normally only found in the 64-bit OS, such as 
\\program files (x86).  If it is there, the OS is very likely 64.  If it is 
missing, the OS is very likely 32-bit.  I don't know if reinstalling over 
another OS will affect this.


If the OS is 64, then the hardware is.


Dar


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

http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: how to identify a 64-bit Windows machine in Rev

2010-09-14 Thread Phil Davis

 Thanks Pierre - what thing in the registry should I check?
Phil

On 9/14/10 3:51 AM, Pierre Sahores wrote:

Hi Phil,

Why not check the Registry trough a rev command line call ?

HTH,

Pierre


Le 14 sept. 2010 à 02:06, Phil Davis a écrit :


Does anyone have a clear-cut way for Rev to know whether it's running in a 32-bit 
or a 64-bit environment on Windows? Bonus points for being able to identify 
hardware  software 'bits' separately.

Many thanks!
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


--
Pierre Sahores
mobile : (33) 6 03 95 77 70

www.wrds.com
www.sahores-conseil.com






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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: how to identify a 64-bit Windows machine in Rev

2010-09-14 Thread Phil Davis

 Thanks Andy.


On 9/14/10 3:28 PM, AndyP wrote:

Hi Phil,

Try this is the message box.

put shell(systeminfo)

Part of the retuned info will include

System Type: X86-based PC

So.

x86-based PC: It’s a 32-bit computer.
x64-based PC: It’s a 64-bit computer.

On Win7

If you have a 64 bit version of Win7 you will have these two folders


System32C:\Windows\System32 Windows System folder (system
directory) for 64-bit files
SysWOW64 C:\Windows\SysWOW64Windows System folder (system directory)
for 32-bit files

Hope this helps

Andy Piddock


-
Andy Piddock


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


how to identify a 64-bit Windows machine in Rev

2010-09-13 Thread Phil Davis
 Does anyone have a clear-cut way for Rev to know whether it's running in a 
32-bit or a 64-bit environment on Windows? Bonus points for being able to 
identify hardware  software 'bits' separately.


Many thanks!
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Collecting Web Form Information Using a Loop

2010-09-01 Thread Phil Davis

 On 9/1/10 9:34 AM, Gregory Lypny wrote:

Hello everyone,

On-rev question about collecting web form information.  Suppose I have a 
questionnaire that uses 40 sequentially named menus for the answer choices.  I 
could collect them individually like this.

put $_POST[Q1] into q1
put $_POST[Q2] into q2
put $_POST[Q3] into q3
put $_POST[Q4] into q4
put $_POST[Q5] into q5
...
put $_POST[Q40] into q40

But of course my first inclination is to avoid 40 lines and use a loop.  So I 
tried

repeat with i=1 to 40
put $_POST[(quote  Q  i  quote)]  comma after theSubmission
end repeat

and a number of variations, such as,

(quote  Q  the value of i  quote)

but all I ever get returned is an empty list, i.e., {}.  Any 
suggestions?


Maybe break your one-liner into two:

repeat with i = 1 to 40
put Q  i into tKey
put $_POST[tKey]  comma after theSubmission
end repeat

I would be surprised if this didn't work.

Best -
Phil Davis



Regards,

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



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Copying binary files over a LAN using Rev

2010-08-05 Thread Phil Davis
First I assume each stack is running in its own execution session on the 
respective machines - both stacks are not running under the same copy of 
the engine on one machine. If that were true, both stacks would be 
running on the same machine, no?


Given the above, I can think of 2 ways.

1) Set up a socket connection between the two stacks and write a TCP 
data stream from one to the other. If you do this, it might be a good 
idea to base64Encode the data before transferring it. And it would help 
the receiving machine know what to expect if line 1 of the data contains 
only a number which tells the total number of chars being transferred in 
lines 2 to the end of the data. Then the receiving computer can read the 
socket for 1 line, and then read for line-1-number chars. When the 
data has been transferred, the receiving machine can base64Decode it and 
put it into url binfile:newFilePath. I believe that should work.


2) Open a socket connection between the two and transfer only a URL. 
Then the receiving machine could grab the file by its URL (that sounds 
painful!) and copy it over. This assumes the file whose URL was passed 
is sitting in a place on the sending machine that is accessible to the 
receiving one.


3) I bet there are other ways.

Hope this helps -
Phil Davis


On 8/5/10 11:46 AM, Alejandro Tejada wrote:

Hi all,

How could i use Rev to copy a binary file between
stacks opened in two different computers over a
local area network?

In this LAN, every computer reports at least
two different IP directions:
The first IP (reported by IPconfig) are in the
range 192.168.1.[0-255].
The second IP (visible from the web) are in
the range from 201.229.179.[0-255]

Every idea is welcome!
Thanks in advance.

Al

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: [RevServer tips] Spreading the load or why wise developers use asynchronous workflows

2010-08-04 Thread Phil Davis

Excellent piece, Andre! Thanks.
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: [RevServer tips] Spreading the load or why wise developers use asynchronous workflows

2010-08-04 Thread Phil Davis
You already give back a lot to this community, but along with others I 
think it would be great if you could create an example like you 
mentioned. There's nothing like the real thing!


Phil


On 8/4/10 10:56 AM, Andre Garzia wrote:

Thanks Phil!

:-D

On Wed, Aug 4, 2010 at 2:51 PM, Phil Davisrev...@pdslabs.net  wrote:

   

Excellent piece, Andre! Thanks.
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net


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

 



   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Jailbreaking Everything

2010-07-26 Thread Phil Davis

memoryLane
I remember a magazine article from my youth (1960's) describing how 
someone had taken a Fiat 600 and put a Porsche engine in it (I forget if 
it was a 912 or 911 engine - either one would be quite radical). Now 
THAT's a jailbreak I can appreciate! I guess it resonated with me 
because I had a Fiat 600 at the time.

/memoryLane

Phil Davis


On 7/26/10 11:16 AM, Paul Looney wrote:

Richard,
I'd like to see everything jail broken.

Next up:
The ability to order a GM car with a Ford transmission and a Mercedes 
engine (especially the four cylinder, twin turbo, Diesel they have in 
Europe and Canada).


This might spread beyond the US. Sarah could get a Ford Falcon with 
mechanicals from a Holden Commodore.


Meanwhile in the European Union: Jan could get a Audi A8 with brakes 
from a BMW 7i. Kevin could upgrade his next Bentley with seats from a 
Ferrari. Hugh could get that wonderful Peugot suspension and put it 
into...


Think I'll order a new Citroen catalog. Wonder if they still have the 
2CV? Would be nice with the sound system from a ...

Paul Looney


On Jul 26, 2010, at 10:03 AM, Richard Gaskin wrote:


Michael Kann wrote:

http://www.appleinsider.com/articles/10/07/26/us_government_legalizes_iphone_jailbreaking_for_unauthorized_apps.html 



-- watch for line breaks


Interesting.

If we get the freedom to run our choice of apps on a given hardware 
system, will we someday get the freedom to run our choice of OSes on 
the hardware we choose?


I trust Andrew Kluthe and I aren't the only people who daydream about 
being able to legally enjoy OS X on hardware not made by Apple.


This is an interesting precedent, possibly the beginning of a deep 
sea change favoring consumer choice


--
 Richard Gaskin
 Fourth World
 Rev training and consulting: http://www.fourthworld.com
 Webzine for Rev developers: http://www.revjournal.com
 revJournal blog: http://revjournal.com/blog.irv
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your 
subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-revolution


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

http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: How can I delete an object when clicked?

2010-07-24 Thread Phil Davis

Hi Bill,
Try this:

on mouseUp
   send (delete  the long name of me) to this card in 0 secs
end mouseUp

That will:
1) allow the current handler to quit executing before the delete is 
attempted.

2) let the delete be done by an object not being deleted.

Phil



On 7/24/10 12:59 PM, Bill Vlahos wrote:

I have an object (in this case an image) on a card that I want the user to 
delete.

If I put the following script into the image, Rev complains that the script is 
still executing so it won't complete.
on mouseUp
delete me
end mouseUp

Error: (Object: stack locked, or object's script is executing)

Bill Vlahos
   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: editing group fails

2010-07-22 Thread Phil Davis

Another way to move the object into a group:

put the layer of grp myTargetGroup into x
set the relayerGroupedControls to true
set the layer of control myTargetControl to x+1
set the relayerGroupedControls to false

Phil Davis



On 22/07/10 12:49 PM, dunb...@aol.com wrote:

But this leaves the original, no? I was wondering if one could simply make
an existing object join an existing group.

Thanks.

In a message dated 7/22/10 3:39:40 PM, zryip.thes...@gmail.com writes:


   

Copy [object] to group MyGroup

 

__
   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


garbage collection

2010-07-08 Thread Phil Davis

Hi folks,

Almost a year ago I posted the following with no response, and now the 
need to know has come up again:
In ancient times I used the hasMemory() function to force garbage 
collection and free up memory. But maybe it only worked that way in 
SuperCard... can anyone comment on its effectiveness in Revolution?


Any takers?
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: garbage collection

2010-07-08 Thread Phil Davis
Thanks guys. I know garbage collection is pretty reliable when 
long-running code is structured to take advantage of timers (send 
command to target in time), so I won't rely hasMemory() for it.


Best -
Phil


On 7/8/10 11:10 AM, Ben Rubinstein wrote:
I fear that this sentence from the dictionary entry for hasMemory is 
correct:

This function is only partially implemented, and may not return
useful values on some platforms. It is included in Revolution for
compatibility with imported SuperCard projects.

See also
http://quality.runrev.com/qacenter/show_bug.cgi?id=6791

Poor memory handling is, for me, one of the biggest reasons not to use 
Rev for certain projects.  If it doesn't bite you, you're fine, and 
one of the great benefits of Rev is not having to worry about memory; 
but if it does bite you, you're SOL.  Also see also

http://quality.runrev.com/qacenter/show_bug.cgi?id=2772

Ben

On 08/07/2010 18:55, william humphrey wrote:

Phil

I've been using a fairly complex system of stacks for years now in
RunRev and never heard of or felt a need for freeing up memory. It
seems to me it allocates a certain amount on start-up and stays that
way through out. Of course all my data is stored separately in an
external database (valentina).

Bill

On Thu, Jul 8, 2010 at 1:32 PM, Phil Davisrev...@pdslabs.net  wrote:

Hi folks,

Almost a year ago I posted the following with no response, and now 
the need

to know has come up again:


In ancient times I used the hasMemory() function to force garbage
collection and free up memory. But maybe it only worked that way in
SuperCard... can anyone comment on its effectiveness in Revolution?


Any takers?
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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

http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


more crashes with Rev 3.5 and above?

2010-07-07 Thread Phil Davis

Hi folks,

I'm trying to understand the experience one client is having. We moved 
his Mac-only standalone app from the 3.0 engine to 3.5, then a couple of 
weeks later to 4.0. Since moving beyond 3.0, his customers seem to be 
experiencing a lot more app unexpectedly quit crashes. Is it just my 
perception, or is that your experience too?


If you have the same increase in crashes, have you found any particular 
commands or command sequences that either increase or decrease the crash 
frequency? Or has your crash rate remained unchanged since 3.0?


When the problem happens, it's normally during a file read. Like this:

 from crash log --
Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libSystem.B.dylib 0x0916 __memcpy + 374
1   libSystem.B.dylib 0x9848de4f fread + 132
2   ...ss.app.rev 0x001405df MCS_read(void*, unsigned int, unsigned 
int, IO_header*) + 111
3   ...ss.app.rev 0x001bab88 MCVariableArray::loadkeys(IO_header*, bool) 
+ 744

4   ...ss.app.rev 0x00112eb8 MCObject::load(IO_header*, char const*) + 1880
5   ...ss.app.rev 0x001a15e0 MCStack::load(IO_header*, char const*, 
unsigned char) + 64
6   ...ss.app.rev 0x00072a0c MCDispatch::readfile(char const*, char 
const*, IO_header*, MCStack*, bool) + 1260
7   ...ss.app.rev 0x00072ed9 MCDispatch::loadfile(char const*, 
MCStack*) + 585
8   ...ss.app.rev 0x00073247 MCDispatch::findstackname(MCString const) 
+ 343
9   ...ss.app.rev 0x00029677 MCChunk::getobj(MCExecPoint, MCObject*, 
unsigned int, unsigned char) + 2103

 end of crash log --

But the same files are most often read without a problem. This makes me 
think there's something environmental going on, but that's a guess.


Thanks for any responses.
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: more crashes with Rev 3.5 and above?

2010-07-07 Thread Phil Davis

On 7/7/10 6:16 PM, Curry Kenworthy wrote:

 Since moving beyond 3.0, his customers seem to be experiencing
 a lot more app unexpectedly quit crashes.

I've had some crashes and lock-ups with Rev 4.0 Mac, not sure what all 
patterns. (Rev 4.0 Win is rock-solid.) If you have problems for that 
standalone you might go back to the 3.0 or 3.5 engine temporarily, 
then move back up at the next Rev update. File format compatibility 
between versions is great, isn't it!


Yes indeed!
Phil



Best wishes,

Curry Kenworthy
--
WordLib: Import MS Word and OpenOffice documents
http://curryk.com/wordlib.html

Need custom software development or RunRev help?
http://curryk.com/consulting/


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Group [vertical] scroll bars huge on Windows

2010-06-17 Thread Phil Davis

Hi Jeff -

What happens if you set the scrollbarWidth of the object to 15 or 10 or 
yourNumberHere?



On 6/17/10 11:24 AM, Jeff Massung wrote:

Anyone know how to easily fix this? They are... disproportionately wide.

Jeff M.
   

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Big Flat Stacks - NULLs

2010-06-16 Thread Phil Davis

On 6/16/10 8:27 PM, Paul Looney wrote:

Jacque,
Thanks for the excellent explanation.
So far we have imported over a thousand HC stacks into our Rev-based 
business system. These are mostly databases from our customers.
We noticed that, with some customers, up to a third of the archived 
orders did not make it into the new system. When checking further, we 
found these were customers who regularly pasted text from MS Word or 
AppleWorks into one of the Notes fields. Incidentally, removing the 
NULLs before import was not always successful, either.
Another NULL problem in Rev has been sorts. We've found that 
information is often missing when sorting data containing NULLs (on 
one occasion, the pre-sort data was two megabytes larger than the 
post-sort). Removing NULLS from the data before sorting (which we 
always do now) has fixed the problem for us.

Paul Looney


The filter command can also malfunction if the data contains nulls. I 
ran into that this week.


Phil Davis



On 16/06/2010, at 7:21 PM, J. Landman Gay wrote:


Bob Sneidar wrote:

I vaguely recall that HC was not supposed to have nulls, but some bug
or other caused them and wrecked havoc with HC stacks. Compacting the
stack seemed to eliminate them.


HC used nulls as end-of-field markers, so if text containing nulls 
was pasted into an HC field, the text would truncate at the first 
null. I once had to debug a stack like that, where someone had pasted 
some text from AppleWorks into the stack. It wasn't a bug, just a 
result of pasting.


Rev handles nulls in fields fine. But during a normal Rev import, the 
Rev engine knows that nulls were end-of-field markers in HC and so 
probably truncates the incoming text at that point too, just as HC did.


I'm not sure why Paul would need to replace incoming nulls with empty 
though, since the Rev engine shouldn't bring any of them in when it 
opens a HC stack.


--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software   | http://www.hyperactivesw.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your 
subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-revolution


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

http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: [OT] Google Drops Windows

2010-06-02 Thread Phil Davis

The late Grant Schempel? (not sure about spelling)

On 6/2/10 2:04 PM, Kurt Kaufman wrote:

S.R.:
One hundred rubles says an army of Russian virus writers is working in the
office next door to Kasparsky, and they all take cigarette breaks together
every morning.  :-)

LOL!   Wasn't there someone who, years ago on the SC list, would 
occasionally spin fanciful tales of KGB and Stasi intrigue?

Kurt
   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: [OT] Divine Bliss

2010-05-22 Thread Phil Davis

On 23/05/10 4:57 AM, Richmond Mathewson wrote:

While I wouldn't advocate giving everything else
up, I would advocate getting into RunRev in a big
way; the deeper one digs the more 'gold' one
finds

Amen!

Phil Davis

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


Re: Monitor Shell Copy File Progress

2010-05-22 Thread Phil Davis
I bet you could use cURL for this, using the FILE protocol. Build your 
curl command line with filenames formatted for curl; open it as a 
process for read; read that process's output every 500 msecs or so to 
get the progress info.


I'm on assignment in NZ right now so I don't have everything at my 
fingertips. Josh Mellicker made me aware of curl a few months ago, and 
Ken Ray may have made a rev library of it by now.  ;-)  Also Mark Smith 
created a rev curl lib some time ago.


Food for thought...

Phil Davis



On 23/05/10 12:26 PM, Alex Tweedly wrote:
First thought : I thought (according to Dictionary) that shell would 
wait until the command was complete before returning - dictionary says
The current handler pauses until the shell returns its result. If the 
command was successful but did not return anything, the shell 
function returns empty.
Second try :   why take a checksum, why not just use the file size ?  
Getting the checksum may involve copying the file from the remote 
server into your laptop to calculate the checksum.


Third try : instead of doing shell 'cp file '   could you do
   load url (file:  tRemotepathname)
      check the cachedURLs 
   put url(file:  tRemotepathname) into url('file:  tLocalfilename)

-- Alex.

On 22/05/2010 23:35, Sivakatirswami wrote:
Work working on an in-house file manager - RCS for Indesign (since 
Adobe did an end of life for Version Cue)


It's coming along well, in fact really well.

One challenge is that I'm using  lots of these:

  put (mv   quote  gLocalFilePath  quote   quote  
(gLocalProjectPath / tShortFileName)  quote) into tShell

   get shell (tShell)

   put (cp   quote  (gLocalProjectPath / tShortFileName)  
quote   quote  (gServerProjectPath / tShortFileName)  
quote) into tShell

   get shell (tShell)

to more files around and rename them... it works great.

Is there a way to monitor a background shell process like this?

The problem is if you copy from the Big Server on the LAN... to my 
Little MacBook Pro... you won't know when the file is completely 
copied to the local hard drive before doing:


 launch (gLocalProjectPath /  pFileName) with the 
uInDesignPath of this stack


Typically RunRev will issue the unix cp command and then immediately 
launch inDesign, which crokes because the file is incomplete on the 
local hard drive.


Now I have some ideas about how to do this: get the checksum some of 
the remote file, do a send in 30 ticks (repeatedly) test of the local 
file until the local file's checksum matches the remote file and then 
launch it.


But before I go after this, I was wondering if anyone had any other 
method?  Most cool would be a progress bar, but I'm not sure RunRev 
can monitor a local unix copy file processor, if it can, how to 
do it.


Thanks!
Sivakatirswami


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


Re: Accessing stacks without opening

2010-04-26 Thread Phil Davis

Hi Marty,

When you reference a stack that is not open, it is brought into memory. 
Even this will do it:


-- set 'it' to true or false
get (there is a stack abc) -- looks in the default folder for the 
stack


Or you can reference the stack by its filename.

When a stack file is brought into memory this way, none of the normal 
preOpen / open messages are sent to it or its parts. AND visible stacks 
are not shown. You can definitely use this to your advantage in certain 
cases! It is not bad form. The important thing is that you know what's 
happening.


Phil Davis



On 4/26/10 6:47 PM, Marty Knapp wrote:
So it appears that you can set custom properties of a stack and put 
information into fields of stacks that are not open, from a stack that 
is open. I just did it by accident! That being the case, is there 
anything that I should be aware of when doing this? Is the referenced 
stack loaded into memory? Is this considered bad form?


Thanks,
Marty Knapp


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Is there a maximum data size for groups?

2010-04-17 Thread Phil Davis

This list is never dull!
Phil Davis


On 4/17/10 9:37 AM, Richmond Mathewson wrote:

 On 17/04/2010 19:17, J. Landman Gay wrote:

Richmond Mathewson wrote:

 On 17/04/2010 18:47, Jonathan Lynch wrote:

Hi guys,

I think you must be right that I am using up my RAM.

Drat, this is gonna be a pain in the bahonkus.

One pain in the bahonkus now is probably
better than a whole slew of pains in the
bahonkus later on . . .  :)


Oh so true. In one project right now, due to a lack of foresight, I 
can hardly sit down.




Hmm; that's interesting - I was wondering exactly where the bahonkus 
was: not being a

North American - we Europeans have different anatomy . . .   :)

All right; we use different euphemistic terms for the same bits of 
anatomy . . .


- 



While I'm here; I suffer from a lack of foresight too, having had it
circumscribed at an early age . . . the old jokes are always the best!
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your 
subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Java Socket read problem

2010-04-06 Thread Phil Davis

Comment inserted below -

On 4/6/10 10:54 AM, Shani wrote:

HI,

I have problem with the revcode. It cant display

This result.
Server Started
Client Syas: AllowServer


I start the process then write AllowServer as a client but it cant work.

Kindly tell me on which line is the problem,
Java program is working. Th eproblem is rev side.

StartProcessButton
3
on mouseUp
 local tDefaultFolder, tProcess
--
put the defaultFolder into tDefaultFolder
set the defaultFolder to StackPath()
--
put java Server 54321 into tProcess
open process tProcess for neither
--
set the defaultFolder to tDefaultFolder
end mouseUp
##


Socketbutton
###
on mouseUp
local tDefaultFolder, tResult, tSocket
--
put  (localhost:54321) into tSocket

open socket tSocket
write AllowServer  return to socket tResult
   


The above line should say:

write AllowServer  return to socket tSocket

There may be other things, but this one caught my eye.
Phil Davis



 answer tResult

end mouseUp


function StackPath
local tPath
--
put the effective filename of this stack into tPath
set the itemDelimiter to slash
delete item -1 of tPath
--
return tPath
end StackPath






Java coding:

import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main (String[] args) throws IOException{
ServerSocket server=new ServerSocket(54321);
System.out.println(Server Started);
Socket client= server.accept();
DataInputStream in= new DataInputStream(client.getInputStream());

System.out.println(Client Syas:  + in.readUTF());
}
}



You can see the example on this link:
http://www.4shared.com/file/258393507/808220ec/javaServer.html


Regards,
SHANI

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

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: text-to-speech API? SAPI?

2010-03-04 Thread Phil Davis
There is a world of difference in quality between voices included with 
the Windows OS and those available from third parties. When I was 
exploring this a few years ago, I discovered that Cepstral offered some 
higher quality voices for not that much money (relative to my need at 
the time). This was several years ago so I'm sure the market has 
changed, but you might check them out anyway:


http://www.cepstral.com/demos/

HTH -
Phil Davis


On 3/4/10 4:58 AM, Nicolas Cueto wrote:

Look at revSpeechVoices() and revSetSpeechVoice in the dictionary. There are
a bunch of different voices you can try,
 

That's the first thing I did. I'm on XP so only have Microsoft Sam.
Not sufficient at all.

Have also listened to Vista's Microsoft Anna. So-so, but still too unnatural.

Perhaps alternate voices aren't the solution...

--
Nicolas Cueto
   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: FTP uploads with curl - monitoring progress - any ideas?

2010-03-04 Thread Phil Davis

Hi Ken,

If you open curl as a process, you can then read the status info one 
line at a time. Would that work?


Here's one way (courtesy of Josh Mellicker, with some mods):

-- a button script --

local vCurlProcess


on mouseUp
   put empty into fld output
   put formattedForCurl(fld filename) into tFiles

   put (curl -T  tFiles  fld server  -C -) into vCurlProcess
   open process vCurlProcess for read
   get the result
   if it = empty
   then send getCurlReport to me in 12 ticks
   else answer it
end mouseUp


on getCurlReport
   read from process vCurlProcess for 1 line
   put it after fld output
   if it = empty
   then closeCurl
   else send getCurlReport to me in 12 ticks
end getCurlReport


on closeCurl
   close process vCurlProcess
   answer Done.
end closeCurl


function formattedForCurl pFileList
   -- handle single file selection
   if the number of lines in pFileList = 1 then return quote  
pFileList  quote


   -- handle multi file selections
   replace CR with , in pFileList
   put quote  {  pFileList  }  quote into tList
   return tList
end formattedForCurl


There you have it!
Phil



On 3/4/10 10:28 AM, Ken Ray wrote:

I have some large files (100MB +) that I need to FTP to a customer's server.
I have tried to use libURL to do the uploading, but I get odd results/random
timeouts/errant status messages when the file I'm uploading is over 40MB.
I've tried many different workarounds to this, but none have been
consistent/acceptable so for this project I'm seeing if I can use curl.

The pain is that there doesn't seem to be a way to retrieve the progress of
an FTP upload so I can display a custom upload box. If I redirect it to
dev/null, I get control back after the upload starts, but I can't get any
progress data:

curl -T filePath -u user:pass serverAdress  /dev/null 21

If I redirect to stdin, it's blocking and I only get anything when the
upload is complete:

curl -T filePath -u user:pass serverAdress  stdin

I've also tried:

curl -T filePath -u user:pass serverAdress  stdin
curl -T filePath -u user:pass serverAdress  stdin 21

Is there any way to make a non-blocking call to curl, but then to get back
the progress text that would normally be displayed in the Terminal?

Any help would be appreciated...

Ken Ray
Sons of Thunder Software, Inc.
Email: k...@sonsothunder.com
Web Site: http://www.sonsothunder.com/


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

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: How do I 'shorten' this script?

2010-03-04 Thread Phil Davis

Hi William,

You were almost there. The statement that sets the 'tName' variable 
value AND the condition-check that uses it must BOTH be inside the 
repeat loop, like this:


on mouseUp
   repeat with x = 1 to 5
  put Ax into tName
  if the backgroundcolor of grc tName of grp A \
  = the backgroundcolor of grc tName of grp B
  then answer AnswerA
  else answer AnswerB
   end repeat
end mouseUp

HTH -
Phil Davis


On 3/4/10 10:01 PM, William de Smet wrote:

Hi there,


I am having trouble with 'shortening' some script but don't know why.

The first script works but the second one doesn't. What am I doing wrong?

Thanks!


Greetings,


William

*
*

*
*

*on mouseUp*

*if* the backgroundcolor of grc A1 of grp A = the backgroundcolor of grc
  A1 of grp B and \

*if the backgroundcolor of grc A2 of grp A = the backgroundcolor of grc
  A2 of grp B and \*

*if the backgroundcolor of grc A3 of grp A = the backgroundcolor of grc
  A3 of grp B and \*

*if* the backgroundcolor of grc A4 of grp A = the backgroundcolor of grc
  A4 of grp B and \

*if* the backgroundcolor of grc A5 of grp A = the backgroundcolor of grc
  A5 of grp B

  *then* *answer* AnswerA

*else* *answer* AnswerB

*end* mouseUp




*on* mouseUp

*repeat* with x = 1 to 5

   *put* Ax into tName

   *end* *repeat*

  *if* the backgroundcolor of grc tName of grp A = the backgroundcolor of
grc tName of grp B

*then* *answer* AnswerA

*else* *answer* AnswerB

*end* mouseUp
   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: [On-Rev] sending email thru sendmail?!

2010-03-03 Thread Phil Davis

Hi Andre,

A few months ago, Tereza and I created a revweb test for my client to 
use with his customers. At the end it emails test results automatically 
from a CGI on the on-rev server. I just now tested it and it works. It's 
emailing from a CGI, not from irev code, so maybe it won't answer your 
need; but maybe it will:



on sendReport pEmail, pReport
-- start process
put (mail -s  q(RevWeb Test Results)  \
revwebt...@domain1.com -a  q(From: 
donotre...@domain2.com))  cr into tMailProcess

open process tMailProcess for write
put the result into tPID
put open:  tPID  cr after tLog

-- write body
--put Here are the results from your Rev Web Test:  cr  pReport 
into tBody

put  cr  pReport into tBody

write tBody to process tMailProcess
put write body:  the result  cr after tLog

-- provide a CC
write   cr to process tMailProcess
put write CC:  the result  cr after tLog

close process tMailProcess
put close:  the result  cr after tLog
wait until tMailProcess is not in the openProcesses
end sendReport


Best -
Phil Davis


On 3/3/10 8:10 AM, Andre Garzia wrote:

Ralf,

this is a self contained system to be distributted, can't use revIgniter
because this is supposed to integrate into other people works... it is a
minimal system.

Tried using mail and sendmail... I am almost about to code SMTP on my own, I
did it before...

damn
andre

On Wed, Mar 3, 2010 at 12:58 PM, Ralf Bitterra...@dimensionb.de  wrote:

   

Hi Andre,

with revIgniter it works, plus there is
a debugger function.

Cheers

Ralf


On 03.03.2010, at 16:27, Andre Garzia wrote:

 

Ha!

Logged thru SSH and tried both mail and sendmail and none works!

:D

\o/

Doing the happy dance, it is definitely broken or configured so badly
   

that
 

it doesn't work as all the other installations I've found.

Anyone is able to send mail in On-Rev?

Cheers
andre

On Wed, Mar 3, 2010 at 12:09 PM, Andre Garziaan...@andregarzia.com
   

wrote:
 
   

Just tried the mail + shell commands and it doesn't work as well...

no error is triggered but the email also never arrives. It would be
 

useful
 

is On-Rev Team would add the sendmail/mail log to the cPanel thing.

:-/

can't even see the logs! Argh!

Cheers
andre


On Wed, Mar 3, 2010 at 11:57 AM, Andre Garziaan...@andregarzia.com
 

wrote:
   
 

Bernard  Jeffrey,

thanks for the reply.

On On-Rev cPanel there's a information label with the sendmail
   

location,
 

which I used on my script but the thing is not working.

I have code for mail as well as I used this on mac os x... silly
computers never working the way they should, let me try mail.

Cheers
andre


On Wed, Mar 3, 2010 at 11:50 AM, Bernard Devlinbdrun...@gmail.com
   

wrote:
   
   

On Wed, Mar 3, 2010 at 1:55 PM, Andre Garziaan...@andregarzia.com
wrote:
 

Aloha Folks,

Did anyone here is able to send email using sendmail in On-Rev, my
   

code
 

that
 

I use everywhere is not working anymore, somehow it can't open the
   

sendmail
 

process.
   

Some linux installations have a CLI mailer called 'mail' instead of
'sendmail'.  I know on some installations where Postfix is the smtpd
I've had to install that 'mail' program separately.  I don't have the
details to hand, but can look them up if necessary.

You could try 'there is a file /usr/bin/sendmail' to check for the
existence of sendmail with on-rev.

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

 



--
http://www.andregarzia.com All We Do Is Code.

   



--
http://www.andregarzia.com All We Do Is Code.

 



--
http://www.andregarzia.com All We Do Is Code.
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
   

subscription preferences:
 

http://lists.runrev.com/mailman/listinfo/use-revolution
   

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

 



   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: geek-meter might go right into overload

2010-02-23 Thread Phil Davis

On 2/23/10 12:38 PM, J. Landman Gay wrote:

Robert Cole wrote:

I saw this article today about the iPhone and Photoshop.
 
http://www.tuaw.com/2010/02/23/found-footage-photoshop-v1-0-recreated-on-iphone/ 


The second paragraph of the article contains a reference to HyperCard.
I wonder if the author knows about Revolution.


It would be great if you'd add a comment there telling him.


Done.

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Search / replace

2010-02-20 Thread Phil Davis
Thanks Kee. This is simple and clear, and is a great way to do it for 
the exact reason you gave.


Phil Davis


On 2/20/10 4:04 PM, Kee Nethery wrote:

This may not be the fastest but I think it is easy to grok a year later when 
you are revisiting the code

repeat with x = 0 to 9
   replace (x  [) with (x  _) in theField
end repeat

   

For all [ in the field I need to check to see if the character to it's
immediate left is a number.

If it is a number then the [ is to be converted into an _.

If it is not a number then the [ is to be removed (no substitution or
spaces).

I need to be able to cycle through the entire field which each line may
contain several [.

Any thoughts would be appreciated as I have tried using a combination of
find characters and foundchunk on the field without success.

thanks,

 

-
I check email roughly 2 to 3 times per business day.
Kagi main office: +1 (510) 550-1336
   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: SuperDuper textSize property

2010-02-19 Thread Phil Davis

On 2/19/10 8:48 AM, dunb...@aol.com wrote:

This is nothing new, and has always been the case in HC.

I make a field and I set the textSize of the field to 12. I write three
lines of text.
I then set the textSize of line 2 of the field to 24. That line gets
bigger.
If I ask for the textSize of line 2, I get 24. If I ask for the textSize of
the field, I get 12.
If I then set the textSize of the field to 10, all lines but line 2 obey.

OK, they always did. Lines (or chunks in general) remember their textSize
(or textStyle, or textAnything) as a personal property, taking precedence
over the field property.

So is it true that in order to globally change one of these properties I
have to explicitly use some sort of chunk expression:

set line 1 to the number of lines of fld myField to plain
   


Hi Craig,

You want to REMOVE the chunk-based text property, not set it to another 
value, right? So try this:


   set the textAnything of line 1 to -1 of fld myField to empty

If you set it to a non-empty value, you've only traded one chunk-based 
setting for another. At least that's my understanding.


Phil Davis


I only ask because Rev seems to have a property for everything. There isn't
an overArchingTextStyle property?

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

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: relative position of a target within a group

2010-02-19 Thread Phil Davis

Hi Mark,

Here's one way you can use with any grouped object.

on mouseUp -- in a grouped button
   put the locWithinGroup of me
end mouseUp


getProp locWithinGroup
   -- return card-relative loc if target object is not in a group
   if word 1 of the name of the owner of the target is not group
   then return the loc of the target

   -- return the loc of the target object relative to its 'owner' group
   return \
  (item 1 of the loc of the target - the left of the owner of 
the target), \
  (item 2 of the loc of the target - the top of the owner of 
the target)

end locWithinGroup

HTH -
Phil Davis


On 2/19/10 1:55 PM, Mark Swindell wrote:

How does one get the relative position of a button within a group of buttons?

I want to

put the (relative to group myGroup) number of the target into vMyVar

One can say

select button 3 of group myGroup

without problem.

But how would one best do this using the target function?


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

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Script Editor Handler List

2010-02-19 Thread Phil Davis

On 2/19/10 8:50 PM, Scott Rossi wrote:

Recently, Cal Horner wrote:

   

Is anybody out there having trouble with disappearing Handler Lists. Or is
it only me?

The list is there for a while and then it must decide to take a tea break.
 

Happens here as well.  Also, the message box becomes non-responsive (becomes
tied to a hidden or non-open stack).  In both cases, a close of the window
and reopen solves it.
   


Also you can click the current script editor tab (but not the close 
dot!) and the handler list is refreshed.



Regards,

Scott Rossi
Creative Director
Tactile Media, UX Design
   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Getting some chars from a string?

2010-02-09 Thread Phil Davis

Hi Richmond,

Here's another way:

on mouseEnter
put myNumber(the short name of me)
end mouseEnter

function myNumber pNOMEN
set the itemDelimiter to .
return char 2 to -1 of item 1 of pNOMEN
end myNumber

Phil

On 2/9/10 11:01 AM, Richmond Mathewson wrote:

I have a series of image names for the type:

f#.png

where # can be a number anywhere between 1 and 6 figures long.

what I need is to extract the number from the image name.

SO, starting with

on mouseEnter
  put the short name of me into NOMEN

?


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Andre's house - Bill's house [OT]

2010-02-08 Thread Phil Davis

On 2/8/10 8:31 AM, william humphrey wrote:

Andre

It is always between 72 and 85 degrees F up here in the rainforest. But the
humidity is often 100%.
I have to store all data on hard drives (music CD's and movie DVD's don't
last) and keep them warm. Not complaining.  I love it here. Anytime you want
to come to our bed and breakfast and stay for free you are welcome (
http://www.rainforestinn.com ). That invitation is, of course, open to all
you other RunRev programmers who have many magnitudes of ability greater
than I.

Bill
   


WOW! Thanks Bill.

So... RevCon 2011 at your place?  ;-)

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Getting list of files in a folder

2010-02-08 Thread Phil Davis

Hi Mark,

Gotta love this list! I'm not really trying to improve on the solutions 
from Terry and Sarah, just offering an alternative.


Instead of prepending each filename with the path via a repeat loop like 
this:


   repeat for each line L in tFileList
 put pFolder  L  cr after tFullList
   end repeat

You could do it this way:

   put (CR  tFileList) into tFullList
   replace CR with (CR  pFolder) in tFullList
   delete char 1 of tFullList

So you have 3 lines that execute, even with a list of 1000 files. I 
haven't timed this to see if there's a speed gain - just thought I would 
throw it out there.


Phil Davis



On 2/8/10 9:20 PM, Mark Swindell wrote:

Terry, Sarah,

Wow, that was fast!  Thank you so much.

Mark

On Feb 8, 2010, at 9:19 PM, Sarah Reichelt wrote:

   

On Tue, Feb 9, 2010 at 3:05 PM, Mark Swindellmdswind...@cruzio.com  wrote:
 

How do I return a list of the files in a given folder on disk along with their 
full path?
   

Manually :-)

Here is a function I wrote that lists files in a folder for you,
resetting the defaultFolder when it's got the list.

function listFiles pFolder, pGiveFullPath
  if there is not a folder pFolder then return empty

  -- get the list of files  reset default folder
  put the defaultFolder into tOldDefault
  set the defaultFolder to pFolder
  put the files into tFileList
  set the defaultFolder to tOldDefault

  -- filter out OS X's invisible files
  filter tFileList without .*

  -- add folder path to file name if required
  if pGiveFullPath is among the items of true,yes,full then
put empty into tFullList
if the last char of pFolder  / then put / after pFolder
repeat for each line L in tFileList
  put pFolder  L  cr after tFullList
end repeat
delete last char of tFullList
return tFullList

  else
return tFileList
  end if
end listFiles


If you use:
   put listFiles(tFolder) into fld Files
you get tust the file names, but if you use:
   put listFiles(tFolder, full) into fld Data
you will get the full file paths.

Cheers,
Sarah
 


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Calling stack?

2010-02-02 Thread Phil Davis

Hi Bill,

This works:

on openStack
answer the name of the owner of the recent card
end openStack

Phil

On 2/2/10 9:03 PM, Bill Vlahos wrote:

I have a stack that opens another stack. How do I refer to the name of the 
calling stack in the freshly opened stack which is now on top?

Bill Vlahos
_
InfoWallet (http://www.infowallet.com) is about keeping your important life 
information with you, accessible, and secure.
   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: is the platform on 64bit windows systems also win32?

2010-01-27 Thread Phil Davis

Hi Tiemo,

I'm not sure if anyone answered your question directly, so... on my 
64-bit Win 7 machine, the platform returns Win32 in Rev 4.0.


Phil Davis


On 1/27/10 5:13 AM, Tiemo Hollmann TB wrote:

Thank you Luis,
I just wanted to get sure not to exclude 64 Bit Users when selecting the
platform with Win32 :)
Tiemo
   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Modal dialog not modal... any hints?

2010-01-19 Thread Phil Davis

Hi Tereza,

So you call YesOrNo() from preOpenStack? If so, I bet that's the 
problem. Hide your mainStack in preOpenStack, and call AskYesOrNo() in 
openStack (after the stack window has been drawn, even if invisible). 
And before calling AskYesOrNo() be sure the modal stack is visible.


This is a guess, but I think I did something like that when I had 
troubles with modal stacks in the past.


Phil Davis



On 1/19/10 2:37 PM, Tereza Snyder wrote:

On Jan 19, 2010, at 4:02 PM, Jacques Hausser wrote:

   

Hi Tereza

I checked your handler in a stack modaling a substack AskYesOrNo with both 
RR 3.5 and 4, and both seem to work perfectly...
Do you have something else than filling fields with the custom properties and setting the 
dialogData in the scripts of AskYesOrNo ?

Jacques

 

Thanks Jacques!

In preopenstack I move buttons around to suit the platform and default value, 
and I arrange to return the default value on returnkey. But I do nothing 
unusual. I've had to revert to using an answer dialog--which works--but I wish 
my own dialog would work! This is old code that worked for years that I revived 
for this project (I wanted my own look-and-feel). Convinces  me I really AM 
losing my grip!


t

   

Le 19 janv. 2010 à 21:22, Tereza Snyder a écrit :

 

On Jan 19, 2010, at 1:56 PM, Jerry Daniels wrote:

   

Tereza,

modal stack AskYesOrNo

Don't you have to put the word stack in there?
 

The (mis)behavior is the same whether it's modal stack  or just modal


   

On Jan 19, 2010, at 1:05 PM, Tereza Snyder wrote:

 

I have this handler in a script:


function YesOrNo pQuestion, pDefaultAnswer
set the Question of stack AskYesOrNo  to pQuestion
set the DefaultAnswer of stack AskYesOrNo to pDefaultAnswer
modal AskYesOrNo
return the dialogData
end YesOrNo

The stack AskYesOrNo is intended to do what you'd expect: it displays the question with yes or no and returns 
yes or no in the dialog data. However, when I call this handler, it returns empty before it even displays the dialog. If I 
insert a put statement AFTER the modal statement, the putted text is visible in the message box while the dialog is on the 
screen, and statements in the caller of the YesOrNo function are executed before I exit the dialog.

In other words, modal seems broken. Before I start making test stacks, has 
anyone encountered this before? Could there be a bug in the dialog scripts that causes 
the dialog to fail silently?

(Revolution 3.5, MacOS 10.6.2)
   

--
Tereza Snyder
Califex Software, Inc.
www.califexsoftware.com




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

**
Prof. Jacques Hausser
Department of Ecology and Evolution
Biophore / Sorge
University of Lausanne
CH 1015 Lausanne
please use my private address:
6 route de Burtigny
CH-1269 Bassins
tel/fax:++ 41 22 366 19 40
mobile: ++ 41 79 757 05 24
E-Mail: jacques.haus...@unil.ch
***

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

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

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Ask window and foreign language

2010-01-16 Thread Phil Davis

Try this:

set the label of btn Cancel of stack ask dialog to 
ask Use what value?

Phil


On 1/15/10 11:59 PM, Ludovic Thébault wrote:

Hello,

It is possible to translate the Cancel button in the ask window ?

Thanks.


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Ask window and foreign language

2010-01-16 Thread Phil Davis

LOL - maybe I should have said:

 set the label of btn Cancel of stack ask dialog to 

;-)



On 1/16/10 12:34 AM, Mark Wieder wrote:

Phil-

Saturday, January 16, 2010, 12:16:08 AM, you wrote:

   

Try this:
 
   

  set the label of btn Cancel of stack ask dialog to 
  ask Use what value?
 

I fell asleep waiting for an answer...

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: USB dance-pad with Rev?

2010-01-14 Thread Phil Davis
Yes, what Björnke (and Dave C) said is true - in USB termonology the 
device interaction requirements are defined by the class it belongs to.


   * Mass Storage class = flash drives etc. Rev lists them in the volumes

   * Communications class = Björnke's serial over USB - controller
 boards, modems etc that have a command set of their own. These
 usually have drivers that Rev lists in the driverNames although
 they don't always get listed. (I have a 'deviceNames()' function
 somewhere (thanks to Dar Scott and Ken Ray) that returns a more
 complete list - I'll see if I can dig it out and post it.) These
 require that you open driver / read from driver / write to driver
 / close driver. I learned a lot from Sarah Reichelt about working
 with this device type. Here is a description of her work with one
 such device:
   http://www.pdslabs.net/usb/rev-usb1.pdf

   * HID class = keyboards, mice etc.

There are about a dozen USB device classes in all, but the ones listed 
above are the ones most relevant to the current discussion.


Phil Davis




On 1/14/10 8:15 AM, Björnke von Gierke wrote:

Another boon is that usb developers are lazy (like all developers). Thus they 
often use some standard lib for their device, especially if it isn't a network 
adapter or other exotic device.

and the most standardised libs are:
disk space (USB memory stick or HD)
user interface (mouses, keyboard, ...)
serial over usb

so it might be worth a shot to check the drivernames when you connect your 
device or before and after you install relevant drivers...

of course this is pretty much a shot into the dark...
bjoernke


   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Simple Arrays

2010-01-11 Thread Phil Davis
Thanks Dick - I hadn't thought about handling common cases differently. 
Good idea!


Phil


On 1/11/10 12:10 PM, Dick Kriesel wrote:

On 1/10/10 1:25 PM, Phil Davisrev...@pdslabs.net  wrote:

   

The things some people do for fun...  ;-)
 

... can make others want to get in on the fun, like by fixing something that
ain't broke.  Here's an elaboration on your idea that handles your sample
data more than twice as fast, primarily by avoiding the do for typical
cases.

Thanks for the cue, Phil.

-- Dick


postscript_with_line_wraps

function table_split tTable,pLineDel,pItemDel
filter tTable without empty
set the lineDelimiter to coalesce(pLineDel,cr)
set the itemDelimiter to coalesce(pItemDel,tab)
switch number of items in line 1 of tTable - 1 -- number of dimensions
   case 1
  repeat for each line tLine in tTable
 put item 2 of tLine into tArray[item 1 of tLine]
  end repeat
  break
   case 2
  repeat for each line tLine in tTable
 put item 3 of tLine into tArray[item 1 of tLine][item 2 of
tLine]
  end repeat
  break
   case 3
  repeat for each line tLine in tTable
 put item 4 of tLine into tArray[item 1 of tLine][item 2 of
tLine][item 3 of tLine]
  end repeat
  break
   default
  repeat for each line tLine in tTable
 do put last item of tLine into tArray[  replaceText(item 1 to
-2 of tLine,the itemDelimiter,][)  ]
  end repeat
end switch
return tArray
end table_split

function coalesce -- return the first non-empty parameter
repeat with i = 1 to the paramCount
   if param(i) is not empty then
  return param(i)
   end if
end repeat
end coalesce

/postscript_with_line_wraps


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

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Bill Marriott

2010-01-11 Thread Phil Davis

On 1/11/10 4:59 PM, Bob Sneidar wrote:

So very sorry for your loss. May we all take a moment and remember how much the 
work and passions of others help us in our everyday lives, and be thankful for 
every day, and every friend given us.

Bob
   


I say amen to Bob's comment. I believe we will all miss Bill's 
considerable contribution to our greater joy with Rev (and often the 
improvement of our work lives) through his work improving it.


Phil



On Jan 11, 2010, at 3:42 PM, Kevin Miller wrote:

   

Hi all,

It is with great sadness that I must inform you that Bill, our Marketing
Director here at RunRev, passed away unexpectedly on Friday. Bill was in his
mid 40s, had diabetes and had suffered a number of health problems recently,
including a heart attack. Unfortunately I’m not in a position to say much
more about the circumstances of his passing at the moment.

During his time with us Bill spearheaded a number of initiatives which in
part, contributed to some of the most successful growth we have seen in
recent times. Bill was often quirky, sometimes controversial, but usually he
was right. His strategies and campaigns were never boring and the results
speak for themselves. Outside of work I came to consider Bill a close
friend. In time we will be able to find someone to fill his position but I
will always remember him for his unique contribution.

His death comes for me right after the death of my brother’s young daughter
during the holidays, so between these events it will take me a little time
to find my feet again. If you have emailed me about something and not
received a reply I would ask that you be patient, normal service will resume
shortly.

Thank you Bill, for everything. I hope you rest in peace.

Kind regards,

Kevin

Kevin Miller ~ ke...@runrev.com ~ http://www.runrev.com/
RunRev - Software construction for everyone
 


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Simple Arrays

2010-01-10 Thread Phil Davis
All this discussion of arrays inspired me to create a general-purpose 
function that 'splits' table data into an array. It will handle data 
that has any number of 'lookup key' items before the final 'lookup data' 
item in each row.



Some sample data:
1,1,1,data111
1,1,2,data112
1,1,3,data113
1,2,1,data121
1,2,2,data122
1,3,1,data131
1,3,2,data132
1,3,3,data133
1,3,4,data134
2,1,1,data211
2,1,2,data212
2,2,1,data221
2,2,2,data222
2,2,3,data223
2,2,4,data224
2,2,5,data225


The code (watch for line wraps):

on mouseUp
   put table_Split(fld 2,,comma) into tArray
   -- then do things with array data
end mouseUp


function table_Split pTable, pLineDel, pItemDel
   #---
   #   pTable = REQUIRED rows of column data, where
   #   .all rows have the same number of columns
   #   .cols 1 to -2 of each row are the lookup keys for the value
   #   .col -1 of each row is the value to be looked up
   #   pLineDel = OPTIONAL non-CR line delimiter used in pTable
   #   pItemDel = OPTIONAL non-tab item delimiter used in pTable
   #---

   local vArray -- make sure variable exists for 'do' command

   -- prep
   if pLineDel = empty then put CR into pLineDel
   if pItemDel = empty then put tab into pItemDel
   set the itemDel to pItemDel
   set the lineDel to pLineDel
   filter pTable without empty -- remove blank lines from data

   repeat for each line tLine in pTable
  -- prep key
  put vArray[  quote  item 1 to -2 of tLine  quote  ] into 
tArrayElementName

  replace pItemDel with (quote  ][  quote) in tArrayElementName
  -- store data item in array element
  do (put last item of tLine into  tArrayElementName)
   end repeat

   put vArray into tArray
   delete variable vArray -- so it will be empty next time through
   return tArray
end table_Split


You can set a breakpoint at the return tArray line to see the array in 
the script editor's variable viewer.


The things some people do for fun...  ;-)
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Simple Arrays

2010-01-09 Thread Phil Davis

Hi Bob,

On 1/9/10 5:12 PM, Bob Sneidar wrote:

Hi all.

Apparently I am not getting arrays AT ALL. I would think that given:

put 1  comma  A  comma  Green  return into theData
put 2  comma  B  comma  Blue  return after theData
put 3  comma  C  comma  Orange  return after theData
put 4  comma  D  comma  White  return after theData

which would get me:
1,A,Green
2,B,Blue
3,C,Orange
4,D,White
   


Actually either of these:

split theData with cr
split theData by row -- where the rowDelimiter is CR

would get you this:

theData[1] = 1,A,Green
theData[2] = 2,B,Blue
theData[3] = 3,C,Orange
theData[4] = 4,D,White


I could then split by column (or by row I get confused) and get a simple array 
where:
theData[1,1] = 1
theData[1,2] = A
theData[2,1] = 2
theData[4,3] = White

And so forth. However, this is NOT the case!


Right. Technically speaking, comma is not an array index separator. 
Commas in our array keys help us conceptually represent multiple array 
dimensions in our own minds, but Rev sees an array with such keys as a 
simple one-dimensional array with alphabetic keys (since commas are not 
numerals).


Until version 3.0, Rev couldn't handle true multi-dimensional arrays. 
Since then, the thing that tells Rev this is a multi-dimensional array 
is multiple keys per element, with each key in its own bracket. Like this:


theData[1][1] = 1
theData[1][2] = A
theData[1][3] = Green


Now do you see why 'transpose()' wouldn't work with your array? In part 
it's because your keys aren't numeric - they contain commas. (Also they 
have to be sequential numbers.)


Welcome to array re-education camp!  ;-)

Phil Davis



  If it were, I could issue a command:

put transpose(theData) into myArray

and:
myArray[1,2] = 2
myArray[1,3] = 3

and so on. If I got the entire row (I think there's a function for that) then I 
would have effectively gotten the column of the original data. Seems reasonable 
eh?

So can someone please explain to me why I cannot get a simple x,y row,column 
grid-like array using these simple commands? Revolution seems to think that the 
first column MUST be the key! I would LIKE for revolution to simply create it's 
OWN numerical keys and let my data be my data. Maybe in the future add an 
argument to the split and combine commands to tell it whether or not I WANT 
Revolution to treat my first column as the key?

If arrays worked like I described above, it would be a simple matter to get a 
single column of an array, just by transposing it and getting an entire row, 
instead of writing complex repeat loops to get a column of data. Am I missing 
something here?

Thanks for any wisdom you can give. I can save some helpful souls the trouble 
of responding by saying I am capable of making repeat loops to accomplish this. 
I was just hoping that maybe I was missing something and I can in fact do what 
I thought I could.

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

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Finding the name of a USB volume

2010-01-07 Thread Phil Davis

Hi Richard,

I believe this does include the volume names as they appear in the 
Finder. Look for the Volumes: tag in each output line.


Phil



On 1/7/10 7:43 AM, Richard Gaskin wrote:

Phil Davis wrote:

Here is an simplified 'system_profiler' output approach. It returns one
tab-delimited line of info per detachable USB storage device, with all
the data items known to system_profiler for each device. NOTE: It
expects system_profiler output to be in English.


function macUsbDrives
-- get USB device info from system profiler
put shell(system_profiler -detailLevel full SPUSBDataType) into 
tData


-- convert data to one line per USB device
replace (colon  cr  cr) with numToChar(245) in tData -- device 
name

replace (cr  cr) with numtoChar(250) in tData
replace cr with tab in tData
replace numtoChar(245) with (colon  tab) in tData
replace numtoChar(250) with cr in tData

-- remove records for all but USB drives (English data only)
filter tData with *Detachable Drive: Yes*

-- remove space-padding from items in each line
set the itemDel to tab
repeat for each line tLine in tData
   repeat for each item tItem in tLine
  put word 1 to -1 of tItem  tab after tNewData
   end repeat
   put cr into last char of tNewData
end repeat
delete last char of tNewData

-- return the data
return tNewData
end macUsbDrives


Very helpful Phil, and I appreciate your posting it, but unfortunately 
the issue I found with using system_profiler is that it doesn't report 
the volume name as it appears to the user on the desktop.


I had hoped there would be some reasonably simple way to get a list of 
mounted volumes that looks something like this:


driveName mountPoint type

...where driveName is the name as it appears in the Finder, 
mountPoint is either / or Volumes/drivename, and type is 
either ATA, SCSI, CD/DVD, USB, etc.


With what I've learned in this thread it seems I may be able to use 
output from system_profiler checked against output from AppleScript 
calls to obtain such a list.


For the future, I see that Jeanne DeVoto had submitted an RQCC request 
for the detailed volumes which could do what I need if implemented 
as described there:

http://quality.runrev.com/qacenter/show_bug.cgi?id=101

In the meantime, it looks like I have some parsing to do and some 
homework to figure out the details of getting this info for Win Vista, 
Win 7, and Linux.  I'll post the result here once I get it working.


--
 Richard Gaskin
 Fourth World
 Rev training and consulting: http://www.fourthworld.com
 Webzine for Rev developers: http://www.revjournal.com
 revJournal blog: http://revjournal.com/blog.irv
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your 
subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Finding the name of a USB volume

2010-01-07 Thread Phil Davis

On 1/7/10 9:36 PM, Scott Morrow wrote:

Very nice.  Thanks, Phil!

Scott Morrow

Elementary Software
(Now with 20% less chalk dust!)
web   http://elementarysoftware.com/
email sc...@elementarysoftware.com
--
   

You're welcome!

Here is an improved version of the original handler. It adds a Device: 
label to the device name and replaces the single Volumes: label before 
ALL volume descriptions with a Volume: label before EACH volume 
description (should make it easier to break out descriptions of each 
partition on a USB drive).


function macUsbDrives
   -- get USB device info from system profiler
   put shell(system_profiler -detailLevel full SPUSBDataType) into tData

   -- convert data to one line per USB device
   replace (colon  cr  cr) with numToChar(245) in tData -- device name
   replace (cr  cr) with numtoChar(250) in tData
   replace cr with tab in tData
   replace numtoChar(245) with (colon  tab) in tData
   replace numtoChar(250) with cr in tData

   -- remove records for all but USB drives (English data only)
   filter tData with *Detachable Drive: Yes*

   -- remove space-padding from items in each line
   set the itemDel to tab
   repeat for each line tLine in tData
  put empty into tNewLine
  repeat for each item tItem in tLine
 put word 1 to -1 of tItem  tab after tNewLine
  end repeat

  -- insert a device tag at beginning of device description
  delete last char of item 1 of tNewLine -- trailing colon
  put Device:  before item 1 of tNewLine

  -- remove single 'volumes:' tag at beginning of all volume 
descriptions

  replace Volumes:  tab with empty in tNewLine

  -- insert a volume:  tag at the start of each volume description
  replace (colon  tab) with cr in tNewLine -- break after each 
volume name

  repeat with x = 1 to (the number of lines in tNewLine - 1)
 put Volume:  before last item of line x of tNewLine
  end repeat
  replace cr with tab in tNewLine

  -- append finished line to rest of data
  put cr into last char of tNewLine
  put tNewLine after tNewData
   end repeat
   delete last char of tNewData

   -- return the data
   return tNewData
end macUsbDrives

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Finding the name of a USB volume

2010-01-06 Thread Phil Davis

On 1/6/10 3:31 PM, Richard Gaskin wrote:

tsj wrote:

Richard - I haven't got an unnamed USB drive handy to test this with but
what does the volumes function return when one is mounted? Does this 
give

you the expected untitled (or untitled 1 etc)?

If so, you could iterate through the listed volumes using a couple of
applescripts to determine whether the drive was local (false if it's a
network drive) ejectable (false if it's internal) and then if you get 
two
false results you can attempt to open a file on the volume. If that 
gives
you an error then the drive is write protected. If it passes all 
tests then

you're left (presumably) with an external USB or Firewire drive.


The passes all tests list can also includes mounted .dmg files.

Thanks for posting this - very helpful.
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Finding the name of a USB volume

2010-01-06 Thread Phil Davis
Here is an simplified 'system_profiler' output approach. It returns one 
tab-delimited line of info per detachable USB storage device, with all 
the data items known to system_profiler for each device. NOTE: It 
expects system_profiler output to be in English.



function macUsbDrives
   -- get USB device info from system profiler
   put shell(system_profiler -detailLevel full SPUSBDataType) into tData

   -- convert data to one line per USB device
   replace (colon  cr  cr) with numToChar(245) in tData -- device name
   replace (cr  cr) with numtoChar(250) in tData
   replace cr with tab in tData
   replace numtoChar(245) with (colon  tab) in tData
   replace numtoChar(250) with cr in tData

   -- remove records for all but USB drives (English data only)
   filter tData with *Detachable Drive: Yes*

   -- remove space-padding from items in each line
   set the itemDel to tab
   repeat for each line tLine in tData
  repeat for each item tItem in tLine
 put word 1 to -1 of tItem  tab after tNewData
  end repeat
  put cr into last char of tNewData
   end repeat
   delete last char of tNewData

   -- return the data
   return tNewData
end macUsbDrives

HTH -
Phil Davis



On 1/6/10 5:50 PM, Phil Davis wrote:

On 1/6/10 3:31 PM, Richard Gaskin wrote:

tsj wrote:
Richard - I haven't got an unnamed USB drive handy to test this with 
but
what does the volumes function return when one is mounted? Does this 
give

you the expected untitled (or untitled 1 etc)?

If so, you could iterate through the listed volumes using a couple of
applescripts to determine whether the drive was local (false if it's a
network drive) ejectable (false if it's internal) and then if you 
get two
false results you can attempt to open a file on the volume. If that 
gives
you an error then the drive is write protected. If it passes all 
tests then

you're left (presumably) with an external USB or Firewire drive.


The passes all tests list can also includes mounted .dmg files.

Thanks for posting this - very helpful.


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: web tables 2 rev tables

2009-12-22 Thread Phil Davis

Hi Roger,

It seems to me the bigger problem is the conversion of nested html 
tables, which are pretty common. That said, here is a button script that 
converts a 'simple' html table to a tab-delimited text file. From there 
the sky is the limit.  ;-)  NOTE: This code works with only the simplest 
of tables, but it gives you a starting point if you want to go this way.



on mouseUp
   -- get the file
   answer file Pick a file that contains an HTML table:
   if it = empty then exit to top
   put url (file:  it) into tData

   -- make each html table start at the beginning of a line
   replace cr with empty in tData
   replace table with (cr  table) in tData

   -- make each table end at the end of a line
   replace /table with (/table  cr) in tData

   -- remove all lines but those with complete html tables
   filter tData with table*/table

   -- exit if there are no unnested tables
   if tData = empty then
  answer No unnested tables found.
  exit to top
   end if

   -- convert tables to tab-delimited lines of data
   replace tab with empty in tData
   replace /tr with cr in tData
   replace /td with tab in tData
   replace (tab  cr) with cr in tData

   -- eliminate unused table tags
   replace table with empty in tData
   replace /table with empty in tData
   replace tr with empty in tData
   replace td with empty in tData

   -- display the converted data
   put tData into fld 1
end mouseUp


Here is the test data I used (in a file of its own):
table
tr
tdTable Cell/td
tdTable Cell/td
/tr
tr
tdTable Cell/td
tdTable Cell/td
/tr
/table


Merry Christmas!
Phil Davis


On 12/22/09 3:51 PM, roger.e.el...@sealedair.com wrote:

What is the most direct way to convert the data in an html table into data
to fill a 'basic table field' (not a dataGrid)?  I have tried stripping
away tags and plucking data from betweentabletrtdcell
data/td/tr/table.  This is tedious, and I'm sure there must be a
better way.

Thanks.
~Roger

---
Roger Ellerroger.e.el...@sealedair.com


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

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: datagrids in revLets on Win (Vista / 7)

2009-12-18 Thread Phil Davis
Using a straight queryRegistry() call here and without involving a 
dataGrid, on Win 7 I got:


   * failure when relying on auto-detect security settings in the SA
 settings panel
   * success when I manually checked registry (read) in same

So it seems the 'auto-detect' feature doesn't always detect everything?

Phil Davis



On 12/17/09 5:42 PM, Malte Pfaff-Brill wrote:

Hi there,

was happiely coding away on a web project. Build the revlet, works fine on the 
mac. On Win Vista and 7 it fails with the following error (on setting the 
dgText of the datagrid to empty.:

682,119,17
465,119,1
587,117,1
253,113,1
241,113,1,_Initialize
353,0,0,button id 1005 of bkgnd id 1004 of stack revDataGridLibrary of stack 
webmon
573,4512,18
253,4512,1
241,4512,1,dgData
353,0,0,button id 1005 of bkgnd id 1004 of stack revDataGridLibrary of stack 
webmon
90,3205,36
449,3205,5
535,3205,1
241,3205,1,_table.SetText

Anybody got an idea what could cause this?

Cheers,

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

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Deriving an angle from three points

2009-12-16 Thread Phil Davis

On 12/16/09 10:57 AM, Bruce Robertson wrote:

No it didn't.

On Dec 16, 2009, at 10:44 AM, Colin Holgate wrote:

   

Well, of course it's a triangle, but describing it as a V helped explain
which angle was wanted.
 


I thought Mark S identified it well when he called it the 'internal 
angle' - at least that did it for me:

On Dec 15, 2009, at 10:35 PM, Mark Wieder wrote:

  Mark-
  
  Tuesday, December 15, 2009, 10:21:47 PM, you wrote:
  

  40,116
  98,186
  132,118
  

  How would one determine the angle created from three points, such as those 
above?
  
  There are three angles. Which one are you interested in?
  
  ---

The above represents roughly a V shape with the center point the vertex.  I was 
trying to detemine the internal angle.

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: HTMLText question

2009-12-16 Thread Phil Davis

On 12/16/09 8:04 PM, Kay C Lan wrote:

On Thu, Dec 17, 2009 at 2:49 AM, Robert Brensteinr...@robelko.com  wrote:

   

A tad safer and more general technique is to

put box before word 2 of tHtml
put /box after word 2 of tHtml

As other said, variable have htmltext property, just the content which can
be html, so you need to work with it directly. Html comes into effect when
such a content is put into a field and then displayed to user.

Robert

 

I'm totally confused. I am not aware that variables have a htmlText
property? When I try to access it I keep getting an error message.
   


You're right. Variables don't have an htmlText property, only fields 
do. This agrees with the Rev docs description and is the way it really 
works.


I think maybe Robert meant variable DON'T have htmltext property, and 
was saying you can put the htmlText of a field into a variable, 
manipulate it, then set the htmlText of the field to the manipulated 
contents of the variable to display it in rendered form.



Secondly, using the keyword 'word' when dealing with htmlText doesn't seem
to be a safe option to me at all, in fact it would be the last option I'd
think of using. If a field contained multiple lines of words, formatted in
all sorts of weird and wonderful ways, and the htmlText of one of those
lines might look like this:

pfont color=#FFbboink/b/font/p

If I were to use the keyword 'word', Rev considers

pfont

to be the first word and the second word is

color=#FFbboink/b/font/p

putting box and/box before and after any of these words will result
in ill formed HTML.

Granted, if you do a grep for([^]*)  you can extract just the content
between the html tags and then using the 'word' keyword will work for you.
But now that I appreciate that this original post is related to another post
where I put forward the idea of using the 'token' keyword, I'll suggest it
again. Doing grep and trying to keep track of where in a line of html text
you are and what word needs to be replaced with what, plus needing to deal
with all the punctuation marks that get included inside what Rev considers
is a word, is very involved for this old brain and dare I say, unsafe or at
least fraught with possible errors. Using token, there are only a few
special characters you have to account for, you can then just run through
every token and when you get a match:

put box  token tTokenCounter of tHtmlText  /box into token
tTokenCounter of tHtmlText

Probably not the fastest way, but relatively simple.

HTH
   


I'll take simple over snazzy any day of the week. That way, when I come 
back to it in six months I might be able to look at the code and 
immediately know what it's doing! I love it when that happens.


Another approach I've taken is to reformat the htmlText into something 
more given to processing, then process it, then restore the original 
format. Like this:


on mouseUp
   get withBoxTags(the htmlText of fld 1)
   put it -- so you can inspect the htmltext output
   set the htmlText of fld 1 to it
end mouseUp


function withBoxTags pHtmlText
   -- replace existing CRs with a char not found in pHtmlText
   replace cr with numToChar(250) in pHtmlText

   -- reformat the text for processing
   replace  with (  cr) in pHtmlText -- each  now ends a line
   replace  with (cr  ) in pHtmlText -- each  now starts a line
   filter pHtmlText without empty -- remove blank lines

   -- insert box tags
   repeat for each line tLine in pHtmlText
  if char 1 of tLine =  -- not a 'data' line
  then put tLine  cr after tNewText
  else put box  tLine  /box  cr after tNewText
   end repeat

   -- restore original format
   replace cr with empty in tNewText
   replace numToChar(250) with cr in tNewText

   -- return it to caller
   return tNewText
end withBoxTags



The above code may not accomplish exactly what you're trying to do, but 
it illustrates the idea.

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: interrupting a repeat loop

2009-12-15 Thread Phil Davis

Another way to check for any key being down is:

command runTheLoop
   repeat forever
  if the keysDown  empty then exit repeat
  -- do what you want
   end repeat
end runTheLoop

HTH -
Phil Davis



On 12/15/09 7:59 AM, Robert Brenstein wrote:

On 15.12.2009 at 16:01 Uhr +0100 Jacques Hausser apparently wrote:

Hi Tim

it depends of the kind of loop you are using. Several possibilities 
For example in a card script:


local stoploop

command runTheLoop
   repeat forever
  if stoploop = S then exit repeat
  -- do what you want
  wait 10 milliseconds with message
   end repeat
end runTheLoop

on keyDown thekey
put thekey into stoploop
end keydown

The wait x milliseconds with message is the important trick here.

Jacques




If it is not relevant which key is being pressed, then a tad simpler 
variation is


command runTheLoop
   repeat forever
  if the shiftkey is down then exit repeat
  -- do what you want
   end repeat
end runTheLoop

It could also be altKey/optionKey or controlKey/commandKey instead of 
shiftkey.


Robert


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Deriving an angle from three points

2009-12-15 Thread Phil Davis
I never took trig, but I imagine some of Rev's trig functions might be 
helpful in determining this. If it's any help, here's a button handler 
that draws the angle:


on mouseUp
   put 40,116/98,186/132,118 into tPointsList
   replace / with cr in tPointsList
   set the style of the templateGraphic to polygon
   set the lineSize of the templateGraphic to 1
   set the showBorder of the templateGraphic to true -- to show the grc 
edge

   create grc angle
   set the points of grc angle to tPointsList
end mouseUp

When I draw it, I see there is a right angle at the bottomRight of it 
that might serve as a reference point of some sort? Of course a real 
numbers person wouldn't need to draw anything to see this. It would be 
highestCol1Number,highestCol2Number.


I'll be interested to see the solution too.

Phil Davis



On 12/15/09 10:21 PM, Mark Swindell wrote:

40,116
98,186
132,118

How would one determine the angle created from three points, such as those 
above?

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

   


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: finding revlet limits in a controlled environment

2009-12-08 Thread Phil Davis
I'm answering my own question - see below. Maybe it will answer 
questions that come up in your world.


Phil


Phil Davis wrote:

Hello -

My client wants to sell revlet-based software to his customers in a 
large US govt agency. If they are able to download  install the 
revweb plugin, we don't know what limitations to a revlet's 
capabilities might be enforced by IT in their computing environment. 
To answer this question, we've built a web site his customers can use 
in their world that steps them through a series of revlets that each 
try different kinds of activity. The activities include:


   * load the plugin and do nothing
   * create, read, rename, delete a file on the local HD
   * get a web URL (google.com)
   * run a shell command (dir or ls)
   * create, delete a stack in memory; get a stackfile from a web server
   * print to their printer

Those are all the tests so far. The test web site emails the revlet 
test results back to me.


Now my question:
Are we testing the right things? If not, what else should we test for?



Here's a response from an off-list, non-Rev-user, IT network security 
friend of mine:


As for what apps can/can't do in any, or large enterprise sized 
environments, is going to depend on several things... you can be 
assured of one thing: federal systems, and even state organizations, 
are getting locked down tighter and tighter all the time. Local 
installation is probably going to have to go thru if the app is a 
local install that will probably be the most difficult to get running 
'vanilla' in anyone's environment with the level of security and 
access controls put on local systems and lock down of the registry. 


Here's what you can probably count on:
1) full read/write from and to the users' My Document and temp space.
2) outbound connections on port 80 and 443 (SSL v3 or TLS)
3) no inbound connections allowed
4) be prepared to illustrate the application/web tool security from a 
security scanner report (Nessus is a great open source tool that is 
kept up to date for vulnerabilities and provides risk mitigation 
instructions).
5) If the app/tool wants any elevated privileges and it will be run by 
the general user, probably is not going to be approved.
6) Every organization has (or not) its own security posture and 
policies. Those organizations with CISSP (Certified Information 
Systems Security Professional) don't always mean they are technical 
and may have to pass the review/approval down to frontline 
administrators with specific security skills. I've seen managers 
without any technical, let alone systems security expertise, get the 
CISSP cert and throw it around like they're the best thing since 
sliced bread(all you have to do is mentions something about ports, 
proxy or routing and they will glass over like deer in the 
headlights)
7) Don't expect any organization to give you their security policy. 
Their first and best answer will usually be 'no'. This is where your 
application design and specific requirements listed out will be 
helpful - they should be able to identify those items that work within 
their security and those that do not.


One thing that should be considered are those organizations that are, 
have or will be utilizing virtualization such as terminal services, 
VMware or Citrix. These environments will be controlling the users' 
systems from services and resources on core servers or clusters. In 
these cases, even more restrictions may exist than normally exists on 
standard desktop environments. Virtual environments are at increased 
risk for implementation of apps/tools on a system that could crash the 
host and impact many users or resources.


Speaking of desktops...the difference between desktop OS can vary. XP, 
Vista and now Windows 7 have different levels of access control and 
permissions. The enterprise is going to control these systems through 
their SMS or SUS services and global policies may restrict some of the 
things the application wants to do.  Also be aware that more 
restrictive environments, such as the federal organizations, may be 
utilizing IDS/IPS (intrusion detection/prevention) clients that report 
to centralized management systems. Automated deployment of a tool in 
these high security environments could trigger risk alarms and create 
some confusion.


I think the best thing is to be very specific about what types of 
files are written or read, the level of access each needs, the port 
calls/requests (ephemeral ports included), etc. The basics of the 
software design including those elements listed previously would be 
beneficial for those organizations that will require a security review 
and/or change control management decisions.


The Nessus scanner is the one I used in the federal government and was 
the basis for directing an enterprise security management platform 
around which we developed an open source based tool for managing risk 
identification, mitigation and audit. It runs great

Re: finding revlet limits in a controlled environment

2009-12-07 Thread Phil Davis

Andre Garzia wrote:

Phil,

many of those commands might not work if the user do now click the I allow
dialog thinghy which might give false results for you. I don't know how
introspective rev can be, can revlets return if the user is allowing acces
to that kind of stuff or not?
  


I don't know the answer to that either.

We're trying to tell the user as clearly as possible how to run the 
tests. We've provided specific user instructions on each page where you 
begin a test. Each one has an image of the security dialog with the 
Allow Once button circled and text saying Choose Allow Once in the 
security dialog. We'll see how well that works.  ;-)


Thanks Andre -
Phil


On Sun, Dec 6, 2009 at 10:59 PM, Phil Davis rev...@pdslabs.net wrote:

  

Hello -

My client wants to sell revlet-based software to his customers in a large
US govt agency. If they are able to download  install the revweb plugin, we
don't know what limitations to a revlet's capabilities might be enforced by
IT in their computing environment. To answer this question, we've built a
web site his customers can use in their world that steps them through a
series of revlets that each try different kinds of activity. The activities
include:

  * load the plugin and do nothing
  * create, read, rename, delete a file on the local HD
  * get a web URL (google.com)
  * run a shell command (dir or ls)
  * create, delete a stack in memory; get a stackfile from a web server
  * print to their printer

Those are all the tests so far. The test web site emails the revlet test
results back to me.

Now my question:
Are we testing the right things? If not, what else should we test for?

Thanks for any feedback.

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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






  


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: finding revlet limits in a controlled environment

2009-12-07 Thread Phil Davis

Richard Gaskin wrote:

Andre wrote:

 Phil Davis wrote:

 My client wants to sell revlet-based software to his customers in
 a large US govt agency. If they are able to download  install the
 revweb plugin, we don't know what limitations to a revlet's
 capabilities might be enforced by IT in their computing environment.
 To answer this question, we've built a web site his customers can
 use in their world that steps them through a series of revlets that
 each try different kinds of activity. The activities
 include:

   * load the plugin and do nothing
   * create, read, rename, delete a file on the local HD
   * get a web URL (google.com)
   * run a shell command (dir or ls)
   * create, delete a stack in memory; get a stackfile from a web
 server
   * print to their printer

 Those are all the tests so far. The test web site emails the revlet
 test results back to me.

 Now my question:
 Are we testing the right things? If not, what else should we test
 for?

 many of those commands might not work if the user do now click the I
 allow dialog thinghy which might give false results for you. I don't
 know how introspective rev can be, can revlets return if the user is
 allowing acces to that kind of stuff or not?

Sounds like a good argument for a standalone in this case.

Phil, what objections does this agency have to a standalone?


Their IT dept doesn't allow 'unapproved' installs of executables (which 
may exclude browser plugins, but we'll see)! And the approval process 
is, well, difficult. I think you have to know someone. As I [very 
limited] understanding of it, they use mostly COTS software (at least in 
the area where my client has customers). Actually I may have heard the 
COTS part from someone on this list a few months ago.




If it were net-savvy and auto-updated itself you could provide the 
benefits of the browser plugin without the limitations or guesswork.


True.

I suspect ultimately we'll have to go with an irev-enabled site to 
deliver the goods, which won't be a bad thing at all - we're just trying 
to avoid the refactoring of existing desktop app functionality at that 
extreme.


Thanks Richard.


--
 Richard Gaskin
 Fourth World
 Rev training and consulting: http://www.fourthworld.com
 Webzine for Rev developers: http://www.revjournal.com
 revJournal blog: http://revjournal.com/blog.irv
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your 
subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


finding revlet limits in a controlled environment

2009-12-06 Thread Phil Davis

Hello -

My client wants to sell revlet-based software to his customers in a 
large US govt agency. If they are able to download  install the revweb 
plugin, we don't know what limitations to a revlet's capabilities might 
be enforced by IT in their computing environment. To answer this 
question, we've built a web site his customers can use in their world 
that steps them through a series of revlets that each try different 
kinds of activity. The activities include:


   * load the plugin and do nothing
   * create, read, rename, delete a file on the local HD
   * get a web URL (google.com)
   * run a shell command (dir or ls)
   * create, delete a stack in memory; get a stackfile from a web server
   * print to their printer

Those are all the tests so far. The test web site emails the revlet test 
results back to me.


Now my question:
Are we testing the right things? If not, what else should we test for?

Thanks for any feedback.

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: [Mandelbrot] Code Samples/Comparisons

2009-12-06 Thread Phil Davis

Bill Marriott wrote:
Productivity isn't about processor cycles, and it's not always about 
lines

of code. It's about how much one can accomplish with the knowledge
they have.


I WILL be quoting you, Bill! That's a good one.

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


RevOnline update: Engine Search plugin

2009-12-04 Thread Phil Davis

Hi folks,

Just a quick note to say I updated the Engine Search Rev IDE plugin on 
RevOnline.


This revision uses the address to locate the currently running Rev 
engine. Previously the plugin located the engine by setting the 
defaultFolder to empty, which set it to the engine's folder. This 
defaultFolder feature was actually a bug and was fixed In Rev 4.0. 
Hence the update.


Happy engine snooping -
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: sending hexadecimal control characters, how to?

2009-12-03 Thread Phil Davis

Hey Andre -
What if the software is published in a different country? Then it would 
seem like the Brazilian control freak... ummm, government wouldn't be 
able to control it, at least not in the same way.


Food for thought.
Phil Davis


Peter Alcibiades wrote:

Andre Garzia-3 wrote:
  

here, due to law, if a software is to interface with a
receipt printer, then you need to approve your software with the
goverment..Is this so in other countries?

Andre




Not in the UK.  You will have to comply as a business with the various sale
of goods regulations, and of course with the tax regulations, but how you do
it is up to you.  You probably do have to give receipts if asked, but
handwritten ones will be acceptable.

Not that I'm going into the POS business!  This is a one-off.  But if you
do, you don't have to get your stuff approved by anyone, as far as I know. 


Peter



  


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: Speeding a handler?

2009-12-01 Thread Phil Davis

Hello Ton,

This should be MUCH faster because the text is moved to a variable for 
processing. It assumes all text in the field is either red or black.


on mouseUp
  put 1 into someFld -- I used fld 1 in my test

  -- get colored text from field
  put the htmlText of fld someFld into tText
 
  -- remove quote char from html (but leave quot; entity)

  replace quote with empty in tText
 
  -- remove all red color from text

  replace font color=#FF with empty in tText
  replace /font with empty in tText
 
  -- set text line color to red if line contains a quote

  repeat for each line tLine in tText
 if quot; is in tLine -- this line contains a quote
 then -- make the text red
put font color=#FF after char 3 of tLine -- after p
put /font before char -4 of tLine -- before /p
 end if
 put tLine  cr after tNewText
  end repeat
  delete last char of tNewText
 
  -- update the field with recolored text

  lock screen
  put the vScroll of fld someFld into x
  set the htmlText of fld someFld to tNewText
  set the vScroll of fld someFld to x
  unlock screen
end mouseUp


HTH -
Phil Davis



Ton Cardona wrote:

I have a text field with 5.729 lines. 826 of them, those containing quotes, 
must appear coloured in red so the instruction would be:

put 0 into x
repeat for each line aLine of fld someFld
  add 1 to x
  if quote is in aLine then
set the forecolor of line x of fld someFld to red
replace quote with empty in line x of fld someFld
  end if
end repeat

The problem is it takes 55 seconds.

I have reduced this time to 33 seconds by recording previously the numbers of 
the lines to be coloured and storing them in a customProp, yet it still takes 
33 seconds.

Does anyone know a faster way of performing this task?

Thanks in advance,

Ton
  


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: speeding a handler?

2009-12-01 Thread Phil Davis

Hey, I'm glad it helped!

To get another slight speed increase, you can move your new line of code 
outside the repeat loop (below the loop)  - but instead of:

  replace quot; with empty in tLine

It would say:
  replace quot; with empty in tNewText

One time for the whole list instead of once per line.

:-)

Phil


Ton Cardona wrote:

Thanks a lot, Phil. Your handler is as fast as lightning.

I've had to add a line of code to replace quotes since they still showed in the 
fld:

repeat for each line tLine in tText
 if quot; is in tLine -- this line contains a quote
 then -- make the text red
put font color=#FF after char 3 of tLine -- after p
put /font before char -4 of tLine -- before /p
 end if
 replace quot; with empty in tLine  --line added by me
 put tLine  cr after tNewText
  end repeat

I am really very grateful.

Best regards,

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

  


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: knowing if a printer is connected

2009-11-23 Thread Phil Davis

Hi Peter,

If you filter out all lines from ioreg output except ones that contain 
IOUSBCompositeDevice, do you see the printer name in any line? If so, 
maybe available printer names could be matched to the device names in 
IOUSBDevice and IOUSBCompositeDevice records.


Phil



Peter Brigham MD wrote:
This worked for me on my home printer, and I had high hopes for it, 
but if fails this morning here at work. The problem seems to be that 
with some printers the listing from the ioreg call has little relation 
to the name of the printer. For instance, my Brother laserjet MFC 8220 
(combo printer fax copier) has an ioreg listing of:


+-o iousbcompositedev...@fd10  class IOUSBDevice, registered, 
matched, active, busy 0, retain 12


and there is no way of telling that this is a Brother 8220 or relating 
it to the availablePrinters, not on the face of it, anyway.


I'm working on a solution that will involve storing the ioreg name of 
a given printer as a customprop ioregListing[printerName] More to 
come. I'm determined to make this work as invisibly as possible. It 
has long been a irritation for me that the system doesn't 
automatically just send print jobs to the available printer. There's 
no reason on earth why you should have to change printers manually 
(after the first time you use one, of course). The system knows what's 
plugged in, for goodness sake. [g...]


-- Peter

Peter M. Brigham
pmb...@gmail.com
http://home.comcast.net/~pmbrig


On Nov 21, 2009, at 11:36 PM, Phil Davis wrote:

Everyone is doing it, so... here is what I came up with. Watch line 
wraps please. Hopefully the comments explain what the code is doing.



on mouseUp
 answer UsbPrinterList()
end mouseUp


function UsbPrinterList
 -- set item delimiter
 set the itemDelimiter to tab
  -- make a list of all active USB I/O devices
 put shell(ioreg) into tActiveDeviceList
 filter tActiveDeviceList with *IOUSBDevice* -- remove all but USB 
devices from list

 replace @ with tab in tActiveDeviceList -- isolate device name
 replace +-o with tab in tActiveDeviceList -- device name is item 2 
of each line

  -- get all known printer names, whether active or not
 put the availablePrinters into tPrinterNames
  -- identify active USB printers in the USB device list
 put empty into tUsbPrinters
 repeat for each line tDeviceLine in tActiveDeviceList
put word 1 to -1 of item 2 of tDeviceLine into tDeviceName -- 
could be partial device name

get tPrinterNames
filter it with (*  tDeviceName  *)
if it = empty then next repeat -- device is not a printer
-- USB device is a printer, so get full name
repeat for each line tFoundPrinter in it
   put tFoundPrinter  cr after tUsbPrinters
end repeat
 end repeat
 delete last char of tUsbPrinters -- trailing CR
  return tUsbPrinters
end UsbPrinterList


Thanks -
Phil Davis



JosepM wrote:

Hi,

In English work, but in Spanish and others languages don't.

The result of the shell command is:
destino por omision del sistema: HP_Photosmart_C4200_series

So we must check for the : and get the printer name.

  set itemdel to :
  put item 2 of shell(lpstat -d) into tDefaultPrinter


function getDefaultPrinter
 put word 4 of shell(lpstat -d) into tDefaultPrinter
 --   shell returns:  system default destination: HP_DESKJET_845C
 replace _ with space in tDefaultPrinter
 return tDefaultPrinter
end getDefaultPrinter

The getActivePrinter get all the USB devices. In my case, my LaCie 
disk, the
iPhone, the DataTraveler and the HP printer.. How to filter between 
them?


Salut,
Josep



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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

http://lists.runrev.com/mailman/listinfo/use-revolution


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

http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: knowing if a printer is connected

2009-11-21 Thread Phil Davis
Everyone is doing it, so... here is what I came up with. Watch line 
wraps please. Hopefully the comments explain what the code is doing.



on mouseUp
  answer UsbPrinterList()
end mouseUp


function UsbPrinterList
  -- set item delimiter
  set the itemDelimiter to tab
 
  -- make a list of all active USB I/O devices

  put shell(ioreg) into tActiveDeviceList
  filter tActiveDeviceList with *IOUSBDevice* -- remove all but USB 
devices from list

  replace @ with tab in tActiveDeviceList -- isolate device name
  replace +-o with tab in tActiveDeviceList -- device name is item 2 
of each line
 
  -- get all known printer names, whether active or not

  put the availablePrinters into tPrinterNames
 
  -- identify active USB printers in the USB device list

  put empty into tUsbPrinters
  repeat for each line tDeviceLine in tActiveDeviceList
 put word 1 to -1 of item 2 of tDeviceLine into tDeviceName -- 
could be partial device name

 get tPrinterNames
 filter it with (*  tDeviceName  *)
 if it = empty then next repeat -- device is not a printer

 -- USB device is a printer, so get full name

 repeat for each line tFoundPrinter in it
put tFoundPrinter  cr after tUsbPrinters
 end repeat
  end repeat
  delete last char of tUsbPrinters -- trailing CR
 
  return tUsbPrinters

end UsbPrinterList


Thanks -
Phil Davis



JosepM wrote:

Hi,

In English work, but in Spanish and others languages don't.

The result of the shell command is:
destino por omision del sistema: HP_Photosmart_C4200_series

So we must check for the : and get the printer name.

   set itemdel to :
   put item 2 of shell(lpstat -d) into tDefaultPrinter


function getDefaultPrinter
  put word 4 of shell(lpstat -d) into tDefaultPrinter
  --   shell returns:  system default destination: HP_DESKJET_845C
  replace _ with space in tDefaultPrinter
  return tDefaultPrinter
end getDefaultPrinter

The getActivePrinter get all the USB devices. In my case, my LaCie disk, the
iPhone, the DataTraveler and the HP printer.. How to filter between them?

Salut,
Josep
  


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: knowing if a printer is connected

2009-11-19 Thread Phil Davis

Hi Peter,

Here is another approach for OS X that might give you info that's easier 
to use. Or not.


put shell(system_profiler SPPrintersDataType) into tDescriptions

In my world it returns this:
--- start of data ---
Printers:

   Canon iP1700:

 Status: Idle
 Print Server: Local
 Driver Version: 5.8.3
 Default: No
 URI: usb://Canon/iP1700?serial=705357
 PPD: Canon iP1700
 PPD File Version: 1.0
 PostScript Version: (3011.104) 0

   HP Color LaserJet 2600n:

 Status: Idle
 Print Server: Local
 Driver Version: 1.3.0501
 Default: Yes
 URI: 
mdns://HP%20Color%20LaserJet%202600n._pdl-datastream._tcp.local./?bidi

 PPD: HP Color LaserJet 2600n
 PPD File Version: 1.0
 PostScript Version: (3011.104) 0

   Officejet Pro 8500 A909g [7134F4]:

 Status: Idle
 Print Server: Local
 Driver Version: 1.2
 Default: No
 URI: 
mdns://Officejet%20Pro%208500%20A909g%20%5B7134F4%5D._pdl-datastream._tcp.local./?bidi

 PPD: HP Officejet Pro 8500 A909g Series
 PPD File Version: 1.2
 PostScript Version: (3011.104) 0

--- end of data ---

I see the URI line in each description tells if it is USB or not. BUT it 
doesn't tell you the status of the printers; I got the same descriptions 
when my USB printer was turned on/turned off/unplugged.


If I learn more I'll post it.

Phil Davis



Peter Brigham MD wrote:
It returns idle in all cases? Are you saying that it doesn't 
distinguish if the printer is on/connected vs off/disconnected?


How would I get the contents of the various printer properties from 
this script into rev variables to test this out? Do I use an 'on 
appleEvent' handler -- if so, how? Sorry for the naive questions, but 
I haven't used applescript much.


-- Peter

Peter M. Brigham
pmb...@gmail.com
http://home.comcast.net/~pmbrig


On Nov 19, 2009, at 3:33 PM, BNig wrote:



Peter,
I was a little too fast with my reply, I am afraid

this gives me all the information of the current printer 
unfortunately it

does return idle even if the current printer is off.

tell application Printer Setup Utility
set Current_Printer to name of current printer -- set a variable 
for the

name of your current/default printer
set tKind to kind of current printer
set tproperties to properties of current printer
set tJob to job of current printer
end tell

Since you are looking for an active/connected printer this is 
probably not

working.
regards
Bernd




BNig wrote:


Peter,

tell application Printer Setup Utility
set Current_Printer to name of current printer -- set a 
variable for the

name of your current/default printer
end tell

this applescript tells me the currently selected printer on MacOSX 
10.5.8


regards
Bernd


Peter Brigham MD wrote:


I have a stack system that is being used on laptops (at this point Mac
OSX only). One of my beta testers uses it in three different
locations. Among many other things, the stack prints out notes and
various other text files from within Rev (running in IDE on RevMedia
4.0 -- eventually I'll get to porting it as a standalone). As it
stands now, the user needs to select the currently available printer
using the system preferences. I need a way to discover if the printer
designated as active in the system preferences is actually the one
that is plugged into the USB port. I have a way for the user to change
the printer from within the stack, but I'd like to avoid the situation
where he tries to print something and gets the bobbing printer driver
icon in the dock telling him that that printer is unavailable (because
he's at a different site and forgot to change his printer 
designation).


The ideal solution would be to be able to detect the currently
connected printer and send any print job automatically  to that
printer, but I'd settle for just being able to post an alert when
trying to print to notify him that he is about to use an unavailable
printer. How do I detect what printer is connected? Or at least,
detect if a designated printer is connected or not?

-- Peter

Peter M. Brigham
pmb...@gmail.com
http://home.comcast.net/~pmbrig






--
View this message in context: 
http://n4.nabble.com/knowing-if-a-printer-is-connected-tp624188p624225.html 


Sent from the Revolution - User mailing list archive at Nabble.com.
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your 
subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-revolution


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

http://lists.runrev.com/mailman/listinfo/use-revolution



--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

___
use-revolution mailing

Re: knowing if a printer is connected

2009-11-19 Thread Phil Davis

BNig wrote:

The last item of the properties of a printer is the status, it unfortunately
returns idle. At least you get the names of the printers. The current
printer is the default printer.
regards
Bernd

  


You can also get the names of the printers with:

  put the availablePrinters into tList

:-)
--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


Re: knowing if a printer is connected

2009-11-19 Thread Phil Davis
Here's another OS X shell command that will list only the USB printers 
turned on. Unfortunately, it doesn't list them by their full names.


Here's the code (in a button):

on mouseUp
  put shell(ioreg) into tList
  filter tList with *IOUSBDevice*
  put the number of lines in tList  cr  tList into fld list2
end mouseUp


Here's the output on my machine:
8
   | |   |   +-o IR recei...@450  class IOUSBDevice, registered, 
matched, active, busy 0, retain 8
   | |   |   +-o Apple Cinema disp...@2432  class IOUSBDevice, 
registered, matched, active, busy 0, retain 8
   | |   |   +-o C-Media USB Audio   @2433  class IOUSBDevice, 
registered, matched, active, busy 0, retain 9
   | |   |   +-o Apple Cinema disp...@2472  class IOUSBDevice, 
registered, matched, active, busy 0, retain 8
   | |   |   +-o ip1...@2431  class IOUSBDevice, registered, 
matched, active, busy 0, retain 8
   | |   |   +-o Microsoft 3-Button Mouse with IntelliEye(TM)@640  
class IOUSBDevice, registered, matched, active, busy 0, retain 8
   | |   |   +-o Bluetooth USB Host control...@611  class 
IOUSBDevice, registered, matched, active, busy 0, retain 11
   | |   |   +-o Apple keybo...@2622  class IOUSBDevice, 
registered, matched, active, busy 0, retain 9


Line 5 above is the USB printer.
When I turn the printer off and run the code again, I get 7 lines and 
the printer line is missing.


This printer shows up in the availablePrinters list as Canon iP1700. 
So there's a partial association between the 2 sets of data.


FWIW -
Phil



Phil Davis wrote:

BNig wrote:
The last item of the properties of a printer is the status, it 
unfortunately

returns idle. At least you get the names of the printers. The current
printer is the default printer.
regards
Bernd

  


You can also get the names of the printers with:

  put the availablePrinters into tList

:-)


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

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


  1   2   3   4   5   6   7   8   >