Introduction
ÄÄÄÄÄÄÄÄÄÄÄÄ
VBX is a full-screen character mode box drawing tool for DOS and the
Windows 95/98 DOS-box.
Its main purpose is to support box drawing in text files, which is why it
contains only usual text edit functions. Complex text editing
(i.e. word processing) should be done with a text editor like VDE. It is
only meaningful to work with a fixed font.
Features
ÄÄÄÄÄÄÄÄ
- simple user control by single-character commands
- fast hypertext help called by F1 (file: vbx.htx)
- draw lines,boxes with single or double bar ASCII graphic characters
by using the cursor keys only, supplying all the necessary corners,
tees and crosses itself, NOT available characters default to BLANK.
- draw with character under cursor or with a blank
- select character for drawing from complete extended ASCII
character table
- mark rectangular regions (in VDE: column blocks) (see VBX online help)
- mark text as usual for cut & paste
- reformat text in a box, range of lines, the complete file
- draw a box onto the border of a marked region with one keystroke
- b for single bar box
- B for double bar box
- add horizontal/vertical line to a marked box to subdivide it into
sub-boxes with one keystroke, supplying eventually necessary tees
and crosses itself (even mixed single/double bar)
- h/v for single bar line (horizontal/vertical)
- H/V for double bar line (horizontal/vertical)
- move, shrink, extend a box or marked region, preserving the line
graphics and NOT accidentally destroying text outside the region
Text being mowed down by moving or extending is saved in a "shadow"
buffer of the size of the marked region and will reappear, if you
go on moving, or shrink after accidentally extending too much.
- comprehensive undo for one or a sequence of any paint/edit operations
- copy, clear marked regions (cut and paste), with a paste buffer,
from which you may recover text accidentally cleared (last clear)
(paste will also mark the pasted text; text overwritten by a paste
operation is still in the "shadow" buffer under the marked region.
If you clear=delete a marked region into the paste buffer, any
shadowed text will reappear.)
- directory wildcard select (file browser), selected directory entries
may be shown on the screen either rowwise or columnwise arranged,
default is columnwise. If you prefer rowwise, then add the following
line at the end of your profile file: Directory=Rows
- sort directory by filename/extension
- arrange directory row/column-wise
- change drive
- copy/move from one file to another (using the paste buffer)
(there is no split-screen feature, but you can enter another file
either with a single character command or by going into the directory
and selecting it from there)
- find string (forward/backward) case insensitively
- change string with undo last change (forward only)
- fill blanks in marked region with character currently under the cursor
- a paste buffer indicator in the header line, which changes shape
each time you change the paste buffer's contents ( 0 = empty )
- save entire file into a file
if extension is .EML (for E-mail), all extended ASCII graphics are
translated to 7-bit ASCII equivalents "|-=+^v<>".
- sort marked area content
- write paste buffer into a file
- read paste buffer from a file
- tab from box to next box (left upper corners)
- text edit the interior of a box by placing the cursor on the upper
left corner of a box and issue 'e' (without blips for edit).
Terminate editing by Esc.
- text edit total file by issuing 'e' NOT on an upper left corner of a box.
- toggle box<=>text marking when editing text
- translate marked text to lower/upper case
- translate marked text to hexadecimal characters
- translate edit object with user defined code translation table
- load, view, edit translation table
- open a file in text / binary (=stream) mode (see COMMAND.VBX)
- edit file in character/hexadecimal mode (see COMMAND.VBX)
- call (spawn) VDE for intermediate text editing (see COMMAND.VBX)
VBX uses the SPAWNO routines by Ralf Brown to minimize memory use while
shelling to DOS and running VDE.
- view and edit the contents of the paste buffer
- use mouse for marking, selecting, escaping and moving the cursor
To enable the mouse add "Mouse=Yes" in your profile VBX.FSP.
- keeping a backup version of file (before update image) as name.BAK
- color setup: choose your own combinations of standard DOS colors
or even use privately mixed non-standard colors
- cursor setup: - non-blinking block cursor (Steady )
- blinking block cursor (Block )
- blinking underscore cursor (Underscore)
|
Go back to top of page
What's new in VBX 3.07 - 2008/03/27
===================================
For quickly rearranging a sequence of lines, I implemented two
functions to swap current line with preceding/succeeding line.
(Current line is the line containing the cursor)
Changed commands:
-----------------
Previously Ctl+Up/Ctl+Down were used to paint fat arrow up/down.
These have to be painted now by using the ASCII picker.
Now
- Ctl+Up swaps current line with preceding one,
- Ctl+Down swaps current line with succeeding one.
This works for either complete text lines or the lines in a box-marked
region./pre>
|
Go back to top of this page
What's new in VBX 3.06 - 2006/05/20
===================================
New commands:
-------------
Ctl+K copy file directly into member currently being edited
If you are in Box-mark mode (Box), the file is inserted as a
rectangular area (width=longest text line), honoring Ins=On/Off,
otherwise (Txt) the file is inserted like a normal text
paste.
Changed commands:
-----------------
b,B may now be used to paint a mini-multi-box (see Alt+F6)
Alt+F6 - grabs current cursor column as interval for expanding tabs
- also grabs now current cursor row and column, where
cursor row => no. of rows for next b/B command,
cursor column => no. of columns for next b/B command
After the next b/B command these no. of rows/columns are
both reset to (1,1).
Ctl+F acts now like F2=Find string, no longer synonym to Alt+F.
Miscellaneous:
--------------
Line buffersize has been increased from 256 => 1024.
|
Go back to top of this page
What's new in VBX 3.05 - 2005/08/31
===================================
The main reason for this version is the correction of a buffer-overflow
bug.
New commands: none
-------------
Changed commands:
-----------------
Alt-cursor move graphic box when cursor placed on upper left corner
of a box.
Miscellaneous:
--------------
Buffer-overflow bug corrected.
Directory display (sort) in VBXV.EXE (which uses XMS) accelerated.
Details:
========
- Buffer-overflow occurred when lines became longer than 256 chars
during a paste operation or by combining two lines (line1, line2)
with Del at the end of line1 or Backspace at pos1 of line2.
VBX splits such a resulting line now into one line containing
255 chars and another line containing the excessive chars.
- In extension of the idea of the preceding version - moving graphic
lines without prior marking -, you may now grab a complete box at
the upper left corner and move it without prior marking. If VBX
is in Txt-mark mode, it will switch into Box-mark mode prior to
the operation.
|
Go back to top of this page
What's new in VBX 3.04 - 2005/02/02
===================================
New command:
------------
Alt-s sort marked
Changed commands:
-----------------
v,V paint vertical line (v=single bar, V=double bar)
h,H paint horizontal line (h=single bar, H=double bar)
Alt-cursor move/resize marked object
Miscellaneous:
--------------
- Bugs corrected in special cases of v,V,h,H commands
Details:
========
1. With Alt-s you may sort
- the contents of a rectangular (box marked) area or
- the contents of a text-marked range of lines.
2. The basic idea behind the changes is to have a convenient way
to insert, delete, and move cell boundaries in boxes
without the need to mark anything.
v,V,h,H have become "toggles" in the sense, that you may
create/destroy lines with them.
- Expanded behaviour of v,V,h,H commands in paint mode=0
------------------------------------------------------
- In box-marked area:
v,V: if the cursor sits on a marked vertical line then
the vertical line is blanked
elsif the cursor sits on a marked vertical line of blanks then
paint vertical line
end if
h,H: if the cursor sits on a marked horizontal line then
the horizontal line is blanked
elsif the cursor sits on a marked horizontal line of blanks then
paint horizontal line
end if
- Unmarked:
v,V: VBX looks from the current cursor position
each to the top and to the bottom for the first
bounding graphic character containing a horizontal leg
if VBX finds such characters then
if the intervening chars are blank then
paint vertical line
elsif the intervening chars contain a vertical bar char then
blank the vertical line between the bounding chars
else ignore
end if
else ignore
end if
h,H: VBX looks from the current cursor position
each to the left and to the right for the first
bounding graphic character containing a vertical leg
if VBX finds such characters then
if the intervening chars are blank then
paint horizontal line
elsif the intervening chars contain a horizontal bar char then
blank the horizontal line between the bounding chars
else ignore
end if
else ignore
end if
- Expanded behaviour of Alt-cursor commands in paint mode=0
and edit mode=E (box mark mode!)
---------------------------------------------------------
- In box-marked area: as before ...
- Unmarked:
Alt-cursor_up, Alt-cursor_down: (move horizontal line)
VBX looks from the current cursor position
each to the left and to the right for the first
bounding graphic character containing a vertical leg
if VBX finds such characters then
if the intervening chars are a clean horizontal line then
the bounded horizontal line is moved up/down
else ignore
end if
else ignore
end if
Alt-cursor_left, Alt-cursor_right: (move vertical line)
VBX looks from the current cursor position
each to the top and to the bottom for the first
bounding graphic character containing a horizontal leg
if VBX finds such characters then
if the intervening chars are a clean vertical line then
the bounded vertical line is moved to the left/right
else ignore
end if
else ignore
end if
Note: if moving a line with Alt-cursor would overwrite any
non-blank character, the move is not executed.
|
Go back to top of this page
What's new in VBX 3.03 - 2004/01/23
===================================
New commands:
-------------
Ctl+L load translation table for code translation
Alt+V view current translation table via PASTE
Alt+Y delete ALL empty (=blank) lines from a file
or marked region
E sort directory by Extension
F sort directory by Filename
C arrange directory Columnwise
R arrange directory Rowwise
VBX's directory screen trailer line has been changed
correspondingly.
Changed commands:
-----------------
Ctl+T translate text (previously synonym to Alt+T => call VDE)
HOME, END if pressed repeatedly
Esc when used in hypertext help
Miscellaneous:
--------------
- New in VBX303.ZIP: VBX.FSP (my favourite colour profile)
VBX.TRT (cp437=>win1252 translation table)
- Bug corrected in directory navigation.
- Bug corrected in ASCII picker (when using monochrome screen)
- Bug corrected in Cut/Paste: Pasting text-marked text into a
file being in box-mark mode sometimes caused a crash.
- Code translation
----------------
VBX.EXE contains an internal code translation table.
Initially VBX.TRT is loaded as current translation table.
If VBX.TRT does not exist, the translation table will be idempotent,
i.e. each character will be translated into itself.
For further information on translation consult VBX's F1=>Help.
- Ctl-T translates current edit file with current translation table
(F9=>Undo allowed)
- Ctl-L loads current edit file as current translation table
and exits from current edit file
If the file contains invalid hex character(s), the file
is not exited and the cursor is placed on the (first)
invalid character
- Alt+V moves current translation table into paste buffer and
shows it on screen for Viewing (+editing).
After editing/correcting you may use Ctl+L.
|
Go back to top of this page
What's new in VBX 3.02 - 2003/03/21
===================================
- corrected bug in return (ESC) from zoomed Box-edit when zoom is wider
than screen and left margin of zoom was no longer visible on the screen
- marked region is no longer unmarked after delete (Del) in view mode or
when using box-mark in edit mode
- changed behaviour of fill marked region: fill only blanks in the marked
region with selected character. If you want to fill ALL characters in a
marked region with a selected character and the region is not blank,
delete (Del) it first. This allows for example to fill in leading zeros
in a column of (variable long, right adjusted) decimal integers.
- allow blank only in Find/Change locate-string
- translate marked characters to hexadecimal characters (Alt-F7, F9=Undo)
- translate marked hexadecimal characters to characters (Alt-F8, F9=Undo)
+-------+----+----------+
|*******|cccc|**********| - cccc marked
+-------+----+----------+
| \
Alt-F7 \
| \
v \
+-------+--------+----------+
|*******|hhhhhhhh|**********| - after Alt-F7 (hhhhhhhh marked)
+-------+--------+----------+
| /
Alt-F8 /
| /
v /
+-------+----+----------+
|*******|cccc|**********| - after Alt-F8 (cccc marked)
|
Go back to top of this page
What's new in VBX 3.01 - 2002/10/14
===================================
- Translate marked text to upper case (Alt+U)
- Translate marked text to lower case (Alt+L)
- Added missing Undo for Delete-to-EOL (Ctl+Del or Alt+End)
- Updated VBX.HTX (hypertext help) correspondingly
- Sorted list of ALL commands in VBX.HTX
- Short Install and Profile information in VBX.HTX
- Specifying colors in VBX.FSP alternatively with #rrggbb (HTML like)
- VBXMIX shows now color values also in the #rrggbb format and as %-values
(thanks to Gary Welles)
|
Go back to top of this page
What's new in VBX 3.00 - 2002/04/30
===================================
- Use of up to 32MB of virtual storage
- Comprehensive Undo (F9)
- Extensive Hypertext Help (F1)
- Toggle Text/Box marking (Ctl+B)
- Reformat left/right/center/block (Alt+F1,F2,F3,F4)
- Expand tab characters (Alt+F5)
- Set tab interval for expanding (Alt+F6)
- Cut from file, paste into prompt field (Ctl+C,Ctl+V)
- Use ASCII picker wherever VBX expects (Ctl+A)
keyboard input.
Details:
- Help became too large, it's now better structured as hypertext. (F1)
Suggestions for content improvement are welcome.
The name of the new helpfile is: VBX.HTX and, like VBX.HLP, it should
be placed in the same directory, where VBX.EXE resides.
- A new profile option in VBX.FSP:
Startmode = Edit / Paint
allows now to start VBX in text edit mode. (Default=Paint)
- Marking allows now both Box/Text mark mode.
When you start editing (E or Alt+E) you are in Text mark mode, but
here you may toggle between Box<=>Text mark mode with Ctl-B.
When drawing you are always in Box mark mode.
The paste indicator in the header reflects this by displaying Box/Txt.
When box-marking, a box containing some title text in the upper
horizontal line will still be recognized as a box when you hit Ctl+M
with the cursor on the upper left corner of the box in order to mark
the box.
- I changed the behaviour of Shift+End when box-marking:
If something is already marked, Shift+End extends the marked rectangle
to the right up to the length of the longest already marked line.
If nothing is marked yet, the current line is marked up to its own end.
- A simple reformat function allows to reformat text:
Alt+F1 => reformat left aligned
Alt+F2 => reformat right aligned
Alt+F3 => reformat centered
Alt+F4 => reformat block aligned
Alt+F5 => expand tabs
Alt+F6 => grab current cursor column as interval for expanding tabs
You may reformat text in the complete file or in a marked area.
- F3 is now
- Next for Find/Replace if in a find/replace loop.
- Quit otherwise
Note: Press Esc in a Find/Replace loop to break the loop and to return F3
back to it's original Quit-functionality.
- Undo has become quite powerful.
F9 is now
- find preceding when in a find loop
- undo change when in a change loop
- undo (a finite sequence of) any paint/edit/reformat operation(s)
- VBX now makes use of virtual storage. It uses its own paging and element
allocation algorithms, allocating/freeing pages is delegated to MS VMALLOC.
Currently VBX can manage up to 32MB of virtual storage and each
individual file may have up to 32K-1 lines. I plan to have even the
virtual storage page index itself in virtual storage, so that VBX will
be able to manage up to 512MB of virtual storage, depending on
available disk storage and without compromising the size of VBX.EXE
too much.
Note: VBX.EXE v3.00 does NOT include the use of virtual storage,
it only uses DOS main storage like VBX v2.00.
VBXV.EXE does not differ functionally from VBX.EXE but makes use
of virtual storage (VMALLOC).
2001/05/02 VBX 2.00
1999/09/11 VBX 1.05
1999/09/23 VBX 1.04
2000/08/06 VBX 1.06
1999/07/02 VBX 1.03
1999/06/09 VBX 1.02
1999/05/28 VBX 1.01
1999/05/05 Initial first release VBX 1.00
|
|