
ABOUT BSIM
22
   This program allows you to execute most of the Btrieve operations directly
without having to write your own program.

   This can be very helpful when you are just learning Btrieve as well as
when you want to analyze how Btrieve operations affect the different
parameters byte by byte.

   Also, it is very useful for trouble-shooting problems in your application
program - i.e, if the same sequence of Btrieve calls can reproduce your
problem, then you know that it is not a bug in your application.

   To open a file, just put the name of the file in the Key Buffer,
choose Function 0 (open), and hit F1. Use the quick keys to access
the Btrieve parameters and hit F1 to call Btrieve. Play around with
the different operations; for example, choosing op 14 (create) allows
you to easily create any kind of Btrieve file!  Have FUN!















MAJOR FEATURES
22
- Up to 20 files open and accessible at once. Detailed info on each file.
- Viewing / editing facility for Data and Key Buffers as well as Position Block
     You can view & edit these buffers in ascii AND hex simultaneously.
- View, edit records up to 32K bytes long.
- English status and error messages.
- Create any Btrieve file via easy-to-follow prompts.
- Perform extended btrieve operations via prompting.
- View detailed statistics on files.
- Create and Drop supplemental indices.
- Shell to Dos feature.
- Quick btrieve operation code reference.
- Quick btrieve status code reference.

NEW Features:
- Define a  permanent "data dictionary" of fields which allow you to easily
      view & edit non-displayable data types (integers, dates, etc...).
- Repeat a Btrieve operation as many times as you like with 1 keystroke.
- Define "Macros"; these allow you to save a series of btrieve operations
      on up to 20 files and play the operations back at will.
- Startup Options   BSIM filename to open a file in Normal Mode
                    BSIM @macroname to run a macro immediately


















DATA/KEY BUFFERS
17
- When you choose Data or Key Buffer, you can see or edit all values
  stored in the buffer. All displayable characters are shown in ascii,
  while all values are displayed in hex below the ascii line.

- You can move right or left using arrows, tab, shift-tab, home, or end.
  You can use the up and down arrows to move to the ascii or hex lines.

- When you change an ascii character, the hex values change. When you
  change a hex value, the ascii value changes.

- If you position the buffer at, e.g. offset 300-380, hit return, and
  do a get next, the next record will be displayed at that offset. This
  makes it easy to scroll and view a certain area in each record.

- Use Alt-D to toggle the Display Hex mode. Use this if you only want to
  look at the displayable characters in the buffer.










MULTIPLE FILES
22
This program provides great flexibility for doing multi-file simulations.
You can have up to 20 position blocks allocated at once and each position
block can use a different amount of memory. This is very useful if you
need to access files with very large record sizes.

- Pos Blk 1 is already allocated for you.

- Go to Change position block screen to allocate or deallocate pos blks.
  This just grabs memory off the heap to store data/key buffers and
  various other  internal structures. User enters amount of heap space
  to allocate for each position block. This allows you to access 1 file
  with very large records and several other files with small records.

- Information regarding each position block and any file opened to that
  block is on the screen, including filename, open mode, last operation
  and status on that position block and maximum record length. This is
  useful in keeping track of where you are in a complex multi-file test.

- If you shell out to Dos from the main menu, your position blocks are
  still allocated and intact when you return.


















SPECIAL OPERATIONS
22
Bsim allows you to perform many of the difficult Btrieve operations
by, for example, prompting you for information to put in the data buffer
for the CREATE operation. It also interprets information returned from
Btrieve in, e.g. the STATUS operation. Here is a list of the operations
which are are handled differently:

  - Create:  Put data in buffer 1st, then do the actual Create operation
  - Create Supplemental Index:
             Similar to create, just with key info
  - Version: Give version of Btrieve loaded
  - Stat:    Displays statistics from Stat operation in easy-to-read format.
  - Extended Gets  {not implemented yet}
             Will allow user to simulate filtering operations
  - Extended Steps {not implemented yet}
             Will allow user to insert a load file into their Btrieve file.

Note: As with all other operations, the Btrieve parameters are changed
      as they would be in your program. You can see how Btrieve actually
      modifies these parameters. This can be very useful when you are first
      learning how to do, e.g. a Create operation. Enter the information
      through prompts and then look at how the information is stored
      in the data buffer.









SUGGESTIONS / BUG REPORTS
6

Please direct all enhancement suggestions or bug reports to

David Garrison @ Novell  (DPD)
902 E. Live Oak
Austin, TX  78704






FIELDS FEATURE
20
  This is the latest feature of BSIM. It allows you to view and edit
