QuickBASIC Front End - v.1.0 - 06/21/87 - Help screens

This program is a development utility for QuickBASIC (QB) programmers.

QBFront  allows  you to edit, compile and link programs from a single,
special purpose menu. The editor you use is your choice,  by  entering
the  commands  to  run  the editor in the "Editor name" space. You can
modify all of  the  parameters  that  affect  the  compiling  process,
including   optional   command  line  switches,  object,  and  library
filenames. This information can be stored in a disk  file  for  quick,
repeated editing, compiling and linking sessions.

QBFront can be distributed free of charge to anyone. A small charge as
a  copying fee is allowed, up to $10. The copyright on this program is
to prevent despicable persons from trying to make money  off  my  hard
work.  I  also  don't want anyone else releasing "their" version of my
program. Suggested modifications are welcome,  but  let  me  implement
them.

Since  QBFront is "user-supported software", that means it is NOT free
software. A mere $15 registration fee will ease your conscience  about
using  it, and allow you to harass me over the phone. I know I've sent
more money for programs that don't save me nearly as  much  time.  For
another  measly $25, I'll even send you a copy of the source code. The
source code is copyrighted, so if you intend to  use  my  routines  or
sub-programs  in  a  program  for  distribution,  please make sure you
surround them with enough original code to call the program your own.

For those noble people who see fit to reward me for my  insanity,  you
may mail your contribution to:

    Electronic Applications Development
    P.O. Box 5264
    Valdosta, GA 31603-5264

If  I  do  well  from this and my other efforts (fat chance!), my name
will become known like Jim Button's! Then we will all  know  that  $15
was  too  much,  so  send  what you think the program is worth (yes, I
accept pennies). Enough plea for money, on with the instructions....

It is assumed that the user is familiar with QuickBASIC version  2  or
higher,  and  you  will probably need to refer to the manual to aid in
the use of this program. The instructions for the separate compilation
method are a bit skimpy, so you will need to do  some  experimentation
to  determine  what  options to use. Some of the command line switches
seem to work backward from what may be expected, and  QBFront  follows
the conventions of the compiler's menu.

The  program  is  invoked  by running the batch file called "QBF.BAT".
QBFront sets up another batch file called  "QBRUN.BAT"  that  contains
the  instructions  to  perform  the function. For all functions except
"Quit to system", QBRUN calls QBF to restart  the  sequence.  A  basic
outline  of  QBFront's operations is shown on a later page of the help
screens.

When the program first runs, it loads in parameters from a file called
"QBFRONT.PAR". If the file does not exist, it is created with  default
parameters. The parameters are shown on the right side of the screen.

There are three basic groupings of parameters:

The top section of the screen shows the name of the source  code  that
we are working with. The name of the editor is shown on the next line,
just  as  it would be called from the DOS prompt. The last information
is the current default drive and the space remaining on the disk.


The next section deals with the  parameters  associated  with  the  QB
compiler.  This  information  is  translated  into command line option
switches whenever the compiler is invoked.


The last section contains the information for setting up  the  command
line  for  the linker, including the object and library files to read,
and the names of the .EXE and .MAP files to create.

The line editor:

The text parameters are entered using QBFront's line editor. The  line
editor  places bars at either limit of the line, and changes the color
of the entry area. The following keys are use to edit the entry:

- RETurn ends the entry. Whatever text is on the entry line is entered.
- INSert toggles the insert mode, which is shown by the type of bar
   at the right end of the entry line.
- BKSPace deletes one character to the left.
- DELete & ^BKSP delete one character to the right.
- ^T deletes one word to the right.
- ^Y deletes the entire entry.
- HOME goes to the beginning of the entry.
- END goes to the right end of the line.
- ESCape restores the line to its original entry.

Note that insert mode is toggled off when you reach the end of the
entry (bug avoidance).

