=========================================================================
(C) 1993 by Atari Corporation, GEnie, and the Atari Roundtables. May
be reprinted only with this notice intact.  The Atari Roundtables on
GEnie are *official* information services of Atari Corporation. To sign
up for GEnie service, call (with modem) 800-638-8369.  Upon connection
type HHH (RETURN after that). Wait for the U#= prompt.Type XTX99437,GENIE
and press [RETURN]. The system will prompt you for your information.
==========================================================================
Category 17,  Topic 10
Message 1         Sun Dec 15, 1991
TOWNS [John@Atari]           at 03:07 EST
 
 Okay, all you Script writers! Let's share our secrets, help each other
 out, etc! If you have questions about scripts or possibly have something
 to share (i.e. a piece of BackTALK code or other tips) please join the
 group.

 Also, I would be interested in seeing ideas for Scripts from STalker 
 owners. Maybe we can help out those STalker owners who have no desire 
 to write scripts..

 Come on people! STalker probably has the most powerful script language
 of any Telecommunications Program on _ANY_ computer. Let's use that 
 power..

 Any Ideas?

 -- John
 ------------
Category 17,  Topic 10
Message 2         Sun Dec 15, 1991
E.KRIMEN [Ed Krimen]         at 21:43 EST
 
Thanks for starting this topic, John.

A while ago, I had thought about writing a mini-BBS script, with message bases
and real file areas for STalker.  I'm not a programmer, although I did get a B
in AP Pascal in high school. :^D  This wouldn't be the first script I'd write,
by no means, but more down the road after I get some practice.

I tried working with the script language, but had some expected trouble with
it.  I was initially trying to write a script which would log on to a BBS and
download some files from a list I had previous created.  I knew writing the
BBS first would be biting off more than I could chew, so I tried to write
something easier to begin with, such as the downloading script.

Anyway, I had trouble doing real simple things, like writing one of those high-
low guessing games, so instead of spending time deciphering and debugging my
code, I put it on the back burner until I got real bored. :^)

Unfortunately, programming isn't my thing.  I'm glad though that there are
others who are patient and intelligent enough to do it. I'm anxious to see
what others have created with BackTALK.
 ------------
Category 17,  Topic 10
Message 3         Mon Dec 16, 1991
TOWNS [John@Atari]           at 10:59 EST
 
Thanks for the comments, Ed. Perhaps, we could assist you in getting that
script up and running. Who knows? We might even learn a few things! ;-)

-- John

PS. I am off to Virginia for the next ten days and then to Florida
    for the Gator Bowl! So, if you don't see anything from me in the
    next week or two.. I am currently occupied with Family things ;-)

    But.. I have an STBook for my vacation and a pocket modem (thanks
    to Bob Brodie!), so I hope to be able to check in a every other
    day or two..

    Happy Holidays to everyone.


 ------------
Category 17,  Topic 10
Message 4         Mon Dec 16, 1991
M.JONES52 [Jonesy]           at 22:45 EST
 
John,

   And happy holidays in return.

   So, got a Book with you, eh?  Please let us know of your impressions of it,
ok?

 ------------
Category 17,  Topic 10
Message 5         Tue Dec 17, 1991
ST.REPORT [Ralph]            at 08:05 EST
 
 Towns....

      Have a wonderful Holiday Season......  Coming to Jacksonville eh?

 Give us a call when you get to town, we'll make sure you enjoy the best
 of Holiday Cheer we can muster!  It should be a great game.

                                    Ralph @ STReport
                          Tuesday, December 17, 1991 - 8:04:20 am
 ------------
Category 17,  Topic 10
Message 6         Tue Dec 17, 1991
TOWNS [John@Atari]           at 21:52 EST
 
 Happy Holiday season to both of you as well! Maybe I'll stop by
 Ralph! <grin>

 -- John
 ------------
Category 17,  Topic 10
Message 7         Wed Dec 18, 1991
ST.REPORT [Ralph]            at 07:55 EST
 
 You are welcome to do so John..... Have a safe trip.

                                   Ralph @ STReport
                         Wednesday, December 18, 1991 - 7:55:12 am

 ------------
Category 17,  Topic 10
Message 8         Sat Dec 21, 1991
R.GOFF [Bob]                 at 00:20 EST
 
How about somebody write a simple message module for the current remote mode
script? I promised to do it, but if you all wait for me, you'll be old and
gray.

Bob

 ------------
Category 17,  Topic 10
Message 9         Sat Dec 21, 1991
TOWNS [John@Atari]           at 22:21 EST
 
 Can you expand a bit on what you need? Maybe we can design it here 
 online and then split the project into pieces or something. Who knows..
 maybe someone is looking for a reason to write scripts..

 -- JOhn
 ------------
Category 17,  Topic 10
Message 10        Mon Dec 23, 1991
A.FASOLDT [Al Fasoldt]       at 07:22 EST
 
Bob,

Sheesh! You were one of the manual writers, so we all thought you'd come
through with the script! :)

I've been trying to get into Backtalk, but to be honest about it, I have not
yet come across another script-authoring system that requires so much
investment in C-type knowledge. Argh, if I had only mastered C instead of
BASIC!

Al

 ------------
Category 17,  Topic 10
Message 11        Sun Dec 29, 1991
R.GOFF [Bob]                 at 01:18 EST
 
I know, Al, and I'd really like to do it. Belive it or not, I didn't know C
when I learned Backtalk and wrote the function reference. Learning C turned
out to be a snap after that. :-)

Actually, as soon as I've gotten through turning my life upside down for a
couple of months, I might get back into it. Taking a new job and moving to a
different part of the country tend to distract me from the more important
things. :-)

Bob

 ------------
Category 17,  Topic 10
Message 12        Sun Dec 29, 1991
GRMEYER [Gordon Meyer]       at 18:21 EST
 
One of the things I'd like to see added to the remote mode is the ability to
leave a message to the "sysop", also I suppose it would be nice to display a
welcome banner for the caller too.  I haven't had the time to get into
BackTALK as of yet, but hope to do so soon.

Regards, GRM
  Gordon R. Meyer
  11:41:28 am CT  Sunday, December 29, 1991

 ------------
Category 17,  Topic 10
Message 13        Tue Dec 31, 1991
A.FASOLDT [Al Fasoldt]       at 01:16 EST
 
Bob Goff,

Where did you move to?

Al


Gordon,

The banner and a note to the sysop can be written into a module that you'd add
to the script.

Al

 ------------
Category 17,  Topic 10
Message 14        Wed Jan 01, 1992
R.GOFF [Bob]                 at 15:22 EST
 
Haven't moved yet, but it will be Carlsbad, NM sometime in mid-January.
There's even a GEnie node there (where the heck is Carlsbad? :-), but no
Tymnet node unfortunately.

Bob

 ------------
Category 17,  Topic 10
Message 15        Wed Jan 01, 1992
SFRT-ASST [Kene @ SFRT]      at 16:21 EST
 
The 15th message and still no NEW BackTALK scripts...
 ------------
Category 17,  Topic 10
Message 16        Wed Jan 01, 1992
CHAZ                         at 20:06 EST
 
Before Aladdin, scripts probably would've been useful to me - but not any
more.  I use STalker for calling a couple of local BBS's, but am always at the
terminal for those calls.  Other than for log-on, there's nothing I need to
automate for the the local boards.  I suspect this may be the case for many
users who don't have specialized telecommunication requirements...
 ------------
Category 17,  Topic 10
Message 17        Sun Feb 09, 1992
J.CARTER14 [John Carter]     at 02:44 EST
 
I am having problems with opening a file.  I just can not get it to go.  I
have tried the filetest.bts and the cat_file.bts scripts. each one exits due
to a negative file_num.  Just can't get it to open the file and am getting
frustrated, I am working on a message reader for genie and I have everything
else working except the open statement. Which I need to read in the catagories
and topics to read.

    John Carter
 ------------
Category 17,  Topic 10
Message 18        Mon Feb 10, 1992
R.GOFF [Bob]                 at 22:30 EST
 
John, make sure that you specify the complete pathname of the file you want to
open; it's really difficult to tell what the default GEMDOS path is from
within an accessory. Also, make sure you're "escaping" the backslash in your
pathname strings, i.e. "d:\\myfile.txt". Since the backslash is part of the
notation for control characters in a string, to get a backslash itself into
the string you have to double it up.

Bob

 ------------
Category 17,  Topic 10
Message 19        Thu Apr 09, 1992
L.DOWDLE1 [Scott]            at 01:51 EDT
 
Hello STalker / BackTALK Gang,

     I'm taking on the project of writing a text editor in BackTALK. I have
several goals to meet:

 1) Make it work locally.
 2) Make it work locally or remotely.
 3) Mesh it with the REMOTE.BTS script to give remote mode a text
    editor... using REMOTE.BTS's I/O routines.
 4) Make a simplistic Email funtion for Remote that uses the editor.

     I'm pretty much close to completing goal 1... I just have to add a few
more features... and I'm just a learning programmer. *grin* Is anyone
interested in such a script and/or the goals I've set forth?

     I've heard talk that there are some third party projects in the works for
STalker... many of the BackTALK scripts and some of them stand alone PRG/ACCs.
Can anyone provide any information?  You Atari employees are number 1 on the
list of possible third party people. *grin*

     Has anyone tried a hand at BackTALK programming?  If so, what projects
are in the works (for personal use) and what projects would people like to
see?

USM135;1 E T  Opps, keyboard glitch...

USE THIS TOPIC!!!

TYL, Scott
 ------------
Category 17,  Topic 10
Message 20        Thu Apr 09, 1992
TOWNS [John@Atari]           at 21:13 EDT
 
I wouldn't write a text editor in BackTALK.. I would recommend that you learn
to use STeno (through BackTalk) and use that as your editor.

-- John

 ------------
Category 17,  Topic 10
Message 21        Fri Apr 10, 1992
L.DOWDLE1 [Scott]            at 04:01 EDT
 
TOWNS,

 John> I wouldn't write a text editor in BackTALK.. I would recommend
 John> that you learn to use STeno (through BackTalk) and use that as
 John> your editor.

     Well, thanks for the pat on the back. *grin*  But seriously, the whole
reason I'm attempting it in the first place isn't so I have a text editor... I
own STeno (and love it!)... and there are a slew of text editors available. 
The reason I'm writing it is so, hopefully, I'll be able to incorporate it
into the REMOTE script.  It will be a lot of work and hopefully it will all
fit within 32K.  Let's see you use STeno remotely through STalker!  Ha!  OK,
now that you understand ... you just might suggest using some TOS based editor
through the run CLI function?!?  Well, I would like to have a simple Email
type function in remote mode... and that would be a problem using some other
editor.

     So, have you written any BackTALK scripts?  If you have seen my
EDITOR.BTS in the ST RT file library (I don't know if it has been validated
yet?)... and if you get a look at it... please understand that I'm just a
beginning programmer.  I'm sure there are more efficient and direct ways to
code things than I have... but give me time.  How long?  Oh, ummm until I die.
*grin*

TYL, Scott
 ------------
Category 17,  Topic 10
Message 22        Sat Apr 11, 1992
TOWNS [John@Atari]           at 14:49 EDT
 
I took a look at your editor script in the library. I found one problem: the
"endfunction" line at the end of your code should be "endfunction" but is
actually "Endfunction" in the text file. This causes my BackTalk compiler to
choke. Otherwise, no problems.

Also.. It looks great! Keep me up to date. The editor works very nicely. For
those of you that have STalker 3.0 or higher..check out this script. It's
pretty neat.

I look forward to your remote mode ;-)

-- John

 ------------
Category 17,  Topic 10
Message 23        Mon Apr 13, 1992
A.FASOLDT [Al Fasoldt]       at 21:23 EDT
 
Scott,

EDIT.TTP (a freeware editor I got years ago from QMI and have used daily ever
since, as the editor within STReader) might be used for just what you are
talking about. I haven't tried it but it's worth looking into.

Al

 ------------
Category 17,  Topic 10
Message 24        Wed Apr 15, 1992
GRMEYER [Gordon Meyer]       at 20:13 EDT
 
Scott -  The one thing that really seems to be missing from the REMOTE.BTS is
a messaging function, even just for small private emails.  If you're project
will lead to that, go for it!
  Gordon R. Meyer
  6:11:58 pm CT  Wednesday, April 15, 1992

 ------------
Category 17,  Topic 10
Message 25        Thu Apr 16, 1992
L.DOWDLE1 [Scott]            at 03:05 EDT
 
John,

TOWNS> I found one problem: the "endfunction" line at the end of your TOWNS>
code should be "endfunction" but is actually "Endfunction" in TOWNS> the text
file.

     Hmmm, Either you were trying to tell me that I should have used a lower
case "e" as the first letter of "Endfunction" or I have no idea of what you
were trying to tell me. *grin*  I didn't have any trouble getting it to
compile... and I'm glad you were able to get it to compile!  I might be using
a newer version of the compiler than you (I doubt it) but I still don't see
what the problem could be. SIGH

 TOWNS> Also.. It looks great! Keep me up to date.

     Well, thanks... I sure will.  Oh, you may be old an gray (or is it grey?)
before I'm done with my first goal... which is getting it to work locally
including all of the features listed in the menu. Right now, I've working on
REAL WORD WRAP and am having a devil of a time.  I just got word wrap to work
correctly on the screen display but I've yet to patch up my string arrays.
*grin*  I'm trying though.

TOWNS> I look forward to your remote mode ;-)

     I took that grin to mean that you are aware of several factors that will
make it extremely challenging: 1) Eric's REMOTE.BTS script is extremely sturdy
and uses very specific input and output functions which means I'd have to
totally remove SIMP_ED's basic I/O stuff, 2) There is a 32K script buffer
maximum and it will be hard to fit an editor into the REMOTE mode...
especially if it's an editor written by a beginner such as myself, and 3) I'd
have to learn the REMOTE.BTS script like the back of my hand.

     But that is the ultimate goal I've chosen.  Once I've gotten a few of the
current "un-implimented" functions implimented, I'll upload something that
might be of interest.  I'd rather not bother you guys with one minor change
after another.  I'd love to upload in-the-works updates if and only if someone
wanted to improve on my source. Anyone interested?

TYL, Scott
 ------------
Category 17,  Topic 10
Message 26        Thu Apr 16, 1992
TOWNS [John@Atari]           at 14:26 EDT
 
Actually, I just hope that you can get the script to fit into 32K. You might
try modifying Eric's script first..

-- John

 ------------
Category 17,  Topic 10
Message 27        Sat Apr 25, 1992
W.YUNG1                      at 22:03 EDT
 
I've got a new BackTALK script for all of you on-line gamers. It's called 
Axolotl Football League Coach and automatically plays the Football game for
you while you are doing something else. I put a lot of work into it over the
last couple months and feel it is now close enough to let some  other people
try and get some feedback on it. This is the first post I've  ever made on
GEnie so I'd like to say hi while I'm here and ask a question or two. I've
been wondering about the GEM window functions available in BackTALK and how I
might implement them. I noticed someone mention  ccontrolling STeno from a
BackTALK script in jest and I believe this is  entirely possible although I
have yet to experiment with it. The only real question I have is how do I get
the ID of other GEM programs besides  STeno and STalker.
 ------------
Category 17,  Topic 10
Message 28        Wed Apr 29, 1992
E.ROSENQUIST [Eric@Strata]   at 19:36 EDT
 
Egads, I just noticed this topic now.  Sorry gang, but I'd only been checking
a few specific message areas on GEnie, namely topic #3.

W.YUNG1: Dan Wilga was asking me about adding a BackTALK appl_find() command
to allow a script to get the ID of other GEM programs, and given that it would
be a trivial enhancement, I might as well roll it into 3.02.  The main problem
will be if you need to send a physical address to another application in order
to pass it data - BackTALK addresses are "virtual" in that they're relative to
the start of the script's address space.  What I can do is add another
function to translate a virtual address into a physical one, that will be
simple.  You won't however be able to have a script receive a message or
acknowledgement back from the other application - that would take some extra
message handling code and I don't want to hang up 3.02 over something very
specific like that.

Eric
 ------------
Category 17,  Topic 10
Message 29        Wed Apr 29, 1992
R.MORROW10 [Bob M.]          at 20:05 EDT
 
Eric- Would it be possible for the next generation of BackTALK's compiler to
understand a page break-type command?  In one of the BTK scripts (CAT_FILE?)
it prints an ASCII file to the screen but there's no way of stopping it from
scrolling past before you have a chance to read it if it's a long file.  I
suppose a [ctrl-c] to stop the scrolling and a [ctrl-q] to continue would fit,
since it's a lot like most BBS's.
 ------------
Category 17,  Topic 10
Message 30        Wed Apr 29, 1992
TOWNS [John@Atari]           at 23:53 EDT
 
Eric.. don't forget my Settime() function!

-- John

 ------------
Category 17,  Topic 10
Message 31        Thu Apr 30, 1992
CBARRON                      at 02:33 EDT
 
 Bob M. it is control-s not control-c.  Even works with GENIE...

 ------------
Category 17,  Topic 10
Message 32        Mon May 04, 1992
E.ROSENQUIST [Eric@Strata]   at 23:25 EDT
 
Bob: that's something you'd need to build into the script itself, not the
compiler.  Actually, it sounds like a good project that a novice could tackle.
All you really need to do is insert some instat() calls in the loop that reads
and displays data (in CAT_FILE), and if the user has typed a character, read
it and then pause until they type another one.

John: set_time() was added in one of the first 3.02 betas.  Read your READ_ME
files :-)

Eric
 ------------
Category 17,  Topic 10
Message 33        Tue May 05, 1992
R.MORROW10 [Bob M.]          at 20:32 EDT
 
Eric-
  I don't think that INSTAT() is quite what I'm after.  See, that's "after the
fact" (or so it appears to me), i.e. after everything has scrolled by.  Or at
least that's the only way I could get INSTAT() to work in CAT_FILE.BTS.   What
I'm looking for is some command that forces CAT_FILE to STOP displaying text
without any user input after line 20 passes, then prompt "More?" with the user
hitting [return] to continue on another 20 lines, then another "More?",
another [return], etc.
 ------------
Category 17,  Topic 10
Message 34        Tue May 05, 1992
E.ROSENQUIST [Eric@Strata]   at 22:08 EDT
 
Bob: just put a bit of extra code in the show_file() loop -

    while file_gets(buffer, sizeof(buffer), fd) > 0 do
        puts(buffer);
    endwhile

change this to something like:

    while file_gets(buffer, sizeof(buffer), fd) > 0 do
        if instat() then
            getchar();  // Read the one that's waiting
            getchar();  // Wait for another one
        endif
        puts(buffer);
    endwhile

