-=> Quoting LANCE REYNOLDS to DOUG WILSON <=-
... ..........Some Deleted..........
DW> way it could be done is
DW> terminal();
DW> if track_hit(t1) ...
DW> if track_hit(t2) ...
LR> Tried it. Works until dld
... ..........Some Deleted..........
Sorry my reader and editor undid your indent format on the following. I
will make some comments on different parts of your script. My comments
may not be any better than what you have done but may give you some
ideas.
LR> //attempt at a logon/mail script using tracks
LR> main()
LR> {
LR> str cont[] = "tinue, [N]onstop, [Q]uit? [ ]C";
LR> str name[] = "What is your first name?";
LR> str econt[] = "Press [ENTER] to continue?";
LR> str bprompt[] = "d, [Q]uit, [ENTER] to go back?";
LR> str gotmail[] = "[R]ead now, [L]ist mail, [C]ontinue?";
LR> str main[] = "Main Menu Command >>";
LR> str messg[] = "Message Menu Command >>";
LR> str qwk[] = "QWK Command >>";
LR> str dld[] = "[G]oodbye after transfer? [ ]";
LR> str fspec[] = "c:\UPLD\SHAKEY.REP";
LR> str buf[30];
LR> int n1 = 3;
LR> int n2 = 4;
LR> int n3 = 4;
LR> int t1, t2, t3, t4, t5, t6, t7, t8, t9;
LR> t1 = track(cont,0);
LR> t2 = track(name,0);
LR> t3 = track(econt,0);
LR> t4 = track(bprompt,0);
LR> t5 = track(gotmail,0);
LR> t6 = track(main,0);
LR> t7 = track(messg,0);
LR> t8 = track(qwk,0);
LR> t9 = track(dld,0);
LR> while ()
LR> {
LR> terminal();
... ..........More Deleted..........
LR> if (track_hit(t6))
LR> {
LR> n1 = n1 - 1;
LR> if (n1 == 2)
LR> cputs("M");
LR> if (n1 == 1)
LR> track_free(t6);
LR> }
LR> if (track_hit(t7))
LR> {
LR> n2 = n2 - 1;
LR> if (n2 == 3)
LR> {
LR> cputs("T");
LR> }
LR> if (n2 == 2)
LR> {
LR> cputs("Q"); //this is supposed to get me back the the
LR> track_free(t7); //main menu after mssg track is hit twice
LR> }
LR> }
LR> if (track_hit(t8))
LR> {
LR> n3 = n3 - 1;
LR> if (n3 == 3)
LR> {
LR> cputs("U");
I would suggest that the above line be placed just above the
"delay(30);". This way if the filefind does not find "SHAKEY.REP"
there is no need to send the "U" and you would not need to send
"cputs("^x^x^x^x^x^x^x^x^x^x^x^x");". Then in the "else" statement set
your counter to "2" so as the down load will take place.
LR> filefind(fspec, 0, buf);
LR> if (buf == "SHAKEY.REP")
LR> {
LR> delay(30);
LR> send('Z', fspec);
LR> fdelete("c:\UPLD\SHAKEY.REP");
LR> }
LR> else
LR> {
LR> waitfor(".",10);
LR> cputs("^x^x^x^x^x^x^x^x^x^x^x^x");
LR> }
LR> }
LR> if (n3 == 2) //this is suppose to start dld on the second
LR> cputs("D"); //hit of the qwk track.
LR> if (n2 == 1)
LR> cputs("q"); //this is suppose to quit back to the message
LR> track_free(t8); //menu on the 3rd hit of the qwk track
Without seeing all of your choices for the different menus I am
guessing a little but the 3rd hit on the qwk track takes you back to
the message menu according to what you stated above. Then you want to
logg off with (track_hit(t9)). This seems to be the part that is not
working I think. Question which menu is the string that
"(track_hit(t9))" is looking for in? What I am trying to say is are
you in the wrong place when you want (track_hit(t9)) to work.
LR> if (track_hit(t9))
LR> {
LR> cputs("Y");
LR> track_free(t9);
Another way to logg off after a down load that works with some doors is
to go in to the door setup and activate the logg off after download
option.
I think you mentioned something in the part I deleted about the counter
not working. I changed one of my scripts the other day when I seen one
of your previous post about the counter, to the way you have your
counter working and mine worked fine.
One other thing I am wondering about. You have a function "main()" and
a string "str main[] = "Main Menu Command >>";". Are they getting
mixed up with each other?
The last comment I have is about the track_free statements you use. I
only use one at the end of the script that frees all the tracks at
once.
... Ben
... Computer programmers wanted - Some assembly required.
--- Blue Wave/DOS v2.30
---------------
* Origin: COMM Port OS/2 juge.com 204.89.247.1 (281) 980-9671 (1:106/2000)
|