On the left side of the opening screen is the Main Menu,  which  looks
like this:

   ┌[ - Main Menu - ]──┐      A highlighted bar will indicate the
   │                   │      current selection. An option can be
   │ 1-Help screens    │      selected in one of three ways:
   │ 2-Save parameters │
   │ 3-Load parameters │    1 - Use the up and down cursor control
   │ 4-Edit parameters │        keys to move the bar to the desired
   │ 5-QBASIC direct   │        selection, and press RETURN.
   │ 6-Run editor      │    2 - Press the corresponding number key
   │ 7-Disk directory  │        to move the bar directly to the entry
   │ 8-Subprg manager  │        desired, and press RETURN.
   │ 9-Exit QBFront    │    3 - Press the corresponding function key
   │ 0-Compile source  │        to immediately execute the desired
   └───────────────────┘        selection.


      Each of the functions is outlined on the following pages.

    1-Help screens

This  option  brings  up  these help screens. This text is stored in a
file called "QBFRONT.HLP". The program pauses at the end of each page,
and will continue to the next page,  if  any,  at  any  keystroke.  To
return  to  the  opening  screen  at  any  time while reading the help
screens, press ESC.

This file is basically a text file, and can be copied to  the  printer
with  the  command  "COPY  QBFRONT.HLP  PRN" at the system prompt. But
because it is formatted for screen viewing, the printer output is less
than perfect.

Because the program is all menu  driven,  with  help  prompts  at  the
bottom  and  on the left side of the screen, it shouldn't be necessary
to have printed instructions.

    2-Save parameters

This option saves the currently displayed parameters to a file  called
"QBFRONT.PAR".  Any  parameters  previously  saved in the file will be
overwritten.

This function is redundant since it is also automatically  called  any
time  you  select a function that exits the program, if you previously
selected an option to change any parameters.

You will be asked if you want to save the current parameters.  If  you
do  not  save the parameters, the program will still use the displayed
parameters for the function, but the next time the program is run, you
will be returned to last saved parameters.

Whenever the prompt " Save current parameters? (Y/N) "  is  displayed,
you can abort and return to the Main Menu by pressing ESC.


    3-Load parameters

This option loads the parameters in "QBFRONT.PAR" and displays them on
the screen.

Be  careful  with this option, as it overwrites the current parameters
on the screen.


Future plans include the ability to have a separate parameter file for
each program you write, with  the  filename  selected  from  a  pop-up
window.

    4-Edit parameters

This  option  allows you to enter the name of the source code, and the
command to execute the editor, and the other  options.  While  editing
these parameters, the PG UP will take you back to the first entry, and
the PG DN key will return you to the menu.

For  the source code, it is not necessary to enter the file extension,
if it is to be ".BAS". The program will automatically add  the  ".BAS"
extension   when   needed.   If  the  file  is  on  another  drive  or
subdirectory, enter the complete pathname.

For the editor name, enter the complete  path  specification  for  the
editor,  but do not enter the file extension. This entry should be the
same as the command that you would enter to run the  editor  from  the
DOS prompt. For automatic return to QBFront, this must not be the name
of  a  batch  file.  If you need to run your editor from a batch file,
create a new  one  that  calls  QBF.BAT  instead  of  exiting  to  the
operating system or elsewhere.

    4-Edit parameters (cont.)

The options in the center section are for the compiler.

First,  the  cursor  will  be positioned on the "Library files" entry.
Enter the library file to be included for use in the interactive mode.

Next, enter the size of the communications receive buffer, if any.  By
leaving  a  `0',  the  option will not be implemented, and the default
buffer size will be used.

The last nine entries are toggles. They are toggled with the space bar
or the left and right arrow keys. An entry toggled to "ON" corresponds
to an `X' on the QB compile menu, and not necessarily the presence  or
absence  of  a  command  line  switch. You may have to experiment with
these a bit.

     4-Edit parameters (cont.)

The  five text options at the bottom of the screen are for the linker.

Remember that none of these options requires a file  extension,  since
the  linker will determine the proper extension by its position on the
command line. It is best to join multiple entries on each line with  a
plus sign (+).

The  .EXE  filename  is  filled  in automatically from the source code
filename, but can be changed to suit your needs.


    5-QBASIC direct