formerly non-displayable data types. Currently, Bsim supports only
the integer (short, word, and long)  and date types. In the future,
it will support all commonly used non-displayable Btrieve extended
data types.
  To use Fields, simply go into the data buffer when a file is open,
hit Alt-F and, if you havent defined fields for the file yet, it
will put you into a screen which will allow you to easily define
fields for that file.  Once this field file (filename.sim) is defined
it can be reused.
  Once the field file is read in, Bsim will show you which bytes in the
record have fields defined onto them. As you scroll through the record
the data type, position, length, and actual displayable value will
be shown for each field that you have defined.
  To edit a field, simply hit Alt-E, and you can edit the value in readable
form. Hit return and it will be translated to binary form and put into
the record buffer.
  Besides supporting other data types in the data buffer in the future,
Bsim will at some point also support editing key values (including segmented
key values!)     Have fun with fields!






























DATA/KEY BUFFERS
17
- When you choose Data or Key Buffer, you can see or edit all values
  stored in the buffer. All displayable characters are shown in ascii,
  while all values are displayed in hex below the ascii line.

- You can move right or left using arrows, tab, shift-tab, home, or end.
  You can use the up and down arrows to move to the ascii or hex lines.

- When you change an ascii character, the hex values change. When you
  change a hex value, the ascii value changes.

- If you position the buffer at, e.g. offset 300-380, hit return, and
  do a get next, the next record will be displayed at that offset. This
  makes it easy to scroll and view a certain area in each record.

- Use Alt-D to toggle the Display Hex mode. Use this if you only want to
  look at the displayable characters in the buffer.










POSITION BLOCKS
22
This program provides great flexibility for doing multi-file simulations.
You can have up to 20 position blocks allocated at once and each position
block can use a different amount of memory. This is very useful if you
need to access files with very large record sizes.

- Pos Blk 1 is already allocated for you.

- Go to Change position block screen to allocate or deallocate pos blks.
  This just grabs memory off the heap to store data/key buffers and
  various other  internal structures. User enters amount of heap space
  to allocate for each position block. This allows you to access 1 file
  with very large records and several other files with small records.

- Information regarding each position block and any file opened to that
  block is on the screen, including filename, open mode, last operation
  and status on that position block and maximum record length. This is
  useful in keeping track of where you are in a complex multi-file test.

- If you shell out to Dos from the main menu, your position blocks are
  still allocated and intact when you return.


















SPECIAL OPERATIONS
22
Bsim allows you to perform many of the difficult Btrieve operations
by, for example, prompting you for information to put in the data buffer
for the CREATE operation. It also interprets information returned from
Btrieve in, e.g. the STATUS operation. Here is a list of the operations
which are are handled differently:

  - Create:  Put data in buffer 1st, then do the actual Create operation
  - Create Supplemental Index:
             Similar to create, just with key info
  - Version: Give version of Btrieve loaded
  - Stat:    Displays statistics from Stat operation in easy-to-read format.
  - Extended Gets&Steps  Allows user to simulate filtering operations
  - Extended Inserts {not implemented yet}
             Will allow user to insert a load file into their Btrieve file.

Note: As with all other operations, the Btrieve parameters are changed
      as they would be in your program. You can see how Btrieve actually
      modifies these parameters. This can be very useful when you are first
      learning how to do, e.g. a Create operation. Enter the information
      through prompts and then look at how the information is stored
      in the data buffer.









SUGGESTIONS / BUG REPORTS
6

Please direct all enhancement suggestions or bug reports to

David Garrison @ Novell  (DPD)
902 E. Live Oak
Austin, TX  78704






FIELDS FEATURE
20
    This feature allows you to view and edit formerly non-displayable
data types by allowing you to define a "data dictionary" of fields
onto a file. Currently, Bsim supports only the integer, autoinc, date,
and time data types. I will add other data types if requested.
    To use Fields, simply go into the data buffer when a file is open,
hit Alt-F and, if you havent defined fields for the file yet, it
will put you into a screen which will allow you to easily define
fields for that file.  Once this field file (filename.sim) is defined
it can be reused. If you like, you can have Bsim create fields for all
of the defined keys in the Btrieve file automatically. These key fields
can then be used to do easy searches on keys.
    Once the field file is read in, Bsim will show you which bytes in the
record have fields defined onto them. As you scroll through the record
the data type, position, length, and actual displayable value will
be shown for each field that you have defined.
    To edit a field, simply hit Alt-E, and you can edit the value in readable
form. Hit return and it will be translated to binary form and put into
the record buffer.

    Have fun with Fields!




MACROS
20
    This is the newest feature in Bsim. Basically, it allows you to
