launch URL to get an e-mail with BCC, Subject and Body (was revMail and BCC)

2008-06-06 Thread Andre.Bisseret

Hi,
I just noticed that 4 answers I posted to Ken Ray, Shao Sean and Klaus  
Major, do not appear in the Archives. So I supposed they have'nt been  
received :-(((
For me here, they have been send normally; (I did not receive any  
daemon message). I am really sorry for that.


So, instead of resending them one by one,  I put together this 4  
answers hereafter (from the more recent to the least one) hoping this  
time that will be received!


Thanks a lot to Josh, Ken, Sean and Klaus who paid attention to my  
problem and helped me to solve it


Best regards from Grenoble
André
-
4/06/08 : SECOND ANSWER TO KLAUS
-


De : André Bisseret[EMAIL PROTECTED]
Date : 4 juin 2008 15:16:26 HAEC
À : How to use Revolution use-revolution@lists.runrev.com
Objet : Rép : launch URL to get an e-mail with BCC, Subject and Body  
(was revMail and BCC)



Le 4 juin 08 à 11:30, Klaus Major a écrit :


Bonjour Andre,


...
Thank you Josh for this suggestion. I am using Mail included in  
Leopard on Mac. Seems that it has not this limitation.

I just tried to add my address in To.
Unfortunately, I get the same result as for the subject and  
body fields : only texts without any special characters  
(including cr) are allowed (without URLencode ; with URLEncode, I  
get the texts but in their encoded form).


This is how Rev (revMail) deals with this problem:

on revMail pTo, pCC, pSubject, pBody
put uniDecode(uniEncode(pSubject), UTF8) into pSubject
put uniDecode(uniEncode(pBody), UTF8) into pBody
put urlEncode(pSubject) into pSubject
put urlEncode(pBody) into pBody
replace + with %20 in pSubject
replace + with %20 in pBody


Maybe this will inspire you a bit ;-)

Note: this fails completely on Windows, see Bug nr. 6432.



Viele, viele Dank Klaus,
You are great ;-)) Thanks to you, my handler is working perfectly now.

Hereafter is the solution :
---
--- I have 2 fields : one including the list of addresses separated by  
, the other where the body of the message is to be written


local tSubject,tWho,tBody,tCommand,
 
ON mouseUp
   ask What is the subject ?
   IF the result is cancel THEN exit mouseUp
   put it into tSubject
   put tSubject
   put fld TheText into tBody
   put fld addresses into tWho
   put cr  tWho after msg
  -- -- hereafter the lines I added thanks to your suggestion:
   put unidecode(uniencode(tSubject), UTF8) into tSubject
   put unidecode(uniencode(tBody), UTF8) into tBody
  -- -- before I had tried the two following lines only
   put urlencode(tSubject) into tSubject
   put urlencode(tBody) into tBody
   replace + WITH %20 in tSubject
   replace + WITH %20 in tBody
   put cr  tBody after msg
   put launch URL  quote  mailto:?BCC=;  tWho 
Subject=  tSubjectBody=  tBody  quote into tCommand

   do tCommand
END mouseUp
 
N.B. : as for revMail, since 2.9.0 it is not necessary any more to use  
uniDecode etc ..


Merci infiniment !

Ich bin jetzt ruhiger (hope it is a right expression ;-))

André

4.06.08 : FIRST ANSWER TO KLAUS
--
Le 4 juin 08 à 11:30, Klaus Major a écrit :


Bonjour Andre,


...



replace + with %20 in pSubject
replace + with %20 in pBody



Guten tag Klaus,


Maybe this will inspire you a bit ;-)


I had to abandon revMail (unfortunately) because that does not allow  
BCC.


But, sure, this give me ideas to try to adapt this to launch URL
Specially replace + with %20 could works for me (currently, when  
urlEncoding I got + instead of space).


Thanks a lot ; at least, I have something to try ;-))

best regards from Grenoble
André
--
4/06/08 ANSWER TO SEAN
--

Le 3 juin 08 à 22:53, Shao Sean a écrit :


I'll chime in now...

Andre, do you have to use an external email client? If not, you can  
use one of the Rev-based solutions (myself and Sarah have both  
written SMTP libraries).. altEmailHarness uses my SMTP library it  
does not make use of the Email Encoding library which converts  
Unicode text into ASCII based encoding for transmission through SMTP  
servers..


Hi Sean,
I thank you much for this answer.
I think I am not constrained to use an external email client.
Several days ago, I visited your site, I downloaded Media browser  
006 but, then,  I did know what to do with it ; I am surely missing  
something easy ; I am not 

Re: Rev and SyncML / OMA