This is the option to enter the interactive  mode  of  QuickBASIC.  It
sets  up  the  command using the information in the QB options area of
the screen, and the source code name. Once in QB, you may perform  any
actions desired. When you exit QB, you will be returned to QBFront.

This is the only place the QuickBASIC options Library file is used. It
allows  you  to  include  a  .EXE type command addition for use in the
interactive mode. Note that the setting of  the  debugging  option  is
ignored  here,  as QB always turns on debugging upon entry, regardless
of the /D command line switch. Also note that the "Stand alone" option
will not create a self-standing .EXE file from the  interactive  mode,
which is one of the main reason I wrote this program.

    6-Run editor

When  you  select  this  option,  QBFront  will  run  the commands for
executing your editor, as entered in the source  information  area  of
the  screen.  The command line will consist of the text entered as the
editor name, a space, and the text entered as the source code. If  the
source code name has no extension, ".BAS" will be added.

This  command  line is written to "QBRUN.BAT" which is then run. QBRUN
will then re-enter QBFront by running  "QBF.BAT"  when  you  exit  the
editor.

I used this option for creating this file by entering "QBFRONT.HLP" as
the  source  code name, hitting F6, and then answering "N" to the save
parameter prompt. That way, I didn't have to re-enter the source  code
name when I return to QBFront.

    7-Disk directory

This simply gives you a look at the disk directory. I plan to use this
routine in future versions for selecting filenames for entry into some
of  the  options,  but  for now it is presented in it's crude form. An
arrow will appear in the upper left corner of the directory display if
there are more than ten files in the directory. Using the arrow  keys,
or the PG UP and PG DN keys, you can browse through the filenames. ESC
or RET, etc., will return you to the main menu.

    8-Subprg manager

The  Sub-program  manager  is not implemented in this version. Some of
the planned features include:

  - A sub-program documentation database and editor
  - Cross reference listing to show what calls what
  - A  "pre-scan"  function  to  insure  all  CALL's  actually   have
    sub-program to call
  - A library file manager (there's a nice looking,  but   buggy   one
    by someone else out there  already)
  - Most anything else that you users want (write me and let me know!)

This is my first major QuickBASIC project,  so  I'm  still  trying  to
decide  what  I need (suggestions gratefully accepted). I do know that
the sub-programs can quickly become hard to manage when the calls  get
two  or  more levels deep. I hope to have large portions of this ready
by the end of 1987 (register and find out as soon as it is ready).

     9-Exit QBFront

This selection brings up an option menu  that allows you to choose how
QBFront is exited. This menu looks something like this:

┌[Exit menu]────────┐   The selections are:
│                   │
│ 1-External Menu   │   1 - Runs a program or batch file called "MENU".
│ 2-QuickBASIC      │   2 - Enters QBASIC with parameters shown.
│ 3-DOS prompt      │   3 - Exits to the system prompt.
│ 4-Abort Exiting   │   4 - Returns to the Main Menu.
│ 5-yourprog        │   5 - Runs the program shown in the Linker
└───────────────────┘       "EXE filename" section (if any).

Selection  2  is identical to the "QB direct" option on the main menu.
I'll decide some day where I want it.

Selection 4 is for those who panic easily, or are too  lazy  to  reach
for the ESC key, which does the same thing.

Selections are made in the same manner as on the Main Menu.

    0-Compile source

This option sets up QBRUN.BAT to run the compiler and linker using the
parameters shown on the main screen. This is the option  that  QBFront
"lives" for. All of the entered parameters are used, except for the QB
options  Library  files.  I have had problems doing separate compiling
using the Library files tied into the compiler itself. Any  additional
functions used should be implemented with object or library files that
are added in during linking.

The  batch  file  will pause before re-entering QBFront, so you have a
better chance of reading any error messages that may occur.

Since the compiler erases the output object file, the linker will skip
linking with an error if the compiler finds a severe error.

