Dec 102017
Clipper screen management routines that use arrays to manage windows. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
WIND.PRG | 12113 | 3036 | deflated |
WDEMO.PRG | 9596 | 3157 | deflated |
READ.ME | 7803 | 2509 | deflated |
SHADOW.OBJ | 1323 | 922 | deflated |
SHADOW.C | 1488 | 613 | deflated |
WLINK.BAT | 72 | 51 | deflated |
Download File RWINDOWS.ZIP Here
Contents of the READ.ME file
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
W I N D O W S F O R C L I P P E R
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Ok...here's the dirt, use wLink.bat to compile and link if you don't use
tlink edit wLink.bat for your linker.
If you wanted to save the parameters that users edit, through wMove() and
wSize(), to be used when the program is re-entered, you could save your
array parameters to a MEM file and re-write wInit() so that it checks for
already existing window arrays in a MEM file. If it does, you just restore
the additive and foregoe the initialization process.
This is fairly close to the idea of object oriented programming (OOP) as
you will be able to deduce by looking at the code for wDemo.Prg. Many
things can be added to this, I just ask that you keep them in the original
package noting your updates, dating and writting your name at the top of
the source code and re-UpLoading it. If everybody works on this it could
become pretty impressive. For myself, I am going to start re-writing this
in Turbo-C and speed it up. Hopefully, I will also be able to add "window
promoting", one example of which would be sliding a window out from the
middle of an overlapping row without creating blank or erroneous spaces
in the surrounding or overlapping windows.
wSay() - There are alot of things that can be added to the string parsing
that formats the text in the window. For example, you could have wSay()
create a new line when it encounters "/" so that you could create tables.
Right now wSay() just checks the length and truncates at the nearest blank
space. wSay() takes care of color. That is, it save the current colors then
gets the color string from the selected window, displays the text and sets
the colors back to the 'current color'. This is saves a lot of time when
writing to different windows. I would, however, add an optional parameter
or another version of wSay() that doesn't fuck with the colors at all so
that you have flexibility within the window.
wGet() has not been written, I pretty much stopped when I decided to re-
write the objects. It is as easy as copying wSay() and replacing SAY with
GET. You could also automatically reverse text. I would add an optional
parameter for picture and valid clauses.
Anyway, here are the current commands.
wInit(
-----------
Creates the window arrays (structures).
windows that can be displayed. If you wMake() without wInit(), wMake()
will automatically invoke wInit() with 100 as the Max.
wMake(
---------------------------------------------------------
Function: Formats a window to be opened.
Returns : Numeric value of window - 0 if wMake() failed.
wOpen(
-----------
Function: Opens the selected window.
Returns : Logical -.T. if successful, .F. if Failed.
wSay(
-------------------------
Function: Prints a character string at the specified coordinates
within the specified window. If the line is too long
it wraps to the next top row position.
Returns : Logical - True if not errors.
Notes : 0,0 is upper left hand corner of every window.
wClose(
------------
Function: Closes and deactivates the specified window.
Returns : Logical - True if not errors.
wClear(
------------
Function: Clears the contents of the specified window.
Returns : None
wClearEOL(
--------------------
Function: Clear to the End of a specified line within a window.
Returns : None
wMove(
-------------------------
Function: Interactively Moves a window with the arrow keys.
Returns : None
Notes : Default exit key is Escape (27), save is Enter (13).
Window text is not lost in this operation.
wSize(
-------------------------
Function: Interactively Re-Sizes a window with the arrow keys.
Returns : None
Notes : Default exit key is Escape (27), save is Enter (13).
Window text is lost in this operation.
wDispTit(
---------------------
Function: Used by wOpen() to display window title
Returns : None.
Notes : If no title string is specified it uses the title
defined by wMake(). If one is specified, it becomes
the new default title.
wDispMsg(
-------------------
Function: Displays a window footer on bottom row of window.
Returns : None.
Related Commands
Shadow(
---------------------------
Function: Creates a non-destuctive shadow around the given coordinates.
Returns : None.
Notes : This function is used by wOpen but can be run on its own
to create non-destructive shadows. It does not create a
box or clear the enclose area.
Explode(
---------------------------------
Function: Explodes a box with a frame.
Returns : None.
Notes : This function is used by wOpen but can be run on its own.
Robert DiFalco
Compuserve ID: 71610,1705
3548 18th Street Apt #3
San Franciso, CA
94110
(415) 398-4131
(415) 863-0438
December 10, 2017
Add comments