Eric
 ------------
Category 17,  Topic 10
Message 35        Wed May 06, 1992
SF-FANTASY [Jim]             at 19:14 EDT
 
Does anyone have a working script that uses the chat_mode() command?

 Jim


 ------------
Category 17,  Topic 10
Message 36        Wed May 06, 1992
E.ROSENQUIST [Eric@Strata]   at 19:47 EDT
 
Hmmm, well if you've got the remote mode script Jim you've got one, or does
that not qualify :-) ?

John: I take back what I said last night - set_time() was in 3.01, not in the
3.02 beta, so you've got no excuse for missing it :-)

Eric
 ------------
Category 17,  Topic 10
Message 37        Wed May 06, 1992
SFRT-ASST [Kene @ SFRT]      at 21:44 EDT
 
That's only for the BBS function, Jim. Steno is the best they have.

 ------------
Category 17,  Topic 10
Message 38        Thu May 07, 1992
R.MORROW10 [Bob M.]          at 21:04 EDT
 
Scott Dowdle and I finally overcame most of my problems with CAT_FILE.BTS. 
Maybe this version could be included on the master disks?  Here it is:

//Copy a document file to the STalker terminal window.  Modified  to //allow
for pauses in the scrolling.  The original version would simply //scroll on to
the end of the file.


function show_file(string file)
     string    buffer[256];
     int       fd;
     int       linecount;
     int       whatnow;

     if (fd = file_open(file, 0)) < 0 then
          printf("Error %d opening '%s'\r\n", fd, file);
                return;
     endif

     linecount = 0;

    while file_gets(buffer, sizeof(buffer), fd) > 0 do
        linecount = linecount + 1;
        if (linecount == 19) then //Change this to 20 if you don't use
                                  //the horizontal scroll bar in STalker.
             printf("---More?  [Q to quit] ---\r\n");
             whatnow = getchar();
                  if (whatnow == 113) then
                        //113 = Decimal value for q.  Change that to 81
                        //if you want to use Q (CAPS).  Change that to
                        //120 if you want to use x.  Don't forget to
                        //change line 23 as well!
                       file_close(fd);
                       return;
                  endif
             linecount = 0;
        endif
        puts(buffer);
    endwhile
    file_close(fd);

endfunction


function main()
    string  source_file[14];
    string  source_full[128];
    string  source_path[128];

     source_path[0] = file_get_drive();
     source_path[1] = ':';
     file_get_dir(0, source_path + 2);
     strcat(source_path, "\\*.DOC");  //You can change it to *.* or
                                      //whatever.
     source_file[0] = 0;

     while fsel(source_path,source_file,source_full,"File to Display?")do
          if source_file[0] == 0 then
               return;
          endif

          show_file(source_full);
     endwhile endfunction

 ------------
Category 17,  Topic 10
Message 39        Fri May 08, 1992
R.RICHARDS2 [Roger]          at 00:04 EDT
 
Does anyone have a STalker script that will log on to GEnie and check for and
download any mail?  I use Aladdin normally for this but sometimes I am in
another program and just want to do a quick check for mail.

...Roger
 ------------
Category 17,  Topic 10
Message 40        Sat May 09, 1992
B.KANTOR [Bruce]             at 12:26 EDT
 
I would like to set the status of STalker to ONLINE via a BalkTALK script.  Is
this possible?

I need to do this because I use STalker to connect to a mainframe computer
which employs a call-back feature.  A call-back feature operates as follows:
you call an access number, enter a code, and hangup.  The computer will then
call you back at a predetermined number.  This is used for security purposes.

After my script dials, send my code, hangs up, answers the call back, and
connects to the mainframe STalker remains in the OFFLINE state. I would like
to have STalker indicate the correct state.

        Thank you,
        Bruce M. Kantor
 ------------
Category 17,  Topic 10
Message 41        Sat May 09, 1992
E.ROSENQUIST [Eric@Strata]   at 12:42 EDT
 
Bruce: the 'online' state only happens if you go through one of the dialing
functions.  It's possible that you'll have DCD active without having gone
through the dialer (ex. you type ATDT555-1212), and STalker realizes that but
leaves the title as-is.

Your best bet is probably just to tell STalker not to watch DCD.  Then it
won't notice it drop and will leave you in the "on-line" state the whole time.
You can do this programmatically using the set_int_param() call and the
MDM_USE_DCD_PARAM value as described on pg. 93 of the BackTALK manual.  Have
your script turn DCD off just before it hangs up, then turn it back on once
the mainframe calls you back and you get re-connected.

Eric
 ------------
Category 17,  Topic 10
Message 43        Sun May 10, 1992
R.SAMBERG [Bob]              at 21:14 EDT
 
Scott,  I tried using your script but during compiling there was an error
message at line 320 "declaration syntax error." Just for the heck of it I
loaded the script into an ASCII editor from another program (I don't have
Steno) and changed Endfunction to endfunction per message #22; but got the
same error message when trying to compile.  (Obviously I don't know anything
about this script or CLI stuff (ie. why the CLI would tie up the machine
etc.))  Anyway keep up the effort when possible, it's appreciated.P.S. I have
STalker Version 3.01. ...Bob
 ------------
Category 17,  Topic 10
Message 44        Mon May 11, 1992
L.DOWDLE1 [Scott Dowdle]     at 05:00 EDT
 
Bob, [R.SAMBERG]

     Thanks for taking a chance by downloading that script.  I don't know why
some people have had trouble compiling it (did EVERYONE have trouble compiling
it?) because it compiled just fine for me.  Also, to the best of my knowledge
there is NO difference between a lowercase "endfunction" and and uppercase
"Endfunction."  I know you weren't the one that reported it (Towns?) but if
there is a difference between the two, I wish someone would tell me. *grin* 
The only thing I can think of is that somehow the file transfer process,
either between me to GEnie, or between GEnie and others... somehow modified
the script (it was an ASCII file) just enough to give problems.

     I'm still working on it although I haven't really had time to give much
effort.  I'll GE Mail you both the .BTS and .BTK files in an LZH archive to
eliminate any transfer problems that might be associated with the transfer of
an ASCII text file.

     Let it be known that the editor currently only works locally... mainly
because I haven't yet gotten a clue as to make it work remotely. *grin* 
...but I'm learning more as time passes.  Maybe within a year?!? *grin*

     I have a feeling that there are a bunch of people looking for an editor
that they can use remotely... and I'd love to have one of the Gribnif guys or
Eric Rosenquist take the time and effort to beat me in producing one (it
wouldn't take much at their programming level)... but somehow I don't think
that is going to happen.  I mean, it isn't everyday that you find a commercial
programmer that is willing to do professional work for nothing... just to
please a whinner!

TYL, Scott

 ------------
Category 17,  Topic 10
Message 45        Tue May 12, 1992
B.KANTOR [Bruce]             at 21:17 EDT
 
Eric,

The problem is that you never go online with the mainframe the first time all
you do is smething like this:

        ATDT1-800-123-4567,,,,,,,123456;
        ATH

        Where - 123456 is your access code

After that the mainframe calls you back.  So I don't actually go online until
the auto-answer.

        Bruce M. Kantor

 ------------
Category 17,  Topic 10
Message 46        Tue May 12, 1992
E.ROSENQUIST [Eric@Strata]   at 22:31 EDT
 
Ahh, so you never even get carrier then I take it.... that will make it a bit
tougher....

I'm not sure you'll be able to go through the autodialer at all.  It will
always think that dialing has failed and go on to the next attempt.  You could
*try* putting a huge dialing string in a couple of functions keys, with CRs
and pauses in between commands, but that would be rather timing dependent.

What are you using to dial now, a script or fkey?

Here's an idea that might work, although it's a bit messy:

Use a script to dial and answer the callback.  If you want to then get your
terminal settings and window title setup properly, have your script save the
dialing prefix, then blank it out (leave your system nubmer as a single blank
or something equally innocuous) and issue a dial_one("system name") command. 
STalker will go through the dialing sequence, but since the prefix is blank
and the suffix is just a CR, it will only transmit an empty line.  The dialing
routines will then notice that DCD is active and consider the attempt
successful.  Your script should then restore the dialing prefix before going
about its merry way.

Eric
 ------------
Category 17,  Topic 10
Message 47        Sat May 16, 1992
B.KANTOR [Bruce]             at 09:44 EDT
 
Eric,

 >Here's an idea that might work, although it's a bit messy:

 >Use a script to dial and answer the callback.  If you want to then
 >get your terminal settings and window title setup properly, have your
 >script save the dialing prefix, then blank it out (leave your system
 >nubmer as a single blank or something equally innocuous) and issue a
 >dial_one("system name") command.

That's exactly what I ended up doing. And guess what? it worked and wasn't too
messy.

        Thanks,
        Bruce M. Kantor

p.s. I really would like keyboard mapping.  I hate DOS, but take a look at
ProComm (your product blows it away).  It allows keyboard remapping.

 ------------
Category 17,  Topic 10
Message 48        Tue Jun 02, 1992
SFRT-ASST [Kene @ SFRT]      at 13:04 EDT
 
Okay, I got WRITESCR.BTK to work this time. I used UNDO to exit last time and
it wouldn't compile the script I made.

It's a neat Script. I'd like to suggest a couple of things. Some way for the
script to do error checking on the string its waiting for. I don't know if
that's possible or not. And the second thing is a way turn the timing info
off. I just ended up going through the source and setting them all to "0".

Eventually I may try to optimize the source because I repeated a lot of steps.
But the script got me started. Thanks!

 ------------
Category 17,  Topic 10
Message 49        Wed Jun 03, 1992
E.ROSENQUIST [Eric@Strata]   at 20:37 EDT
 
Ken:

 > It's a neat Script. I'd like to suggest a couple of things. Some way
 > for the script to do error checking on the string its waiting for. I
 > don't know if that's possible or not. And the second thing is a way
 > turn the timing info off. I just ended up going through the source and
 > setting them all to "0".

The generated script is already doing some error checking on the strings it
waits for.  Take a look at the script below (I created this by hitting CR and
then "read 10 new" at the Cat 17 prompt just now).

    function main()
        port_send("\r", TRUE);

        if not wait_for("17 ?", 98) then
            exit(1);
        endif
        wait(39, TRUE);
        port_send("read 10 new\r", TRUE);
    endfunction

If GEnie doesn't respond with "17 ?" within about 10 seconds after the CR, the
script aborts (the exit call).  The 98 ticks (9.8 seconds) is some multiple of
the actual time it took, I think I double or triple it.  Just change the
"exit(1);" to whatever sequence of steps you like if you want to handle the
non-receipt of the string differently.

After about 4 seconds of staring at the prompt, I typed the "read 10 new"
command, which is why the "wait(39, TRUE)" statement is in there.  Without any
wait statement, the script would send the next command right after getting the
"17 ?" prompt.  If the host can handle it right away, then go ahead and take
the wait() call right out.  In order to be sure that the generated script is
an accurate reflection of what took place though, I had to leave those in.
Sometimes people wait because they're thinking about what to type, and other
times it's because the host requires it.

If you take a look at the WRITESCR.BTS source code, you'll see a bunch of
comments at the top that tell you how you can control the generated script a
little bit more.  In particular, if you don't want the delays between the
reception of a prompt and the subsequent response, you can alter the
"thresh_wait" value.  WRITESCR currently uses a value of 2 seconds, so any
delay longer than 2 seconds between a prompt and when you start typing makes
the generated script contain a wait() call.  Crank up the value if you don't
want them.

Eric
 ------------
Category 17,  Topic 10
Message 50        Wed Jun 03, 1992
SFRT-ASST [Kene @ SFRT]      at 20:56 EDT
 
Ah. I see. You're subversive in your BackTalk teaching methods. (trying to
turn me into a programmer, eh?)

<G>

I see what you're talking about, but I meant there should probably be a
version where you can set the configurations from inside the script.

And somewhere around "talking about" I had this vision of BackTalk II with a
GEM interface. <G>

I'll see what I can do to make my script better.
 ------------
Category 17,  Topic 10
Message 51        Thu Jun 04, 1992
B.KANTOR [Bruce]             at 18:52 EDT
 
I would like to suggest an enhancement to the BalkTalk compiler.  I would like
to set a default path for my scripts.  I run BackTalk from MultiDesk, and the
file selector comes up with C:\MDX\*.BTS all the time.  A configuration file
or a configure dialog with a save button would do the trick for me.


        Bruce M. Kantor
 ------------
Category 17,  Topic 10
Message 52        Fri Jun 05, 1992
CBARRON                      at 02:25 EDT
 
 A good idea, also consider separate default paths for compiled and non-
compiled scripts.
 ------------
Category 17,  Topic 10
Message 53        Fri Jun 05, 1992
L.DOWDLE1 [Scott Dowdle]     at 04:29 EDT
 
Bruce & CBARRON,

     I think that was a wonderful idea... I too use BackTALK from MultiDesk
Deluxe.  I thought about suggesting configurable paths a long time ago but
never did since I get by with UIS III's function key path selection feature. 
Adding path control from within the compiler would save a few keystrokes and
the part about having a separate path for .BTS and .BTK files also sounds like
a good idea. Hmmm, what do the Gribnif guys and Eric have to say about this?
 ------------
Category 17,  Topic 10
Message  54       Mon Jun 01, 1992
E.ROSENQUIST [Eric@Strata]   (Forwarded) 
 
Rod Martin:

 > Yeah. The BackTalk scripting language is probably the single most
 > important reason why I really can't even consider STalker for my next
 > telecomm package,

Maybe I'm missing something obvious here, but how can BackTALK stand in your
way as a STalker user?  Are you saying you'd prefer something less capable (or
no scripting at all), or do you just find the language to be overwhelming? 
Don't let the fact that it looks like a real programming language (it is)
scare you off, but by the same token, you've got to realize that with power
comes some complexity. Scripting languages like Flash's .DO simply can't come
close to doing the types of things you can do in BackTALK (the remote mode
script is a prime example).

Take Ron's advice and have a gander at the WRITESCR (called "co-pilot" by
someone else here) script.  The way you generally use it is to do your
dialing, then start it up, and go through the motions you normally go through
(ex.  supplying PC-Pursuit with info then accessing a BBS).  When you're done,
you've got a script you can compile which will re-do exactly what you did &
when you did it, and you can link it to your autodialer entry's [S] button. 
You only need to edit it if there is something variable that you need to take
into account, i.e., something that isn't the same every time you log on.

As far as simplicity goes, if you're only doing simple things, the language
doesn't get in the way that much:

    function main()
        wait("Username:", 0);               // Wait for a string
        port_puts("My dog has fleas\r");    // Send a string
        ... repeat the above once for each prompt/response pair
    endfunction

My recollection of .DO syntax is dusty, but the above is roughly similar to:

    >WA "Username:"|
    My dog has fleas|

As soon as you start to do things that are non-trivial, you begin to
appreciate BackTALK's approach and understand that it can't be made a whole
heck of a lot simpler.  The syntax could change to be closer to Pascal or
maybe BASIC, but the overall scope of the language would still be similar.  To
handle complicated communication sessions, you need to be able to have
complete control over the characters going to/from the modem, and you need to
be able to time things to account for changing circumstances.  To be truly
useful, you also need to be able to access disk files and the settings of the
comms package itself.  If you take a look at the scripting language of any
high-end comms package (Crosstalk Mk. 4, Procomm Plus, Telix) you'll notice
that they all adopt the "structured" programming approach rather than the
style that Flash uses.

Granted, some of the other users have made good points about simplifying the
task of creating scripts (ex. a graphically oriented script writer), but that
wouldn't change the capabilities required underneath it all.  Personally, I
think Microphone II has the worst of both worlds.  It has a script builder
that lets you edit commands using a "toolkit"-like approach (ex. you pick
commands from a scrolling list, then enter parameters if any).  While it's
nice that it prevents you from making syntax errors, to me it just gets in the
way and makes it hard to see the structure of your script (no indenting,
limited looping, etc).

I suppose the ultimate would be a graphically oriented tool that used
flowchart-like symbols and could do type checking on all of the functions. 
The desire for tools that make programming easier for non-programmers is not
new though, as just about *any* programming language can be overwhelming to an
average citizen (heck, that's why we have to go to college or university to
become "programmers" :-) Programming environments like HyperCard & Visual
Basic are helping to change things mind you, but we've still got a long way to
go.

 > I doubt I could even use WRITESCR, since every different city I dial
 > has a different code that must be inserted in the login procedure.

If the rest of the access is the same, just run WRITESCR once, then edit out
the specific part and put in some statements that prompt you for the code:

    string  code[32];

    ... other stuff ...
    puts("Enter PC-Pursuit code: ");
    gets(code, sizeof(code));
    port_puts(code);

Even better, if there are 3 or fewer choices, you can use a GEM alert box:

    ... other stuff ...
    i = alert("[1][ Which PC-Pursuit code? ][NYC|LA|CHI]");
    if i == 1 then
        port_puts("the code for NYC\r");
    elseif i == 2 then
        port_puts("the code for LA\r");
    else
        port_puts("the code for CHI\r");
    endif

Alternatively, you could simply run WRITESCR once for each system and have a
separate script file for each.  In that case, you could add some extra
functionality by throwing in a routine like:

 function create_file(
    string  filename
    )

    int     file_handle;

    file_handle = file_create(filename, 0);
    if file_handle >= 0 then
        file_close(file_handle);
    endif
 endfunction

Then stick a create_file("c:\\telecomm\\last_on\\bbs_name") call in each
script, and you'll have a file per BBS in the C:\TELECOMM\LAST_ON directory
whose timestamp is the date/time you last accessed that BBS.


Ken (or is it Kene?):

 > I need to figure a way to open a file, read a set of numbers, and send
 > those numbers and text to GEnie.

The CAT_FILE ('cat' is a std. Unix utility that concatenates files, although
it is also useful for displaying a file: "cat filename" shows the file on your
terminal) script has some of the basic stuff you need.  Basically, what you
want is something like:

 function send_file(
    string  filename    // Input: the name of the file to send
    ) returns int       // Returns: 0 on success, otherwise an error #

    int     file_handle;
    string  text_line[128];

    if (file_handle = file_open(filename, 0)) < 0 then
        printf("Error %d - the file '%s' could not be opened\r\n",
               file_handle, filename);
        return file_handle;
    endif

    // Loop through the file, reading each line & sending it
    // out the modem port as we go.
    while file_gets(file_handle, text_line, sizeof(text_line)) != NULL do
        port_puts(text_line);
        // Delay a bit to let STalker process echoed data.
        wait(1, TRUE);
    end

    file_close(file_handle);

    return 0;
 endfunction

