OVERVIEW.............An overview of the dCLIP Browse System
KEYBOARD.............Navigating the browse system with the Keyboard
MOUSE................Navigating the browse system with the Mouse
COLUMN CONFIGURATION.Configuring the browse columns
COLUMN TOTALLING.....Displaying Totals of browse numeric columns
WINDOW CONFIGURATION.Configuring a browse window
TILE-BROWSING........Creating multiple browse windows
APPENDING RECORDS....Appending a new record while browsing
DELETING RECORDS.....Deleting a record while browsing
EDITING FIELDS.......Editing the data in fields
EDITING MEMOS........Editing, Importing, Exporting Memo fields
VIEWING MEMOS........Creating a memo viewing window
SEARCHING FOR DATA...Searching for a record in browse work-area
FILTERING............Setting Filters or "Filtered Index" conditions
VIRTUAL RECORD.......Creating, Appending and Saving a Virtual Record
IMPORTING DATA.......Importing data from another work area
REPLACEMENT MACROS...Replacing data by Macro expression
KEYBOARD MACROS......Creating Keyboard Macros
BROWSE SCAN..........Creating Many-to-One Browse Windows
RELATIONAL BROWSING..Creating One-To-Many Browse Relations
CUT AND PASTE........Cutting and Pasting data fields
SAVE AND RESTORE.....Saving and Restoring a Browse Configuration
QUICK-DOT............Invoke a dot-prompt to control the browse with commands

OVERVIEW

An overview of the dCLIP Browse System

Description:

The dCLIP browsing system is designed to give you the same
editing power with data that your editor or word-processor
gives you with text. Each open work area has it's own browse
configuration which is stored and remembered when saving work
to disk. The browse-system is a complete database manager, not
just a database-browser. While in any browse window you can
open/close database and index files, run any database
utilities, create and print reports, or perform any kind of
database editing desired.

USER-CONFIGURABLE

The browse-system is also designed to allow you to configure
the presentation of your data as you desire. You can size or
delete columns, change the headings or order of columns, size
and locate the browse window(s) on the screen, lock columns
from scrolling, create resultant columns based on field
equations, or choose several display modes.

PERSISTENCE

The browse-system is completely "array-driven" and uses no
code-blocks within the browse array objects, thereby allowing
browse screens to be saved and restored from disk. A
"production-browse" file can be created which automatically
restores a browse configuration when a database is opened and
browsed.

RELATIONAL BROWSING

Fields from all relational work areas can be merged in a
single browse window or a different window for each area.
One-to-many browsing configurations can be created by simple
commands from the dot-prompt or by a pick-list of options from
browse menus. With one-to-many browsing you can create
multiple child windows that are automatically updated as you
move through the parent window.

DATA EDITING

Records can be modified by simply pointing to the desired
record/field and pressing the (enter) key for data-editing
mode. New records can be appended by simply scrolling to the
bottom of the file and pressing the (down arrow) key or by
pressing the (Alt-A) key.

CUT AND PASTE

Data can be "cut" from any field (even memo fields) and
"pasted" into any other field of any record of any work area
by a few keystrokes. An entire record can be "captured" and
saved to a virtual record for using as a "default data
template" when appending new records, or for simply "pasting"
into any existing record. Data can be "imported" from any
other work area by first creating and saving an "import map"
from a menu that let's you match field to field. After loading
the import map, you can point to a record in one work area,
then copy the information to a new or existing record in the
target area by a single keystroke.

See Also:

dc_browsedb()
BROWSE

KEYBOARD

Navigating the browse system with the Keyboard

Description:

Press F1 key while in the Browse window for on-line navigation
information.

Navigation through the currently selected browse window is
accomplished by the following keys:

UP ARROW Select Previous Record
DOWN ARROW Select Next Record
RIGHT ARROW Select Next Field
LEFT ARROW Select Previous Field
PGDN Select next group (page) of records
PGUP Select previous group (page) of records
CTRL PGUP Go to Top of File
CTRL PGDN Go to Bottom of File
CTRL RIGHT Pan Fields Right
CTRL LEFT Pan Fields Left
CTRL HOME Pan to First Field
CTRL END Pan to Last Field
HOME Pan to First Displayed Field
END Pan to Last Displayed Field

Navigation to other currently open browse windows is
accomplished by the following keys:

TAB Select Next Browse Area in Tabbed list
SHIFT TAB Select Previous Browse Area in Tabbed list
SPACE Display a pick-list of open browse areas to select

See Also:

dc_browsedb()
BROWSE

MOUSE

Navigating the browse system with the Mouse

Description:

NAVIGATION OF DATA AREA

Navigation through the currently selected browse window is
accomplished by clicking the left mouse button over the
follwing icons:

UP ARROW Select Previous Record
DOWN ARROW Select Next Record
DOWN HALF-DIAMOND Select next group (page) of records
UP HALF-DIAMOND Select previous group (page) of
records
DOUBLE LEFT ARROW Go to Top of File
DOUBLE RIGHT ARROW Go to Bottom of File
RIGHT HALF-DIAMOND Pan Fields Right
LEFT HALF-DIAMOND Pan Fields Left
LEFT ARROW Pan to First Field
RIGHT ARROW Pan to Last Field

Any field can be selected directly by placing the mouse cursor
over the desired field and clicking the left button.


SIZING AND LOCATING THE BROWSE WINDOW

The browse window can be changed in size by clicking the mouse
on the desired border area, dragging the window to the desired
size, then releasing the mouse.

UPPER-LEFT CORNER (Just under menu bar)
UPPER-RIGHT CORNER (Just under menu bar)
UPPER EDGE (Just under menu bar)
LEFT EDGE
RIGHT EDGE
BOTTOM-LEFT CORNER
BOTTOM-RIGHT CORNER
BOTTOM EDGE


SIZING AND RE-LOCATING BROWSE COLUMNS

Any Browse column may be sized with the mouse by clicking on
the column border at the end of the column, then dragging the
column to the desired width.

A Browse column may be relocated to another location by
clicking on the border line directly above the column, then
dragging the column to the area of the browse window in which
it is to be relocated.


SELECTING ANOTHER WINDOW

Navigation to other currently open browse or edit windows is
accomplished by the clicking the left mouse button when the
mouse cursor is located over any portion of the desired window.


See Also:

dc_browsedb()
BROWSE

COLUMN CONFIGURATION

Configuring the browse columns

Description:

Each column in a browse window can be configured in width,
color, location, headings, totals, and type of information
displayed.


See Also:

dc_browsedb()
BROWSE

COLUMN TOTALLING

Displaying Totals of browse numeric columns

Description:

Numeric field columns or "virtual" columns that return a
numeric result can be totalled with the resultant total being
displayed below the respective column.

To total or retotal a selected column, move the cursor to
the desired column, then press (ALT-T). If the column is
not a numeric column then nothing will happen. If the
column is numeric, then the selected field for every record
in the database that matches the current scoping or filtering
condition will be sum-totalled with the total displayed at
the bottom of the column. Totalling can take a considerable
amount of time on large databases and a "totalling" message
will be displayed during the process. If your database is
so large that the process takes more time than desired, then
the process can be aborted at any time with the (ESCAPE) key.

All columns that are numeric may be totalled at the same
time by selecting (B) from the VIEW pull-down menu then (A)
from the sub-menu.

To clear the totals from the browse display select (B) from
the VIEW pull-down menu then (C) from the sub-menu.

NOTE: Editing the numeric data in a column will NOT
automatically invoke a re-total of the column. After
making the desired editing changes, you can re-total
the column at any time with the (ALT-T) key.

See Also:

dc_browsedb()
BROWSE

WINDOW CONFIGURATION

Configuring a browse window

Description:

A browse window can be configured in size, color, location,
column widths, column headings, and type of information
displayed. For configuring columns, see the seperate section
titled COLUMN CONFIGURATION.

SIZING AND LOCATING WINDOW WITH KEYBOARD

When a new edit window is created with the EDIT command, it is
automatically configured to fill the entire screen. The window
can be resized by selecting (W) from the VIEW pull-down menu,
then selecting (E) from the sub-menu. A blinking cursor will
appear at the upper-left corner of the box. Pressing the (TAB)
key will move the cursor around the perimeter of the drag box
to allow dragging of any corner or any side of the box. Use the
arrow keys to drag the box to the desired location of the screen.
Press the (ENTER) key to select the new window coordinates or
the (ESCAPE) key to abort the drag process.

SIZING AND LOCATING WINDOW WITH MOUSE

The window can be re-sized by placing the mouse on the
upper-left or upper-right corner (first line below menu-bar),
the lower-left or lower-right corner, the left, right or bottom
edge, or the top edge (first line below menu-bar) of the
currently selected window, then clicking the left button. A
blinking cursor will appear at the corner or edge of the box
that was clicked on. Hold down the left button of the mouse and
move the box corner or edge to the desired location of the
screen. After the box has been moved to the desired location,
simply release the mouse button to repaint the window.

ZOOMING A WINDOW

A window can be Zoomed to fill the entire screen by pressing
the ( Alt-Z ) key in the selected window. This is a toggle
action function so another key press will re-size the window
back to the original coordinates. The mouse may be used to
Zoom the window to full-size by clicking on the Up Arrow that
is painted in the upper right corner of the window when it is
in a non-zoomed state. The mouse may be used to Zoom the
window back to it's original coordinates by clicking on the
Down Arrow that is painted in the upper right corner of the
window when it is in a zoomed state.