2008-06-06 Thread David Bovill
AFAIK it is certainly possible - I did some research on that a few years
back. I'm now using calendar API's from Google and others so unfortunately I
do not have any code - I'd be interested in finding out how you get on
though?

2008/6/5 Rolf Kocherhans [EMAIL PROTECTED]:

 Is it possible to use Reolution to communicate with a SyncML Server
 for instance with  www.o-sync.com to download Calendar and Contact
 information.

 Is there anyone on this list wich has a template Stack ?
 Or maybe a hint wich can put me into the right direction ?

 SyncML: en.wikipedia.org/wiki/SyncML
 OMA: www.openmobilealliance.org


 Thank you in advance,
 Rolf
 ___
 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


Re: Palette that reacts when changeing the top stack....

2008-06-06 Thread David Bovill
Thanks for the pointers. I've been battling with using the resumeStack
handler in a front script. It gets called everywhere including when
something is put in the message box, causing recursion so I've had to
include the following tests to get it working safely. Just started using it
today - so there may be case which still cause recursion?

on resumeStack
 -- safety
 if the shiftkey is Down then pass resumeStack

 -- sent to the card of the stack clicked on
 put the long id of the owner of the target into stackObject
 put the mode of stackObject into stackMode
 -- skip if it is a palette or similar
 if stackMode  2 then pass resumeStack

 -- safety (stops messages and other stack causing recursion)
 put the short name of stackObject into stackName
 if char 1 to 3 of stackName = rev then pass resumeStack

 -- do your stuff here
 beep


 pass resumeStack
 end resumeStack


You also have to trap for openStack or preOpenStack as opening a new
stack does not triger the resumeStack event.


2008/6/4 Wilhelm Sanke [EMAIL PROTECTED]:


 David Bovill david at openpartnership.net wrote on
 Sat May 31, 2008:

  Its been a while since I've done this... what's the best way to trap for
 this? Do I need a front script (in case the stack blocks a message) - or
 can
 I intercept and pass a Rev IDE specific message?




 and on Mon Jun 2, 2008

  Yeah - and what a nightmare to debug! Not sure if it does this in Rev IDE
 but any bug or event that causes something to be put into the messagebox -
 triggers the resumeStack again which can then cause infinite loops - goto
 block that

 2008/6/2 Mark Schonewille m.schonewille at economy-x-talk.com:

  Hi david,
 
  I'd trap the resumeStack message, sometimes the (pre)openStack message,
 in
  a front script.




 Concerning the refreshing of a palette or a modeless stack when something
 in the topstack changes or when the topstack itself changes:
 three examples and hints:

 1. Rev Application Browser

 If you select - with the pointer tool activated - a control in the topstack
 and have previously chosen the card that contains the control in the
 Application Browser, then you can refresh the Application Browser by
 clicking in the left window or the decorations bar of the AB. The AB will
 then hilite the line of the control (tested with Rev version 2.9).

 2. The Metacard Control Browser

 The Control Browser of the MC IDE is more efficient in this respect. It
 will update immediately and automatically when you select a control of the
 topstack, i.e.  without need to enter the Control Browser or click on it. As
 far as I remember this is brought about by the refresh handler in the card
 script of the Control Browser.

 3. MCBrowser and RevBrowser

 These personal tools were developed 8 years ago at a time when the
 performance of the precursor of the Application Browser was unsatisfactory
 in many respects, RevBrowser is not a web-browser and should therefore not
 be mistaken for the new Rev web-object.
 Quite a number of such tools have been developed by members of this list
 addressing a whole range of specific needs that are not covered by the Rev
 IDE.

 Both MCBrowser and RevBrowser reflect

 - the changing of the topstack
 - going to a different card of the topstack
 - choosing (selecting) a different control

 when you re-enter the Browsers (triggered by a mouseenter-handler).

 Have a look at the card and stack scripts of these stacks to see how this
 was implemented. Basically, it must be possible - using a routine similar to
 that ot the Metacard Control Browser - to achieve a refresh automatically
 without entering the browsers with the mousecursor.
 I haven't looked at the scripts myself for a longer time, so bear with me
 that you should have a look for yourself, but I use especially the McBrowser
 - as I still prefer the MC IDE over the Rev IDE for faster and more
 efficient workflow - on a regular basis with larger stacks when I need to
 change the scripts of a greater number of controls.

 You can get and inspect these stacks from page Tools and Samples for
 Development of my website

 http://www.sanke.org/MetaMedia

 ===

 From the text of that page:

 RevBrowser:
 for Revolution only: The small, convenient, and fast alternative to Rev's
 Application Browser and Object Browser. Includes a fast script searching
 tool that lists all found scripts lines - with the searchstring colored -
 along with the addresses of the objects. Clicking on the object address lets
 you edit the respective script.
 Stack is from 2001 and needs to be updated - there are some bugs - and
 because it is not yet able to access and edit unplaced groups - which you
 also cannot do with the above-mentioned Rev-IDE tools.

 MC-Browser:
 The Metacard version of the above RevBrowser. It is basically an enhanced
 and refined Metacard Control Browser with an added fast-search function
 that lets you search all 