If you need to manipulate the data within the file before sending it, add some
code in the while loop before the port_puts().  Note that you could even
access the clipboard as the input file with a tiny extra bit of work.  The
PREFIX script is a good example of something that opens up the clipboard file.

BTW, this stuff really belongs in topic #10 (BackTALK scripts), so if you have
questions about my msg, post them there.

Eric
 ------------
Category 17,  Topic 10
Message  55       Tue Jun 02, 1992
L.DOWDLE1 [Scott Dowdle]     (Forwarded) 
 
D.BROWN65 [David],

 > I have a version of Micro-Emacs that works quite well with my BBS
 > software (Transcendence BBS). [...] If anyone wants/needs it I will
 > gladly upload it.

     I don't know how I missed this message the first time it came around?!? 
Well, I just read it and so here is a reply... PLEASE UPLOAD THE TEXT
EDITOR!!!

Thanks in advance!

-----

R.GLOVER [Rob],  RE: Message 202

 > Is there any way to modify the remote script so I can watch what
 > people are doing?  Not seeing what's going on is annoying.

     Well, read over pages 40 - 42 in the *FANTASTIC* STalker manual.
Specifically, on page 41 it says...

        "The Initial Port Settings...  button lest you configure the setup of
your modem.  The resulting dialog box is the standard STalker communications
setting box, described later in this chapter.  It is helpful if you remember
what settings you use here, as when you dial in you may need to configure the
remote computer accordingly.  IF YOU SELECT HALF DUPLEX MODE, SOMEONE LOOKING
AT YOUR COMPTUER SCREEN WILL SEE EVERYTHING THE REMOTE USER SEES EXCEPT WHEN
THE CLI IS IN USE. IF YOU SELECT FULL DUPLEX, STALKER WILL NOT SHOW ANYTHING
IN THE TERMINAL WINDOW EXCEPT MODEM COMMANDS AND RESPONSES."

[All caps mine. *grin*]

     Hmmm, I bet you have Full Duplex set.  Change it to Half Duplex and I bet
you will get the results you desire!

-----

RE: BalkTALK and learning to program with a C-ish language?

     I hear a lot of you "non-programmers" whining about BackTALK being to
hard to learn.  Well, I can state firsthand that if you will read the BackTALK
manual, get a beginner's book on C, and put in a little effort... you can
indeed become a BackTALK programmer.  I think the hardest part to get over is
when one reads over some BackTALK script (or C source code) and gets lost
simply because they don't understand some basic concepts.  Learn a few basic
concepts and you will be well on your way.  What basic concepts?  Well, I'm
just a budding BackTALK programmer wannabe but here is what I found hardest to
read when looking over scripts... What is this parameter passing stuff?  What
are these logic puzzles?  What are those funny symbols in the printf
statements?  What are those symbols, a new math?

     Well, read through the BackTALK manual, and get a beginner C programming
book, and put a little effort into it and I bet you will enjoy what you learn.
IT ISN'T AS HARD AS IT LOOKS GANG!

Type you later, Scott
 ------------
Category 17,  Topic 10
Message  56       Tue Jun 02, 1992
SFRT-ASST [Kene @ SFRT]      (Forwarded) 
 
SCott>> I'm sure you  're right, but at the moment I have no wish to become a
C programmer. I don't want to program at all. I just want to use a totally
transparent interface to get a job done.

If BackTALK was such a slick language _I_, at least, would expect A LOT more
scripts in the library. In September the program will have been out for one
year. It was released at The (infamous) Glendale Show.

The language is powerfull. It does wonderful things for people that know how
to make it dance. But its power is wasted on me.

On the brighter side I got a script that I wrote.... <I'll take this to the
BackTALK topic.>
 ------------
Category 17,  Topic 10
Message  57       Wed Jun 03, 1992
NTACTONE [Ron Hunter]        (Forwarded) 
 
Scott,
   The problem with the C-like language for many of us is that we just don't
WANT to learn another language.  I already KNOW about 7 or 8 computer
languages, and acquiring another just doesn't exactly appeal to me, especially
one as cryptic as C.

 ------------
Category 17,  Topic 10
Message  58       Thu Jun 04, 1992
K.MILLER69 [Kyle Miller]     (Forwarded) 
 
Scott Dowdle,

Computers are here to work for us, the consumers.  It's not the other way
around.  Yes, I am sure that learning BackTALK, along with learning C as you
advise, is fun and dandy for you IF YOU HAVE THE TIME to learn it.  The
American and Canadian market work on a supply/demand system.  If the consumer
wants something (and is willing to pay for it in most cases), then the system
provides. It seems there already a fair number of individuals who would like
something different.  (Freedom of choice?  What a concept!)

To take your advice, "[Well, you non-programmers are SOL.  You just better
learn C.]" would be silly.  The non-programmers will stop their "whining" when
you stop your preaching.

P.S.  At this moment, I have no desire or time to learn C or any C-like
programming language.  I paid good $$$ for this program and I would like to
use all cylinders of this powerhouse engine by stop letting one half of the
program stay stagnant.


 ------------
Category 17,  Topic 10
Message  59       Thu Jun 04, 1992
SFRT-ASST [Kene @ SFRT]      (Forwarded) 
 
Which brings us to this...
 Stalker is probably the best program being supported on the market. It might
earn someone _with_ a bit of extra time a few shareware or  commercial dollars
(U.S. and CAN) if they can come up with another interface for the "engine."

And that reminds me. What happenned to the 3rd party T/A ACC for Stalker?
 ------------
Category 17,  Topic 10
Message  60       Thu Jun 04, 1992
L.DOWDLE1 [Scott Dowdle]     (Forwarded) 
 
Kene,

     You want to use a totally transparent interface to get the job done. 
Hmmm, say where can I get one of those?  What we are talking about here is a
scripting (programming) language, and I'm sorry, programming knowledge is
necessary unless you just want to automate something with WRITESCR.

 > If BackTALK was such a slick language _I_, at least, would expect
 > A LOT more scripts in the library.

     Hmmm, there are other programming languages in the library... are there a
lot of source codes available?  There are some DO files and some scripts for
Aladdin but nothing really to honk a horn about. I think a lot of people are
keeping their scripts personal because I've heard talk about a few scripts
written by some professional programmers at Atari but none of them have been
released.

 > It does wonderful things for peopel that know how to make it
 > dance. But its power is wasted on me.

     Well, I don't want it to be wasted on anyone... and that is why I
suggested that some of you guys put forth some effort.  Not so long ago I saw
C and C-ish languages as something impossible, something way beyond me, but
after getting rid of the, oh what should I call it, ummm... fear, yeah, that's
it... after getting rid of the fear, and putting forth just a little effort,
I'm not so intimidated (sp?) any more.  Oh, the part about picking up a
beginner's C book... I only went through the first 30 pages or so and it
really helped a lot.

 > On the brighter side I got a script that I wrote....

     Well, see that wasn't so hard now was it? *grin*  Seriously, I'm not
trying to beat anyones brows here, I'm just trying to offer a little
motivation, because, like yourself, I'd like to see more scripts posted...
although I can't think of anything off hand that I would want a script for...
other than what I'm working on... an editor for REMOTE mode.

-----

Ron Hunter,

     If you know 7 or 8 computer languages, then learning BackTALK should be a
piece of cake.  C really is the most popular language around now-a-days so I'd
think you would be doing yourself a programming educational favor.  C may
appear cryptic, say have you read Dave Small's HERESY two part series in
Current Notes?... ummm, lost my train of thought.  Oh yeah, my point was that
C might appear cryptic sometimes, but one of the points that Dave Small makes
in HERESY is that you can write garbage code in any language, and you can
write readable code in any language.  To avoid the cryptic-ness of C, simply
use a readable coding style.

     After learning some of the C/BackTALK basic concepts, I'm able to follow
most of the REMOTE script and I'm sure if you gave it a try, with your
programming knowledge, you'd be able to follow it too. Hmmm, maybe we can get
Eric to answer questions regarding the REMOTE script... over in the BackTALK
Topic.  I'm interested but don't have any questions yet.

     My main problem right now can be summed up by a little quote from the
BackTALK manual on page 53 - "Strings are very powerful and yet can be very
troublesome to novices."  I still have to get it straight in my mind the
difference between a regular string (one dimensional array of characters -
string whatever[200]) and a string pointer (string whatever).

 ------------
Category 17,  Topic 10
Message  61       Thu Jun 04, 1992
L.DOWDLE1 [Scott Dowdle]     (Forwarded) 
 
Kyle,

     You can bad mouth me all you want, but you will still never get me to
understand why some of you guys think that a scripting language shouldn't take
some programming effort from the user.  Get real.

     About the only thing I'm sorry about is that this looks like a
controversy and it really isn't.  BackTALK is really easy to program in if
people weren't scared by the C-ish appearance.
 ------------
Category 17,  Topic 10
Message  62       Thu Jun 04, 1992
SFRT-ASST [Kene @ SFRT]      (Forwarded) 
 
  "The trouble with computer programs is that they're written by 
   computer programmers."

Stalker is a fine program. Steno is a great companion program for Stalker.

BackTALK is a powerful telecommunication language. However, BackTALK is not
going to be the language for average and casual user. If you think it is, I
don't know who you think the average Stalker user is. Stalker is popular, but
there's no reason for it to remain that way if someone else comes out with a
program that has it's functionality and a more transp  arent scripting
language.

And now that I think about it, it takes about the same (more or less) learning
curve to do something simple (relatively) as it does to do something complex.
Does the average user want to learn "c" to dial in to a mainframe using their
long distance carrier number and wait for a callback?

They just want to long in to make their sell and check inventory.
 ------------
Category 17,  Topic 10
Message  63       Thu Jun 04, 1992
SANDY.W [RT SysOp]           (Forwarded) 
 
Personal opinion here. I think the key to a script language is that it really
needs to have to parts. The basic syntax must be easy enough that the average
computer illerate can write very basic scripts, but it must also be possible
to use more complex commands for the expert users and their complex scripts.
The original Flash has been this kind of program for me. I can easily string
together some basic commands to do simple things I want, but I never learned
to use the more complex commands that I have seen others use to turn out some
amazing scripts. Maybe there needs to be 2 script languages that are somehow
interconnected. A very simple syntax for the basic user, with some command
that will "turn on" the more complex syntax like you would need to write
complex scripts. You can have the most powerful script language in the world,
but unless the majority of your users feel they can use it, it is of little
worth to them.

I have to agree with Ken. There are reasons I would like to learn "C" or some
other language, but just so I can log onto a bulletin board or do a few simple
things automatically is not one of them.
 ------------
Category 17,  Topic 10
Message  64       Thu Jun 04, 1992
A.FASOLDT [Al Fasoldt]       (Forwarded) 
 
Scott,

I am a very accomplished Flash DO script writer, and find STalker's scripts
immensely difficult to write. Eric is right; STalker's scripting language is
powerful and flexible. If I had time to learn C, I would be better off. But
the DO language does not require Backtalk's time-consuming pre-declaration of
variables (after all, what I begin to write in a script may not be what I end
up writing, but STalker won't let me do that without a lot of backing and
filling).

Also, the DO language is a lot more powerful than most Flash and non-Flash
users believe, based on the reaction among experienced users to my Secrets of
Flash documentation. A scripting language should be do-able first of all; if
few users can write scripts in the language, it doesn't matter at all how
powerful it is.

Al

 ------------
Category 17,  Topic 10
Message  65       Thu Jun 04, 1992
B.KANTOR [Bruce]             (Forwarded) 
 
Ron,

If you know 7 or 8 computer languages, then an 8th or 9th should be no
problem.  All the constructs are the same just a little different syntax.  I
just thought I would put my $.02 in.


        A programmer that also knows 7 or 8 languages,
        Bruce M. Kantor
 ------------
Category 17,  Topic 10
Message  66       Thu Jun 04, 1992
B.KANTOR [Bruce]             (Forwarded) 
 
Kene,

enough is enough.  I have a script I write and use to dial in to a mainframe
using my long distance carrier (equal access) and wait for a call back.  It
then answers the phone and connects to the host.  I can share this with you
via email and help you customize it for your own use.  There is one catch;
please end this silly bickering.


        Bruce M. Knator


p.s. This offer goes out to anyone else who needs to do the same.

 ------------
Category 17,  Topic 10
Message  67       Thu Jun 04, 1992
R.MARTIN22 [NETWORK 23]      (Forwarded) 
 
ERIC:

In advance, thanks for your detailed reply. I will have to give STalker some
more thought. I think my main complaint is that BackTALK IS a language, and a
language that I don't know. Does STalker come with a manual explaining how to
write BackTALK scripts, or do I have to go out and buy a C manual to learn C
first? I've seen some of those manuals, and I can't see STalker including a
tutorial/reference guide that would sufficiently cover the language.

For the most part, Flash's DO scripts are as much complexity that I need. I
dial my PCP number and Flash throws up a dialog box, asking me for the city
which it inserts into the city connect line. After connecting, Flash throws up
the dialer for me to choose the number to call.

I am sure that BackTALK allows you to do fantasical things with STalker. I ran
some of the demo scripts and was quite impressed. I just don't think I want to
spend the time learning a computer language so that I can use STalker's
BackTALK to its full advantage.

I also have cost to consider. While STalker may be competitively priced, I
have seen in this topic that only with STeno will STalker's full potential be
realized. When I buy a program, I don't want it to be half-way. On top of
those costs, I may have to buy a C programming book, the better ones costing
$45 or more. After it's all added up, the STalker package would run me quite a
bit of money -- money that I in no way have! I haven't made up my mind yet,
but I will still consider STalker seriously.

JONATHON:

I've never heard of Prichard's Pursurer? What is it supposed to do?

  Live And Direct [1:26 AM-4/Jun/92],
  Rod Martin, Network 23/ST Connection

 ------------
Category 17,  Topic 10
Message  68       Thu Jun 04, 1992
SFRT-ASST [Kene @ SFRT]      (Forwarded) 
 
Bruce, I didn't feel like I was bickering. I was was complaining. <G> Thanks
for kind offer of your script. I don't need it, but someone might need it, so
please upload it to the library. I have sysoply tasks I would like to automate
and I only used that example as something most people would understand.

The goal is to have computers _save_ time...
 ------------
Category 17,  Topic 10
Message  69       Fri Jun 05, 1992
NTACTONE [Ron Hunter]        (Forwarded) 
 
Bruce,
   Sometime around 1985 I grew tired of adding languages to my list. About the
same time I grew tired of programming in general.  I don't like C on
PRINCIPLE.  It is a language written by compiler writers FOR compiler writers.
Since only a VERY small percentage of programs are compilers, and only a very
small percentage of programmers WRITE compilers, I think a computer language
should be written FOR PROGRAMMERS.  The syntax, for instance should be ordered
like English, rather than like a statement of Boolean algebra.  The syntax of
C is plain and simple, organized to make the job of the parser as easy as
possible, and the devil take the poor guy that has to WRITE it, and the guy
who has to MAINTAIN it later.
   I guess I have reached the point in my life where I have become selective
as to what I put in this old brain, and C isn't one of the things I feel I
need to include.  Not that it isn't powerful, and flexible, just that I don't
LIKE it.  If I had need of power and flexibility beyond what is offered by GFA
Basic, then I would just use 68000 Assembler, which is similar enought to IBM
360/370 Assembler to make the acquisition of IT much easier than C, for me.
   The problem seems to be that C is more of a religion than a tool for many,
and I already HAVE a religion that serves me well, and see no need to convert.
So don't bother to proselyte, I am NOT going to change religions.

L. IBson,
  You're kidding, right?  Check out Aladdin. M1000 for the Basic RT.

Rod,
  Yes, the BACKTALK manual has a tutorial in the use of the lanugage, although
a good C book would be of some assistance if you have no prior experience with
C.  It is quite a good tutorial, as such things go, and most of the 3/4 inch
thick manual deals with BACKTALK.
  For what it is worth, I DON'T use STeno with STalker (even though I have
it), as the message passing slows things down too much, and I have no great
need for the editor capability, with the STalker scrollback and mark ability.

 ------------
Category 17,  Topic 10
Message  70       Fri Jun 05, 1992
E.KRIMEN [Ed Krimen]         (Forwarded) 
 
My two cents:

Throughout STalker 3.0's development, I had heard about tons of new features,
including Zmodem implementation and the scripting language. I knew I wanted to
upgrade, no matter what the cost.  I also knew that I wasn't going to use
BackTALK and that was fine with me.  I've only tried writing scripts once;
otherwise, that part of STalker just sits there, and I don't mind.  It doesn't
bother me and I don't bother it. :^)

I never spend time writing scripts.  I leave that up to the "professionals." 
I tried using BackTALK and just got too fed up with it, not because it was
hard, but because it's a script language.  I just don't like writing scripts. 
The time I spend writing and debugging it doesn't make up for the time I'd use
the completed version, when (or most likely, IF) it gets done.

(Hey, and I got a 'B' in AP Pascal in high school.  Never did finish that
Othello program; almost did though.  Maybe that's why I got a 'B' instead of
an 'A.' :^)

 ------------
Category 17,  Topic 10
Message  71       Fri Jun 05, 1992
CHAZ                         (Forwarded) 
 
Scott - some people, like myself, don't wish to spend time learning a
complicated process to create simple scripts.  I enjoyed creating Flash do-
files, the learning curve wasn't quite as steep - seems a general knowledge of
Basic was all that you needed.  BackTALK may be "really easy to program" for
you, but don't use your own abilities as a yardstick for others.
 ------------
Category 17,  Topic 10
Message  72       Fri Jun 05, 1992
CBARRON                      (Forwarded) 
 
 Ron:
   The backtalk language is described in the manual.  A C book or C knowledge
is not neccesary but can be useful as many of the backtalk commands show a C
heritage. fgets, fputs for example.  I have not used it much but I may in the
future. Nice things I can see for other places, aladin for here!....

 ------------
Category 17,  Topic 10
Message  73       Fri Jun 05, 1992
L.DOWDLE1 [Scott Dowdle]     (Forwarded) 
 
Sandy & Kene,

     I don't know where you guys get the idea that one has to learn C to
automate things from STalker.  That is what the WRITESCR is all about.  Even
when "fine tuning" is wanted, it takes very little effort in most cases. 
BackTALK isn't "needed", it is a bonus.  Does everyone agree with that?  OR do
some of you disagree?

-----

Al,

     You are basically arguing Basic vs. C... or a less structured language