COLOR CONFIGURATION

Each browse window can be configured to it's own set of colors
by selecting a color set from a pick list. Select ( P ) from
the VIEW OPTIONS menu to choose a color set. NOTE: You must
first create your desired color sets by using the COLOR SETUP
command at the dot-prompt, from the ASSIST menu, or by using
the DC_CLRSETUP() function.

TOGGLING DISPLAY OF RECORD NUMBERS

The default condition of the browse window is to display the
actual record number of each record in the rightmost column of
the window. Pressing the ( / ) key will turn off the display of
record numbers to allow display of more field columns.
Pressing the ( / ) key again will re-display the record number
column.

TOGGLING DISPLAY OF FILE INFORMATION

The default condition of the browse window is to display the
current Work area, File alias, Index Tag Name, and Index key at
the top of each window. If you wish to see more information,
select ( T ) from the VIEW OPTIONS menu to display the full
name(s) of database tables, indexes, options, filters, and
conditional index expressions.

TOGGLING DISPLAY OF WINDOW SHADOWS

When creating browse windows that are butted-up next to each
other, the shadows around the windows can overlap in such a way
that is visually unappealing. Select ( N ) from the VIEW
OPTIONS menu to toggle the display of the window shadow for the
selected window.

STICKY BROWSE MODE

"Sticky Browse" refers to a mode of operation in which the
configuration of a browse screen is "remembered" for the
life-time of the running application. If STICKYBROWSE mode is
ON, then the user can exit the browse mode, perform any other
system operation, and when the browse routine is called again
the old browse configuration is retained. If STICKYBROWSE mode
is OFF, then the browse screen is repainted with the default
configuration each time the users renters the browse. The
default "system" configuration for STICKYBROWSE is OFF. This
can be changed by adding the command STICKYBROWSE=ON in your
DCLIP.SYS file or SET STICKYBROWSE ON at the dot prompt. Each
browse window can be toggled from ON to OFF by pressing the
ALT-T key.

See Also:

dc_browsedb()
BROWSE

TILE-BROWSING

Creating multiple browse windows

Description:

Tile-Browsing is a term describing the placement of multiple
browse windows in the display in a "pattern" to work with
several databases at the same time. Use tile-browsing to
establish one-to-many relations, to facilitate cut-and-paste
operations between several databases, or to simply make it
easier to monitor data in several work areas at the same time.

SIZING AND LOCATING A BROWSE WINDOW

When a new browse window is created with the BROWSE command, it
is automatically configured to fill the entire screen. The
window can be resized by selecting ( W ) from the VIEW OPTIONS
menu. A blinking cursor will appear at the upper-left corner
of the box. Pressing the ( TAB ) key will move the cursor from
the upper-left to the lower- right corner. Use the arrow keys
to drag the box to the desired location of the screen.
Pressing the TAB key again will move the cursor to all four
corners which will allow you to move the entire box anywhere on
the screen after you have set the size.

AUTOMATIC TILING

The BROWSE TILE command is a simpler method of creating
multiple browse windows. This function will automatically
determine the size and location of each window depending on the
number of databases being browsed. For example, if you open
three databases then issue the command BROWSE TILE, three
windows will be opened with the display sectioned in vertical
thirds. BROWSE TILE WINDOW (Mode) is used to tell the browse
system exactly the style of windows to display.

Mode

1 Four windows ( screen split in half vertically and
horizonally )
2 Four windows ( screen split horizontally )
3 Three windows ( screen split horizontally )
4 Two windows ( screen split vertically )
5 Two windows ( screen split horizontally )
6 Six windows ( three across / two down )

SELECTING A WINDOW

The ( TAB ) and ( SHIFT-TAB ) keys are used to move forward
and backward through the various browse windows.

See Also:

BROWSE TILE
dc_browtile()
dc_browsedb()
BROWSE

APPENDING RECORDS

Appending a new record while browsing

Description:

Appending new records can be accomplished in one of two
methods:

FULL-SCREEN APPEND

Full-screen append utilizes the entire screen for editing the
record after the blank record is appended to the database.

Fields on the screen are displayed in the order previously
defined by the Full-screen Editing system (See EDIT SYSTEM).
To invoke a full-screen append press the ( Alt-A ) key or
select ( A ) from the EDIT OPTIONS menu.

BROWSE-SCREEN APPENDING

Browse-screen appending is accomplished by selecting the last
record in the database browse, then pressing the DOWN ARROW
key. If the field you are editing is wider than the display
column, the information will scroll horizontally in the column
as you move through the field. Pressing the ( ENTER ) key
again will save the changes and move to the next column to the
right. Pressing the (CTRL-W) or (F10) key will save the changes
and resume browse mode at the current field. Pressing the
(ESCAPE) key will abort changes to the current field and resume
browse mode at the current field. Pressing the up/down arrow
keys will save the changes then move to the same field in the
previous/next record.