Re: launch URL to get an e-mail with BCC, Subject and Body (was revMail and BCC)

2008-06-06 Thread Klaus Major

Bonjour Andre,


Hi,
I just noticed that 4 answers I posted to Ken Ray, Shao Sean and  
Klaus Major, do not appear in the Archives. So I supposed they  
have'nt been received :-(((
For me here, they have been send normally; (I did not receive any  
daemon message). I am really sorry for that.
So, instead of resending them one by one,  I put together this 4  
answers hereafter (from the more recent to the least one) hoping  
this time that will be received!
Thanks a lot to Josh, Ken, Sean and Klaus who paid attention to my  
problem and helped me to solve it


A votre service monsieur!


Best regards from Grenoble
André
-
4/06/08 : SECOND ANSWER TO KLAUS
-




Maybe this will inspire you a bit ;-)
Note: this fails completely on Windows, see Bug nr. 6432.

Viele, viele Dank Klaus,
You are great ;-))


I know, I know :-D


Thanks to you, my handler is working perfectly now.
...
Merci infiniment !
Ich bin jetzt ruhiger (hope it is a right expression ;-))


Almost ;-)

ruhiger = plus calme

But you certainly mean something like apaiseé?
Now I hope that's the right expression :-)


Best from germany

Klaus Major
[EMAIL PROTECTED]
http://www.major-k.de


___
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


Replace first number with another number in list field

2008-06-06 Thread Charles Szasz

I have a list field (field content, containing lines of two numbers
separated by commas. I want to replace the first number in each row with the
number that the user types in a field new There is also another field
(field old). 

For some reason, the following script get error messages (replace item 1 of
field content with tVar) when I compile it.

on mouseUp 
 put field old into theMatch
 put field new into tVar
 get the htmltext of field content
 
 repeat for each line theMatch in field content
  if item 1 of field content = item 1 of theMatch then
   replace item 1 of field content with tVar
   exit repeat
  end if
 end repeat
end mouseUp

This is my first venture into dealing with text. Does anybody have any
suggestions??
-- 
View this message in context: 
http://www.nabble.com/Replace-first-number-with-another-number-in-list-field-tp17699087p17699087.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


Re: Replace first number with another number in list field

2008-06-06 Thread Jim Ault



On 6/6/08 11:59 AM, Charles Szasz [EMAIL PROTECTED] wrote:

 
replace item 1 of field content with tVar

... is not the correct syntax for the replace command.

use
put tVar into item 1 of field content

Jim Ault
Las  Vegas


___
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: Replace first number with another number in list field

2008-06-06 Thread Sarah Reichelt
On Sat, Jun 7, 2008 at 4:59 AM, Charles Szasz [EMAIL PROTECTED] wrote:

 I have a list field (field content, containing lines of two numbers
 separated by commas. I want to replace the first number in each row with the
 number that the user types in a field new There is also another field
 (field old).

Working with the htmlText will retain any special formatting but makes
text manipulation more complex.

If you are content to work with plain text, then I think the following
script would be fine:

on mouseUp
put field old into theMatch
put field new into tVar
put cr  field content into tList

replace cr  theMatch  comma with cr  tVar  comma in tList
delete char 1 of tList   -- get rid of the added cr
put tList into field content
end mouseUp

I got the original list and added a cr to the start of it so that the
first real item on any line had a cr before it and a comma after it.
This allowed me to do a single replace that was only going to affect
the first item of each line. Then I removed that extra cr and replaced
the data in the field.

If you need to maintain some character level text formatting, then you
will have to use the htmlText and things get tricky. I made myself a
list of paired numbers, made the 2nd line bold and the 4th line
italic. The htmlText was then as follows:

p1,65/p
pb2,44/b/p
p3,12/p
pi2,5/i/p
p3,8/p

I guess you could use:
replace   theMatch  comma with   tVar  comma

HTH,
Sarah
___
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: Replace first number with another number in list field

2008-06-06 Thread Charles Szasz

Thanks Sarah and Jim, both of your suggestions work!


-- 
View this message in context: 
http://www.nabble.com/Replace-first-number-with-another-number-in-list-field-tp17699087p17702482.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


open new sub-stack with different record from database

2008-06-06 Thread mfstuart

Hi all,

WINXP
Rev 2.9
MSSQL

How do I build an MDI interface where from a list of records the user can
open multiple instances of a sub-stack with a different record on each
sub-stack?

Current setup:
Main Stack - table list of records from a SQL database.
Sub-stack - reads and displays the selected record.
The table list has a mouseDoubleUp handler: 
==
global gAccountNumber

on mouseDoubleUp
  set the itemDel to tab
  put item 1 of the selectedText into gAccountNumber
  if gAccountNumber   then
go stack Edit Account
  end if
end mouseDoubleUp
==
This handler opens the sub-stack. The sub-stack preOpenStack reads the
record and populates the fields for display.

Problem:
If the user double clicks again on a different record on the table list, the
currently opened sub-stack becomes focused with the first opened record
displayed, not the second selected record.
I can't open more than one sub-stack at a time?

TIA,
Mark Stuart


-- 
View this message in context: 
http://www.nabble.com/open-new-sub-stack-with-different-record-from-database-tp17703392p17703392.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


Re: Storing and Retrieving stack data?

2008-06-06 Thread Sivakatirswami

John Patten wrote:

Hello All!

I would like to save some user (student) input out of one rev project and have it accessible to another rev project (teacher) to generate reports. The users of the project could be on a school network (LAN/WAN) or at home on the Internet. What is the best way to save the data?  What is the most common practice for saving the data for this type of project? 


Possible ideas...

FTP user data as individual files to a ftp server? (Run through a process of 
reading back all the files in the directory to create report.)

Send user data directly to mySQL database? (Require the mySQL database to be 
open to outside connections - direct connect to mySQL?)

Send user data as a post process, using a CGI script to send data to mySQL 
database on server?


The first idea seems the easiest, but I'm afraid could get to be pretty slow 
with a couple hundred files in the ftp directory. I could modify an existing 
file on the ftp server, however I run the risk of some data not being written 
to the file if simultaneous connections occur...?

I have not done any work with Rev and mySQL, so if I could get away from the sql commands, all the better :-)  But, if it would be the best way to go, I'm willing to focus on that area. 


Any ideas?

Thank you!

  


John: First, forget FTP many files, you don't need (or want) that

Assuming you don't need the relational tables side of MySQL or 
PostGreSQL, AND,


1) concurrent writes are not going to be an issue (the likelihood of two 
hits on the data container in a period  1000 milliseconds, being 
virtually zero...)  then your very simplest option is to use a stack on 
the server with each card containing the student data. Then you 
architecture looks like