vs. a more structured language.  There is no right or wrong here so far as I'm
concerned, it is all about personal preference. I'm probably going out on a
limb here, but I think that C is one of the most popular languages on the ST. 
GFA Basic really has a following though.  I never wanted to learn GFA Basic
because I thought I would be commiting myself to yet another non-standardized
language. I was happy to see BackTALK follow C (as does MichTron BBS' MCL
language).  I would also guess that there are probably more Atari C
programmers than Flash DO programmers... but of course I could be wrong.

     I don't want this to appear to be yet another pissing match between
online guys who have never met.  I think we all are wanting to see our
favorite terminal program improve.  From previous experience, Eric Rosenquist
has been a programming and user interface design expert.  I don't think he has
the time to devote to writing another script language, nor do I think he has
the desire.  I'm not trying to speak for him though. *grin*  My point is that
we HAVE BackTALK, and it is very powerful, it works, and it can do wonderful
things if and when people put forth the effort to learn how to use it. 
Originally, there wasn't a WRITESCR script and I was really happy to see Eric
wrote one.  We just might see more programming utilities for BackTALK be
written as time progresses but only if people will give it a better chance.

     I think I should have never dared people to put forth an effort to learn
BackTALK because it seems to have caused some negative attitudes towards
STalker, attitudes that I don't think are worthy. Sorry Eric... I was trying
to promote possitive interest and I guess it backfired.

-----

Rod Martin,

     The STalker/BackTALK manual combination is fantastic... and over two
hundred pages if memory serves me.  The majority of the manual is devoted to
BackTALK programming although it doesn't go to great lengths to describe
common functions that it borrows from C... and a C companion book is
recommended by me. *grin*

     Yes, it is true that STeno makes STalker a more complete program, but you
can live without it.  Some people might disagree but I bet they haven't become
that familiar with some of STalker's alternative commands... to take the place
of STeno.  About the only thing one might miss completely is a Type Ahead
Buffer... and if TADA (Type Ahead Desk Accessory) ever gets released then one
can remove that missing link from the list.

-----

Bruce,

     RE: Delete and Backspace?

     I think that there is a toggle for destructive backspacing in the
terminal configuration dialog box.  I don't have STalker loaded right now to
tell you though. *grin*

 ------------
Category 17,  Topic 10
Message  74       Fri Jun 05, 1992
L.DOWDLE1 [Scott Dowdle]     (Forwarded) 
 
Hello Gang,

     I just uploaded REMOTE.LZH to the library... it'll take a little while
for it to be validated but be on the lookout for it.  It contains a modified
version of STalker's REMOTE script.  This modified version contains a simple
[L]ine editor as well as a few minor changes.  Documentation, what there is of
it, is included as are sources and compiled files.  Please give it a try and
let me know what you think.  Oh, and don't forget to read the documentation
completely before you go reporting problems. *grin*  Enjoy.

Comments are welcome here, or in the BackTALK topic!

TYL, Scott
 ------------
Category 17,  Topic 10
Message  75       Fri Jun 05, 1992
JEFF.W [ST Sysop]            (Forwarded) 
 
Ed,

Hear, hear!  You said it for me completely.

I never write scripts.  I didn't do it when I was using Flash, I never do it
for ST Aladdin, and I don't do it in STalker/BackTalk.  I like that the power
is there, and if necessary, I might be able to find a script already written
to do what I want, or maybe I can cajole someone else to write one for me.

For me, the scripting is almost an incidental feature.  It's great that it's
there, but the real test for me is how the rest of the program works.  For me,
STalker is still the best.

=-=-=-=-=-=-=-=-=--=-=-=

A side note...I guess it's about time for me to transplant a bunch of these
messages over to the BackTalk topic, isn't it?  I can see this scripting talk
just isn't going to stop.  <smile>
 ------------
Category 17,  Topic 10
Message  76       Fri Jun 05, 1992
SANDY.W [RT SysOp]           (Forwarded) 
 
Sorry, but I do not consider Backtalk an added bonus. For me, easy scripting
ability is a requirement of my terminal program. It is why I do not use
Stalker on a regular basis.

Scott - The C comments grew out of an example or comparison used in earlier
messages. Thanks for uploading your script. I think the more script examples
that people upload the better. The example scripts uploaded for Flash in the
early days went a long way toward helping people learn to use the DO files.
I'ed like to see Topic 10 in this category take off with discussion about how
to do different things with Balktalk.
 ------------
Category 17,  Topic 10
Message 77        Fri Jun 05, 1992
SFRT-ASST [Kene @ SFRT]      at 14:21 EDT
 
Sandy re: #76
 Yes, I agree. Those early Flash .DO files were essential. And don't forget
GSCAN which used Flash and .DO files to do almost what Aladdin does today.

With that said, I  l-i-k-e Stalker/Steno. Stalker without Steno _seems_
crippled to me. That's my opinion and your milage may vary.

WRITSCR.BTK is a step in the right direction. I got it to work, I edited the
source to do what I wanted, but unlike another program I never felt
comfortable doing it. The situation is based on the fact that BackTALK was
written for programmers, not users. This may never change, it may not even
_need_ to change. And I'll admit that I don't expect it to hange.

So what are some neat ways to modify WRITESCR.BTS? What can be done to make it
better? Does anybody have any routines that will really trick the script out?
Like what are the calls needed to add a fileselector call? What's the entire
routine for reading numbers off a stack in a text file? What's the entire
routine for opening a text file?

Is there a simple way to optimize a script written by WRITESCR.BTK?

 ------------
Category 17,  Topic 10
Message 78        Fri Jun 05, 1992
M.PERDUE [Mario]             at 19:02 EDT
 
Ron Hunter

Sorry, but C was NOT written for compiler writers. It was written as a general
purpose programming language for the development of UNIX. The UNIX operating
system, the C compiler, and essentially every UNIX applications program have
been written in C. C comes closer than any other language to being
'universal'. As for programming languages being written 'FOR PROGRAMMERS'; C
is. When you make a programming language more like English you are really
doing it for NON-PROGRAMMERS.
 ------------
Category 17,  Topic 10
Message 79        Sat Jun 06, 1992
CBARRON                      at 05:26 EDT
 
  DARLAH >I'd likd to see this cat. takeoff with a discussion about how to do
different things with Backtalk.  So would I.   Flash style scripting is nice
for quickies but I have some things in mind for another network that flash or
its derivatives do not do such as get infromation out of captured text that is
not the entire line. (filenames, library #'s,etc.).  I await REMOTE.LZH as it
may be the start of something for elsewher. Here I generally use alladin.
<grin>
  I might even take the dofiles created by *scan and automate them. Balktalk
can do that in its current form, but again I have other committments...
  I personally like all the possible power and the fact that the script does
not have to be parsed each time it is used.  Backtalk/Stalker/Steno combo does
not seem to be designed for the 'point and click', but that's ok with me.  If
I want point and click, I have another term. program. If I need some real
automation of batch downloads I have stalker/etc. 
 ------------
Category 17,  Topic 10
Message 80        Sun Jun 07, 1992
B.KANTOR [Bruce]             at 04:38 EDT
 
Kene,

I will upload my script if someone wants it.  I had to do some interesting
(read that funky) things to get BalkTalk to listen to my modem and wait for a
timeout when its not online (I couldn't get wait() or wait_for() to work when
my modem is not online).  For example, send an ATZ to the modem and wait for
either "OK" or a timeout using  wait_for("OK",50).  The wait_for() seems to be
ignored when the modem is offline.

My script needs to do several things while not online with a host, and to do
appropriate error checking at every step, I had to do alot of stuff by the
brute force method.  Because of this, my script is not a very simple and
traight forward example.  But, if someone needs to do similar things, I would
be happy to share it with them (it's also fairly specific to one mainframe
system but easily customized).

-------

Scott,

I have destructive BACKSPACE turned on, and the condition I described is the
result.  If destructive Backspace is turned off, BACKSPACE acts like a left
cursor key.



        Bruce M. Kantor

 ------------
Category 17,  Topic 10
Message 81        Sun Jun 07, 1992
SFRT-ASST [Kene @ SFRT]      at 11:18 EDT
 
And the BackTALK Library grows by 1! Yay!!!

Thanks, Bruce.
 ------------
Category 17,  Topic 10
Message 82        Sun Jun 07, 1992
K.MILLER69 [Kyle Miller]     at 14:20 EDT
 
Scott,

I am not bad mouthing.  What am I saying that C maybe for you, but because it
is for you that it doesn't mean its for everyone.  And for you to suggest us,
those who don't want to deal with C-type language, to just live with it is
selfish.  I am glad you are happy, but what about the rest us?

I am not saying that a scripting language does not require some programming
skills.  I am also not saying that strawberry isn't an ice cream.  I am saying
that I prefer vanilla.  Because you are happy with strawberry as your ice
cream, and a lot of us prefer vanilla, don't make us come eat the same flavor
you like because vanilla doesn't exist in this ice cream shop.  It is called
freedom of choice.

While I like the ice cream shop (STalker3) and its facilities, I would like to
enjoy eating some ice cream.  But I and many others can't because all that is
being served is strawberry!

I disagree.  BackTALK is not a bonus to STalker.  I paid for STalker.
 BackTALK is a feature of STalker.  Therefore, I paid for BackTALK. No bonuses
here.

Sorry, BASIC can be very structured.  Check out GFA BASIC 3.5e+.  But the
thing about GFA is that I can still use my BASIC knowledge that I learned AGES
ago and write simple programs, yet GFA still retains it very structured
atmosphere.  The good thing is that I am not forced to learn all its
structured rules.  GFA can keep it simple for simple things.  If you want to
write a very complex program, the tools (and syntax) is there.

"I think we all are wanting to see our favorite terminal program improve."

Would adding another scripting language that has the capability to speak a
little more like english and not computerese so that a locked out consumer
base would be able to script around too be an additional feature for STalker? 
Now let's think.  Additional features = improved program.  Right?

(AUTHOR OF MESSAGE NOTICE:  The above message does not bad mouth Scott.  It
simply questions his logic.)

Ron,

It sounded like you were using STeno as a capture buffer.  Your complaint was
that it slowed things down too much.  I agree.  When it comes to long
captures, I just use ascii receive.  For grabbing bulletins or messages, I
paste to STeno where it all collects.  It sort of acts like an editable
clipboard for me.

I also use STeno as temporary storage for replies or new messages I want to
post.  It also allows me last minute editing.

STeno is great, just don't use it for long captures.

For those looking at STalker to buy,

Don't worry about the BackTALK language... STalker is very much worth the buy.
The program and manual is most excellent.  In fact, STalker is so good, that
there are a lot us who want more from what is already there, like using the
BackTALK language.  We just can't get enough.  It is like a drug!

 ------------
Category 17,  Topic 10
Message 83        Sun Jun 07, 1992
SFRT-ASST [Kene @ SFRT]      at 19:51 EDT
 
And I'd like to add that WRITESCR.BTS does improve things. 
 ------------
Category 17,  Topic 10
Message 84        Sun Jun 07, 1992
J.DUCKWORTH2 [Ducky]         at 21:42 EDT
 
Eric, add another happy user to your list ! I love STalker and also  BackTalk.
At first I thought the scripting language would be hard and complicated, but
now I see what all that extra power can do. First, I'd like to say that
creating one that simply logs onto a service is quite simple and thoroughly
explained in the manual...I don't know what some of the people on here are
whining about. As a matter of fact I just wrote a script that will allow me to
play a sort of chat wheel of fortune with others on an Oracomm BBS. (Actually
it mostly lets others play and lets me be a sort of game master... Oracaomm
doesn't have chat games built in. Every one is amazed that my Atari can do
this with it's terminal program). Second, keep up the good work... I can't
wait to see what you come up with next.

John
 ------------
Category 17,  Topic 10
Message 85        Sun Jun 07, 1992
SFRT-ASST [Kene @ SFRT]      at 23:41 EDT
 
Are you the Duckworth from Holmes & Duckworth?
 ------------
Category 17,  Topic 10
Message 86        Mon Jun 08, 1992
J.DUCKWORTH2 [Ducky]         at 00:08 EDT
 
If I say yes do I get some sort of prize ?



........but unfortunately not. Sorry. (I do remember seeing those ads though,
and saying WOW another Duckworth that's an atari user.)
 ------------
Category 17,  Topic 10
Message 87        Mon Jun 08, 1992
SFRT-ASST [Kene @ SFRT]      at 12:26 EDT
 
You don't get a prize. But you would get a "huzzah!"
 ------------
Category 17,  Topic 10
Message 88        Wed Jun 10, 1992
J.RICE5 [Joe Rice]           at 01:12 EDT
 
Hello,

I'm fairly new to writing scripts, but I've chosen to attempt one anyway. 
What I'm trying to do is make a script that allows you to send messages to
alphanumeric pagers.  Programs for this purpose are available for Mac and MS-
DOS, but I haven't found any for the ST.

Anyway, I have the protocol docs from Pacific Telesis, and I need help with
part of it.  When sending a message, one indicates the star by sending a ^B
then the pager ID, a <CR>, the message, another <CR>, a ^C, and then a
checksum.  The checksum is what I can't figure out. Here are Pac*Tel's
instructions:

"Each checksum is computed by performing the simple arithmetic sum of the 7-
bit values of all characters preceding it in that block.(This means that the
^B and ^C <indicating the beginning and ending of the block> are included in
the sum).  The checksum is then the least significant 12 bits of this
resulting sum.  The checksum is transmitted as three ASCII characters having
values between HEX 30 and HEX 3F (the characters 0123456789:;<=>?).  The most
significant four bits of the sum are encoded as the 4 least signifant bits of
the third character."

Any pointers on how to acheive this?  (Of course I will be prompting the user
for the pager ID and message)

Thanks,

Joe

 ------------
Category 17,  Topic 10
Message 89        Wed Jun 10, 1992
K.MILLER69 [Kyle Miller]     at 23:05 EDT
 
Ducky,

I am glad everything is just 'ducky' for you with BackTALK, but your paradise
is not everyone's paradise.  I am glad you have so much time to sit down and
learn BackTALK and write Wheel of Fortune games.  I, on the other hand, don't
have the time to learn C or C-like language. I am currently taking 9 hours of
college (MON-THUR, SAT), work a full time job, and I have a wife that loves to
spend some time with me.  Where does learning a whole new language fit in?  I,
and I don't think I am alone, at least learned BASIC.  They start it with you
in high school these days.  Geesh, I guess Dave Small was right, fighting C
lovers is like fighting a religion.  Sorry if I am committing "Heresy."

Sorry, there I go again, whining.  Wait a minute!  I paid for STalker and I
have every right to state what I would like to see STalker do. Every since I
and others have mentioned what we like, we have been called cry babies who
just don't give BackTALK a chance.  Exuse me, but I did read the tutorial.  I
agree with an early gentleman that said a C book as an aid is needed, at least
me.  I don't have time to read another book.  I have to read "Lonesome Dove",
a 937 page book, and be able to answer essay questions in 7 weeks.  And that
is only 1/16th of my "To Do" list.

<As he steps off his soap box, the music 'its troops are marching on...'
continues to play in the background.>


 ------------
Category 17,  Topic 10
Message 90        Thu Jun 11, 1992
L.DOWDLE1 [Scott Dowdle]     at 05:55 EDT
 
Kyle,

     ...and I suppose that if some of us do make the effort to learn BackTALK
it is because we don't have anything better to do with our lives? *grin*  Of
course not!

     I'm sorry that you don't have time to learn a powerful, C-ish language
like BackTALK.  I'm not preaching C or BackTALK as a religion either.  I
forced myself to learn a little of the syntax and enough C basics so that I
could dabble a bit.  I would really like to take an academic (sp?) course in C
programming someday soon!

     I'm sure this is all regional and everything... BUT I have to disagree
with you on your comment "[I] at least learned BASIC.  They start it with you
in high school these days."  I find beginning programming courses starting
with Pascal and bypassing BASIC completely... or at least that is the way it
is in my neck of the woods.

     I don't have anything against BASIC... it is just that BackTALK exists
NOW and I want to take advantage of it, so I DID make some time to teach
myself some C basics.  I'm sorry I called you a whinner!  I hope you don't
think it is a fault in personal character to like BackTALK? *grin*

     If you would like to do something a bit more constructive with your time
in this topic, how about bringing up some script projects that you are
interested in.  I wouldn't mind trying to supply some of my time to help you
reach any of your goals if you are interested. This is a sincere offer, and
I'm sure there are more people who wouldn't mind helping with questions
because it would benefit us all. Are you interested?
 ------------
Category 17,  Topic 10
Message 91        Thu Jun 11, 1992
E.ROSENQUIST [Eric@Strata]   at 22:34 EDT
 
Joe:  it sounds like all you need to do is step through the characters and add
up their values.  This will give you an integer value, which you break into 3
nybbles (half a byte) and encode as ASCII by adding hex 30 (the ASCII value of
the digit '0').  A BackTALK routine to append such a checksum to a given
string would look something like this:

    function append_checksum(
        string  command,    // In/Out: the input command string
        ) returns string    // Returns: the original string

        string  checksum[4];
        int     sum;

        sum = 0;

        // Step through the characters, adding each to the checksum.
        while command[0] do
            sum = sum + command[0];
            command = command + 1;
        endwhile

        checksum[0] = 0x30 + ( sum       BITAND 0xF);
        checksum[1] = 0x30 + ((sum >> 4) BITAND 0xF);
        checksum[2] = 0x30 + ((sum >> 8) BITAND 0xF);

        checksum[3] = 0;    // Null terminate the string

        return strcat(command, checksum);
    endfunction


an example of the way you'd use this is:

    function send_command(
        int     pager_id,   // In: the numeric pager ID
        string  command     // In: the text to send
        )
        string  pager_command[128];

        // Put ^B<PagerID><CR><Message><CR>^C in 'pager_command'
        sprintf(pager_command, "\002%d\r%s\r\003", pager_id, command);

        // Compute and append the checksum to the command
        append_checksum(pager_command);

        // The finished command is in 'pager_command' - send it
        port_puts(pager_command);

        // Alternatively, you could shorten it a bit to the following:
        port_puts(append_checksum(pager_command));
    endfunction


Here's a trivial main() function - you're will obviously be more complicated
since you'll be prompting the user for things:

    function main()
        send_command(99, "His father's name was Hymie");
    endfunction


Kyle:  I sympathise with your position, I'm pretty busy myself these days and
haven't had the time to teach myself C++ even though I very much want to learn
it.  On the other hand, it sounds like you wouldn't be happy with anything
except BASIC, or maybe .DO files since you already know that "language" from a
previous life.  I think that if you look at the sort of things that people
like Joe wish to automate you'd agree that Flash would be hard pressed to
handle it.  Granted, I could have used structured BASIC as a model for
BackTALK rather than the current C/Pascal blend, but in that case we'd
probably be having this discussion with C fans as to why BT couldn't be more C-
like.

Lest you think this matter is completely closed, let me just say that I've
been studying .DO file syntax lately and am contemplating the idea of a .DO
file interpreter script for BackTALK.  I'm not making any promises, but it
looks like it's DO-able (pun intended :-)

Eric
 ------------
Category 17,  Topic 10
Message 92        Thu Jun 11, 1992
SFRT-ASST [Kene @ SFRT]      at 23:17 EDT
 
Thank you for your support, Eric!

The latest ST Informer has part 1 of a 4 part tutorial on BackTALK. (Even
though they have it BACKtalk on their cover.)
 ------------
Category 17,  Topic 10
Message 93        Fri Jun 12, 1992
J.RICE5 [Joe Rice]           at 03:29 EDT
 
Eric,

Thanks, as soon as I get it working I'll post it, as from what I understand
alpha pagers use a fairly generic protocol.  A friend of mine whipped up a
hypercard stack to do the same thing in about an hour, but I hate having to
switch to my Spectre GCR just to send a page.  I was surprised that I was so
easily able to get the technical docs from Pac*Tel.

Joe

 ------------
Category 17,  Topic 10
Message 94        Fri Jun 12, 1992
CBARRON                      at 03:30 EDT
 
 Eric - A do file executing or translating script?  Both are 'doable' but I
aint got much time...  Make sure you understand the meanings of single and
double quotes, and the | symbol overload...
 ------------
Category 17,  Topic 10
Message 95        Fri Jun 12, 1992
R.MORROW10 [Bob M.]          at 20:02 EDT
 
Well, I've tried Scott's latest REMOTE.BTS hack and I'm quite impressed.  I
was able to run it in Local mode with the BackTALK script buffer set at 20k,
11k less than the max.  See, Scott and I live in the same town, so I can drive
over there and get the latest from him.... :-)
 ------------
Category 17,  Topic 10
Message 96        Fri Jun 12, 1992
J.DUCKWORTH2 [Ducky]         at 20:47 EDT
 
Kyle,

 If you bothered to check , my first message was not addressed to you. It was
simply a message to Eric to let him know that there ARE some users that like
what he has done with BackTalk. I don't know what makes you think that I have
"so much time" on my hands. I'm not even going to go into my schedule with you
because no one really cares. I'm sure everyone on this round table is equally
busy with their own lives.

 Have a great day, good luck with your reading and say hello to the wife for 
me.

Ducky
 ------------
Category 17,  Topic 10
Message 97        Sat Jun 13, 1992
B.ROBERSON [BOYDR]           at 05:25 EDT
 
  Couldn't a Flash .DO emulater be written in BackTalk?

 ------------
Category 17,  Topic 10
Message 98        Sun Jun 14, 1992
SFRT-ASST [Kene @ SFRT]      at 02:16 EDT
 
Apparently.... maybe. It depends on ability and available time. I have
neither.
 ------------
Category 17,  Topic 10
Message 99        Sun Jun 14, 1992
R.SAMBERG [Bob.S]            at 13:59 EDT
 
Scott; 

Just tried your remote version of 'Simple Editor' and it works fine so far.  

Although I don't choose to learn about Backtalk or scripts now, I'd like to
say thanks for taking the time to share what you have learned.

I also tried the Emacs file #24367 (REMEMCS.LZH (R_EMACS.TTP)) but couldn't
get it to work.

Remotely from Tomshell the session went:

2 b:\ >R_EMACS Fundamental Error cmd exit code -1 3 b:\ >

There was disk activity after I typed in the filename. I saw two bombs on the
screen but was able to exit Tomshell and continue the normal Backtalk remote
session.

...Bob S.
 ------------
Category 17,  Topic 10
Message 100       Sun Jun 14, 1992
K.MILLER69 [Kyle Miller]     at 16:04 EDT
 
Scott,

I just got my ST Informer.  I think I will squeeze some time to read the
BackTALK tutorial they have.  I always make time to read my Atari periodicals.

Eric@Strata,

You're the man with the plan.  :-)  If making a .DO file converter will run
into upgrading time for STalker AND STeno, just put it aside for now.  I would
love to see the core of each of the programs continue to improve.  The same
goes for NeoDesk Dan!  :-)

Ducky,

You did refer to those who are "whining", i.e. complaining.  I was one of
those REQUESTING there be another scripting language flavor. With that in
mind, you are refering to me and anyone else you say is "whining."  Yes, you
didn't call be by name, just by group.

It just a matter of different strokes for different folks.  Maybe the ST
Informer tutorial will help.

 ------------
Category 17,  Topic 10
Message 101       Mon Jun 15, 1992
L.DOWDLE1 [Scott Dowdle]     at 02:26 EDT
 
Bob.S,

 > Just tried your remote version of 'Simple Editor' and it works fine
 > for me so far.

     Well, I was rather imbarrised (sp?) about the source that I uploaded
because after testing it out and looking at it, there were a few bugs as well
as several unused variables and a general mess. *grin*  I've done a lot of
revision on the modified REMOTE script and I'm happy with my Simple Editor now
although I would like to add things such as [D]elete line, [I]nsert line,
[E]dit line, and [O]pen file... but I haven't sat down to try and figure out
how to do some of those things with a string yet.  I'm sure if I ever learn
the differences and advantages of using string pointers, I may just be able to
make take up less RAM.  Say, can anyone have a look at the script (even though
the one posted is now outdated) and give me some suggestions???

-----

Kyle,

 > I just got my ST Informer [...] BackTALK tutorial

     Hmmm, I don't currently subscribe to ST Informer and it isn't available
in my local area.  Say, could I beg a copy from someone?  I know... I'll call
and see about subscribing.  Anyone know the phone number?

     Say, who is writing the series of articles?  Maybe I could get them to
upload them to GEnie if they have an account.  I'm sure we would all
benefit... if that would be ok with ST Informer?

-----

Bob M.,

 > I've tried Scott's latest REMOTE.BTS hack and I'm quite impressed.

     Well, thanks Bob!  As stated above, the version posted here on GEnie has
been cleaned up but I would like to add a few things to it before I trouble
possible downloaders with a newer version.

     We have discussed these problems but here is list just so everyone else
will know about the bugs in the posted version... These all apply to the
[L]ine editor part of the REMOTE script.

 1) If you enter a line as large as the given space for it, you will
    get an extra blank line on the screen before advancing to the
    next line.  Fixed!

 2) ^C as input isn't handled correctly in the editor. Fixed!

 3) A blank return on any line would add a \r\n to the edit buffer
    and the characters left in buffer indicator would decrease by
    two characters.  Fixed... blank returns don't do anything to
    the buffer, it just jumps into command mode as it should.

 4) Removed about 5 unneeded variables and several commented out
    things that were mostly holdovers from my deletion of word
    wrapping functions.

 5) Oh, most importantly, if you abort and edit and then pick the
    editor again, the previous edit session was still there although
    the characters left in buffer indicator didn't know about them.
    Fixed - Now the edit buffer is cleared when aborted and every
    edit is a fresh edit.

      I hope people don't think that Simple Editor is limited to 60 characters
