Workareas
The Workareas, or DBF screen, gives you access to the open tables.
──────────────────────────────────────────────────────────────────────────────

This option will display the main table viewer. From here you can view any
of the open tables, view the structures, view the table AS a table, change
the index order, edit records and much, much more.

╔══ Area ══╗ When you first bring up the table viewer, you will be
MASTER ↑ presented with one big window with lots of boxes. The first
║CHILD ║ box, where you always start off from, is a list of the aliases
║SIXTEST ║ of the tables that your program has open. These tables do not
║SIXNSX ║ have to be only .DBFs, they can be any table opened usinh any
║HELPCMX ║ of the RDDs that you may link into your program.
║CREDITS ║
║HALIFAX ║ In the example, left, we can see several alias names of
║DEMO ║ tables that are open. The currently selected workarea is the
║DAIPREV ║ table called VTHELP - denoted by the different colour.
VTHELP Information in all of the windows displayed is based upon
║ ║ the table called master - denoted by a highlight bar.
║ ║
║ ║ You may use the up and down arrow keys to select the table
║ ║ that you wish to view. As you move up and down the alias list
║ ║ the structure of the table under the highlight bar will be
║ ║ displayed in the middle box, the indexes will be displayed in
the lower box, the upper box is used to display various
╚══════════╝ pieces of information about the current table.

<INS> will allow you to open an extra DBF in the next available workarea and
<DEL> remove the workarea undetr the highlight bar. Please note that once an
area it is not restored by MrDebug.

<CTRL><P> will pack the workarea under the highlight bar. You may move the
highlight bar using the cursor keys and pack any of the open workareas. As
usual, the file has to be opened exclusively, otherwise you'll get a stoopid
messgae box saying so.

The box that has a border made up of a double line is the box that is
currently selected as the box that your keystrokes will apply to - some
boxes have their own specific keys that do not apply to others.

To move from one box to another you may use the <TAB> key. <Shift><Tab> will
move you from window to window in the opposite order from that of the <TAB>
key.

Information relating to the status of the file is displayed in the box
shown at the top of the window, an example of which is shown below:

┌ Status ────────────────────────────────────────────────┐
│Alias : SIXNSX [4] (SIXNSX) SHARED │
│Record: 7 of 1000 Found : F │
│BOF: F EOF: F NetErr: F Deleted : F │
│Last Updated : 04/17/94 Record Size : 200 │
│ Field Count : 11 Header Size : 385 │
│ Filter Exp : │
│Relation Exp : │
└────────────────────────────────────────────────────────┛

The Status box contains various pieces of information, most of which may be
of use to you, such as the status of EOF(), BOF(), FOUND(), the current
record number, NETERR(), the contents of a filter expression if set, the
expressions used in any relations, if set and various other items.

The Name of the RDD is displayed next to the alias of the table along with
any special file status flags, such as READ-ONLY, if the file was opened
with a READONLY clause, or SHARED, if the file was opened for multi-user
use.

Information is also displayed as to whether the current record is locked, or
the file is locked. Some of this information in the Status box is updated
when you move the record pointer, either by scrolling around the table,
performing a seek, or simply by jumping to another record.

You may move the record pointer forward by one record at a time using the +
key, or backwards by one record at a time using the - key. This will change
the record number and update the Status box to reflect the new record
number. You could press <Alt><G> to GOTO a specific record number if you
know the record number - this will also update the Status box.

Each time that the record pointer moves, the Status box is updated to
reflect any changes that take place. The Index box, at the bottom of the
screen is also updated to reflect any changes that take place to it. For
example if the record pointer moves, the current index entry will also
change, an example of which is shown below:

┌─ Index ─────────────────────────────────── [Valley ] ──┐
│Index Name Tag Name Key Expression │
LAST.NTX LAST LAST
│STREET.NTX STREET STREET+CITY │
│HIREDATE.NTX HIREDATE HIREDATE │
└────────────────────────────────────────────────────────────────────┛

The box in the middle of the window, is the View window. This is a complete
view of the database that allows you to scroll around the database by using
the cursor keys. An example of this is shown below:

┌─ View ───────────────────────────────────────────────────────────┐
│* FIRST LAST │
Pauloli Valley │
│ Marigold Screwball │
│ Patsy Tormentous │
│* Enya Wishengarden │
│ Kirkenham LaFayette │
│ Larry Borgengorgenggogen │
│ Dr. Edith Millimeter │
└──────────────────────────────────────────────────────────────────┛