Desktop:

Student Stack
Teacher Stack

Server

CGI

Data stack

Use very simple POST and GET from in the desktop apps;
use generic functions calls in the CGI;
put all the logic in the data stack.

This will easily handle up to 3,000 students.

There are *lots* of advantages to this system: 
Most importantly, you can just copy the stack to your desktop and work 
on it, each card is a record, you view the layout in a visually rational 
way instead of having an abstract bunch of data in tab de-limited lines 
or custom props.


In our CGI you never us go to card; you always, name each card with an 
ID, then use The card names of this stack to get and index and read 
and write data to fld x of card y  It's very fast.



2) If concurrent writes are going to be an issues then externalize the 
data as individual .xml files, one per students. Again, use the ID as 
the file name or part of the file name.  then you do set the 
defaultfolder to /home/public_html/student-records/ ; put the files into 
tRecords;


Your architecture then looks like

Desktop client -- cgi -- RecordsManager.rev (a stack) -- many XML files.

Again, resist the temptation to put any logic into the desktop client; 
let them just get and post data; resist the temptation to build out the 
CGI... just do start using recordsManager.rev and use functions calls 
which are contained in the manager stack. Then the Manager stack has all 
the macho code to deal readng and writing to the individual XML files. 
If you are not a XML wizard, well, it's worth the learning curve and 
run, don't walk, to get Ken Ray's stack to help you with that and also 
you can use it on the server.


This model could actually scale to some pretty large numbers and is  
very,very fast.


CONS:
1) if you need dbase things like relational tables etc, then you need to 
go to SQL;
2) if you want to refactor the data you will need to process all the XML 
files in and then back out again to add or change nodes etc. But this is 
really not that difficult. (assumes again you have a handle on XSLT, 
with which you could refactor 10,000 XML files into new XML files in a 
second or two using simple shell like: put (xsltproc -o  tOutputFile 
tStyleSheet  tXMLfile) into tCmd
3) you *do* want to be writing good XML (use the same tag for the same 
class of data and attributes for differentiation, and don't proliferate 
many unique tags when all the data is really in the same class.. etc.)




This has an interesting advantage that you an also deliver the student 
records into web pages runtime using XSLT... And, what I myself  love 
about flat files systems with a clear nomenclature, if you want to get 
some info about


15368_trevor-johnston.xml

all you need to do is fetch and open the file.

Good luck!










___
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