SETTING APPEND MODE

You can configure the default method in which data that will
be filled in to the new record when it is appended. The default
for a new edit configuration is "Blank Record". If you desire
that some fields be filled with default information, then it is
recommended that you establish the new record data mode as
the "Virtual Record". See VIRTUAL RECORD for more information.
If you desire that some fields be filled with information from
another work area, then it is recommended that you establish the
append mode as an "Imported Record". See IMPORTING DATA for
more information.

You can also configure the default method in which records will
be added or reused when appending a new record. The default for
a new edit configuration is to "Append a New Record" to the
bottom of the database. You may choose to re-use records that
have been previously retired or deleted by selecting "Re-Use
Deleted Records (if any)" or "Re-Use Blank Records (if any)".
If no deleted or blank record is found then a new record will
be added.

See Also:

dc_browsedb()
BROWSE

DELETING RECORDS

Deleting a record while browsing

Description:

SETTING DELETE MODE

You can configure the default method in which data that will
be deleted when pressing the DELETE key. The default for a new
browse configuration is "Mark for later Deletion". Records
that are marked for deletion will be displayed with an asterisk
in the left column unless the SET DELETED flag is ON. In this
case the record will disappear from the browse view. Records
that are marked for deletion are permanently removed when
PACKING the database.

To configure the default delete method select DELETE OPTIONS
from the EDIT menu. The following options will be displayed:

1. No Action
2. Mark record for later deletion (default).
3. Blank all fields in record.
4. Use Custom delete function (enter a code block).


DELETING A RECORD

To Mark the currently selected record for later deletion,
select DELETE RECORD from the EDIT menu. To delete a record
using the default method previously established as described
above in DELETE OPTIONS.

See Also:

dc_browsedb()
BROWSE

EDITING FIELDS

Editing the data in fields

Description:

Editing fields can be accomplished in one of several methods.

Editing may be accomplished in "Full-Screen" mode or in "Browse
Screen" mode and may be invoked by a menu selection, by
pressing the ENTER key or by double-clicking the mouse on a
desired field.

SETTING THE DATA-ENTRY MODE

The "default" data entry mode invoked by the ENTER key may be
setup by selecting DATA ENTRY MODE from the EDIT pull-down menu
then selecting one of the following options:

1. Edit while in Browse Window (move ACROSS columns).
2. Edit while in Browse Window (move DOWN columns).
3. Edit while in Browse Window (no move after edit).
4. Use Record-oriented editor (Full-Screen).
5. Use Custom editor (enter a code-block).


FULL-SCREEN EDITING

Full-screen editing utilizes the entire screen for editing the
current record. Fields on the screen are displayed in the
order previously defined by the Full-screen Editing system (See
EDIT SYSTEM). To invoke a full-screen edit press the (Alt-W)
key or select (E) from the EDIT OPTIONS menu.

BROWSE-SCREEN EDITING

Browse-screen editing is accomplished by selecting the desired
record and field to edit in the browse, then pressing (ENTER).
If the field you are editing is wider than the display column,
the information will scroll horizontally in the column as you
move through the field. Pressing the (ENTER) key again will
save the changes and move to the next column to the right.
Pressing the (CTRL-W) or (F10) key will save the changes and
resume browse mode at the current field. Pressing the (ESCAPE)
key will abort any changes and resume browse mode at the current
field. Pressing the up/down arrow keys will save the changes
then move to the same field in the previous/next record.

See Also:

dc_browsedb()
BROWSE

EDITING MEMOS

Editing, Importing, Exporting Memo fields

Description:

Memo fields can be edited by simply selecting the desired field
in the display then pressing (ENTER). The memo editor provides
full text editing of the contents of any memo field. Press key
(F1) for a full description of the editing keys and editing
options.

CUT AND PASTE

While editing, the (F2) key will set markers in the text so
you can "cut" all text between the markers and capture it in
memory. This captured text can then be "pasted" anywhere in
the same memo or any other memo with key (F4). Key (F5) will
save the blocked text to a file, and key (F6) will allow text
to be inserted from a file.

IMPORTING TEXT

Text from any ascii file can be imported into the selected
memo by selecting (O) from EDIT pull-down and (I) from the
sub-menu. You will be prompted for the name of the file to
import and how you want to import the text. You have the
option to Replace all existing text, Insert the imported text
in front of existing text, or Append the imported text to the
end of the existing text.

EXPORTING TEXT