store all Btrieve operations you make (on one or more files). This is
especially useful if you perform a complex series of operations and will
want to go back and reproduce it later for analysis, to pass on to testing
or development, etc.....
    It's quite easy to use macros. To record, simply enter the macro
file name, the text to go at top of macro file.bmc, and the macro speed
(1=fast, 10=slow). Then start doing btrieve operations as you normally
would in Bsim. All necessary information is stored in a macrofile.bmc.
If you would like the macro to pause when played at any point just hit
F5. To end the macro, hit F6.  To play back, just enter the macro name
and use either F1 (to play), F4 (to step), F5 (to pause) or F6 (to quit).
    There are optional flags for macros which allow you to pause, change
the speed, stop on an error, etc... (these will be included here as they
are better defined)



































MAJOR FEATURES
23
- Up to 20 files open and accessible at once. Detailed info on each file.
     You can easily switch back and forth between all open files. You can
     allocate the memory you need for each position block.
- Viewing / editing facility for Data and Key Buffers as well as Position Block
     You can view & edit these buffers in ascii AND hex simultaneously.
- View, edit records up to 32K bytes long.
- English status and error messages.
- Create any Btrieve file via easy-to-follow prompts.
- Perform extended btrieve operations via prompting.
- View detailed statistics on files.
- Create and Drop supplemental indices.
- Shell to Dos feature.
- Quick btrieve operation code reference.
- Quick btrieve status code reference.
NEW Features:
- Define a  permanent "data dictionary" of fields which allow you to easily
      view & edit non-displayable data types (integers, dates, etc...). Can
      store existing key info as fields, allowing you to easily perform
      searches on non-displayable data types.
- Repeat a Btrieve operation as many times as you like with 1 keystroke.
- Define "Macros"; these allow you to save a series of btrieve operations
      on up to 20 files and play the operations back at will. This is
      especially useful for saving a problem that you've reproduced for
      analysis later.


















DATA/KEY BUFFERS
17
- When you choose Data or Key Buffer, you can see or edit all values
  stored in the buffer. All displayable characters are shown in ascii,
  while all values are displayed in hex below the ascii line.

- You can move right or left using arrows, tab, shift-tab, home, or end.
  You can use the up and down arrows to move to the ascii or hex lines.

- When you change an ascii character, the hex values change. When you
  change a hex value, the ascii value changes.

- If you position the buffer at, e.g. offset 300-380, hit return, and
  do a get next, the next record will be displayed at that offset. This
  makes it easy to scroll and view a certain area in each record.

- Use Alt-D to toggle the Display Hex mode. Use this if you only want to
  look at the displayable characters in the buffer.










POSITION BLOCKS
22
This program provides great flexibility for doing multi-file simulations.
You can have up to 20 position blocks allocated at once and each position
block can use a different amount of memory. This is very useful if you
need to access files with very large record sizes.

- Pos Blk 1 is already allocated for you.

- Go to Change position block screen to allocate or deallocate pos blks.
  This just grabs memory off the heap to store data/key buffers and
  various other  internal structures. User enters amount of heap space
  to allocate for each position block. This allows you to access 1 file
  with very large records and several other files with small records.

- Information regarding each position block and any file opened to that
  block is on the screen, including filename, open mode, last operation
  and status on that position block and maximum record length. This is
  useful in keeping track of where you are in a complex multi-file test.

- If you shell out to Dos from the main menu, your position blocks are
  still allocated and intact when you return.


















SPECIAL OPERATIONS
22
Bsim allows you to perform many of the difficult Btrieve operations
by, for example, prompting you for information to put in the data buffer
for the CREATE operation. It also interprets information returned from
Btrieve in, e.g. the STATUS operation. Here is a list of the operations
which are are handled differently:

  - Create:  Put data in buffer 1st, then do the actual Create operation
  - Create Supplemental Index:
             Similar to create, just with key info
  - Version: Give version of Btrieve loaded
  - Stat:    Displays statistics from Stat operation in easy-to-read format.
  - Extended Gets  {not implemented yet}
             Will allow user to simulate filtering operations
  - Extended Steps {not implemented yet}
             Will allow user to insert a load file into their Btrieve file.

Note: As with all other operations, the Btrieve parameters are changed
      as they would be in your program. You can see how Btrieve actually
      modifies these parameters. This can be very useful when you are first
      learning how to do, e.g. a Create operation. Enter the information
      through prompts and then look at how the information is stored
      in the data buffer.









SUGGESTIONS / BUG REPORTS
6

Please direct all enhancement suggestions or bug reports to

David Garrison @ Novell  (DPD)
902 E. Live Oak
Austin, TX  78704