per line or 1,000 characters total buffer space.  That is the default in the
script but the size of the strings can easily be edited to fit your desires...
just be aware of the RAM limitations of BackTALK.  Simple change the following
to whatever you want...

 String le_buffer[1001];   // Change 1001 to desired size + 1.
 String line_text[61];     // Change 61 to desired line length + 1.
 String help[1001];        // Change to same as le_buffer's size.

     Any questions from you non-programmers?
 ------------
Category 17,  Topic 10
Message 102       Mon Jun 15, 1992
GRIBNIF [Dan]                at 23:38 EDT
 
Joe,

Here's an approximation of what it should look like. This may be a bit off,
since my C is much better than my BackTALK <smile>:

 string message[128];
 string sum[3];
 int index, count;

 ...

 index=0;      // character being examined
 count=0;      // check sum
 repeat
   count = count + (message[index]&0x7f);   // &0x7f ensures 7 bits
   index = index + 1;
 until message[index-1]=='\x7'     // Until Ctrl-C
 // compute the sum string to send
 sum[0] = (count&7)      + '0';
 sum[1] = ((count>>4)&7) + '0';
 sum[2] = ((count>>8)&7) + '0';
 // now, just send the three bytes in "sum"

Dan
 ------------
Category 17,  Topic 10
Message 103       Tue Jun 16, 1992
CBARRON                      at 02:48 EDT
 
 I have noticed that the 3.02 implementation of CISB+ protocol executes a
script upon reciept of a signal from the host. Will this cause problems when
executing another script file that parses some text file and sends the
appropriate replies to appropriate prompts. Is there a documented way to
execute an *.btk file from within an *.btk file?   Seems like something useful
on that other network, to bad it won't work as a da...

 ------------
Category 17,  Topic 10
Message 104       Wed Jun 17, 1992
GRIBNIF [Dan]                at 08:34 EDT
 
We STRONGLY recommend the ST Informer articles on BackTALK scripts. This 4
part series will become a MUST have for STalker owners.  It is written by
Robert Goff, the same person who wrote a very large portion of the original
BackTALK manual.

Scott,

You call ST Informer at (503) 476-0071, they can probably sell you the issues
with the BackTALK articles.

- Gribnif
 ------------
Category 17,  Topic 10
Message 105       Thu Jun 18, 1992
R.MORROW10 [Bob M.]          at 01:21 EDT
 
Well, I decided to continue working on a modified script (CAT_FILE.BTS) that
Scott (L.DOWDLE1) originally modified on my request.....I wanted the ability
to read a .doc file while within STalker, which the stock CAT_FILE did,
however it simply started and ran through the file until the end.  Whoa!  I
can't read that fast, so I asked Scott if he could hack out a scrolling
capability to it. He did, (I modified it a bit) but now on to my one remaining
peeve in CAT_FILE that I don't know how to kill.

When CAT_FILE is done with a file, it presents a file selector box. This is
unnecessary; if I want to read the file again, I'll go through the motions
myself.  I'd like to rewrite the script so that the file selector box doesn't
appear after reading a .doc file.  Any ideas?  (BTW, Scott doesn't know about
this last thing.  I'm sure it would have been taken care of).  Any ideas?

================= //Copy a document file to the STalker terminal window. 
Modified by //Scott Dowdle and Bob Morrow to allow for pauses in the
scrolling. //The original version would simply scroll on to the end of the
//file.


function show_file(string file)
     string    buffer[256];
     int       fd;
     int       linecount;
     int       whatnow;

     if (fd = file_open(file, 0)) < 0 then
          printf("Error %d opening '%s'\r\n", fd, file);
                return;
     endif

     linecount = 0;

    while file_gets(buffer, sizeof(buffer), fd) > 0 do
        linecount = linecount + 1;
        if (linecount == 19) then //Change this to 20 if you don't use
                                            //the horizontal scroll bar in
STalker.
             printf("--- More?  [Q to quit] ---\r\n");
             whatnow = getchar();
                  if (whatnow == 113) then
                          //113 =  Decimal value for q.  Change that to 81
                          //if you want to use Q (CAPS).  Change that to
                          //120 if you want to use x.  Don't forget to
                          //change line 24 as well!
                       file_close(fd);
                       return;
                  endif
             linecount = 0;
        endif
           puts(buffer);
    endwhile

endfunction

function main()
    string  source_file[14];
    string  source_full[128];
    string  source_path[128];

     strcat(source_path, "\\*.DOC");  //You can change it to *.* or
                                      //whatever.

     while fsel(source_path,source_file,source_full,"File to Display?")do
         show_file(source_full);
     endwhile endfunction


*sn
 ------------
Category 17,  Topic 10
Message 106       Thu Jun 18, 1992
CBARRON                      at 02:06 EDT
 
 Bob M. replace the while statement in function main with an if statement. 
(while ....endwhile)
    if fsel(source_path,source_file,source_full,"File to Display) then
        show_file(source_full);
    endif

 ------------
Category 17,  Topic 10
Message 107       Thu Jun 18, 1992
L.DOWDLE1 [Scott Dowdle]     at 16:51 EDT
 
Dan,

 > You call ST Informer at (503) 476-0071, they can probbly sell you
 > the issues with the BackTALK articles.

     I called them this morning and subscribed.  I was sure to ask which issue
starts the four part series and they said that it was the current issue
(June).  I asked to start my subscription with that issue and they said NO
PROBLEM.  They are going to mail it to me today.  I hope Bob covers some stuff
I'm interested it! *grin* Thanks for the info!

 ------------
Category 17,  Topic 10
Message 108       Thu Jun 18, 1992
R.MORROW10 [Bob M.]          at 23:26 EDT
 
CBARRON-

Thanks.  It worked.  I would have never found that.
 ------------
Category 17,  Topic 10
Message 109       Fri Jun 19, 1992
K.MILLER69 [Kyle Miller]     at 01:04 EDT
 
BackTALK Pros,

While I don't have time to work on this project fully, I wanted to let ya'll
think on my first project.  It might interested more parties than myself.

When I am on BBS systems and finish typing messages, I like to leave with a
quote.  I would like a script that will output a quote from a file where I
have them all stored at the hit of a key.  It would just go down the list.  It
could even possibly read the data file format of one of these quote programs
already out.

Think on it... I will be attempting something after school is out.

 ------------
Category 17,  Topic 10
Message 110       Fri Jun 19, 1992
L.DOWDLE1 [Scott Dowdle]     at 03:52 EDT
 
Kyle,

 > When I am on a BBS system and finish typing messages, I like to
 > leave a quote.  I would like a script tthat will output a quote
 > from a file where I have then all stored at the hit of a key.  It
 > would just go down the list.  It could even possibly read the data
 > file format of one of those quote programs already out.

     It seems to me that the simpliest way to impliment a Tagline type
function would be to put quotes into your STalker function keys and save
various function key files.  I know that a single function key doesn't allow a
lot of storage, but luckily they can be chained together.  Group related
quotes together and create a STalker script that could act as a menu for
loading in Function keys... or you could assign your ALT-keypad keys to
scripts that load in a specific function key data file.  Then, while online,
you could simply review your function key settings if needed, and hit the
desired function key to insert your quote into the system's editor.

     Oh, you don't have to worry about writing scripts if you don't want to...
just use the load function key option of the function key dialogue box.  About
the only really inconvience (sp?) to this whole idea is that you have to
manual type in your quotes into STalker's function key dialogue, using the
chaining feature as needed, and save the function key files... ie, you
couldn't use already made Tagline data files unless you wrote a script to
convert them into the STalker function key format... which shouldn't be too
impossible! *grin*

     Kyle, does that sound like a workable plan to you?
 ------------
Category 17,  Topic 10
Message 111       Sun Jun 21, 1992
E.ROSENQUIST [Eric@Strata]   at 20:47 EDT
 
Kyle: if you can post the file format used by an existing 'quote' program I'll
give it a shot.  The only trick I suspect will be to generate a pseudo-random
number, but there's at least a couple of ways to do that.

By the way everyone, I've got a .DO file interpreter about 1/2 finished. It
does all of the parsing and handles most of the simpler commands
(send/wait/type/alert/open/input/get/...), but it's not ready for prime time
just yet.

Eric
 ------------
Category 17,  Topic 10
Message 112       Sun Jun 21, 1992
SFRT-ASST [Kene @ SFRT]      at 22:11 EDT
 
How much money do you want from me? <G>

Your support is amazing, Eric!!
 ------------
Category 17,  Topic 10
Message 113       Mon Jun 22, 1992
L.DOWDLE1 [Scott Dowdle]     at 04:22 EDT
 
Eric @ Strata,

 > I've got a .DO file interpreter about 1/2 finished.

     Does this mean that you will be adding more advanced GEM dialog box
support (or whatever the exact name of it is?) to BackTALK, or will .DO
generated GEM-like objects be simulated by simpler text I/O?

     To be honest, I'm not that excited about a .DO file interpreter but I'm
at least hoping that it will turn a few more telecommunicating eyes in this
direction. *grin*

     Say, do you know the status of any of those Atari guy STalker/BackTALK
related projects?

     As always, THANKS FOR YOUR CONTINUED SUPPORT!!!
 ------------
Category 17,  Topic 10
Message 114       Mon Jun 22, 1992
JEFF.W [ST Sysop]            at 11:27 EDT
 
 >E.ROSENQUIST [Eric@Strata]
 >
 >By the way everyone, I've got a .DO file interpreter about 1/2
 >finished.

Way to go, Eric!  The people have spoken and Eric listens...and takes action! 
I love to see that in an Atari developer.

Folks can complain about not having a lot of developers for our computers (and
they are correct), but I think we have a disproportionately high percentage of
great developers in our stable. Eric and Gribnif are certainly among them.
 ------------
Category 17,  Topic 10
Message 115       Mon Jun 22, 1992
SFRT-ASST [Kene @ SFRT]      at 13:31 EDT
 
My friends, I'm sure the DO file interpreter is IN ADDITION to the  BackTALK
compilier. More options. THIS  is a GOOD thing.

What Jeff said. And we're lucky (and happy) that the best are on GEnie.
 ------------
Category 17,  Topic 10
Message 116       Mon Jun 22, 1992
A.FASOLDT [Al Fasoldt]       at 19:58 EDT
 
Eric,

Can't wait for that DO interpreter! Would you like some fancy DO scripts to
use for testing?

Al

 ------------
Category 17,  Topic 10
Message 117       Tue Jun 23, 1992
SFRT-ASST [Kene @ SFRT]      at 23:31 EDT
 
Eric, I can't remember if you mentioned these Flash commands but I would be
extremely happy if you implemented OPEn and INPut in your interpreter as well
at simple math functions.

         Ken Estes
         [SFRT-ASST]
         20:22:52--Pacific Time
         Tuesday, June 23, 1992

 ------------
Category 17,  Topic 10
Message 118       Wed Jun 24, 1992
K.MILLER69 [Kyle Miller]     at 01:16 EDT
 
Scott,

I was using the function keys for taglines, but it was too much of a pain. 
What I would like is an ascii data file acting as a quote storage bank.  That
way, I could just load the file into STeno and starting adding more to the end
of the file.

The script file would start outputing them starting from the top and going to
the bottom.  Using the function keys, I kept asking, "Didn't I just use that
one?" and "Now which quote starts with which function key?"  It was toooooo
much of a pain.  I would like to get as far away from using the function keys
for taglines.

Thanx for the input!  :-)

Eric,

You are a wonderful person!  If you can accomplish it, I would gladly pay you!
You have already given two excellent upgrades to the STalker users for FREE,
while other companies might charge.  I would send the money as a shareware fee
for the quote program AND for the work you have done to get us the upgrades.

I don't have a quote program, but I will find one.  I am sure one of the
sysops around here is using one.  Scanning files... please hold. :-)

 ------------