Text from the current memo can be exported into any ascii file
by selecting (O) from EDIT pull-down and (X) from the
sub-menu. You will be prompted for the name of the file to
export to and how you want to export the text. You have the
option to Replace all existing text, Insert the exported text
in front of existing text, or Append the exported text to the
end of the existing text.

See Also:

dc_browsedb()
BROWSE

VIEWING MEMOS

Creating a memo viewing window

Description:

A window may be created on the screen for viewing the contents
of memos as you navigate through the browse display. This is
accomplished by first selecting a memo field, then selecting
(W) from the VIEW pull-down followed by (V) from the sub-menu
"Change Memo Viewing Window". A sub-menu will appear to allow
you to open, re-size, or close a memo-window. Only one memo-
window can be created for each browse area, however, all memo
fields in the databases can be displayed in the window. When
opening or re-sizing a window, a "drag box" will appear on the
screen for sizing and locating the window using the cursor keys
or mouse.

NOTE: Any portion of the memo window that overlaps the browse
display area will not be displayed, therefore this feature
will have no effect if your browse window fills the
entire screen.

As you navigate through the browse window fields, the
last-accessed memo field will determine which memo field will
be displayed in the event that your database contains more than
one memo field.

See Also:

dc_browsedb()
BROWSE

SEARCHING FOR DATA

Searching for a record in browse work-area

Description:

Searching for a record can be accomplished in many ways.

AUTO-SEEK

The term "Auto-Seek" refers to locating a record by typing a
value that matches a key in the currently selected index or
in one of the available indexes. If the value typed in matches
the value in the currently selected index, the record will be
selected. If the value does not match the selected index, then
all indexes will be searched in the same manner as described by
HUNTING A RECORD (described below). Auto-Seek mode can be
toggled on and off (default is off) by selecting AUTO-SEEK from
the SEARCH / FIND pull-down menu.


LOCATING A RECORD

The term "locating" refers to scanning of all records in the
database and stopping at the first record that meets the
condition. The browse system supports two methods of locating:

QUICK-LOCATE allows you to search for a record by scanning the
currently selected field for a matching value. Select ( Q )
from the SEARCH OPTIONS menu.

LOCATE allows you to search for a record by evaluating a
condition based on information in multiple fields in the
current work area and all child work areas. LOCATE uses the
Query-Builder system to help you build a condition. The first
record that matches the condition will be displayed in the
browse window.

CONTINUE LOCATE refers to continuation of the scan from the
current record based on the previous QUICK-LOCATE or LOCATE
condition.


FINDING A RECORD

The term "finding" refers to using an index tag or index file
for instantly seeking to the first record that matches the key
value entered. Select ( F ) from the SEARCH OPTIONS menu to
find a record by an index key. A menu will appear with a
listing of all open index keys and an input screen to enter a
value. Move to the desired key and enter a value. When a
value is entered into one of the keys, all records in the index
that match the key will be listed in a browse-style window to
select the desired record. If only one record matches the key
value entered, you will immediately be returned to the Browse
display at the selected record. If no records match the key
value, the old record pointer will be restored.


HUNTING A RECORD

HUNT is a method of FINDing a record by searching all open
index files or tags for the value entered. This is the
quickest method of finding information by scanning all the keys
for the first match. The value entered on the command line is
automatically converted to the proper "type" to perform the
seek. For example, if you entered a value of 12.5, only
numeric indexes will be seeked, or if you enter a date type
only date indexes will be seeked. If you enter expression,
such as DATE()-30, then only the indexes that match the type of
the expression entered will be seeked.

Using HUNT and RESUME is the fastest method of finding
information in a large database that uses many index keys. It
is recommended that you build a set of keys for all fields that
you want to include in the HUNT operation. This can be
accomplished easily by using the INDEX FIELDS command to create
a set of tags all at one time.

Select (H) for HUNT or (R) for RESUME from the SEARCH OPTIONS
menu.

See Also:

dc_browsedb()
BROWSE

FILTERING

Setting Filters or "Filtered Index" conditions

Description:

"Filtering" is a term which means that the database can appear
as though only records which meet a specified condition will
appear in the display.

DATABASE FILTERING

A filter condition can be invoked on the current work area by
choosing ( S ) from the SEARCH OPTIONS menu. This selection
will use the Query Builder to allow you to create a condition
from current work area fields and all child fields. Only
records that meet the condition will be displayed. Database
filtering can produce undesirable slowing when painting fields
in the display if less than 50% of the records in the database
match the condition. It is recommended that you use
Conditional indexes for much faster performance if you intend
to use the same condition over and over again.

FILTERED INDEX OPERATION

A "filtered index" refers to a method in which only records
which match a specified key value will appear in the display.
Use filtered index operation to display a subset of records by
group. This method of filtering out undesired records will
not degrade performance, however it is required that an index
is selected and the subset condition is part of the index key.

