Thank you Mike!  I changed the return variable to vRetVal. It's really cool
and non-flickering now!

It seems there is a maximum length to the message in NET SEND.  I was hoping
to also format (add CR/LF) to make the message really meaningful.  But it's
probably wishful thinking since this is sort of a primitive way to
communicate...  

If anyone has information otherwise, I would appreciate it.

TIA,
 
Claudine 

-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of MikeB
Sent: Sunday, October 26, 2008 6:40 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - RE: NET SEND Message to users from within R:BASE V8

There is a small non-showStopping faux pas in the snippet.  The variable 
vRetVal should be used in place of the variable vi as the return value for
the 
DLCall as vi was never declared.  ShellExecute returns an HINSTANCE which
can 
be cast to an Integer.  To see how the way it relates to use in RBase code
to 
how it is Declared for use in the Win API go here:

http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx

the MSDN (MicroSoft Developers Network) library which is the treasure trove
of 
every developer on the planet, has the (published) innerworkings of all 
versions of Windows.

Notice the reversal of the argument List specifically.

----- Original Message ----- 
From: "Claudine Robbins" <[EMAIL PROTECTED]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Saturday, October 25, 2008 11:15 PM
Subject: [RBASE-L] - RE: NET SEND Message to users from within R:BASE V8


> I'll be glad to.  Thanks Mike.  I actually understand this!
>
> Claudine
>
> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of MikeB
> Sent: Saturday, October 25, 2008 6:56 PM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - RE: NET SEND Message to users from within R:BASE V8
>
> Then for the "No Flicker version" you would do this:
>
> SET VAR nShowCmd Integer = 0  { SW_HIDE }
> SET VAR lpDirectory TEXT = NULL
> SET VAR lpParameters TEXT = NULL
> SET VAR lpFile TEXT = 'netsend.bat'
> SET VAR lpOperation TEXT = 'open'
> SET VAR HWND Integer = 0 { since it runs hidden, pass HWND as null }
>
> SET VAR vRetVal Integer = NULL
>
> IF (chkfunc('ShellExecuteA')) = 0 THEN
>  STDCALL function 'ShellExecuteA' ALIAS 'ShellExecute' +
>  (Integer, ptr TEXT (256), ptr TEXT (128), +
>  ptr TEXT (128), ptr TEXT (32), Integer) : Integer
> ENDIF
>
> DELETE netsend.bat
> SET VAR vmess TEXT = ('Hello World!' & (ctxt(.#NOW)))
> SET VAR vnetsend = ('NET SEND *' & .vmess)
> OUTPUT netsend.bat
> WRITE .vnetsend
> OUTPUT SCREEN
>
> SET VAR vi = (dlcall('shell32', 'ShellExecuteA', +
> nShowCmd, lpDirectory, lpParameters, lpFile, lpOperation, HWND))
>
> RETURN
>
>
>
> ----- Original Message ----- 
> From: "Claudine Robbins" <[EMAIL PROTECTED]>
> To: "RBASE-L Mailing List" <[email protected]>
> Sent: Saturday, October 25, 2008 5:56 PM
> Subject: [RBASE-L] - RE: NET SEND Message to users from within R:BASE V8
>
>
>> OK, I got it.  Here is my baby steps routine for now:
>>
>>
>>
>> DELETE netsend.bat
>>
>> SET VAR vmess TEXT = ('Hello World!' & (ctxt(.#NOW)))
>>
>> SET VAR vnetsend = ('NET SEND *' & .vmess)
>>
>> OUTPUT netsend.bat
>>
>> WRITE .vnetsend
>>
>> OUTPUT SCREEN
>>
>> LAUNCH netsend.bat
>>
>> RETURN
>>
>>
>>
>>
>>
>>  _____
>>
>> From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Claudine
>> Robbins
>> Sent: Saturday, October 25, 2008 12:00 PM
>> To: RBASE-L Mailing List
>> Subject: [RBASE-L] - RE: NET SEND Message to users from within R:BASE V8
>>
>>
>>
>> Emmitt,
>>
>>
>>
>> I'm not sure I understand.  Do you mean that I can:
>>
>>
>>
>> SET VAR MESSAGE = 'This is my message'
>>
>>
>>
>> And then issue NET SEND %MESSAGE%?
>>
>>
>>
>> Claudine
>>
>>
>>
>>  _____
>>
>> From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Emmitt
> Dove
>> Sent: Saturday, October 25, 2008 11:44 AM
>> To: RBASE-L Mailing List
>> Subject: [RBASE-L] - RE: NET SEND Message to users from within R:BASE V8
>>
>>
>>
>> Claudine,
>>
>>
>>
>> Use R:BASE to write a .CMD file, say NETMSG.CMD, and substitute for the
>> variables.  Then:
>>
>>
>>
>> LAUNCH netmsg.cmd
>>
>>
>>
>> Emmitt Dove
>>
>> Manager, DairyPak Business Systems
>>
>> Evergreen Packaging, Inc.
>>
>> [EMAIL PROTECTED]
>>
>> (203) 214-5683 m
>>
>> (203) 643-8022 o
>>
>> (203) 643-8086 f
>>
>> [EMAIL PROTECTED]
>>
>>
>>
>> From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Claudine
>> Robbins
>> Sent: Saturday, October 25, 2008 11:05 AM
>> To: RBASE-L Mailing List
>> Subject: [RBASE-L] - NET SEND Message to users from within R:BASE V8
>>
>>
>>
>> Frank Taylor got me good and started on this path and I have setup my
> three
>> users to receive NET SEND messages and have tested them -real easy.
>>
>>
>>
>> My question now is how do I customize the message by using R:BASE
> variables
>> in the NET SEND command?
>>
>>
>>
>> NET SEND %RECIPIENT% From %FULLNAME%,  %MESSAGE%
>>
>>
>>
>> Any ideas?
>>
>>
>>
>> Thank you!
>>
>>
>>
>> Claudine
>>
>>
>
>
> 

--- RBASE-L
================================================
TO POST A MESSAGE TO ALL MEMBERS:
Send a plain text email to [email protected]

(Don't use any of these words as your Subject:
INTRO, SUBSCRIBE, UNSUBSCRIBE, SEARCH,
REMOVE, SUSPEND, RESUME, DIGEST, RESEND, HELP)
================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [email protected]
In the message SUBJECT, put just one word: INTRO
================================================
TO UNSUBSCRIBE: 
Send a plain text email to [email protected]
In the message SUBJECT, put just one word: UNSUBSCRIBE
================================================
TO SEARCH ARCHIVES:
Send a plain text email to [email protected]
In the message SUBJECT, put just one word: SEARCH-n
(where n is the number of days). In the message body, 
place any 
text to search for.
================================================


Reply via email to