Category 17,  Topic 10
Message 119       Wed Jun 24, 1992
L.DOWDLE1 [Scott Dowdle]     at 08:01 EDT
 
Kyle,

     It sounds to me that the kind of quote program you are looking for would
resemble the tagline features of most QWK offline readers. Silly Little Mail
Reader (for the MS-DOS crowd) seems to have caught on as a standard for
tagline .DAT files.  I don't know anything about the format of SLMR tagline
.DAT files, heck, the may just be ASCII for all I know.  I use the microTALK
QWK reader for the ST and it doesn't have a tagline feature so I use its
function keys to store my small listing of taglines.

     I'd love to see someone (Eric?!?) develope a quote script so more power
to you.

     I can understand the pain part of using STalker's function keys to store
quotes... if it all had to be done by hand.  If someone were to come up with a
script that would convert tagline .DAT files into STalker f-key configuration
files, including a randomizer feature to load in random f-key setups and pick
a random quote... that might work.  Although if one were knowledgable in data
structures I'm sure a script would be better if it avoided the STalker f-key
files altogether and used common .DAT files or converted .DAT files into a
script specific format which might roll multiple .DAT files into one big quote
database.  Yeah.... that's the ticket.

- - - - -

    On another subject, the Simple Editor addition to the REMOTE script is
coming along... and I hope to have line Insert, Delete, and Edit/Replace
features installed and working within the next few weeks. I would like to
thank Eric for STalker 3.02's larger BackTALK execution buffer.  The increase
from 32K to 64K really helps out us sloppy, non-expert, programmer-wanna-be
types. *grin*
 ------------
Category 17,  Topic 10
Message 120       Wed Jun 24, 1992
GRMEYER [Gordon Meyer]       at 23:45 EDT
 
Wow!  That's good news Eric.  All this recent talk about BackTalk has caused
me to dig out the manual, just to see what I must be missing. :)

Thanks for the great support!
  Gordon R. Meyer
  10:27 pm CDT  Wednesday, June 24, 1992


 ------------
Category 17,  Topic 10
Message 121       Thu Jun 25, 1992
E.ROSENQUIST [Eric@Strata]   at 20:56 EDT
 
Scott:

 >      Does this mean that you will be adding more advanced GEM dialog
 > box support (or whatever the exact name of it is?) to BackTALK, or
 > will .DO generated GEM-like objects be simulated by simpler text I/O?

The only .DO commands I know of that use GEM are >ALert (which maps fairly
well into the BackTALK alert() function) and >QUery.  For >QUery I've just got
it displaying the prompt text in the terminal window and reading a line of
input, i.e., no GEM, but equivalent functionality.

 >      Say, do you know the status of any of those Atari guy
 > STalker/BackTALK related projects?

Nope, you'll have to ask Ken & John.  I suspet that they're so busy working on
MultiTOS etc. that they haven't touched them in months.


Al:

 > Can't wait for that DO interpreter! Would you like some fancy DO
 > scripts to use for testing?

I've already got your "secrets" document, and my initial testing has been with
a REMOTE.DO script written by Ed Seward and Bud Hammerton. Once I get more of
the commands implemented I'll try more scripts and then eventually post the
.BTS file for others to try out.


Ken:  >OPen and >INPut are done already; the REMOTE.DO script uses them
extensively so they were among the first ones I coded :-)

I'm not sure what to do with capture-buffer oriented functions though. I can
certainly turn capture to STeno on and off, but commands that do things like
marking a block or opening the capture buffer for input would require changes
to STeno and a lot of work.  I think I may just treat the GEM clipboard as the
"capture buffer"; either that or just ignore the commands that use Flash's
capture buffer :-)


Kyle:  just give us an example of the ASCII file format you're using and I'm
sure one of us can whip something up in a few minutes.


Eric
 ------------
Category 17,  Topic 10
Message 122       Thu Jun 25, 1992
SFRT-ASST [Kene @ SFRT]      at 21:55 EDT
 
For the Capture buffer stuff.... Hmmmm.


You can't use the invisble line numbers of the lookback and mark the text and
save/append it to a file or the clipboard (same thing)?

 ------------
Category 17,  Topic 10
Message 123       Thu Jun 25, 1992
R.MORROW10 [Bob M.]          at 22:24 EDT
 
Ok everyone, here's a modified WRITESCR.BTS.  It allows you to Quit the
operation before you do anything, and deleted the option to send the results
to the screen.

*long post*

//Copyright (c) 1991-92, Eric Rosenquist, Strata Software.  All //rights
reserved.  Exclusive worldwide marketing and distributing by //Gribnif
Software. // //Permission has been granted by Strata Software to distribute
this //file on bulletin boards, paid access networks, and public domain //and
shareware disks provided:  This header remains intact, and all //modifications
are noted in the header before re-distribution. // //Strata Software and
Gribnif Software take no responsibility for //modifications to this file. //
//      This script simply sets things up and then calls the built-in //     
'write_script' function. // //      Parameters to the write_script() function
are as follows: // //      error = write_script(file_handle, end_key,
thresh_typed, thresh_wait, prompt_length); // //      Where: // //     
'error' is an integer, with any value other than 0 indicating an //           
error when writing to the output file. // //      'file_handle' is a handle to
an open file.  Script commands will //              be sent to this file.  The
special file handles -1, -2, and -3 //              (CONSOLE, PORT, PRINTER)
are allowed although it would not be //              wise to send the script
output to the current PORT. // //      'end_key' is the scan code of the key
that signals an end to //              script writing mode.  Shift-UNDO will
also end script writing //              mode, but the output script will be
incomplete. // //      'thresh_typed' is a value in 10ths of a second that is
used by the //              function to determine when a piece of user input
is //              'complete'.  If the time between two typed characters is
less //              than this value, the characters will be sent together as
part //              of the same response.  Note that a Carriage Return always
//              terminates a response - this value is needed for hosts that do
//              not require a CR at the end of a response.  Setting the value
//              too low will cause the script to have a lot of small //       
prompt/response pairs, especially if the user is a slow //             
typist.  Setting the value too high can cause separate //             
responses to be grouped into one. // //      'thresh_wait' is a value in 10ths
of a second.  The generated //              script will include an explicit
wait() call if the time //              elapsed between a prompt and a
response or before an //              unprompted response is greater than this
interval.  This is //              really only useful if the host cannot
tolerate any typeahead //              or requires some time delay between the
end of a prompt and //              the sending of the response. // //     
'prompt_length' is the maximum number of character from a host //             
prompt that should be used.  A value of 0 means to use the //             
entire prompt.  A positive value causes that last 'prompt_length' //          
characters to be used, while a negative value causes the first //             
'prompt_length' characters to be used. // //NOTE: This file is slightly
modified from the original by Bob //Morrow (R.MORROW10) to allow the user to
Quit the script writing //portion before anything happens.  (i.e. "oops, I
don't want to do //that.")  The original version had no such provisions.  In
modifying //this, I deleted the option to send output to the screen, since it
//didn't seem to serve much purpose if you can send it to the disk //and
printer as well.

string  directory[128]; string  filename[16]; string  pathname[128];

  /////////////////////////////////
 //         open_file           // ///////////////////////////////// function