To set a filtered index select ( I ) from the SEARCH OPTIONS
menu, then enter the value of the key you want to include in
the browse.

A filtered index condition can also be invoked by selecting
( T ) from the SEARCH OPTIONS menu, to toggle filtered index
mode on and off. This method of setting a filtered index
condition will automatically establish the value of the
currently selected record index as the value of the key to
include in the browse.

An example of filtered index operation is the following:
Let's say you have a database of customers with an index on
Zip Code. You can establish a filtered index condition to
display only those records in which the Zip Code starts with 9
by entering 9 as the key value. If you wish to display all
records starting with 912 then 912 is the value to enter.

VIRTUAL RECORD

Creating, Appending and Saving a Virtual Record

Description:

A VIRTUAL record is a record that is temporarily stored in
memory to be used as a "template" for making appending or
inserting of new records much easier. Any record in the
current database can be "captured" to the Virtual record by
simply selecting the desired record then selecting (V) from
the EDIT pull-down menu followed by (C). Only one virtual
record can exist in memory at any one time and will be
overwritten each time a new record is captured.


SAVING THE VIRTUAL RECORD

The captured virtual record can be permanently saved to disk
by selecting (V) from the FILE pull-down menu, the (U) from
the sub-menu. A file with same name as the work area file
and the extension .DCV will be created in the same directory
as the database file. The virtual record can be restored
from the file by selecting (V) from the FILE and (L) from
the sub-menu.


APPENDING NEW RECORDS USING VIRTUAL RECORD

When appending new records, you can fill in all the fields
from the virtual record to eliminate the need to enter
information that may be duplicated for each new record such as
today's date or other commonly entered information. To enable
the virtual record as the default appending mode, select (S)
from the EDIT pull-down menu for "Set Append Mode", then
select "Virtual Record". To actually append a new record, press
the (Alt-A) key or Select (A) from the EDIT pull-down menu.


REPLACING THE CURRENT RECORD WITH THE VIRTUAL RECORD

The data in all fields of the currently selected record can
be replaced by the data in the Virtual record by pressing
selecting (V) from the EDIT pull-down menu and (V) from the
sub-menu.

INSERTING OR APPENDING A GROUP OF VIRTUAL RECORDS

A specified number of Virtual records can be inserted or
appended to the current work area by selecting (V) from the
EDIT pull-down menu and (L) from the sub-menu then entering
the number of Virtual records to insert. Make sure that
you select the desired record in the database first as all
inserted records will be placed before the selected record.

See Also:

dc_browsedb()

IMPORTING DATA

Importing data from another work area

Description:

Data from another work area can be copied to the currently
selected record or appended to a new record by using a Field
Map. A field map is loaded into memory from a .DCF file
previous created with the IMPORT CREATE command or from the
UTILITIES MENU. A field map provides information necessary to
determine how information from one database is to be copied or
appended to another database of a different type and structure.

LOADING A FIELD MAP

Select ( P ) from the FILE OPTIONS menu to load a field map
file into memory. You will be prompted to enter the name of
the .DCF file for loading and the file will be tested to
insure that it associates only fields from currently open work
areas.

REPLACING FIELDS FROM ANOTHER WORK AREA

After loading a field map into memory, you must first select a
record from the "import" file work area that you want to
import. Press the ( TAB ) key to select the browse window of
the import work area, then select the desired record. Press
( TAB ) again to select the work area you are importing TO, then
select the record you want to replace with the data from the
import record. Press the ( Alt-I ) key to replace the fields
in the target file with the mapped data. Only the actual
fields that are "mapped" via the Field Map file will be
replaced, all others will not be affected.

IMPORTING NEW RECORDS FROM ANOTHER WORK AREA

After loading a field map into memory, you can append selected
records from the "import" file work area into the target file
work area. This feature requires that you first select ( S )
from the EDIT OPTIONS menu and choose ( I ) (import) as the
default append mode. Use the ( TAB ) key to move between the
two browse windows then the ( Alt-A ) key to append the
selected import record to the target file. Only the fields
that are "mapped" via the Field Map file will include imported
data, all others will be blank and must be filled in.

Example:

Let's say you have a MAILLIST.dbf (FoxPro) database and you
wish to append selected records from a HOTLEADS.db (Paradox)
database. The following dot-prompt commands will setup this
work project so you can accomplish this task over and over
again with a minimum of effort.

// First-time setup
. USE MAILLIST VIA 'DBFFOX' // Open Maillist.dbf
. USE HOTLEADS VIA 'PDX' NEW // Open Hotleads.db
. CREATE IMPORT MAILIMP // Create Mailimp.dcf
. BROWSE TILE // Build browse windows,
// load map,
// select append mode,
// setup columns
. SAVE WORK TO MAILIMP // Save everything to disk

