Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

Waffle Frequently Asked Questions (FAQ)
Section - waffle: Making waffle menu-driven

( Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Business Photos and Profiles ]


Top Document: Waffle Frequently Asked Questions (FAQ)
Previous Document: waffle: Getting waffle files via anonymous uucp
Next Document: waffle: What can I do about uuxqt/rnews hanging on long Path: headers?
See reader questions & answers on this topic! - Help others by sharing your knowledge

==begin FAQ caption==
  From: jhart@h5.avcnet.org (Jim Hart)
  Newsgroups: comp.bbs.waffle
  Subject: Putting a menu interface on Waffle
  Message-ID: <857A20C2E46@h5.avcnet.org>
  Date: Fri, 22 Jul 1994 09:32:32 -0400

Here it is, for what it's worth.  :-)
====================

Q:  Is there any way for Waffle to have a menu-driven interface?  Is, how?
A:  Yes.  Here it is:  

**Disclaimer:  Tom recommends against using the command aliasing
capability extensively.  I don't know why.  Nevertheless, use of these
ideas is at your own risk.  It works on _my_ machine, with _my_ setup,
_so far_.  I make no claims of reliability beyond that.

Here are the steps I followed and text I used:

  1.  Make a file in the WORDS subdirectory, called MENU with these contents:


...1) Mail
...2) News
...q) Quit
...?) List of commands

   2.  Make two files in the EXTERN subdirectory named "1" and "2".  "1"
contains one line:

/waffle /command="mail" /then=menu

"2" contains one line:

/waffle /command=news

   3.  Make a file in the MENUS subdirectory, called NEWS, which
contains 9 lines, including a blank line at the top, and no RETURN at
the end of the last line:


1 Edit my newsgroup subscriptions
    (New users:  the first time, this will subscribe you to
     a default set of newsgroups)
2 Read New news messages
3 Read All news messages
q Quit

Choice? 

   4.  Now, make another file in the EXTERN directory, also called NEWS,
which contains:

1 /waffle /command=join /then=menu
2 /waffle /command="help scan" /then=newsn
3 /waffle /command="help scan" /then=newsr
q /waffle /command=menu

   5.  Make another file in the EXTERN directory, called NEWSN, containing:

/waffle /command=new /then=menu

   6.  Make another file in the EXTERN directory, called NEWSR, containing:

/waffle /command=read /then=menu

   7.  Now, you can either add an instruction to your welcome message like:

"To have a menu-driven interface, type the command MENU."

or, you can put a file called WAFFLE in each user's home directory which
contains the single line:

menu

or, you can do both.

This concept can be extended to make your menus as extensive as you
want.  The features which make this work are:

1.  in externs, you can call Waffle commands, not just external programs
2.  calling Waffle commands from an extern goes through the same
sequence of steps as if the user had typed the command; i.e. the WORDS
and EXTERN subdirectories are checked for matches
3.  externs can contain multiple commands, using a matching file in the
MENUS subdirectory to prompt the user; this is the part that makes
submenues possible

Caveat:  the thing we can't do is make DOS Waffle's mail and news readers
menu-driven;  their function is built into the code.  Still, hopefully,
this is a big improvement for new users.
==end FAQ caption==

==begin FAQ caption==
  Date: Tue, 16 Aug 1994 21:28:29 -0600
  From: jhart@h5.avcnet.org (Jim Hart)
  Subject: Re: Waffle Frequently Asked Questions (FAQ)
  To: cbwfaq@alpha3.ersys.edmonton.ab.ca (Comp.Bbs.Waffle FAQ)
  Message-Id: <859350982A6@h5.avcnet.org>

I think this should be added to the FAQ or my writeup on making Waffle
menu-driven should be edited.  I now use this technique for the main
menu on my board.

Vlaad Thunarsson wrote:

> a really neat way to do this is to make a short menu and put it in your
> zippy quotes..(waffle\system\zippy - j.h.) then you copy the menu about
> 5 times or so in that same file so it will actually work. <a problem
> with the random thing needing several entries in order to function>  You
> then put a %z ... in your prompt string somewhere.. guess what? Now the
> user sees a short menu every time they get a prompt.. Neato, huh?  Try
> it.. You'll LIKE it.

I do like it, very much, and there is no limit to the menu length, near
as I can tell, because the zippy entries are delimited by the "pipe"
character.
==end FAQ caption==

==begin FAQ caption==
  From: jhart@h5.avcnet.org (Jim Hart)
  Subject: Re: stack overflow
  Message-Id: <85B34A4654C@h5.avcnet.org>
  Date: Sat, 17 Sep 1994 19:38:02 -0600

  There has been a little discussion on c.b.w regarding use of this
technique.  It turns out that too much of calling externs with externs
results in a "stack overflow" error, thus bombing Waffle.  I have been
trying to find ways around the problem.  I will write up and post my
findings, along with info from others on the issue, as soon as I can
find the time.  In the meantime, perhaps the next issue of the FAQ
should mention that overuse of the technique I suggested results in
the aforementioned error.  Reliability is, therefore, suspect, since
the sysop has no control of how much jumping around from menu to menu
that a user will do.
==end FAQ caption==


User Contributions:

Comment about this article, ask questions, or add new information about this topic:

CAPTCHA




Top Document: Waffle Frequently Asked Questions (FAQ)
Previous Document: waffle: Getting waffle files via anonymous uucp
Next Document: waffle: What can I do about uuxqt/rnews hanging on long Path: headers?

Single Page

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
cbwfaq@locutus.ofB.ORG (Comp.Bbs.Waffle FAQ)





Last Update March 27 2014 @ 02:12 PM