open_file() returns int
        int             handle;
        int             open_it;

        directory[0] = file_get_drive();
        directory[1] = ':';
        strcat(file_get_dir(0, directory + 2), "\\*.BTS");

        filename[0] = pathname[0] = 0;

        repeat
                open_it = TRUE;
                if !fsel(directory, filename, pathname, "BackTALK Script To
Create?")  or  !filename[0] then
                        exit(0);
                endif
                if file_exists(pathname) then
                        if alert("[3][ Overwrite existing file? | ][ Yes | No
]") == 2 then
                                open_it = FALSE;
                        endif
                endif
                if open_it then
                        if (handle = file_create(pathname)) < 0 then
                                alert("[3][ Error! | The file could not | be
created.][ Cancel ]");
                                exit(handle);
                        endif
                        return handle;
                endif
        until FALSE; endfunction


  /////////////////////////////////
 //                     main                      //
///////////////////////////////// function main()
        int             file_handle;

        file_handle = alert("[2][ Send script output to:| A file, the printer,
| or quit? ][File|Printer|Quit]");
                if file_handle == 3 then
                exit(1);
        else
                if file_handle == 2 then
                        file_handle = -3;
                else
                        -- Prompt for a file name
                        file_handle = open_file();
                endif
        endif
        show_message("Type ^Z to exit", FALSE); // ^Y on some foreign
keyboards
        file_puts("function main()\r\n", file_handle);
        if not write_script(file_handle, 0x2C1A, 15, 20, 20) then
                file_puts("endfunction\r\n", file_handle);
                if file_handle >= 0 then
                        file_close(file_handle);
                endif
        endif
        show_message(NULL, FALSE); endfunction *SN

 ------------
Category 17,  Topic 10
Message 124       Thu Jun 25, 1992
SFRT-ASST [Kene @ SFRT]      at 23:06 EDT
 
You should upload that. It'll be lost when they archive the topic.

You lost the formatting on some of it, too.

 ------------
Category 17,  Topic 10
Message 125       Fri Jun 26, 1992
L.DOWDLE1 [Scott Dowdle]     at 05:31 EDT
 
Eric @ Strata,

 > For >QUery I've just got it displaying the prompt tex in the
 > terminal window and reading a line of input, i.e., no GEM, but
 > equivalent functionality.

     It has been some time since I've messed with Flash's command language but
the QUery was what I was thinking of... getting user input in a GEM-like box. 
I figured you would handle it the text route and that is just fine. *grin*

     In a passage written to Kyle you state:

 > just give us an example of the ASCII file format you're using and
 > I'm sure one of us can whip something up in a few minutes.

     I looked everywhere for my archive of MaxiMizer... but I couldn't find it
anywhere.  It just reminded me that I need to get around to labeling some of
my floppy disks someday. *grin*  But seriously, if you happen to have a copy
of MaxiMizer ST laying around somewhere, just pull any of the various .DAT
files that are included with it.  I believe that they were ripped right from
the MS-DOS Silly Little Mail Reader.  ...or if anyone has a copy of MaxiMizer
(I don't want to download it again just to provide a tagline data file!) that
would be willing to post a .DAT file in this topic (if it is all ASCII) or via
GE Mail to Eric... please do so.

     Eric, are you familiar with any QWK message readers?  I use microTalk
myself... and it doesn't happen to have a tagline feature.
 ------------
Category 17,  Topic 10
Message 126       Fri Jun 26, 1992
R.MORROW10 [Bob M.]          at 20:11 EDT
 
Well, I don't know what happened there.  Is there any way to use the *SN
command from within Aladdin 1.41?  However, the important stuff is readable.

Just make the // the beginning of each line for the text stuff.
 ------------
Category 17,  Topic 10
Message 127       Fri Jun 26, 1992
JEFF.W [ST Sysop]            at 23:38 EDT
 
Bob,

No, you can't use *SN in ST Aladdin, but you can get the same result by
putting a space at the beginning of each line you don't want reformatted by
GEnie.

More about ST Aladdin, past, present, and future, can be found in the ST
Aladdin Roundtable on Page 1000.

- Jeff Williams
 ------------
Category 17,  Topic 10
Message 128       Sat Jun 27, 1992
R.MORROW10 [Bob M.]          at 13:47 EDT
 
Ok I uploaded the modified WRITESCR.BTS.  It's #24650.  It's only about 2100k
so the download time won't break the bank.

 ------------
Category 17,  Topic 10
Message 129       Sat Jun 27, 1992
A.FASOLDT [Al Fasoldt]       at 20:41 EDT
 
Eric,

The REMOTE.DO script you mention has some bugs. I never got authorization to
post my debugged version, but the basic point I'm trying to make is that some
of the commands in REMOTE.DO are misspelled and therefore don't work.

I'll upload the fixed version if the sysops here say it's ok. (I know, this is
not the Flash topic.... Sorry!)

Al

 ------------
Category 17,  Topic 10
Message 130       Mon Jun 29, 1992
K.MILLER69 [Kyle Miller]     at 00:07 EDT
 
Scott,

Thanx for the input!  You're getting the idea.  There is one way I was
thinking about the data file could keep track of which quote its on.

There is a great game on the Atari 8-bit called Words Are Fun by Chet Walters.
As the game rolls through the puzzles, it renames the file extender one plus. 
So the filename might start out PUZZLE.000, after finishing the first puzzle,
it moves to PUZZLE.001.

The way you make the function key business is something like this. (Correct me
if I am wrong.)  The data file containing the quotes is opened to load a quote
into a function key (more if necessary), STalker outputs the quote, deletes
the quote that was sitting on the function key(s), move the marker to know
where it picks up next time, and then ends the script.  Is something like what
you are talking about?

P.S.  I had that other off line reader and was extracting it to check the file
format.  The disk was an old one and was bitten by a virus problem I had
before I obtained VKiller.  I will find it again.  If my memory serves
correct, I think its data file format is ascii.

 ------------
Category 17,  Topic 10
Message 131       Mon Jun 29, 1992
SFRT-ASST [Kene @ SFRT]      at 01:22 EDT
 
What .BTS script has a good example of reading a string from an ASCII file and
sending to a modem?

this is what I'd like to do. I want to make a file with numbers
        1
        5
        6
        7
        20
        23
        26

and end up with this...
        "IGN 1"
        "IGN 5"
        "IGN 6"


Any help would be appreciated.

Oh, I'd like to save the session to a capture.

 ------------
Category 17,  Topic 10
Message 132       Sat Jul 11, 1992
E.ROSENQUIST [Eric@Strata]   at 13:46 EDT
 
Kene: piece o' cake.  Just modify the PREFIX.BTS script so that the prefix is
"IGN " rather than " > ".  It reads the current clipboard file and updates it,
so you can create your file of numbers in STeno (or any other editor that
supports the GEM clipboard), run your script, then issue a Paste command in
STalker (or Paste them back into STeno if that's where you need them).

If you want to automatically save a session via a script file, use the
ascii_receive() call to tell STalker where to save the info.

Eric
 ------------
Category 17,  Topic 10
Message 133       Sat Jul 11, 1992
SFRT-ASST [Kene @ SFRT]      at 19:02 EDT
 
Thanks, Eric.

 ------------
Category 17,  Topic 10
Message 134       Mon Nov 30, 1992
R.MORROW10 [Bob M.]          at 01:27 EST
 
I've uploaded what is probably the final cut of my CAT_FILE.BTS script, file
26746.  It's been sitting on the shelf for months now, but after seeing
another user's mods to REMOTE.BTS, that got me to try a particular mod to my
own REMOTE.BTS.  Well, that is still in work, but for a breather, I unearthed
the old CAT-FILE and went to town on it.  The only change from the previously-
uploaded version is something that had been bugging me (and still does in
REMOTE.BTS)  when the file was done or quit, there was no message like "End of
file".  Now there is!  Our first hack (which was mostly Scott Dowdle's
handiwork on my suggestion) was to provide a way of quitting once you were
reading a file ("oops, that's not the file I want"), elimination of the Item
Selector once you're done reading--if you want to read another again, then do
it all over; as well as page-by-page scrolling.  (I'm still trying to get that
implemented in REMOTE.BTS for those that may have a few more clues than I!)

 ----- Dan & Eric-
 You don't have a problem with the header on this file, do you?  I got an
Email from Eric a while back concerning mods to REMOTE.BTS (a copyrighted
file) and this is what he sent.  I had overwritten my CAT_FILE.BTS on the
STalker master disk, so I wasn't sure if it was copyrighted or not.  (I doubt
it.)  Maybe you'll want to reprint it here for the benefit of all?

 ------------
Category 17,  Topic 10
Message 135       Mon Nov 30, 1992
R.MORROW10 [Bob M.]          at 20:43 EST
 
Eric or Dan-

A while back I asked about the possiblity of the BackTALK compiler being
upgraded to allow "drag-and-drop" operation from the desktop or a window. It
works now, but it's not what I'd call perfect.  Someone mentioned a way to do
this by somehow modifying the command line, I think. What was that way?

Presently, I have BACKTALK.PRG in a window along with all the other BACKTALK
scripts.  I simply grab a .bts file, drag it on top of Backtalk.prg and let it
go.  I end up with "BackTALK script written successfully!" anywhere on the
left side of the screen-top, bottom, middle.  Or, if any problems show up, it
displays them for a few seconds, then exits on its own.  (That's kinda nice.)

If there is a fix for this in the command line, how do I do it? Also, you
might want to include this info in the Readme.doc file. I'm using TOS 2.06.

 ------ I just noticed when I changed Backtalk.prg to .ttp (to see if I could
find any help screen like LHarc.ttp has), I get the black cursor in the top
left corner, along with the Fuji and File (?) drop-down menu titles (a la
program mode), but nothing worked.  Reboot!
 ------------
Category 17,  Topic 10
Message 136       Wed Dec 02, 1992
GRMEYER [Gordon/Sysop]       at 18:42 EST
 
Just a hunch, but you might try renaming BACKTALK.PRG to BACKTALK.GTP This
will only work if you have TOS 2.x or 3.x...but if you do when you run it a
'parameters' box will be displayed and maybe by typing in the name of .BTS
file it will do what you want.   If you don't have TOS 2 or 3, but do own
HotWire, you can achieve the same thing by installing BackTalk.PRG as a GEM
program with Command Line.
   Gordon
 ------------
Category 17,  Topic 10
Message 137       Mon Dec 07, 1992
GRIBNIF [Dan]                at 10:57 EST
 
Bob,

  Backtalk.prg assumes that if it is given the name of a file to
 compile, that it is being run in TOS mode and it just sends its text
 messages to the console. If you do not supply a filename, it assumes
 GEM mode and tries to use the menu bar (which causes the AES to die
 horribly, due to what I would call a bug in the AES, but that's
 another story.)

  What I would suggest is having two copies of backtalk: one for
 when you are going to give it a name (TOS) and one for the other
 times (PRG).

  I'll see if this can be reworked to automatically detect the mode
 and act accordingly in a future version of STalker.

Dan

 ------------
Category 17,  Topic 10
Message 138       Fri Dec 11, 1992
R.MORROW10 [Bob M.]          at 02:44 EST
 
Oh, I didn't know that Bob Goff uploaded a REMOTE.BTS as well.... so, I'm not
sure if everyone's had problems with MY script (uncomplete) or Bob's.  My file
was pretty small; say 3k or so. If it was my file, just hold on.....

However, providing my latest hack works, I'll upload the complete REMOTE.BTS
that I have.  I've been working on deleting the password requirement when
you're in local mode.  After all, what's the sense in having it if YOU'RE at
the console?  As of now, it works in local mode/echo, let's hope I didn't mess
up the full and half echo sides of it......
 ------------
Category 17,  Topic 10
Message 139       Sat Dec 12, 1992
EXPLORER.5 [Robert Goff]     at 18:37 EST
 
One of the elegant things about Eric's remote script is that he put the local
and echo dependencies at the lowest level input and output functions -- you
can do darn near anything to the script outside the getchar() and putline()
functions (I know those aren't the names, but I've forgotten them) and it will
work identically in local and remote modes.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 140       Sun Dec 13, 1992
R.MORROW10 [Bob M.]          at 17:36 EST
 
Well, I uploaded *my* (Bob MORROW's) remote.bts script having made a
successful hack at cutting out the password requirement for using REMOTE mode
in local echo.  Kinda silly to have a password on something that you can
simply exit from and do damage that way!  This is mostly for testing purposes
I suppose, since using remote in local (huh?) doesn't serve many other
purposes.

It also incorporates Scott Dowdle's addition in which the remote (and local)
users know where they are in the system at all times.  Just below the menu is
a string stating "Current location --> C:\ASCII\ " or whereever they happen to
be.  This is very useful, especially when it comes to directory changing. 
Originally, you had to find out where you were first, just to make sure you
weren't going to leave and then return to that location!
 ------------
Category 17,  Topic 10
Message 141       Sun Dec 13, 1992
EXPLORER.5 [Robert Goff]     at 23:17 EST
 
Disabling the password validation in local mode is interesting, but I don't
think I'm going to do it to mine. You're right, the local mode is for testing,
and sometimes I want to test the password routines. When I don't want to see a
password prompt, I clear the password from the setup dialog.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 142       Tue Dec 15, 1992
R.MORROW10 [Bob M.]          at 20:22 EST
 
I personally wish that the BackTALK manual had included examples for EVERY
function listed.  "Syntax:  this = that" doesn't work at all for me.

I'm trying to write a script that I think should be very easy, but I can't get
it to do what I need!  I want it to get the system date/time, then print out
"daytime [yymmddhhmm]".  That's IT!  But I can't make any sense out of the
manual.

This is for a ham radio TNC which forgets the time every time it's turned off.
It would just save a lot of keystrokes.

This is what I've come up with so far.  It compiles ok, but when I run it, I
get a Stack Trace? (Invalid memory reference) error which points to "main",
whatever that means.

//GETTIME.BTS 12/15/92 //Gets system time and shows it in the TNC window.  By
Bob Morrow //N7PTM (GEnie-R.MORROW10)

int     max; int  time; string buffer[12]; string format;

function main()
        strftime();
        puts(buffer);
        port_puts("daytime (buffer)\r");
        wait(5);
        port_puts("daytime\r"); endfunction


The TNC's command for setting the time is:
 daytime yymmddhhmm   (in 24hr format)

 so, today's entry would look something like this:
 daytime 9212151400

 for 1992 Dec 15 1400 (2pm)

To display the time again, simply enter "daytime" without " and with CR.  It
will then echo back the time.

To get BackTALK to display the time like so, I need to somehow put
 %y, %m, %d, %H, and %M  in some kind of arrangement/string/whatever. That
much I did get from the manual, but the rest is lost on me.

 ------------
Category 17,  Topic 10
Message 143       Sat Dec 19, 1992
EXPLORER.5 [Robert Goff]     at 03:37 EST
 
To get the system time, use the ge_time() function, which returns an integer
coded with the date and time.

strftime() is the right function to format the string to send to your TNC
modem. To get it to give you the format you want, try strftime(buffer,
sizeof(buffer), "%y%m%d%H%M", get_time()); Note that the case of the commands
in the format string is important.

So try this:

 string buffer[12];
 function main();
    strftime(buffer, sizeof(buffer), "%y%m%d%H%M", get_time());
    port_printf("daytime %s\r\n", buffer);
    wait(5, 1);
    port_puts("daytime\r\n");
 endfunction

Note that you need the second parameter in the wait() function to tell Stalker
whether to process incoming characters during the wait. I always put in the
linefeed character (\n) even when not needed in the command because it usually
makes the screen display look better. By the way, the buffer only needs to be
11 characters long, ten for the string and one for the end-of-string null. Let
me know if this works.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 144       Sun Dec 20, 1992
R.MORROW10 [Bob M.]          at 00:37 EST
 
Bob G- With very little modification, that worked.  Thanks!  (I knew it was
simple!)

 //GETTIME.BTS 12/19/92.  For BackTALK and STalker v3.0.  Gets
 //system time for the TNC, since most don't remember it when the
 //TNC is turned off.  Written by Bob Goff (EXPLORER.5) based on an
 //idea by Bob Morrow N7PTM (R.MORROW10).  To get the system time,
 //use the get_time() function, which returns an integer coded with
 //the date and time.  Strftime() is the right function to format
 //the string to send to your TNC.  To get it to give you the format
 //you want, try
 //
 //strftime(buffer, sizeof(buffer), "%y%m%d%H%M", get_time());
 //
 //where y=year, m=month, d=day, H=hour (in 24hr format), and
 //M=minute (24hr format).  This is the format to use if your TNC's
 //DAYUSA command is set ON (displays mm/dd/yy).  OFF displays
 //dd/mm/yy and requires changing the strftime() string.  Note that
 //the case of the commands in the format string is important.
 //
 //With this script, the TNC commands CONSTAMP and MSTAMP can now be
 //turned on if you wish.  See your manual for a description.

 string buffer[12];
 function main();
    strftime(buffer,sizeof(buffer),"%y%m%d%H%M",get_time());  //Gets the time.
    port_printf("daytime %s\r",buffer);
    wait(5);
    wait_for("cmd:",0);
    port_puts("daytime\r");  //Displays the time.
 endfunction

 --------- This is only useful if you're into ham radio.
 ------------
Category 17,  Topic 10
Message 145       Sun Dec 20, 1992
EXPLORER.5 [Robert Goff]     at 14:53 EST
 
Glad it worked for you. The wait() function, however, in your script is still
missing the second required parameter.

Leaving a parameter out of a function call in BT has unpredictable results.
When the function is executed, it looks for the second (or whatever) parameter
where it expects it to be in memory. It has no way of knowing if the parameter
wasn't passed, so it simply takes whatever it finds there. In the case of
wait(), it's checking for TRUE or FALSE, either 0 or not-0, so it will accept
any value but you don't know whether it will read the port during the wait or
not. In this case, that doesn't matter either.

The gist of it is, there are times when you can get away with not passing all
the parameters, but it isn't a good thing to do.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 146       Fri Dec 25, 1992
R.MORROW10 [Bob M.]          at 02:03 EST
 
L.Chandler-

Here's part of what you're looking for.  It's all I can do; the rest is up to
you.


 //WAITTIME.BTS by Bob Morrow (R.MORROW10) 12/24/92.
 //Waits for a preset time to initiate the autodialer.  Great for
 //pay services.  The -1 in the wait_until() line tells STalker to
 //ignore the year, month, and date.  This is useful for systems you
 //want to call every day at 7 AM.  If you'd like it to run again
 //later in the same day, change the -1 to -2, meaning (supposedly)
 //the system will wait to 7 PM if 7 AM has already passed.  This
 //was a quick hack so I haven't tested that.  See pages 106-7 in
 //the BackTALK manual for a better description.  [Undo] aborts the
 //wait.  Dial_group() must have a number in it; and that number
 //must correspond with the BBS's "Menu #" in STalker's autodialer.

 function main();
     wait_until(-1,-1,-1,19,00);  //Use 24 hour format, so this is
                                  //7:00 PM.
     dial_group(3);  //Dial menu entry #3 in STalker's autodialer.
 endfunction


 //Or use:
 //
 //dial_many("bbsname","GEnie","CIS","Delphi", NULL);
 //
 //to dial more than one.  In that case, the name(s) in the string
 //must match the name in STalker's "BBS Name" column.  Autologon
 //scripts are NOT executed upon connection with the dial_many()
 //command.
 //
 //To make either command work without your presence will require
 //extensive rework by you.  Presently, this will simply wait for a
 //given time and dial whatever BBS is set in the dial_ group() or
 //dial_many() lines.  Once connected, it waits for your input.
 //You'll have to write a script to tack onto this to make STalker
 //work in a fully-automated mode on the BBS's you call.



There.  Just save this message and keep the parts from //WAITTIME.BTS.... to
the last line.  Save only that part and compile it in BackTALK.
 ------------
Category 17,  Topic 10
Message 147       Fri Dec 25, 1992
L.CHANDLER                   at 22:14 EST
 
I just can't figure this out. Can someone help? I'm trying to get 
"Writescript" to work when I call other bbs's. If I dial first, its greyed
out. If I run it first, I can't dial. Is there a way to use it the same as the
logon  Ccripts  in the dial menu?
 ------------
Category 17,  Topic 10
Message 148       Sat Dec 26, 1992
R.MORROW10 [Bob M.]          at 14:43 EST
 
L.CHANDLER

Go into STalker's autodialer.  For whatever BBS's you want to use
 *any* script on, find the row of boxes to the right of that BBS.  Look for
the one farthest right-it has an S in it.  Click on it and type in the
script's name (i.e. Writescr.BTK)  Once you dial and succesfully connect,
STalker will automatically start the script.  However, make sure there are no
entries in the Logon sequence (the L box) if you're going to run a script. 
The logon sequences will happen first.

 -------------
 I uploaded a file here called GET_WAIT.BTS that has two timer functions in
it.  One is a countdown timer that you set the values for, and another is a
timer that waits for a preset time to arrive before it executes the
autodialer.

Problem is, as it's presently written, you *can't* use your BackTALK logon
scripts because the autodialer's commands (dial_one(), dial_many(), etc) don't
allow for that.  In a sense, this defeats the purpose of having a timer-
delayed logon sequence 'cuz it needs to be
 *fully* automated (such as while you're asleep!).  Oh well, it's a 3k file,
so the download time won't kill you.  If someone finds solutions to the
problems, lemme know.
 ------------
Category 17,  Topic 10
Message 149       Sat Dec 26, 1992
L.CHANDLER                   at 18:30 EST
 
Thanks Bob M. I got it. That's a good start. I know its all in that  pretty
blue manual but I get kind of intimidated after reading a few pages. Actually,
I hadn't thought that it was really this simple. I'll keep writing until I hit
the next prob. Thanks again.
 ------------
Category 17,  Topic 10
Message 150       Sun Dec 27, 1992
R.MORROW10 [Bob M.]          at 00:20 EST
 
Wait until thy sysops release my latest hack--- GET_WAIT.BTS which allows for
user input as to the delay.  There are two kinds of delays in it-wait for the
system clock to match the set time; or wait xx.xx hours/minutes for the script
to start.

However, once it executes the autologon sequence, you *can't* use BackTALK
scripts due to the way the BackTALK commands were written. Maybe someone else
can find a way around this situation?
 ----------
 I'm having problems with one script I'm tinkering with.  I want it to send
the results to one of two places-printer or file.  On the file side of things
everything's fine.  On the printer side, it's ok if the printer is on. 
However, if the printer is offline, BackTALK senses this and sends up a
"Printer not online" message with two options: "retry" and "cancel".  When I
click on either, I always get two bombs.  Why?


 function main()
        int             file_handle;

        file_handle = alert("[2][| output to:][File|Printer|Quit]");
                if file_handle == 3 then
                exit(1);  //No problems here.
        else
                if file_handle == 2 then
                        printer_outstat();
                        if printer_outstat() == TRUE then
                        file_handle = -3;
                        else
                        if printer_outstat() == FALSE then
                        alert("[1][The printer is not
online!][Retry|Cancel]");
                                if alert() == 2 then
                                exit -1;  //Big problems here
                                else
                                if alert() == 1 then
                                file_handle = -3;  //And here!
                                endif
                                endif
                                endif
                                endif
                 else
                        file_handle = open_file();   -- Prompt for a file name
                endif
                endif

 ----and so on.  This should be the important section.

 ------------
Category 17,  Topic 10
Message 151       Tue Jan 05, 1993
GRIBNIF [Dan]                at 12:30 EST
 
Bob,

  The problem is that you are calling alert() without any arguments. I suggest
that you do something like:

  alert_button = alert( "[1][Printer is not online...
  if alert_button == 2 then
  exit -1

Dan
 ------------
Category 17,  Topic 10
Message 152       Fri Jan 08, 1993
R.MORROW10 [Bob M.]          at 01:04 EST
 
Anyone out there know how to tell the Remote.btk how to ignore the first few
characters sent by the remote user?  I'm trying to get it up and running for
packet radio operations; but everytime another station hooks up, the TNC
(radio modem) sends out a

 *** CONNECTED TO N7PTM [01/07/93 22:20:00]

message which really gives Remote.btk fits; i.e. it sees the C in connected as
Change Directory, then it calls the O and N an invalid command, etc.  It
"stacks" the letters and then tries to sort them out as commands in the Remote
menu.

What I need is some way of telling REMOTE.BTK to ignore all that, but continue
unaffected otherwise.  Naturally, this would have to be the second part of the
script to run (after "waiting for a connection" has been fulfilled)  Or that's
how it seems like it should work!

Because of this problem, I had to eliminate the password section. Not that
that's a big loss, because it really isn't.  If there's a fix for this
problem, then the password section can be reinserted.
 ------------
Category 17,  Topic 10
Message 153       Fri Jan 08, 1993
EXPLORER.5 [Robert Goff]     at 22:32 EST
 
Hmm. What comes immediately to mind, Bob, is a function that's called by the
command '*'. The function does nothing but wait for a LF and return. (This
would be called from the remote_loop() function.)

This wouldn't help the password problem, although you could modify the
password routine to do the same thing.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 154       Sat Jan 09, 1993
R.MORROW10 [Bob M.]          at 20:19 EST
 
Bob G-

Ok, now how do I implement the * command?  (Never heard of it before)

The password problem is no more.  I got rid of the entire section! :-)
 ------------
Category 17,  Topic 10
Message 155       Tue Jan 12, 1993
EXPLORER.5 [Robert Goff]     at 19:51 EST
 
Ok, this is off the top of my head and untested.

To implement a new command in the REMOTE script, start in the remote_loop()
function. Find the line
     if strchr("\x1ABCDFGRSTUM", command) == NULL then and add the character
for the command you want to add, in this case '*', so the line will look like
    if strchr("\x1ABCDFGRSTUM*", command) == NULL then

If you were adding a command that you want to show up in the menu, you'd
change the output_string lines that follow to give some explanation of the
command. In this case, it's not a command that a user wants so we'll just
leave it out of the menu.

Then, down where the script checks the command, insert the actual instructions
to carry out for the '*' command. In between any "endif" and "if command
==..." line, insert
 if command == '*' then
    wait_for("\n", 50);
 endif

Now, when the REMOTE script sees any '*' while waiting for a command, it will
simply wait for a newline (the '\n' character) no more than five seconds and
return for a new command.

Let me know if this works. Its a pretty kludgey way of getting around the
problem. For one thing, what if the remote user hits '*' at the Command?
prompt? They'll think the program is broken for five seconds and push a bunch
more characters into the buffer. When the function returns it could do strange
things. A much better way of doing things would be to anticipate the string
the modem sends out and handle it outside the command loop.

When does the modem send the string? Is it before or after Stalker sends the
"Hit Return..." prompt? Certainly before the password prompt, as you said. We
might be able to modify REMOTE to ignore anything that's in the buffer before
the password is requested. Hmm.

In main(), after the set_int_param() lines and before the if !get_password()
line, insert this
 while !mode_local and port_instat() do
    port_getchar();
 endwhile

Now, REMOTE will check and empty the serial buffer (if it wasn't started in
local mode) before it asks for the password. It might be a good idea to add
some sort of timeout so that a noisy line won't hang it up indefinitely.

Hope this helps.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 156       Wed Jan 13, 1993
R.MORROW10 [Bob M.]          at 20:03 EST
 
Bob G.

Thanks for the reply but it's not what I was looking for.

Here's what happens when someone connects to the TNC:  Like a modem, it prints
out *** CONNECTED TO N7PTM [1/11/93  23:30:09], where a modem would simply say
"CONNECT 2400".  That's where the problem seems to be--I think these
characters are being stored in some buffer and thoroughly wreaking havoc with
remote.btk.  The station, date and time are all variables.  A station's call
can be no more than 2 letters, 1 number, followed by 3 letters (like my old
call KB7ILE).

 ------------
Category 17,  Topic 10
Message 157       Thu Jan 14, 1993
EXPLORER.5 [Robert Goff]     at 11:12 EST
 
So what happens to the script when the modem connects? Does the program know
that there's a connection and send the Hit Return... prompt? Or does it get
fouled up before then?

I haven't tried, but it might be possible to turn on ASCII capture and then
start remote mode. If so, capture what happens when the modem connects and
send it to me in email so I can understand the problem.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 158       Fri Feb 05, 1993
L.DOWDLE1 [Scott Dowdle]     at 01:01 EST
 
Hello BackTALK Programmers,

     I'm looking for a way to turn Capture mode (using STeno in  conjunction
with STalker of course) off and on during a script  execution.  Basically,
I've built a nice script for GEnie and I want the output to go directly to
STeno... and I want control over when capture begins and ends so I can avoid
all of the redundant  information.  Is there a way to have a BackTALK script
turn Capture mode on and off?  I've looked in the manual (not as well as I
could have) but I can't seem to find anything about it.  There is the
steno_append() function mentioned on page 100 of the BackTALK manual but that
doesn't do exactly what I'm looking for.  Any ideas?

     On a somewhat related project, I'm modifying the CAT_FILE script  to do
paging.  More specifically what I'm wanting to do is find a way to quickly
determine how many lines the STalker window can display so I can have a paging
prompt displayed to suit however STalker's window is sized.  Any ideas on how
to do that?  Currently, I have it setup with two defaults - 1) Full screen
with all of the bars on and 2) with STalker's window sized at the "Arrange
STalker & STeno Windows" setting.  I'd like my script to detect STalker's
window sizing and do appropriate paging.  Any ideas?