// Importing new records selectively via browse system
. RESTORE WORK FROM MAILIMP // Restore databases,
// browse windows
. BROWSE // Enter browse mode

Now that you are in the browse system, you can selectively
decide which records from HOTLEADS.db you wish to append to
MAILLIST.dbf. Simply move to the desired record in the import
window, select the target window and move to the bottom of the
file. Pressing the down arrow key will append the import file
record to the target work area. Fill-in the blank fields or
modify the imported fields to complete the transaction, then
repeat the process for each desired record in the import work
area.

NOTE:

Only one field map may be active for each browse window. If
you load a field map in one browse window, it will not be
active in any other browse window.

See Also:

dc_browsedb()
BROWSE

REPLACEMENT MACROS

Replacing data by Macro expression

Description:

Data in a selected field can be replaced by information in
other fields of the same work area or child work areas. Using
macros to replace information is a form of "cutting and
pasting" that allows use of an expression for formatting the
"pasted" information in any form desired.

To create a field-replacement macro, select ( C ) from the
EDIT OPTIONS menu, then enter the expression. The expression
must be a valid CLIPPER expression using field names or
functions. Pressing the ( Alt-F ) key will pop-up a list of
current fields and child fields to help you build the
expression.

After the macro is created, select the field to replace, then
press ( Alt-M ).

Examples:

1. Let's say you want to reformat the data in a NAME field so
only the first letter of each word is capitalized. You
would enter the macro as follows:

dc_capfirst(NAME)

2. Let's say you want to replace the information in the NAME
field with concatenated information in two relational
fields. You would enter the macro as follows:

trim(CUSTOMER-)LAST) + ", " + trim(CUSTOMER-)FIRST)

3. Let's say you want to update the DUE_DATE field with today's
date plus 30 days. You would enter the macro as follows:

date() + 30

NOTE:

Only one replacement macro may be active for each browse
window. If you create a replacement macro in one browse
window, it will not be active in any other browse window.

See Also:

dc_browsedb()
BROWSE

KEYBOARD MACROS

Creating Keyboard Macros

Description:

A keyboard macro is a sequence of key-strokes that are stored
in a single key. The default key for storing keyboard macros
is (Alt-K). After storing a keyboard macro, press the (Alt-K)
to invoke the stored key sequence. Currently, the browse
system does not support a key "learning" system because key
strokes from other windows or inside editing "gets" cannot be
automatically learned. Instead, the suggested method for
creating macros is the following:

1. Test the key process you want to create by pressing the keys
in the sequence required to perform the desired results.

2. Write down or remember the order of the keys pressed as you
are processing the keystrokes.

3. Select (M) from the EDIT pull-down menu and (K) from the
sub-menu to start the key storing process, then press the
keys in the same order as they were originally entered.
Press (F10) to save the macro or (F9) to abort the process.
NOTE: a character representation of each key stroke will be
displayed on the screen. Do not be alarmed if the character
displayed is not what you expect, the keystrokes will be
stored as entered.

Examples:

1. Let's say you want to create a keyboard macro for importing
a sequence of records from another work area then modifying
the data in each new imported record.

First, you must insure that you have already loaded a Field
Map by selecting ( P ) from the FILE pull-down menu. Next,
select the import file browse area with the ( TAB ) key and
move to the record to start importing. Select the target
browse area with the ( TAB ) key. Now the following
sequence of keystrokes will select the import area, move the
record pointer to the next record, re-select the target area,
append the import record to the target file and edit the new
record:

( TAB ) ( DOWN ARROW ) ( SHIFT-TAB ) ( Alt-A )

When the above key sequence is stored as a keyboard macro,
simply pressing the ( Alt-K ) key will repeat the import
process for each record you desire to import.

See Also:

dc_browsedb()
BROWSE

BROWSE SCAN

Creating Many-to-One Browse Windows

Description:

BROWSE-SCAN is a term that describes the relationship between
a BROWSE window and and EDIT window for the same work area.
When a Browse-Scan relationship has been established, the
fields in the currently established EDIT window will
automatically be repainted whenever the record pointer is
moved in the BROWSE window. When using this feature it is
recommended that you size the BROWSE and EDIT windows so that
they both are visible on the screen.

This feature gives you the ability to view and edit the data
in a work area by using two different views at the same time.

A BROWSE-SCAN relationship may be created in two ways:

1. Let the system automatically determine the size and location
of the BROWSE and EDIT windows, by selecting BROWSE-SCAN
from the Browse-System pull-down menus. This selection
will create a temporary browse in which the left third
of the display is dedicated to the browse window and the
right two-thirds of the display is dedicated to the edit
window. When the (ESCAPE) key is pressed, the original
browse and edit configuration for the current work area
will be restored.