You may use the cursor keys to move the highlight bar around the view and
around the table. As the highlight bar reaches the edge of the view, the
view will scroll to reveal further fields, if there are any. The first
column of the browse is always used to show an asterisk to denote a deleted
record. You may delete or recall a record by pressing <Delete> when the
highlight bar is on the row of the record that you wish to delete.

You may press the ◄──┛ key to edit the contents of a field.

At any time you may press <Alt><V> to change the display of the structure
window. The default for the middle box is to display a browse view of the
table. You may change this to a structure view, by pressing <Alt><V> - this
will show you the structure of the table and the contents of each record, as
shown below:

┌─ Structure ──────────── Contents ────────────────────────────────┐
[1] FIRST C 20 0 Pauloli
│[2] LAST C 20 0 Valley │
│[3] STREET C 30 0 34 The High Street │
│[4] CITY C 30 0 New Town │
│[5] COUNTY C 2 0 New County │
│[6] POSTCODE C 10 0 ZZ99 9ZZ │
│[7] HIREDATE D 8 0 08/08/94 │
└──────────────────────────────────────────────────────────────────┛




┌──Locks─┐ The top right hand corner box contains a list of the locked
333 records for the current table.
│ 982│
│ 997│ You may lock an individual record by moving to the record
│ 1083│ and using <Alt><L> to lock the record. The record number or
│ 996│ it's unique identity will appear in the lock list.
│ │
│ │ Pressing <Alt><L> on a locked record will unlock the record,
└────────┛ <ENTER> move the browse window to that record. <INS> will
allow you to add a record, <DEL> will allow you to remove a record lock.


Well, that's the basics. Now for some extras!

<+> - will force a SKIP +1 in the current workarea. This will update the
Status window, Index window and View or Structure window. If you
skip forward enough times you will reach the end of the file and
the EOF() flag will be set.

<-> - will force a SKIP -1 in the current workarea. This will update the
Status window, Index window and View or Structure window. If you
skip backwards enough times you will reach the top of the file and
the BOF() flag will be set.

<F11> - will restore the settings for the current workarea. This resets the
workarea to it original state before you changed anything, i.e.
moved the record pointer, changed the index order etc.

This will not restore any edits that you make to the fields.

<F12> - will restore the settings for all of the work areas before you made
any changes, i.e. moved the record pointer, changed the index
order etc.

<Esc> - returns all of the workareas to their original states before you
made any changes - excluding any editing of data. Restores record
locks, record numbers, index orders etc.


<ALT><0> - selects natural order for the indxes

<ALT><D> - shows a list of the RDD's that are loaded. The item shown in the
different colour is the current workarea's RDD.

<ALT><F> - allows you to edit or set a filter

<Alt><G> - will allow you to move the record pointer to a specific record in
the file. If the number that you enter is greater than the total
number of records in the file, the record pointer will be moved to
the end of the file and the EOF() flag will be set.

<ALT><I> - shows information about work areas. Currently only works for SIX
drivers and Comix drivers

<Alt><R> - allows you to view or add to, existing relations. This will bring
up a relations window you may scroll up, down, left and right
using the cursor keys. To add relation press the <Insert> key. If
there are data tables that are not used by the current work area
for a relation, a list of work area relations will appear, you may
select the work area that you wish to relate into and press ◄──┛.
You will then be given the chance to add an expression for the
relation.

To remove relations, cursor down to the relation in the list and
press the <Delete> key.

<Alt><S> - will allow you to enter a key expression to perform a SEEK on,
using the currently selected index, if an index is open. If no
index is currently open, then this key will be ignored.

<Ctrl><L> - locate - allows you to specify a locate scope.

<Ctrl><P> - PACK - allow you to pack the currently selected workarea.

<Ctrl><-> - will move the record pointer to the beginning of the file.

<Ctrl><+> - will move the record pointer to the end of the file.

<Ctrl> ◄──┛ - saves any changes that you have made. If you move the record
pointer, change an index order, release a record lock etc, this
option will save these changes.


Note: Unless you have 'Save .DBF List area' checked under the options menu
the default area will always be the selected alias in the list of
aliases.

If you check the 'Save .DBF List area', each time you exit the
workarea screen, the alias that the highlight bar is on will be
remembered and when you return to the workarea screen the saved
workarea will have the highlight bar on it.

The hot-key combination for this item is <F6>.