TYL, Scott
 ------------
Category 17,  Topic 10
Message 159       Sat Feb 06, 1993
EXPLORER.5 [Robert Goff]     at 21:44 EST
 
To turn on Steno capture, use the set_capture() function.

I don't think there's any way of determining the height of the Stalker window
from inside a BackTALK script.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 160       Wed Feb 10, 1993
R.MORROW10 [Bob M.]          at 02:08 EST
 
(sigh) Once again I find myself banging my head against the BackTALK wall due
to a lack of examples in the manual.  SYNTAX: this = that(); isn't good enough
since it means nothing to me.  What I need is real-world examples.  If there
was a book similar to "C-manship Complete" for BackTALK, I'd buy it in a
heartbeat.


Anyways, here's what I want:

I need a script to set some values for me in a TNC (radio modem) when it's
power is turned off or it's battery-backed RAM is disconnected. We're talking
100+ commands that need to be reset.  The idea is simple:  To enter the
commands, you must be at the TNC's  cmd: prompt.  So, have the script wait for
the cmd: prompt (if STalker "sees" it; this is similar to ATxx for a modem
except that   cmd: is almost always visible, a requirement of the TNC), then
have the script call up a file with all the settings in it and reset the TNC
accordingly.  The settings.doc file would have the command's name as well as
what it's value/response should be.

Such as:

 MCON ON
 MCOM OFF
 MYCALL N7PTM
 CTEXT Welcome to Bob N7PTM's packet radio setup.  If I'm not in,
 leave a note on N7PTM-1.  Thanks!       **max text is 128 chars**
 RETRY 6
 SCREENLN 80
 PARITY 3

and so on where the COMMAND preceeds the response.  The responses do not have
to be capitalized, that's just the way the TNC stores them.

I can call up all the commands from the TNC with the DISPLAY command.  At that
time, all of them appear on the screen along with their present values, then I
simply drag with the mouse to highlight all of them and save it to disk.
 ------------
Category 17,  Topic 10
Message 161       Wed Feb 10, 1993
SFRT-ASST [Kenne@SFRT]       at 02:59 EST
 
Did the .DO file interpreter project get dropped?
 ------------
Category 17,  Topic 10
Message 162       Thu Feb 11, 1993
R.MORROW10 [Bob M.]          at 01:47 EST
 
For those that have the DEMO.BTS script that's found here on GEnie, if you've
wondered what the names of the tunes in STalker are, you can simply save the
following section, remove the old     function show_tunes() section of
DEMO.BTS and paste this in it's place. Then re-compile it, so that the next
time you want to play a sound, you'll know what the name is!

 (I hope GEnie doesn't mess this up)


 //  Tests the play_sound() built in function.
 function show_tunes()
    string  buffer[80];

    puts("\033E");
    while TRUE do
        puts("\r\nPick a sound number to play:\r\n\r\n");
           puts("0 = Dragnet\r\n");
           puts("1 = Charge!\r\n");
           puts("2 = We're In The Money\r\n");
           puts("3 = Beethoven's Fifth\r\n");
           puts("4 = Shave & A Haircut\r\n");
           puts("5 = Do You Want To Know A Secret?\r\n");
           puts("\r\n");
           puts("Which one?  (Return to exit) -> ");
         if gets(buffer, sizeof(buffer)) <=0 then
            return;
        endif
        play_sound(atoi(buffer));
    endwhile
 endfunction

 ------------
Category 17,  Topic 10
Message 163       Thu Feb 11, 1993
GRIBNIF [Dan]                at 16:24 EST
 
Kenne,

  Eric didn't quite finish it, and from the sounds of it, he doesn't have time
to work on it right now. Is there anyone (hey, Bob Morrow!) who would like to
take over the project?

Dan
 ------------
Category 17,  Topic 10
Message 164       Thu Feb 11, 1993
EXPLORER.5 [Robert Goff]     at 22:37 EST
 
Do we have a good spec for the DO language, or are we guessing?

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 165       Fri Feb 12, 1993
A.FASOLDT [Al Fasoldt]       at 18:37 EST
 
Bob,

My Secrets of Flash in the library here does have an exhaustive explanation of
all the DO functions, if that would help.

Al

 ------------
Category 17,  Topic 10
Message 166       Sat Feb 13, 1993
EXPLORER.5 [Robert Goff]     at 23:52 EST
 
I'll download it and look. Thanks, Al.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 167       Mon Mar 08, 1993
E.ROSENQUIST [Eric@Strata]   at 21:34 EST
 
Kenne: I haven't touched the .DO interpreter (or any other ST programming
project for that matter) for several months.  As Dan said, if someone is
serious about doing more work on it I will give them what I've got. The core
of the interpreter is working (parsing the language, handling jumps and ifs,
etc), it just needs to have more of the commands implemented. As it is now it
will run some useful scripts, but it doesn't do things like >CD >DIR >DI etc.

If any of you are interested, drop me a note here or on the Internet
(Eric.Rosenquist@sofkin.ca).  Note that the .DO interpreter script is probably
more complex than REMOTE.BTS, so if REMOTE.BTS scares you, the DO interpreter
is not your cup of tea.

Eric
 ------------
Category 17,  Topic 10
Message 168       Mon Mar 08, 1993
SFRT-ASST [Kenne@SFRT]       at 21:51 EST
 
Thanks for the update, Eric. 

Good luck and prosperity on your current projects.
 ------------
Category 17,  Topic 10
Message 169       Wed Mar 10, 1993
STEVE-J [FunkPopARoll]       at 02:11 EST
 
I asked a while back if it was possible to do a Zmodem download in a BackTALK
script without having to declare a download filename, but nobody answered my
question.  Is it possible to do this?  The manual's information is quite
sparse in several areas.
 ------------
Category 17,  Topic 10
Message 170       Wed Mar 10, 1993
GRMEYER [Gordon/Sysop]       at 21:02 EST
 
Why would you want to initiate a download w/out declaring a name?  
Irregardless of what name you supply in BackTALK it will be changed by the
Zmodem process as it is transmitted by the host.
 ------------
Category 17,  Topic 10
Message 171       Wed Mar 10, 1993
E.ROSENQUIST [Eric@Strata]   at 21:09 EST
 
Steve:  I gather that what you're asking is whether or not you need to supply
a parameter to the BackTALK "download()" function call if the current protocol
is ZModem.  The answer is YES, but if a Y/ZModem download ends up taking
place, the name you pick will be ignored (the path portion of the name will be
used however).  You need to supply one just in case the Y/ZModem falls-back to
using XModem.  Internally, STalker uses the current download directory with a
filename of "RECEIVED.FIL".

Eric
 ------------
Category 17,  Topic 10
Message 172       Wed Mar 10, 1993
A.FASOLDT [Al Fasoldt]       at 21:11 EST
 
FunkPAR,

The Zmodem header takes care of the filename. It won't be auto-initiated,
that's all. (You need to have STalker look for the beginning of the header.)

Al

 ------------
Category 17,  Topic 10
Message 173       Fri Mar 12, 1993
STEVE-J [FunkPopARoll]       at 01:49 EST
 
E.ROSENQUIST - Ah!  Thanks a lot!  I was about to go mad! <grin>
 ------------
Category 17,  Topic 10
Message 174       Sat Mar 13, 1993
G.KICHOK [Gerry K]           at 00:51 EST
 
FunkPopARoll,

I wrote a little backtalk script I would use off a Hotkey to initiate Z-modem
downloads from BBS's I would log onto that STalker wouldn't AUTO initiate Z-
modem downloads. I later found that configuring the Parity-Word Length-Stop
Bits to the correct setting for that particular BBS was the problem, so I
don't use it much any more.

// download zmodem // // for BBS that STalker wouldn't AUTO initiate. //

INCLUDE "stalker.bth"

function main()
    string  fullname[128];
    int  success;

    puts("\r\nDownloading Zmodem...");
    set_protocol(PROTO_ZMODEM);
    set_int_param(XFER_PARAM,ZMODEM_RCV_OPTION,ZOPT_PROT);   --  do not
overwrite
    strcpy(fullname,"F:\RECEIVED.FIL"); -- dummy name
    success=download(fullname);
    if ! success then
        puts("\r\nNOT!");
    else
        puts("\r\nDone!");
    endif endfunction

                                      Gerry K. - HBO-AUG Librarian
          (Hamilton-Burlington-Oakville Atari User Group Librarian)


 ------------
Category 17,  Topic 10
Message 175       Mon Mar 15, 1993
E.ROSENQUIST [Eric@Strata]   at 18:45 EST
 
Just a note regarding Gerry K's script:  it contains a *very* common mistake
(common in C, BackTALK, Unix shell scripts, you-name-it).  The filename
"F:\RECEIVED.FIL" is a legal string literal, but it's obviously not what Gerry
intended.  Since the '\' character is special, you need to use two:
"F:\\RECEIVED.FIL".  Gerry's script ends up with a filename containing a
carriage return (\r).  In this case, the filename never ends up getting used
so no problems are noticed, but I thought I'd point it out anyway just in case
someone adapts the script for something more elaborate.

Eric
 ------------
Category 17,  Topic 10
Message 176       Thu Mar 18, 1993
G.KICHOK [Gerry K]           at 01:51 EST
 
Eric,

Oops, oh ya I new that, I did really.:)

I'm glad to have you looking over my shoulder Eric, thanks.

                                      Gerry K. - HBO-AUG Librarian
          (Hamilton-Burlington-Oakville Atari User Group Librarian)


 ------------
Category 17,  Topic 10
Message 177       Thu Apr 08, 1993
R.MORROW10 [Bob M.]          at 02:55 EDT
 
I'm having problems with one BackTALK script I'm doing.  It compiles just
fine, but when I go to run it, STalker does the "BackTALK Error- Trace/No
Trace", and it points me to open_file() and main().  I think these are the two
areas in question.  Anyone have any ideas?


 function main() returns int
        initialize();
        if (file_do = open_file()) >= 0 then
                command_loop();
                file_close(file_do);
                file_do = 0;
        endif
        return file_do;
 endfunction

 function open_file() returns int
    string  source_file[14];
    string  source_full[128];
    string  source_path[128];

     source_path[0] = file_get_drive();
     source_path[1] = ':';
     file_get_dir(0, source_path + 2);
     strcat(source_path, "\\*.DOC");
     source_file[0] = 0;

     if fsel(source_path,source_file,source_full,"File to read?")then
 //     if source_file[0] == 0 then
 //     exit -1;
 //else
        file_open(FO_READ);
 //     endif
        endif
 endfunction

 -------
 I know the // shouldn't be there, but I can't figure out how to get around
BackTALK's "ENDIF, ELSEIF or (something) needed" if they're not there.
 ------------
Category 17,  Topic 10
Message 178       Fri Apr 09, 1993
EXPLORER.5 [Robert Goff]     at 13:48 EDT
 
Your file_open() call doesn't have enough parameters.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 179       Fri Apr 09, 1993
GRIBNIF [Dan]                at 16:59 EDT
 
Bob,

  Your file_open() call does not include the filename. Try:

    file_handle = file_open( source_full, FO_READ );
    return file_handle;


Dan
 ------------
Category 17,  Topic 10
Message 180       Sat Apr 10, 1993
R.MORROW10 [Bob M.]          at 06:51 EDT
 
Eric or Dan-

How do I get Backtalk.prg to "hold" it's display after I've dragged and
dropped a .bts file on it?  I'm using TOS 2.06 and when I do that, it usually
flashes a message for a second, then exits.  Is there any way to prevent that?
 ------------
Category 17,  Topic 10
Message 181       Sun Apr 11, 1993
A.FASOLDT [Al Fasoldt]       at 10:19 EDT
 
Bob Morrow,

SilkMouse has a config option in its CPX (and DA, if you want to use the ACC
version) that lets you hold the screen of any exiting application. That should
do it.

Al

 ------------
Category 17,  Topic 10
Message 182       Sun Apr 11, 1993
EXPLORER.5 [Robert Goff]     at 17:15 EDT
 
Sorry, Bob, but when you pass a filename parameter to the compiler (which is
what happens when you drag-n-drop) it assumes it's running in TOS mode and
exits without holding the screen. Silmouse will hold the screen, as well as
Teradesk.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 183       Tue Apr 13, 1993
SANDY.W [sysop]              at 22:10 EDT
 
Is there any way to stop a backtalk script? By stop, I mean break out of and
do NOT send anything further, or wait for any more input.
 ------------
Category 17,  Topic 10
Message 184       Wed Apr 14, 1993
STEVE-J [Steve @ NLS]        at 05:16 EDT
 
SANDY.W - I've been wondering that myself!  Everytime I try to stop a BackTALK
script, I hit <UNDO> and all it does is skip the current 'instruction.'
 ------------
Category 17,  Topic 10
Message 185       Wed Apr 14, 1993
R.MORROW10 [Bob M.]          at 20:03 EDT
 
 >Is there any way to stop a backtalk script? By stop, I mean break out of
 >and do NOT send anything further, or wait for any more input.


Hit <undo> or click on "Abort Current Operation."  Clicking on the menu entry
seems to get the job done faster.

 ---------

If BackTALK assumes it's running in TOS mode while compiling, I wonder how it
will work under MTOS?
 ------------
Category 17,  Topic 10
Message 186       Wed Apr 14, 1993
C.KERNS [Craig]              at 22:55 EDT
 
I hit Shift-Undo to abort a running Backtalk script.

 -Craig
 ------------
Category 17,  Topic 10
Message 188       Thu Apr 15, 1993
GRIBNIF [Dan]                at 14:44 EDT
 
Sandy & Steve,

  Undo does only stop the current instruction, but Shift-Undo stops an entire
script.

Bob,

  NeoDesk will also hold the screen after any TOS or TTP program quits.

Dan
 ------------
Category 17,  Topic 10
Message 189       Thu Apr 15, 1993
EXPLORER.5 [Robert Goff]     at 22:23 EDT
 
Try Shift-Undo.

 |) |
 |)O|)
 Robert Goff
 ------------
Category 17,  Topic 10
Message 190       Fri Apr 16, 1993
R.MORROW10 [Bob M.]          at 20:21 EDT
 
 >Bob,
 >
 >  NeoDesk will also hold the screen after any TOS or TTP program quits.

<plug>  ;-)
 ------------
Category 17,  Topic 10
Message 191       Tue Apr 20, 1993
E.ROSENQUIST [Eric@Strata]   at 22:19 EDT
 
A Shift-UNDO is like a "super" undo when you're running a script.  It will
abort the entire script whereas UNDO will only abort the current script
command (it seemed like it would be useful to have both kinds). The "Abort
current operation" item in the Edit menu actually does the equivalent of a
Shift-UNDO, which is why it works to abort the script.

Eric
 ------------
Category 17,  Topic 10
Message 192       Wed Apr 21, 1993
TOPNOTCH                     at 04:54 EDT
 
Does anyone have a good script for logging on to PC Pursuit? If so, good you
please share it with the rest of us? <g>

        Thanks!

 ------------
Category 17,  Topic 10
Message 193       Thu Apr 22, 1993
SFRT-ASST [Kenne@SFRT]       at 12:20 EDT
 
Okay I want to do this:

  >TI|
  >OPEN INVITE.LST|
  >IF ~OP JMP EXIT|
  >** USER ADDRESS|
  >** For the first time|
  >L: FIRST|
  >INP $A|
  >IF EOF JMP EXIT|
  >SEND "INV $A|"|
  >** Loop for all later times.|
  >L: ADDRESS|
  >INP $A|
  >IF EOF JMP EXIT|
  >WA "40 ?"|
  >SEND "INV $A|"|
  >JMP ADDRESS|
  >** Ring Bell|
  >L: EXIT|
  >WA "40 ?"|
  >B1|
  >end|


The file INVITE>LST looks like:

JASBOND.007<CR/LF> JONATHAN.B D.FLINT<CR/LF> ED.HOWARD G.SMILEY<CR/LF>
K.PHILBY EQULIZER N.SOLO2 SONJA KURIAKIN GOLDFINGER R.HOLLIS DR.NO J.WALKER666
SPECTRE BILL.CASEY BLOFELD S.TURNER5 MATA.HARI LYALIN9 P.GUILLUM KGB.THUG
MODESTY DGSE.HOMME WILLI.GARVIN SAS.DUDE S.VICTOR12 P.WRIGHT

<CR/LF>= CARRIAGE RETURN LINEFEED.



Yes, I'd like to know how to do this in BackTalk.

thank you for your support.
         Ken Estes  [SFRT-ASST]
         22:18:18--Pacific Time
         Wednesday, April 21, 1993


 ------------
Category 17,  Topic 10
Message 194       Sun Apr 25, 1993
SFRT-ASST [Kenne@SFRT]       at 00:42 EDT
 
The INVITE.LST got unformatted. It was one name per line with a CR/LF pair.

 ------------
Category 17,  Topic 10
Message 195       Wed Apr 28, 1993
SFRT-ASST [Kenne@SFRT]       at 13:16 EDT
 
Can anybody help me with the conversion I posted back a bit  ?

 ------------
Category 17,  Topic 10
Message 196       Wed Apr 28, 1993
SFRT-ASST [Kenne@SFRT]       at 13:20 EDT
 
  >TI|
   >OPEN INVITE.LST|
   >IF ~OP JMP EXIT|
   >** USER ADDRESS|
   >** For the first time|
   >L: FIRST|
   >INP $A|
   >IF EOF JMP EXIT|
   >SEND "INV $A|"|
   >** Loop for all later times.|
   >L: ADDRESS|
   >INP $A|
   >IF EOF JMP EXIT|
   >WA "40 ?"|
   >SEND "INV $A|"|
   >JMP ADDRESS|
   >** Ring Bell|
   >L: EXIT|
   >WA "40 ?"|
   >B1|
   >end|


 The file INVITE>LST looks like:

 JASBOND.007<CR/LF> 
 JONATHAN.B 
 D.FLINT<CR/LF>
  ED.HOWARD
  G.SMILEY<CR/LF>
 K.PHILBY
  EQULIZER
  N.SOLO2
  SONJA 
 KURIAKIN 
 GOLDFINGER
  R.HOLLIS
  DR.NO 
 J.WALKER666
 SPECTRE
  BILL.CASEY
  BLOFELD
  S.TURNER5
  MATA.HARI 
 LYALIN9
  P.GUILLUM
  KGB.THUG
 MODESTY
  DGSE.HOMME 
 WILLI.GARVIN
  SAS.DUDE 
 S.VICTOR12
  P.WRIGHT

 <CR/LF>= CARRIAGE RETURN LINEFEED.

 ------------