┌───────┐         Basic Outline of QBFront operation
│       v start
│   ╔══════════╗                   ╔════════════════════╗  ┌───────────┐
│   ║ QBF.BAT  ║                   ║    QBFRONT.EXE     ║  │   key:    │
│   ╠══════════╣    run QBFRONT    ╠════════════════════╣  ├───────────┤
│   ║ QBFRONT  ║ >───────────────> ║ sets up commands & ║  │prog. flow:│
│   ╟──────────╢                   ║ writes them to the ║  │ ────────> │
│   ║ QBRUN    ║ <───────────────< ║ QBRUN.BAT file     ║  │data flow: │
│   ╚══════════╝    exit QBFRONT   ╚════════════════════╝  │ ........> │
│        │     ......................:                     └───────────┘
│        │     :   QBFRONT writes
│        V     V   to this file           ╔══════════════════════════╗
│   ╔═══════════════╗                     ║      user commands       ║
│   ║ QBRUN.BAT     ║                     ╠══════════════════════════╣
│   ╠═══════════════╣   run commands      ║ this could be the QBASIC ║
│   ║ user commands ║ >─────────────────> ║ compiler, a text editor, ║
│   ╟───────────────╢                     ║ back to system, or back  ║
│   ║ QBF           ║ <─────────────────< ║ to any program called    ║
│   ╚═══════════════╝   back for more     ║ "MENU" (batch or other)  ║
│(loop)  │                                ╚══════════════════════════╝
└────────┘

    Troubleshooting:

- PROBLEM:  QBFront  does  not execute any external functions such  as
"Run editor" or "Compile source",  but instead just drops back to  the
operating  system.
- FIX: QBFront must be run by executing the batch file QBF. This batch
file calls QBRUN.BAT when you exit QBFront.  If you accidentally enter
QBFront  directly,  just run QBRUN when you find yourself back at  the
operating system prompt. QBRUN will execute the selected function, and
will run QBF to return you to QBFront,  unless you selected the  "Quit
to system" function.

- PROBLEM:  The  operating system issues a "File not found" error when
the "External Menu" exit option is selected.
-  FIX:   QBFront   sets  up  QBRUN to execute "MENU" when you  choose
this option.  This  is to accommodate those people who  have  their
systems set up on a menu program. You can create a batch  file  called
"MENU.BAT"  with  either  some  dummy  command  (i.e.  "CLS"),  or the
commands to perform some function you want  to  execute  upon  leaving
QBFront.

    Troubleshooting: (cont.)

- PROBLEM:  All of the compiler,  linker,  object, library, and source
files won't fit on floppies,  and QBFront won't pause for me to change
diskettes.
- FIX:  Get  a  hard  drive!  Aside from that,  there are a  few  more
options. Use of a RAMDisk could solve some problems, or the batch file
QBF.BAT  can  be edited to pause after  running  QBFront,  and  before
running QBRUN.  Editing QBRUN is useless,  since QBFront overwrites it
for each external function. I will work with registered users and beta
testers to make the program configurable for floppy systems.

- PROBLEM:  I  keep  getting error messages  during  compiling,  etc.,
and/or the programs I write lock-up or error-out when I run them.
- FIX:  RYFM (Read Your 'Favorite' Manual). QBFront only sequences the
editing and compiling sequences, it does not do any of the "real" work
for  you.  It is NOT a replacement for knowledge about the  QuickBASIC
compiler, but simply a tool to alleviate the tedious, repeated command
entries required for separate compiling and linking. You still need to
understand what is going on.

    Troubles that won't happen:

There are three files associated with QBFront that don't need to be on
the default disk.

The .PAR file will be created for you, if needed.

The .HLP and .PMT (help & prompt, respectively) files are not  needed,
and  the  program doesn't crash without them. So, once you have gotten
familiar with the operation of QBFront, you can delete them.

Another file not needed is the QBFRONT.HIS file. I  ask  that  you  DO
modify  this  file, and update the .ARC file with it. This is just for
curiosity, not to track down un-registered users. Please add when  and
where  you  got  the  program  before you upload it. I feel it will be
interesting to see the travels of this, or any other program.

    Miscellaneous:

You can edit QBF.BAT to perform other functions. For instance, I added
"SET  LIB=LIB\"  at  the  beginning  of QBF.BAT, so that the version 3
linker will look in the LIB sub-directory for the library files.  Just
remember  to keep the basic structure, and keep in mind that QBRUN.BAT
usually calls QBF.BAT to re-enter QBFront.

There is little way to prevent "disk full" errors, but you  can  enter
the  drive designation to most of the options. Also, by entering "NUL"
as the .MAP filename, your can save some disk space.




    About QuickBASIC Front End:

This program was developed for two reasons.  First, I do not like QB's
built-in  editor.  Even if were better that my normal editor,  I still
would not want to have to learn and stay familiar with another editor.
Next,  there  is no way to compile a stand-alone program  with  linked
object  and  library files from QB's interactive  mode.  For  me,  the
interactive  mode  is useful only for fine-tuning certain  algorithms,
and limited debugging.


 QuickBASIC is a copyrighted program from the Microsoft Corporation.

         QuickBASIC Front End was written by Earl A. Daniels
       Copyright (c) 1987, Electronic Applications Development

QuickBASIC  Front  End  was written in  QuickBASIC  version  3,  using
functions  from ADVBAS version 3.3,  and other miscellaneous  routines
picked-up and developed through the years.

    The future of QuickBASIC Front End:

As  a user-supported program,  QBFront's future lies mainly with  it's
users.  It  will be the user feedback and monetary support  that  will
determine  what  it  will eventually become.  My plans at  the  moment
include multiple parameter files, having scrolling menus for selecting
source, object and library filenames.

I  want to expand the support for multiple  sub-directories,  allowing
serious developers have more organization for their hard drives. Since
the program was written on a hard drive system,  using it on a floppy-
based  system  will be awkward at best,  and I will make  changes  for
floppy users, if the demand exists (from registered users).

Also  down the road,  I hope to incorporate a auto-scan function  that
will  scan the source file(s),  and set the necessary option  switches
for  you.  This  would be most helpful for  compiling  programs  being
converted from interpreted BASIC, or programs written by others.

I  am open to suggestions and ideas,  and ultimately,  the users  will
decide what features will be incorporated or expanded.

     Licensing agreement:

This is a "user-supported" program. It is released as "shareware", and
registration will be only $15. For an additional $25, registered users
can get the latest version, complete with source code.

Send to the address on the second page, or to  my home address:
       Earl Daniels
       1406 Iola Drive
       Valdosta, GA  31602
phone: (912) 244-0950 or (912) 244-2919

To  protect myself from those wishing to make money from  my  program,
and   from  unauthorized  versions  of  the  program  being  released,
QuickBASIC Front End is copyrighted.  This copyright does not  prevent
free distribution of the program in un-modified,  executable form, but
does prohibit distribution of the source code or modified versions.

TO PROFESSIONAL PROGRAMMERS: You know how much  work  is  involved  in
writing a program, so you know how much support is appreciated. Also I
don't  mind  my routines being "borrowed" for your programs! REGISTER!
I'm sure the program will pay for itself in saved time.

    About ME (Earl Daniels)

I am a long-time (?) (10 yrs) computer hacker. I was a  hacker  before
the  label  "hacker"  was  considered  a  bad name. Although I started
programming in Microsoft BASIC ("in-ROM") on my Ohio  Scientific  C1P,
it  took  a  version  like  QuickBASIC to get me back to BASIC. I am a
systems designer, and generally specialize in getting PC's to  perform
background  tasks,  such  as monitoring and control. Since QB can have
direct access to assembly-language routines that  are  performing  the
background functions, it suits itself well to my needs. The "ON event"
capabilities also enhance my applications (monitoring the monitoring?)

Although I consider myself basically a hardware person, I obviously do
some  programming  too,  but don't yet have enough notches cut to call
myself a "computer programmer"!

I  welcome  correspondence  at  the address above or via the Valdosta
State College RBBS at (912) 333-5975, 24hrs, 3/12/24, 8N1. The  SYSOP,
Paul  Worth,  is  providing the "home" for QBFront End, so drop by and
leave a line or two.....

                     --- end of help screens ---