2. Select UPDATE EDIT WINDOW ON from the Browse system
pull-down menus. This method will force the Browse
system to automatically paint the Edit window fields
whenever the record pointer in the Browse window is
changed. This method will not change the configuration
of either of the existing Browse or Edit windows, but
will instead simply create a updating relationship.

See Also:

dc_browsedb()
BROWSE

RELATIONAL BROWSING

Creating One-To-Many Browse Relations

Description:

Relational browsing is accomplished by using the BROWSE
RELATION command. The command syntax is as follows:

BROWSE RELATION [WINDOW (mode)] (alias1) INTO (into1) [ON ;
(field1)] [,(aliasn) INTO (inton) [ON (fieldn)] ...]

BROWSE RELATION provides a One-To-Many browse configuration for
browsing multiple databases with common key fields. The child
windows will display only the records that match the key value
passed by the primary window.

Relational windows will automatically be updated as the record
pointer is moved through the primary window. The TAB key can
be used at any time to select any window and make updates or
configure the view of data.

See the examples under the BROWSE RELATION command or the
DC_BROWRELA() function for more information.

See Also:

dc_browsedb()
BROWSE

CUT AND PASTE

Cutting and Pasting data fields

Description:

Cut and Paste operations are accomplished by first "grabbing"
the contents of a field with the ( Alt-G ) key, then "pasting"
it to another field with the ( Alt-R ) key. This action will
always overwrite the data in the target field with the data
from the grabbed field. You can grab a memo field from one
record and paste to a different memo field in a different work
area. If you want to append to existing data, then it is
recommended that you create a REPLACEMENT MACRO.

Only one "grab" buffer is available for all work areas, because
many cut and paste operations are accomplished between
different windows.

If the target field is not the same type as the grabbed field,
then the ( Alt-R ) key will be ignored when pressed. If the
target field is shorter than the grabbed field, then the
grabbed data will be truncated to the length of the target
field.

The same "grabbed" data may be pasted into many different
fields by simply selecting the field to replace and pressing
the ( Alt-R ) key for each replacement.

The normal procedure for cut and paste is as follows:

1. Select the work area browse window with the SPACE or TAB key
that contains the data you want to grab.

2. Move to the desired record and field with the cursor keys.

3. Grab the data from the selected field with the ( Alt-G )
key.

4. Select the target work area with the SPACE or TAB key.

5. Move to the desired target record and field with the cursor
keys.

6. Replace the data in the selected field with the grabbed data
by pressing the ( Alt-R ) key.

See Also:

dc_browsedb()
BROWSE

SAVE AND RESTORE

Saving and Restoring a Browse Configuration

Description:

Once a browse configuration has been created, i.e., window
size, relational hooks, memo viewing window, column order and
sizes, headings, etc., the configuration can be saved to a file
for restoring later. This is accomplished by selecting (F) for
File Options and (S) to "Save Configuration to a File". You
will be prompted for a name to assign to the file and a default
file name will be filled in with the same name as the current
alias and the extension .DBR.

PRODUCTION-BROWSE CONFIGURATION FILE

If you don't change the default name, then the configuration
file will be named (alias).DBR and will be treated as a
"production-browse" configuration file that will automatically
be loaded the first time you enter a browse window for a work
area.

CUSTOM-BROWSE CONFIGURATION FILE

If the name that you assign to the configuration file is
anything other than (alias).DBR, the configuration will not be
changed unless you load the configuration file from the browse
(F)ile Options menu - Suboption "Load Configuration from a
File" or with the BROWSE RESTORE (cConfigFile) command.

See Also:

BROWSE RESTORE
dc_browsedb()
BROWSE

QUICK-DOT

Invoke a dot-prompt to control the browse with commands

Description:

Many times it is faster to accomplish a desired task in the
browse by simply invoking a command-line rather than pressing
keys to navigate through menus. The Alt-DOT key will bring up
a dot-prompt for entering any command you wish. For example,
if you want to go to a specific record, reindex the open file,
select another work area, etc., just press the Alt-DOT key,
enter the command(s), then return to the browse by pressing
( enter ) at the dot-prompt with no command.

For example, let's say you have a MAILLIST.DBF and a
MAILLIST.CDX index with many index tags open in a browse area.
Now you wish to hunt for some specific information using the
HUNT..RESUME commands. Press the Alt-DOT key for a command line,
then enter the following command:

. HUNT SCOTT

If "Scott" is found in an indexed field, the browse will be
redisplayed with the selected index and pointing to the first
record with the name "Scott". If what you really wanted was
the first "Scott" in a different indexed field, then enter the
command:

. RESUME

If "Scott" is found in another indexed field, the display will
be re-painted with the new index selected.

See Also:

dc_qdot()
BROWSE
dc_browsedb()