home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
scrimag2.zip
/
SCRIMAGE.DOC
< prev
next >
Wrap
Text File
|
1988-04-21
|
18KB
|
425 lines
4/21/88 SCRIMAGE (screen image) -- a screen generator for dBASE or whatnot
Copyright (C) R. Russell Freeland/Synergy Corp. 1987 1988
****************************************************************************
This is not public domain software. I retain all rights to the program.
You may use it (this version) freely with no fee attached for as long as you
wish. You may not sell it. Otherwise, feel free; enjoy.
*****************************************************************************
Disclaimer:
All standard stuff here. SCRIMAGE does not, to the best of my knowledge,
format disks or trash FAT tables, or any other nasty stuff. However, neither
Synergy nor I will be liable for any of your problems, whether or not they
are SCRIMAGE-related. RF
This is a program I am writing to get used to programming in C. It started
out to be a litebar menu generator, then while I was trying to conceptualize
the way it should work I got sidetracked into stealing a lot of other people's
concepts (and modifying them), which is always easier. SCRIMAGE is rough
in many places at this point.
History:
________
I started this thing in October, 1987. I work on it in my "spare time" (read
after midnight). About a thousand versions have been tested by my most
masochistic friends (thank you, guys). However, I decided to let *you*, the
non-friend type user, beat it to death in Beta for me [grin].
Beta 1 was released 12/30/87 as shareware. It was a little cruder, and
possibly not as buggy (remains to be seen [grin]).
Truth is, I think this version is almost good enough to be marketed actively--
however, I don't have the bucks to market it yet [grin].
Design goals:
_____________
This thing is supposed to stay small--originally I used tiny model but I got
to like the idea of a lotta data space. It's compact model Turbo C at this
point. I very much doubt that it will be OS/2-compatible at any time in the
future, as I am using a lotta ill-behaved techniques and am too lazy to
learn better. SCRIMAGE now takes up about 140k in RAM--this may grow a bit,
but a future version will probably allow you to configure it for how much
screen space to reserve.
Limits:
_________________
You cannot have more than 80 boxes on the screen, less than 60 of which
are fields. That seems reasonable to me. You cannot have more than 16K or so
of boxes including the screen background ("box 0"). One full screen in 80x25
mode takes 4000 bytes (80x20x(2=1 for attribute, 1 for text).
Here's the beeph:
_________________
PAY ATTENTION TO THE GRAYPLUS/GRAYMINUS STUFF! IF YOU'RE NOT A FRAMEWORK
USER, IT WILL BE STRANGE AT FIRST--YOU CANNOT ENTER TEXT INTO A BOX UNLESS
YOU "ENTER" IT FIRST WITH GREYPLUS!
o ESC exits program.
o F10 pulls down menus--some of the features aren't on the menus yet (notably
block operations).
o F1 gets ya help--limited right now, but OK for a quick reference I think.
o CTRLP brings up the "fields menu", to bring fields onto the screen from
a dBASE DBF file. Be careful--if the field doesn't fit in the box you're
in, it will float down to the box below (probably will fix this is next
version).
o AltB draws boxes -- ala UI, only draws down and right at present. Five
flavors right now. Cursor keys that work are rightarrow, leftarrow,
home, end, pageup, pagedown.
o F3 drags (moves) boxes (return ends). Crtl-Pgup/CtrlPgdn move boxes
under/above other boxes. CtrlC centers. Home, End, PgUp, PgDn work as they
do with cursor movement in general.
o F8 copies a box (then drag, return ends).
o F4 resizes the box (return ends). Text will be preserved if you contract,
then expand a box before hitting return. Cursor keys are the same as with
ALTB (new box).
o ALTC colors the box under the cursor. If the cursor is on a box
border, you will only change the border color. If not on a border, you
change both the contents and border *unless* they're different already.
o ALTD deletes the box under the cursor.
o GRAYPLUS selects a box for text entry. If the status box is showing (top
right corner), the number of the box you have selected will be the leftmost
number in the box. The screen background is box 0.
o GRAYMINUS deselects a box for text entry.
o ALTS should (?) suppress snow.
o F2 brings up the file save menu--options are:
- flat screen image (like LITEBAR and POPIT use);
- text (ASCII) file;
- Dbcode (PRG);
- INFO file for later reloading;
- FOX MEM file;
- IDL (see below);
- ANSI.
If you choose FOX MEM file, the file will contain one memvar whose name is
the same as that of the file--so if you saved TEST.MEM, you can enter
Foxplus and:
REST FROM TEST
REST SCRE FROM TEST.
This will get more sophisticated eventually.
o ALTG gets a previously saved file in INFO, flat screen image, text, or Fox
MEM file format.
o ALTP toggles "paint" mode. Have a ball.
o ALTU toggles "undertype" mode--makes it possible to write or draw lines under
a box (youch!).
o ALTX = DOS Access. As usual, type EXIT to return.
o CTRLS toggles line drawing--a little rough still.
"S" will be displayed in the status box while this feature is in effect.
o CTRLD toggles double line drawing--same story.
"D" will be displayed in the status box while this feature is in effect.
o ALTA (changed from first Beta release) toggles "autojoin" in line drawing.
Etchasketch. Still a little buggy.
o CTRLB draws blanks. Instant eraser. Just like CTRLS and
CTRLD, the line drawing keys, it's cancelled by both of those and CTRLQ.
"B" will be displayed in the status box while this feature is in effect.
o CTRLA draws "any character", you pick.
o CTRLQ quits either line-drawing mode or blank-drawing mode (also "painting").
o ALTJ joins all lines on screen (dBASE code will not reflect this yet, but
"flat screen images" (S)crimage option) or Memvar files will. Still rough,
may take a few times in a row.
o CTRLJ joins just the lines at the cursor.
o F5 toggles display at top right -- BTW, the first number tells you which
box is "selected" (counting up from the screen itself, which is zero). The
other two numbers are the current row and column.
o F6 marks a block. Try this one, it's more versatile (and dangerous [grin])
than some--you mark the block with arrow keys, then hit F8 for copy,ALTC
for color, F3 for move, or CTRLB for blank. If you hit F8,
you then copy as in "copy box". F3 drags the block, erases the original
if you terminate the drag with RETURN, or the copy if you terminate with ESC.
Unless you are in "flat" mode (see below) no box borders will be overwritten
or erased (although "color" will color borders).
When you hit ESCAPE, it aborts the copy/drag or markblock operation.
Hitting RETURN copies/drags the block, and then you're back to the markblock
operation as before--you can hit ESCAPE or change the block size, copy, etc.
When copying or moving a box, if in "flat"
I might add that F6/F8 with an optional CTRLB and a little perversity makes
some nice Picasso-style stuff [grin].
o ALTF DANGEROUS FEATURE!! Make the screen "flat"...that is, make all
boxes accessible for trashing at any time! The status box in the upper
right corner (if shown) will show an "F" instead of the box number. This is
a toggle switch, hit it again to reverse. For now, unfortunately, you must
flip out of "flat" mode to import INFO files and I don't
know what else. Also, in "flat" mode there are differences in actions of
markblock options--copy, move, and blank will not erase or overwrite box
borders *unless* you are in "flat" mode. In flat mode, colors will be
preserved in block drag/copy operations, otherwise they will not.
If you move boxes around visually with insert on in "flat" mode, their
internal locations will not change! BTW, if your dBASE code is not coming
out right, try turning "flat" on and regenerating it.
o F1 displays help screen.
o ALTE toggles 25/43 line mode on EGA (50 lines on VGA). Pallette is not
preserved (yet).
o ALTO "overlays" an INFO file on the current setup.
o ALTF3 allows you to drag all boxes (if not in "flat" mode).
o F9 (ZOOM) key only works when the cursor is on a FIELD! (now, anyway)
-- it lets you change the field info.
o ALTL "leaks the text/fields from below.
o ALTU "unboxes" a box, leaves the text and the fields float down to the
first box where they'll fit.
These key combinations may (and will) be changed somewhat. Be careful what
you load, if you load a screen image (scrimage [grin]) as a SCRIMAGE INFO
file, you'll probably crash, there is no error checking on this stuff yet.
File types:
___________
o DBCODE save type (.PRG) makes a dBASE III Plus program file. If you
have joined lines, etc. at box junctions this won't work right unless you
use go into "flat" mode to generate (which makes slower-performing code).
o SCREEN IMAGE file type (.IMG) makes a flat screen image. Pop with POPIT.COM,
LITEBAR.BIN, SAVER.BIN, etc.
o INFO (.INF) file is SCRIMAGE's own format for saving all info so you can
reload later and regenerate other kindsa files (or just play).
o MEM (.MEM) files are for FOXbase+ screen variables. SCRIMAGE only loads from
a MEM file that has a screen variable as the first (or only) memvar. When
you write a MEM file, it contains one memvar which has the same name as the
file. Avoid characters that are not alpha, fox will RESTORE FROM the file
but refuse to RESTORE SCREEN FROM the memvar.
o TEXT (.TXT) files have a text (no color) picture of the screen.
o ANSI files have ANSI color codes embedded--nice for BBS screens, or you
can TYPE 'em with ANSI.SYS installed.
o IDL files are like flat screen images with a ten-byte header--this is for use
with the Integrated Development Library for Clipper. If you are a Clipper
user, IDL is excellent, a library of functions for Clipper written entirely
in ASM. Call 603-382-1313 for details. This feature will be expanded for
partial screens RSN. In the meantime, you can only (probably) load IDL
files that you saved with SCRIMAGE.
Possible future features:
_________________________
o color defaults soon
o More versatile file naming (default directories too) soon
o Sophisticated code generation (ala UI,Viewgen) maybe, not soon
o Better dBASE code (covering weird joining characters,etc.) soon?
o dBASE IV Litebar menu generation by first "release"
version
o dBASE Pulldown menu generation " "
o Context-specific help prompts soon
o Better help in general soon
o Import/export from/to other screen-generation programs soon
o "Snapshot" TSR program yeh, but don't hold
yer breath, there
are already a bunch
around
o Ability to "pop" screen images from dBASE already happenin',
lotsa PD stuff
o Windowing stuff First release
version
o "dBASE IV" compatibility a must--first
release
o Switch from one monitor to another definitely
o BYOB -- build your own box types pretty soon
o Configurable action keys (or macros) yep
o Clipper screen memvar files you bet
o Defaults for file locations/names, colors, etc. yes
o "Switch active monitors" option soon
o ability to create a DBF from what's on the screen yep
o fill in your own, there will probably be a lot more
Navigating the pulldowns:
-------------------------
On a picklist-style pulldown list, you can type the name of the file/field
and SCRIMAGE will follow--HOME goes to the top, END to the end, PAGEUP/DOWN
go first to the top/bottom entry on this "page", then display previous/next
pages.
Known bugs:
-----------
If you choose (monitor switch) without a two-monitor system, SCRIMAGE doesn't
check. You can get your screen back with F10/enter, which will switch back
(hopefully).
ALTL doesn't work with 1-line "blank" (noborder) boxes.
FLAT mode is buggy in general.
EGA(/VGA) lines is incompletely implemented.
SCRIMAGE may think MCGA is VGA, may cause problems but I haven't checked yet.
Marketing plans:
________________
Anyone who sends me $60 by July 1, 1988 gets registration on my BBS and free
downloads of updates to SCRIMAGE and doc (there will be many). No disks or
doc will be mailed until the RELEASE version, which will be after August 1.
Meanwhile, you get to call my great private BBS [groan], which is usually
sorely neglected except for my current projects, which are likely to
include SCRIMAGE and takeoffs for awhile. The reasons for this pre-release
are several: I want to see what suggestions come in (and general reactions),
I think this is one of the best shareware screen generators you'll find
already (I'm prejudiced) so I figure people may get some use from it
as is, and I need to get at least *some* money in to support further
development. The more money, the more I can hop on it--believe me, this is
what I *like* to do!
Since I really am fond of this baby, I anticipate adding a bunch of features,
so I think registration may be a good idea at this point--
I'll probably charge a tad more when I release this thing. Also, if you're the
type who enjoys making bizarre demands of an author during the development
cycle, this deal is for you. Or if you just have a lot of money and like the
idea of supporting the development of demented programs, this is definitely the
deal for you!
By the way, I may release further versions of this thing into the
Public Domain before the actual release version.
Registered Synergy Utilities users get a discount! [big deal] (see below)
SCRIMAGE Order form (void after July 1, 1988):
_______________________________________________
Yes, I definitely like this new trend--paying for software before it's
finished! I like to doodle with SCRIMAGE like an etchasketch, and that
alone is worth $60 plus whatever amount you rip me off for the release doc
and disk.
Please find enclosed $60 of my hard-earned money which I am paying you to
free up more of your time so you can sit around and think of/implement
more senseless additions to SCRIMAGE. (If you make enough off this, please
think of hiring someone else to do the documentation!)
Check one:
__________
__ I crave the dubious honor garnered from Beta-testing others' software!
So much so, in fact, that I am willing to pay you $60 to be able to report
your bugs to you. I enclose the bread, pay some bills.
__ I have already contributed to your questionable efforts in the past by
paying you for the Synergy Utilities (full $75 registration). Therefore
I only enclose $25 for registering as a SCRIMAGE user. (WhaddamI, crazy?)
Check another one if not already registered on Synergy's BBS:
_____________________________________________________________
__ Leave me the BBS number and my password on Compuserve, my CIS number
is: _________________.
__ Compuserve is for wimps! Call me collect at (Home) (Work) (<=circle one)
with the BBS number and password.
__ My modem is broken so I get all this neat stuff from a friend who foots
the long-distance bills [heehee]. Just put me on the list for the
semi-free release version and let me know when it's done.
__ I can't stand the version-change crap. This one's good enough for me.
Forget you ever heard my name.
Name:
_____________________________________________________________
Street Address:
_____________________________________________________________
City, State, Zip (country):
_____________________________________________________________
Phone: work home
_____________________________________________________________
Where I got SCRIMAGE:
_____________________________________________________________
Suggestions:
_____________________________________________________________
_____________________________________________________________
Send to:
R. Russell Freeland
SCRIMAGE REGISTRATION
Synergy Corp.
1780 SW 43 Ave.
Ft. Lauderdale, FL 33317
CIS:76146,371
All standard disclaimers hold true. No guarantees, warranties, or promises of
any kind will be made or kept. This whole paragraph should be read quickly in
an undertone by Don Pardo.