Dec 132017
 
Manual for clipper autumn 1986.
File CLIPDOCS.ZIP from The Programmer’s Corner in
Category Dbase Source Code
Manual for clipper autumn 1986.
File Name File Size Zip Size Zip Type
CLIPDOCS.TXT 109974 22001 deflated

Download File CLIPDOCS.ZIP Here

Contents of the CLIPDOCS.TXT file


______________________________________________________________________________

Hello from MG

The follow 33 pages were put together to aid us in our program developement.
We were very tired of having to search through 3 manuals, a dBase book or two,
and quite a few Read Me and .Prg files to find the proper syntax and misc
notes about a particular command or function. That is what brought about this
file, it is all of the information we could find or have discovered about
Clipper Autumn 86, the Tom Rettig library, the Dbu library, the Memo library
and the Extenddb.prg functions.

We've tried to make it as accurate as possible, but as with everything else to
do with computers, we are sure there is plenty of room for improvements,
additions, corrections and your discoveries. Please write and let us know!

We would like you to help us distribute this file to every Clipper programmer,
or soon to be, that you know. Yes, its Freeware or ShareWare or whatever you
want to call it. And, yes, we would appreciate some remuneration for the work.
Print out this file, use it for awhile and IF you find it to be a useful
Reference Guide then please send us what you feel it is worth to you, based
on the amount of use you are getting out of it and the time it saves you from
having to search for those other docs! Thanks!!!


______________________________________________________________________________

To print this file, simply use the DOS PRINT command, i.e. PRINT CLIPDOCS.TXT

The rest of this file has been formatted for 12 CPI with the proper form feeds
and a left hand margin of 5 characters. This will allow you to easily punch it
and put it in a notebook with some dividers.

The divider sections that we are using are:

GENERAL INFO
TIMING
COMMANDS
SET COMMANDS
FUNCTIONS - ALPHABETICALLY
FUNCTIONS - BY GROUP
MISC - utilities and dbiii notes
NOTES - for blank paper


We hope you enjoy it and that it makes your programming jobs go smoother and
quicker!!









_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_______ ____ _________ ____ ______ ______ ____ _______
______ ____ _________ ____ _____ _____ _____ _____ ____ _____ ______
_____ _________ _________ ____ ______ ____ ______ ____ __________ ______ _____
_____ __________ _________ ____ ______ ____ ______ ____ __________ ______ _____
_____ __________ _________ ____ _____ _____ _____ _____ ______ _____ ______
_____ __________ _________ ____ ______ ______ ______ _______
_____ __________ _________ ____ ____________ ____________ __________ __ _________
_____ _________ _________ ____ ____________ ____________ __________ ___ ________
______ ____ ____ ____ ____________ ____________ ____ ____ _______
_______ ____ ____ ____ ____________ ____________ ____ _____ ______
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________




D O C U M E N T A T I O N N O T E S A N D T I M I N G

Including

The Tom Rettig Library


_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________

CLIPPER COMMANDS AND FUNCTIONS Written By MG
DOCUMENTATION AND TIMING as of 09/10/87 1475 W. Cypress Ave
San Dimas, CA 91773

Clipper - AUTUMN 86 Version with Dbu.Lib & Memo.Lib
Tom Rettig Library - Version 1.04/1.05 Tr86.Lib

_________________________________________________________________________________________
_________________________________________________________________________________________

General Info

Max No of Variables 64,000 (2048 by default, 44K - 22 bytes per variable)
Max Variable Name Len 10 (longer names ok but clipper only uses first 10 chars)
Max No of DBF Fields 1,024
Max No of DBF Records - limited to available disk space
Max No of Relations 1 parent and up to 8 children
Max No of Open DBF 10
Max No of NTX per DBF 7
Max Index Key Len 100 characters
Max No of DOS Open Files 20 (5 reserved for DOS, 15 for clipper)

DOS 2.0 or greater required for non network systems
DOS 3.1 or greater required for networked systems

.DBF - Database File
.DBT - Database Memo Field File
.FRM - Report Form File
.FMT - Screen Format File
.LBL - Label Style File
.MEM - Memory Variable File (can now include saved screen memvar(s))
.NTX - DBF Index File
.PRG - Source Code File
.TXT - DOS Text File (default ext for set alternate to)
_________________________________________________________________________________________
_________________________________________________________________________________________

Operators

= equal
== exact equal
# not equal
<> not equal
!= not equal
< less than
> greater than
<= less than or equal
>= greater than or equal

'' string delimiters
"" string delimiters
[] string delimiters

$ equal to or contained in i.e. $

+ string concantination - exact concantination including spaces
- string concantination - trailing blanks moved to end of combined strings

+ plus
- minus
* multiply
/ divide
% modulus (remainder only)
^ power
** power

! same as .not.
.NOT. x=.Not.x or x=!x toggles x between .t. and .f.
.OR.
.AND.



Dos Redirection

>PRN, >LPT1 - The 1st parallel printer port
>LPT2 - The 2nd parallel printer port
>LPT3 - The 3rd parallel printer port
>AUX >COM1 - The 1st serial port
>COM2 - The 2nd serial port
>CON - Keyboard input / Screen output
>NUL - used to eliminate Dos messages
>filenameS - file I/O
>>filenameS - file I/O, on, output append to file if it exists, else create it
_________________________________________________________________________________________
_________________________________________________________________________________________

Definitions

- Quoted string, memo field, string memvar or function that returns char type
- Number, numeric memvar or function that returns a number type
- Date, date memvar or function that returns a date type
- .T..F..Y..N. memvar or a function or action that returns a logical type
- any of the above

- Unquoted direct string or macro substitution (&memvarC)

Note: In the docs items
that end in: Examples _________________________________________________
C = expC filenameC = "Myfile.dbf" or Mfile when Mfile="Myfile.dbf"
N = expN startN = 12 or X when X=12
D = expD dateD = 09/23/87 or Mdate when Mdate=Date()
L = expL L = .T. or .F. or Meof when Meof=Eof()
S = expS processS = Myproc or &Mp_ when Mp_="Myproc"


- name of a specific type of memory variable
- name of any memory variable
- a list of valid memvar(s) separated by commas
array - name of clipper array i.e. Myarr
elem - element number of clipper array variable i.e. Myarr[3]


- row,column
- top left row,col
- bottom right row,col


- Record
Next
Rest - not in clip - use While .T.
All

- a test i.e. Name='C' or Date
> - reference other work area unless alias > J then ref memvar
- a list of valid field(s) in the curent DBF

- a vaild DOS filename with or without drive and path
no: - no colon should follow the drive letter i.e. C not C:
noext - no .ext should follow the filename i.e. Myfile not Myfile.xyz
- using ? and * i.e. ??p???.DBF *.NTX MG_*

dateD - 09/23/87 - same as expD
dateC - "09/23/87"
date_stringC - "19870923"
time_stringC - "00:00:00" thru "23:59:59"
_________________________________________________________________________________________
_________________________________________________________________________________________

Timing Tests
_________________________________________________________________________________________

The following items were timed on a 10 MHz AT Clone with an 80287. The
times shown in the right hand column are in seconds for 1,000 iterations.
This was done to compare different commands and functions, not to figure
out the exact execution time since Seconds() is not accurate enough (+-.06).
Note: The time for the For...Next loop has been subtracted from each test.

@ 2,2 ................................ - 4.35
@ 2,2 Say " <78 spaces> " ............ - 4.65
@ 2,2 Say Space(78) .................. - 4.95
@ 2,2 Clear To 2,79 .................. - 15.35
Call Scroll with 2,2,2,79,0,'d' ...... - 2.15
@ 2,2 Clear To 24,2 .................. - 5.45
For r=2 to 24
@ r,2 Say " "
Next ................................. - 56.25
Call Scroll with 2,2,24,2,0,'d' ...... - 2.70
Clear ................................ - 97.70
@ 0,0 Clear .......................... - 97.75
@ 0,0 Clear To 24,79 ................. - 299.90
@ 0,0,24,79 Box "" ................... - 299.90
Call Scroll with 0,0,24,79,0,'d' ..... - 10.15
Call Rombios with 16,regs,flag ....... - 15.90 * regs and flag pre-setup
rgs='070000000000184F0000000000000000' * this is the same as the
flg=0 * above Call Scroll
Call Rombios with 16,rgs,flg ......... - 17.00 * regs and flags setup in loop

Asc() .......................... - .17
Chr() .......................... - .44
Len() .......................... - .17
Lower() ........................ - .83
Upper() ........................ - .83
Trim() ......................... - .50
Ltrim() ........................ - .61
Alltrim() ...................... - 2.65
Trim(Ltrim()) .................. - 1.16
Ljust() ........................ - 2.98
Subs(Trim(x)+Space(n),1,Len(x)) ...... - 3.68
Substr(,2) ..................... - .66 *
Substr(,2,2).................... - .78 * longer return strings slow
Left(,5) ....................... - 2.43 * these functions down, but
Right(,5) ...................... - 2.53 * Substr was always faster
Substr(,Len()-4) ......... - 1.59 * than Left or Right
Space(10) ............................ - .12
Space(50) ............................ - .12
Val() .......................... - 1.49
Trim()+" "+ ............. - 2.37
-(" "+) ................. - 1.88
"ff"$ .......................... - .39
Chrfound("ff",) ................ - .94
At("f",) ....................... - .39
Atlast("f",) ................... - 1.11
Atnext("f", Chrcount(,) ............. - 1.21
_________________________________________________________________________________________

Timing Tests Cont.

Abs() .......................... - .11
Exp() .......................... - .66
Int() .......................... - 2.86
Log() .......................... - .50
Min(,) .................. - .39
Max(,) .................. - .39
If(<,,) .... - .77 * Same as Min, Max
If < .. Else .. Endi .... - .66 * Same as Min, Max
Round(,2) ...................... - 4.18
Sqrt() ......................... - .33
Str() .......................... - 2.64
Str(,7) ........................ - 2.64
Str(,7,2) ...................... - 2.80
Transform(,'9999.99') .......... - 4.51

Do While i<1000 ...................... - 1.59
For i=1 to 1000 ...................... - 1.54
For i=1 to 1000 Step 1 ............... - 1.92
If .t. ............................... - .16
If .f. ............................... - .11
If a=b ............................... - .54 * Trues return approx the same
If a<>b .............................. - .60 times i.e. ab !a=b etc.
Do While .t. (with Exit) ............. - .55 * Do While .t. Exit Enddo
Do While .f. ......................... - .49 * Do While .f. Enddo
Do Proc_ ............................. - .39 * Proc pname Return
Do Proc_ with i ...................... - .71 * Proc pname Param P1 Return
Do Proc_ with (i) .................... - .93 * Proc pname Param P1 Return
Func_() .............................. - .66 * Func fname Return ""
Func_(i) ............................. - 1.21 * Func fname Param P1 Return ""
Do Case Case .t. ................... - .21 * Do Case Case .t. Endcase
Do Case Case .f. ................... - .21 * Do Case Case .f. Endcase
Save Screen .......................... - 8.07
Rest Screen .......................... - .06
Save Screen to memvar ................ - 12.19
Rest Screen from memvar .............. - 10.98
Store 1 to a ......................... - .33 * Longer variable names also
a=1 .................................. - .33 return these same times
Store 1 to a,b,c,d ................... - .98
a=1 .. b=1 .. c=1 .. d=1 ............. - 1.32

Keyboard "" .......................... - .50
Keyboard "a" ......................... - .62
Keyboard Chr(13) ..................... - 1.10
Keyboard "a"+Chr(13) ................. - 1.60
Keyboard ................... - 1.10 * memvarC = 'a'+chr(13)
Keyboard ............... - 1.38 * array[elem] = 'a'+chr(13)
Clear Typeahead ...................... - .50
Inkey() .............................. - .50
Last() ............................... - .28
Updated() ............................ - .18
_________________________________________________________________________________________
_________________________________________________________________________________________

Commands
_________________________________________________________________________________________
_________________________________________________________________________________________

* - comment line

NOTE - comment line

&& - trailing comments

_________________________________________________________________________________________

? - print (new line)

?? - print (continue same line)
_________________________________________________________________________________________

& - macro substitution - no more that 12 .and..or..not.s in macro
max macro len() seems to be 2048
commands are not allowed, i.e. Use, List Display etc.
commas are not allowed except for Set Color macros
_________________________________________________________________________________________

$ - returns .T. if expC is equal to or contained in expC2
_________________________________________________________________________________________

@ [SAY - leaves cursor at end of say exp
[PICT ]]
[GET - leaves cursor at end of get exp until Read
[PICT ] a null get is not read i.e. x="" @ r,c get x
[RANGE ]
[VALID ]]


@ CLEAR - clears rectangle from r,c to 24,79
leaves cursor at r,c not at end of screen


@ r,c - clears to end of line - leaves cursor at r,c


@ r,c Say "" - moves cursor to r,c - no chars written to screen


@ 24,79 Say " " - hides cursor for Inkey(x), watch out for incorrect set color @ 24,79
or use:
Call Cursor With "Off"
Set Cons Off
Wait
Set Cons On

_________________________________________________________________________________________
_________________________________________________________________________________________

Picture Templates and Functions For Say, Get and Transform
_________________________________________________________________________________________


Templates
9 - digits + - and . if in pict
# - digits + - spaces and . if in pict
A - only alpha characters
L - only T F Y N t f y n
Y - only Y N y n
N - only alphanumeric
X - any character
! - convert to upper case (alphanumeric)
$ - replace leading zeros with $
* - replace leading zeros with *
. - forces a decimal point
, - displays commas if over 999.99


Functions
@B - numbers are left justified
@Z - numeric zero is displayed as a blank
@E - European numeric pict (999,99 not 999.99)
@A - accept only alpha characters
@! - convert to upper case
@R - used to place non data characters into the picture
@K - clear field if not a cursor key press first
@Sn - scroll data in window n wide
@( - negative number in brackets ( 125.60)
@) - negative number in brackets - no leading spaces (125.60)


Exapmles
pict "@K !!!!" pict '@K @! AAA99AA999'
pict "@K @!" pict '@! Y'
pict "@K @S40" pict '@) 999,999.99"
pict "@!" pict '@Z'
pict "999,999.99"

_________________________________________________________________________________________
_________________________________________________________________________________________

@ CLEAR TO - leaves cursor at t+1,l+1
If t=b - horizontal line clear - leaves cursor at b,r+1
If l=r - vertical line clear - leaves cursor at b,r+1

@ TO [DOUBLE] - draws box

@ BOX or "" to clear - leaves cursor at t+1,l+1
If t=b - horizontal line - leaves cursor at b,r+1
If l=r - vertical line - leaves cursor at b,r+1

SET MESSAGE TO [] - prompt message line, starting at column 0
@ PROMPT [MESS ] - no more than 32 prompts per menu
MENU TO - Note: cursor is automatically turned off but
it is Always! turned back on after Menu To

__________ Undocumented items about Clear To / To / Box _________________________
@ 12,12 Clear To 8,4 - only clears 4 corners - leaves cursor at b+1,r+1

@ 12,12 Clear To 8,20 - only clears 2 rows - leaves cursor at t+1,l+1
8,12 to 8,20 and 12,12 to 12,20

@ 8,20 Clear To 12,12 - only clears 2 columns - leaves cursor at b+1,r+1
8,12 to 20,12 and 8,20 to 20,20

@ 8,20 Clear To 25,40 - clears rectangle and - leaves cursor at t+1,l+1
clears (r-l)*b-24 chars on 24th line starting at b,r+1

Tom Rettig's Call Scroll t,l,b,r,0,"d" is much faster! and it leaves the cursor
wherever it was before

@ 12,12 To 8,4 - leaves cursor at t+1,l+1
or
@ 12,12,8,4 Box "."


@ 12,12 To 8,20 - leaves cursor at t+1,l+1
or
@ 12,12,8,20 Box "."


@ 8,20 To 12,12 - leaves cursor at t+1,l+1
or
@ 8,20,12,12 Box "."


@ 20,20 To 25,40 - leaves cursor at t+1,l+1
or ...
@ 20,20,25,40 Box "." ...


@ 20,20 To 25,79 - leaves cursor at t+1,l+1
or ..........
@ 20,20,25,79 Box "." ..........


@ r,c To - Compiles ok but generates runtime error!
_________________________________________________________________________________________
_________________________________________________________________________________________

ACCEPT [] TO - always stores user input to memvarC data type
quotes are not needed and if included they will be
stored in memvarC - null entry returns null memvarC
_________________________________________________________________________________________

APPEND [][] - adds records to current DBF from filenameS
FROM
[FOR/WHILE ]
[SDF/Delimited]
_________________________________________________________________________________________

APPEND BLANK - adds blank record to current DBF
_________________________________________________________________________________________

AVERAGE - calculates the average of field_list into memvar_list
TO
[FOR/WHILE ]
_________________________________________________________________________________________

CALL WITH - calls C and ASM progs with up to 7
[WITH WORD ] params passed
_________________________________________________________________________________________

CANCEL - Closes all files and exits to DOS
_________________________________________________________________________________________

CLEAR - clears CRT
CLEAR ALL - clears CRT and erases the current memvars
CLEAR GETS - releases current gets from read list
CLEAR MEMORY - ereases current memvars
CLEAR TYPEAHEAD - clear keyboard buffer, same as Keyb ""
_________________________________________________________________________________________

CLOSE - close just the current DBF and its DBT,NTX files
CLOSE ALTE - close the alternate output file
CLOSE DATA - close all DBFs and their DBT,NTX files
CLOSE FORM - close format file
CLOSE INDE - close current NTX files (same as set index to)
CLOSE PROC - close an external procedure file
_________________________________________________________________________________________

CONTINUE - continues the last Locate command - finds next match
_________________________________________________________________________________________

COPY FILE TO - copies any kind of file, but it places Dos Copy
COPY FILE TO messages on your screen in Dos colors. Redirect
the output to Nul without a space, i.e.
Copy File myfile.ext To newfile.ext>Nul
COPY STRUCTURE TO
[FIELDS ] - copies current DBF stru to new empty DBF

COPY TO - copies current DBF file to a new DBF
[] or to a new TXT file [SDF]
[FIELDS ]
[FOR/WHILE ]
[SDF/DELIMITED [WITH BLANK/]]

COPY TO STRUCTURE EXTENDED - copies stru definition to new DBF
_________________________________________________________________________________________
_________________________________________________________________________________________

COUNT [] - counts the number of records that match
[FOR/WHILE ] and/or For/While
TO
_________________________________________________________________________________________

CREATE - creates an empty structure definition file with 4 fields
Field_name, Field_type, Field_len, Field_dec


CREATE - creates a new DBF file from the above structure file
FROM
_________________________________________________________________________________________

DECLARE [] i.e. DECL A[25],B[12] ....
[,] expN range 1 thru 2048 - array[0] not allowed
_________________________________________________________________________________________

DELETE [] - marks record(s) as Deleted()
[FOR/WHILE ]

DELETE FILE - not recognized use
Run Del instead
_________________________________________________________________________________________

DIR [:/p/w] - displays directory (in DOS colors!) starting
at last r,c (also see Adir function)
Dos redirection is allowed
_________________________________________________________________________________________

DISPLAY [OFF] [] - does not page when the screen is full
[FOR/WHILE ] like db iii does, so when or For/While
[TO PRINT/TO FILE ] is included it acts just like List
_________________________________________________________________________________________

DO /
[WITH ] - passed by ref - original params can be changed by proc
[WITH ()] - passed by value - original params will not be changed by proc
[WITH ] - single array element passed - always passed by value
[WITH ] - entire array passed - always passed by value

- Notes: regular memvars and arrays can be mixed in param list
by ref and by value can be mixed in param list
param list entries are separated by commas
when an expression is passed, X+1, instead of just the
memvar name, X, it is always passed by value
_________________________________________________________________________________________

DO CASE - set up conditional processing based on case conditionS
CASE

CASE

[OTHERWISE
]
ENDCASE
_________________________________________________________________________________________
_________________________________________________________________________________________

DO WHILE - sets up loop condition

[LOOP] - goes back to top of the current loop
[EXIT] - exits loop
ENDDO - end of loop when conditionS is no longer true
_________________________________________________________________________________________

EJECT - send formfeed char to printer with or without SET PRINT ON!
_________________________________________________________________________________________

ERASE - erases any type of file
_________________________________________________________________________________________

EXTERNAL - allows external proc names to be used in macros
_________________________________________________________________________________________

FIND - rapidly finds indexed record whose index key matches expS
_________________________________________________________________________________________

FOR = TO [STEP ] - good old standard For Next Loop

NEXT
_________________________________________________________________________________________

FUNCTION - user defined function (udf) (see extenddb.prg for examples)

RETURN /""
_________________________________________________________________________________________

GO / GOTO /TOP/BOTTOM - move the database to record expN, the Top or the Bottom
_________________________________________________________________________________________

HELP - see Set Key 28
_________________________________________________________________________________________

IF - conditional processing based on if conditionS

[ELSE
]
ENDI

IF(,,) Note: If(c,e,e) and Iff(c,e,e) are FULLY evaluated
before the value is assigned, i.e.
IFF(,,) b=If(x=0,0,a/x) will return a runtime error
when x=0 even though a/x is the Else expression
_________________________________________________________________________________________

INDEX ON TO - Create Clipper index file
_________________________________________________________________________________________

INPUT [] TO - user entry converts memvar to C N or L data type, the
user must put quotes around string entries, 256 chars max
if null or space entry, last value for memvar is retained
Note: Input will evaluate an expression i.e Log(1.234)
Ltrim(" xxxx"), 2*3+1 etc. including functions
like Inkey(x), handy for checking some items!
_________________________________________________________________________________________
_________________________________________________________________________________________

JOIN WITH TO - combines specific records and fields from
[FOR ] current and alias DBFs into a new DBF
[FIELDS ]
_________________________________________________________________________________________

KEYBOARD /"" - clears keyboard buffer and stuffs it with new expC / "" just clears
subtracts 256 from val(expC) if it is greater than 255
Keyb Chr(19) WILL pause your system (^S)
_________________________________________________________________________________________

LABEL FORM - generates labels using the specified
[SAMPLE] [] label form file (see Label utility)
[FOR/WHILE ]
[TO PRINT/TO FILE ]
_________________________________________________________________________________________

LIST [OFF] [] - list records to screen, printer or file
[FOR/WHILE ]
[TO PRINT/TO FILE ]
_________________________________________________________________________________________

LOCATE [] [FOR/WHILE ] - searches for record that matches condition
_________________________________________________________________________________________

MENU TO - used with @ r,c Promt for light bar menus
_________________________________________________________________________________________

PACK - Permanently removes marked records (dele()) from current DBF
_________________________________________________________________________________________

PARAMETERS - param list for proc and from DOS command line
_________________________________________________________________________________________

PRIVATE - makes memvars private to all other progs, proc and functions
_________________________________________________________________________________________

PROCEDURE - declares the followng code as a proc (subprogram)
DO NOT name a proc OPEN to open files, it will cause lock up
RETURN OPEN_ or OPENF_ is Ok
_________________________________________________________________________________________

PUBLIC /CLIPPER - makes memvar public for all other progs, proc and func
_________________________________________________________________________________________

QUIT - Closes all files and exits to DOS
_________________________________________________________________________________________

READ [SAVE] - read user data entry into gets
_________________________________________________________________________________________

RECALL [] - removes deleted mark from records
[FOR/WHILE ]
_________________________________________________________________________________________

REINDEX - rebuilds existing active index file(s)
_________________________________________________________________________________________
_________________________________________________________________________________________

RELEASE [] - erase current memvars from memory
[ALL [LIKE/EXCEPT ]]
_________________________________________________________________________________________

RENAME TO - renames any type of file, not allowed
use Run Ren instead
_________________________________________________________________________________________

REPLACE [] - replace old field data with new field data (exp)
WITH
[alias-> WITH ]
[, WITH ]
[FOR/WHILE ]
_________________________________________________________________________________________

REPORT FORM - generates report using the specified
[] report form file (see Report utility)
[FOR/WHILE ]
[PLAIN]
[HEADING ]
[NOEJECT]
[TO PRINT/TO FILE ]
_________________________________________________________________________________________

RESTORE FROM [ADDITIVE] - reads memvars from disk file
_________________________________________________________________________________________

RESTORE SCREEN [FROM ] - restores saved screen
_________________________________________________________________________________________

RUN / ! - executes a program outside of your clipper program
RUN COMMAND - executes COMMAND.COM for user DOS commands
_________________________________________________________________________________________

SAVE SCREEN [TO ] - saves screen image, optionally to memvarC
_________________________________________________________________________________________

SAVE TO - saves memvar to file.mem, will now also save
[ALL [LIKE/EXCEPT ]] screens saved to memvars, will not save arrays
_________________________________________________________________________________________

SEEK - rapid find on index key (& macro not needed spaces allowed)
_________________________________________________________________________________________

SELECT - SELECT 0 selects first unused work area
_________________________________________________________________________________________

SKIP [ALAIS ] Note: skip 0 will write out updated current
disk buffer
_________________________________________________________________________________________

SORT TO /A = Assending (default) up to 10 fields can be
ON [/A/C/D] /C = Case sensitive used in Sort
[, [/A/C/D]...] /D = Desending
[FOR/WHILE ]
_________________________________________________________________________________________
_________________________________________________________________________________________

STORE TO - assigns exp to memvar(s)
_________________________________________________________________________________________

SUM TO - adds up field_list into memvar_list
[FOR/WHILE ]
_________________________________________________________________________________________

TEXT - sends a block of text to the screen, printer or file
[TO PRINT/TO FILE ]

ENDTEXT
_________________________________________________________________________________________

TOTAL TO ON - creates a summary database of a
[] presorted or indexed file containing
FIELDS numeric fields
[FOR/WHILE ]
_________________________________________________________________________________________

TYPE - Dos redirection not allowed
[TO PRINT/TO FILE ] uses your program colors not Dos colors
_________________________________________________________________________________________

UNLOCK [ALL] - releases file and record locks in current work area set by current user
- Unlock All releases locks in all work areas set by current user
_________________________________________________________________________________________

UPDATE ON FROM - allows batch modifications to a database
REPLACE WITH
[, WITH ...]
[RANDOM]
_________________________________________________________________________________________

USE [ - opens a DBF / its indexes / for network or
[INDEX ] exclusive use and assigns an alias name to it
[EXCLUSIVE] if it is already open, it closes it first and
[ALIAS ]] then reopens it UNLESS it is in a different work area
_________________________________________________________________________________________

WAIT [] [TO ] - waits for a single keypress and reurns its AscII char
places keypress on screen at end of prompt unless
Set Cons Off / Set Cons On is used
without prompt, displays 'Press Any Key' message
with "" prompt or Set Cons Off, no message displayed
message/cursor is displayed at row()+1,0+Len(prompt)
unless Cons Off, then cursor is at last row(),col()
recognizes all valid keys except undefined F1-F10
Call Cursor With 'on'/'off' has an effect
Wait leaves cursor at row(),0+Len(prompt)+1 unless
Set Cons Off, then cursor doesn't move
_________________________________________________________________________________________

ZAP - WIPES ALL RECORDS OUT OF THE CURRENT DATA BASE! Much faster than Delete All Pack
_________________________________________________________________________________________
_________________________________________________________________________________________

SET COMMANDS
_________________________________________________________________________________________

SET ALTERNATE TO - creates a file to save ? and ?? statements to
SET ALTERNATE on/OFF - send ? and ?? output to file
SET BELL on/OFF - beep sounds
SET CARRY on/OFF - no affect - dbiii
SET CENTURY on/OFF - display full year 1987 not 87
SET CLIPPER= - DOS enviormental variable for memory allocation
SET COLOR .......... - see next page
SET CONFIRM on/OFF - press enter on full field
SET CONSOLE ON/off - all output to screen
SET DATE AMERICAN - MM/DD/YY
ANSI - YY.MM.DD
BRITISH - DD/MM/YY
ITIALIAN - DD-MM-YY
FRENCH - DD/MM/YY
GERMAN - DD.MM.YY
SET DEBUG on/OFF - no affect - dbiii
SET DECIMALS TO - minimum number of decimals to display
SET DEFAULT TO - changes default drive (also see DOS Subst & Assign)
SET DELETED on/OFF - don't/do allow Dele() records to be accessed
SET DELIMITERS on/OFF - gets with or without delimiters
SET DELIMITERS TO /DEFAULT - change delimiter characters for gets
SET DEVICE TO SCREEN/print - @ Says to screen or print
SET ECHO on/OFF - no affect - dbiii
SET ESCAPE ON/off - ESC and ALT C
SET EXACT on/OFF - exact matches in char comparisons
SET EXCLUSIVE ON/off - not shared/shared data fiels in a network
SET FILTER TO [] - only allows records that match condition
SET FIXED on/OFF - fixes the number of decimal places to disp

SET FORMAT TO - use file.fmt for @ say and gets - commands allowed
SET FUNCTION .......... - see next page for function keys
SET FUNCTION TO - do not use with (see set procedure)
SET HEADER on/OFF - no affect - dbiii
SET INDEX TO - set index(es) for current DBF
SET INTENSITY ON/off - allows reverse video for gets
SET KEY .......... - see next 2 pages for Function and Key
SET MARGIN TO [] - sets left hand printer margin
SET MENU on/OFF - no affect - dbiii
SET MESSAGE TO [] - sets @ r,c, Prompt message line 0-24 0=off default
SET ORDER TO [] - index order from NTX file list
SET PATH TO [] - sets alternate search path
SET PRINT on/OFF - turns on printer for ? and ??
SET PRINTER TO - printer output to another device/file
SET PROCEDURE TO - opens file during compling, drive & path not allowed
SET RELATION .......... - see next page
SET SAFETY on/OFF - no affect - dbiii
SET SCOREBOARD ON/off - top line display Range etc.
SET STATUS on/OFF - no affect - dbiii
SET STEP on/OFF - no affect - dbiii
SET TALK on/OFF - no affect - dbiii
SET UNIQUE on/OFF - don't/do index mutilple identical keys
_________________________________________________________________________________________
_________________________________________________________________________________________

SET COLOR TO [ (sf/sb,gf/gb,,,pf/pb)
[,
[,
[, - background not supported
[,]]]]]

___________________Colors____________________________________
R - red RB - purple W - grey
R+ - lt red RB+ - lt purple W+ - white
G - green RG - brown
G+ - lt green RG+ - yellow X - blank
B - blue BG - cyan I - inverse
B+ - lt blue BG+ - lt cyan U - underline (mono only)
N - black
N+ - dark grey * = blink (foreground only)


Note: Color can be set with a macro, and commas ARE allowed
in this macro, i.e.
Set Color To &Mycolors
where Mycolors='N/W,R/W,,,B/W' is ok

_________________________________________________________________________________________

SET FUNCTION TO - sets function key to char string, Ctrl chars allowed

shift ctrl alt
F1 - 11 21 31
F2 2 12 22 32
F3 3 13 23 33
F4 4 14 24 34
F5 5 15 25 35
F6 6 16 26 36
F7 7 17 27 37
F8 8 18 28 38
F9 9 19 29 39
F10 10 20 30 40

F1 - reserved for help (see Set Key on the next page)


_________________________________________________________________________________________

SET RELATION TO /RECNO()// - links two or more data bases together
INTO on a key exp, record numbers or a
[,TO /RECNO()// record number
INTO ...]

_________________________________________________________________________________________
_________________________________________________________________________________________

SET KEY TO [] - sets any key (16 max) to a procedure, the 3 help
params are always passed, not recognized by Inkey

UpArw 5 ^E Home 1 ^A PgUp 18 ^R BkSp 8 ^H
DnArw 24 ^X End 6 ^F PgDn 3 ^C ^BkSp 127
RtArw 4 ^D ^Home 29 ^] ^PgUp 31 Tab 9 ^I
LtArw 19 ^S ^End 23 ^W ^PgDn 30 ShTab 271
^RtArw 2 ^B Ins 22 ^V PrtSc Esc 27 ^[
^LtArw 26 ^Z Del 7 ^G ^PrtSc 16 ^P

Fkeys___________________
shift ctrl alt
F1 28 -10 -20 -30 Alt 1 thru = 376 - 387
F2 -1 -11 -21 -31 Alt Q thru P 272 - 281
F3 -2 -12 -22 -32 Alt A thru L 286 - 294
F4 -3 -13 -23 -33 Alt Z thru M 300 - 306
F5 -4 -14 -24 -34
F6 -5 -15 -25 -35
F7 -6 -16 -26 -36 FF - Chr(12) ^L
F8 -7 -17 -27 -37 LF - Chr(10) ^Enter
F9 -8 -18 -28 -38 CR - Chr(13) Enter
F10 -9 -19 -29 -39 soft CR - Chr(141)

To Turn Off AltC With Escape On_________________________________

Set Key 302 To Off_
Proc Off_
Param P1,P2,P3
Return

To Setup F1 For Your Help Program________________________________

Set Key 28 To Myhelp
* Myhelp.prg
Param Call_prg,Call_line,Input_var
If Call_prg='MYHELP'
Keyboard chr(13)
Return
Endi
Save Screen [To ]
....
Rest Screen [From ]

Complete Read or Menu To ________________________________________
Return(13) PgUp(18) PgDn(3) Esc(27) ^W(23 not ^End)

Full Screen Edit Keys (Read Gets & Memo) __________________________________
DnArw-next get Home-beg of line PgUp-complete gets /page memo
UpArw-prev get End -end of line PgDn-complete gets /page memo
RtArw-next char ^Home-first get ^PgUp-memo beg of current window
LtArw-prev char ^End -last get ^PgDn-memo end of current window
^RtArw-next word Ins -insert mode ^T -delete word
^LtArw-prev word Del -del char ^Y -del to EOL, memo del line
Esc -abort BkSp-backup del ^U -oops, current get only
^W - finish memo ^B -reformat memo
_________________________________________________________________________________________
_________________________________________________________________________________________

Functions - Alphabetically
_________________________________________________________________________________________

name___________________________library__returns__________________________________________

ABS() ......................... - n absolute value
ADEL(arrayS,elemN) ............... dbu- del nth element from array - all move up
ADIR(file_skeletonC) ............. dbu- n num of matching files used with declair
ADIR(file_skeletonC,arrayS) ...... dbu- fills array with file names
AFILL(arrayS,[,startN[,cntN]])dbu- fills all or part of array with exp
AINS(arrayS,elemN) ............... dbu- insert element into array - last one lost
ALIAS([]) ..................... - c alias name
ALLOCATE(bytesN) .................. tr- c returns 4 byte hex addrC of segment if ok
ALLTRIM() ................ db tr- c with no leading or trailing blanks
AMPM(time_stringC) ................ db- c time string in 12 hour fmt with am or pm
ARRREST("filevarC","array") ....... tr- l .T. if array read from disk
ARRSAVE("filevarC","array") ....... tr- l .T. if array saved to disk
ARRSORT("from_arrayNDL","to_array") tr- l .T. if sorted array ok
ASC() ......................... - n Ascii value of leftmost char
ASCAN(arrayS,[,startN[,cntN]])dbu- n found elem num of array searched for exp
AT(,) .................. - n starting position of expC in expC2
ATLAST(charC,) .............. tr- n position of last occurance of char
ATNEXT(charC,,occurN) ....... tr- n position of Nth occurance of char
ATYPE(memvaS/arrayS[elem]) ........ tr- c memvar or array[elem] data type C N D L A or U
BASE(baseN,decim_valN) ............ tr- c converts dec num to new base num string
BASE10(baseN,base_numC) ........... tr- n converts base_num to decimal number
BIN() ....................... tr- c converts dec num to binary string
BIOSATTR() ........................ tr- n value of screen attrib at cursor (0-255)
BLANK() ...................... tr- empty value of any data type expression
BOQTR() ..................... tr- d first day of current cal quarter for expD
BOW() ....................... tr- d monday of the week for expD
BOF() ............................... - l .T. if at top/beginning of file
BUFFERS() ......................... tr- n number of buffers= in config.sys
CAPFIRST() .................. tr- c uppercase first letter of words
CDOW() ........................ - c name of the day of the week
CDTOS(dateC,pictC) ................ tr- c date string in pict format (i.e. YYMMDD)
CEILING() ................... tr- n integer just above (greater than) expN
CENTER(,widthN) ............. tr- c centered on N width
CHR() ......................... - c convert number to character
CHRCOUNT(charC,) ............ tr- n number of occurances of char in expC
CHRFOUND(,) .......... tr- l .T. if expC chars are in expC2 (any order)
CHRSWAP(,charC[,char2C]) .... tr- c replace char with '' or char2
CMONTH() ...................... - c name of the month
CMONTHN(monthN) ................... tr- c convert 1-12 to month name
COL() ............................... - n current cursor column
COUNTRY() ......................... tr- n country code in config.sys
CTOD() ........................ - d convert character to date
CURDIR([drive_letterCno:]) ........ tr- c current dir of default or specified drive
CURDRIVE() ........................ tr- c current drive as upper case letter
_________________________________________________________________________________________

DATE() .............................. - d system date setting
DAY() ......................... - n day of the month
DAYS(secondsN) .................... db- n integer number of of days
DBEDIT(t,l,b,r,f-name_arrayS,udf) dbu- for editing a DBF
DBF() ............................. db- c alias of current DBF
DEALLOC(addressCfrom_allocate) .... tr- l .T. if memory released from Allocate
DEC(hex_stringC) .................. tr- n convert hex string to decimal number
DECRYPT(,passwordC) ......... tr- c restore encrypted strings
DELETED() ......................... - l .T. if record marked as deleted
DEPDB(valueN,rateN,periodsN) ...... tr- n depreciation by decl balance
DEPSL(priceN,valN,lifeN,periodsN) . tr- n depreciation by straight line
DEPVALDB(priceN,rateN,periodsN) ... tr- n dep value by decl balance
DEPVALSL(priceN,valN,lifeN,timeN) . tr- n dep value by straight line
DIRMAKE(pathC) .................... tr- l .T. if dir exists or was created
DOSFUNC(int21_regs_32bytesC,memvarN)tr- c new values of regs in regsC, flags in memvarN
DOSVERS() ......................... tr- c DOS version number i.e. "3.10"
DTOSS(daysN) ...................... tr- n convert days to seconds
DOW() ......................... - n day of the week 0-7
DISKSPACE([]) ............. c tr- n free bytes on dirve n (1=A: 0=default)
DTOC() ........................ - c returns date as string mm/dd/yy
DTOS() ........................ - c returns date as date_string yyyymmdd
EFFYIELD(rateN,compoundedN) ....... tr- n eff yield (eff rate of interest)
ELAPTIME(start_timeC,end_timeC) ... db- c 24 hour time_string of end minus start
EMPTY(exp) .......................... - l .T. if null,0 or .F.
ENCRYPT(,passwordC) ......... tr- c encrypt string on password
EOF() ............................... - l .T. if at end of file (past last record)
EOQ(on_hN,demdN,costN,pricN,overhdN)tr- n economic order quanity (inventory)
EOQTR() ..................... tr- d last day of current cal quarter for expD
EOW() ....................... tr- d sunday of the week for expD
EXP() ......................... - n exponential function
EXPAND([,spacesN]) .......... tr- c insert n space(s) between chars, default 1
EXPONENT() .................. tr- n x power of 2 that equals expN (expN=2^x)
FACT() ...................... tr- n factorial of expN (0-19) (1*2*3...*x)
FCOUNT() ............................ - n num of fields in current DBF
FIELDNAME() ................... - c name of the Nth field in a DBF
FILE(filenameC) ..................... - l .T. if file exists on drive
FILEREAD(filenameC) ............... tr- c contents of text file - text to memo
FILES() ........................... tr- n number of files= in config.sys
FILESIZE(filenameC) ............... tr- n size of the file in bytes
FILEWRITE(filenameC,textC) ........ tr- c "DONE" if ok else error mess - memo to text
FKLABEL() ................... db- c returns 'F'+str()
FKMAX() ........................... db- n always returns 40 (for PC/XT/AT)
FLDCOUNT() ........................ tr- n num of fields in current DBF
FLOCK() ............................. - l .T. if file locked
FLR() ....................... tr- n ingetger just below (less than) expN
FOUND() ............................. - l .T. if seek, find, locate or continue was ok
GETAREA(workareaC/N,funcC) ........ tr- cndl result of funcC in different workareaC/N
GETE() .................... c tr- c string contnets of DOS environment var
HARDCR() ...................... - c replace chr(141) with chr(13) - memo
HEADER() ........................ c tr- n size of current DBF header
HEX() ....................... tr- c convert decimal num to 4 or 8 byte hex string
HTOSS(hoursN) ..................... tr- n convert hours to seconds
_________________________________________________________________________________________

INCTIME(increaseN,rateN,compN) .... tr- n num of yeras for investment to increase
INDEXKEY() .................... - c key expression of order
INFINITY() ........................ tr- n always returns 2^1024 - error return value
INKEY([]) ..................... - n key code of key pressed - =wait time
INMONTHS(startD,endD) ............. tr- n number of months between two dates
INT() ......................... - n integer of number
INWEEKS(startD,endD) .............. tr- n number of weeks between two dates
INWKDAYS(startD,endD) ............. tr- n number of non-weekend days between two dates
ISALPHA() ................... db- l .T. if first char is alpha character
ISCOLOR() ........................... - l .T. if CGA or EGA (cards, not monitor!)
ISDRIVE(driveCno:) ................ tr- l .T. if drive exists and is working
ISDSDATE(date_string_yyyymmddC) ... tr- l .T. if date_string is valid date
ISFIXED(driveCno:) ................ tr- l .T. if drive is a hard drive and is working
ISLEAP(/yearN) .............. tr- l .T. if expD or yearN is a leap year
ISLOWER() ................... db- l .T. if first char is alpha lower case
ISUPPER() ................... db- l .T. if first char is alpha upper case
ISPRINTER() ..................... a tr- l .T. if current LPT is ready (see Lptswap)
ISTSTIME(time_string_hh:mm:ssC) ... tr- l .T. if time_string is ok in fmt and contents
ISWKEND() ................... tr- l .T. if expD falls on a Saturday or Sunday
LASTDAY(monthN,yearN) ............. tr- n last day of the monthN for yearN
LASTDRIVE() ....................... tr- c drive letter for lastdrive= in config.sys
LASTKEY() ........................... - n returns ASCII value of last key pressed
LASTREC() ........................... - n total number of records in current DBF
LEADCHAR(,charC) ............ tr- c replace leading blanks with char
LEFT(,) ............ db tr- c leftmost chars of a string
LEN() ......................... - n len of string
LEN(array) .......................... - n number of elements in array
LEN(array[elem]) .................... - n len of string of array element
LENNUM() .................... db- n len of
LINES(,widthN) .............. tr- n number of lines to display expC at widthN
LJUST() ..................... tr- c left justify string, leading blanks to end
LOCK() .............................. - l .T. if record locked
LOG() ......................... - n x natural logrithm of expN (2.7182818^x=expN)
LOGNBASX(,baseN) ............ tr- n x logarithm of expN in baseN (baseN^x=expN)
LOGTEN() .................... tr- n x logarithm of expN in base 10 (10^x=expN)
LOWER() ....................... - c converts string to all lower case
LTRIM() ....................... - c removes leading blanks
LUPDATE() ....................... c tr- d date of last current DBF update
MAKEDATE(date_stringC[,monthsN]) .. tr- d make valid expD [and add or sub monthsN]
MAKETIME(time_stringC) ............ tr- c make valid time_string
MANTISSA() .................. tr- n x num 1-1.99999... (x*2^(Exponent(expN))=expN)
MAX(/,/) .... - n higher of the two exp
MEMOEDIT(,t,l,b,r,) . memo- c edit(.T.) / disp(.F.) of memo field
MEMOREAD(filenameC) ............. memo- c converts disk file into a string
MEM() ............................. tr- n bytes of available memory ????
MEMORY(0) ........................... - n Kbytes of available memory pool
MEMOTRAN([,hardC][,softC]) memo- c strip out Chars 13/10 & 141/10
MEMOWRIT(filenameC,) ...... memo- l .T. if string was written to disk file
MIN(/,/) .... - n lower of the two exp
MOD(,) ............... db- n remainder of expN/expN2
MONTH() ....................... - n number of the month
MTOSS(minutesN) ................... tr- n convert minutes to seconds
NDX() ....................... db- c returns 'NTX'+str()
NDXSIZE(key_sizeN,rec_countN) ..... tr- n potential max size of DBIII index file
NETERR() ............................ - l .T. if use exclusive or append blank fails
NETNAME() ........................... - c text of computer name in network or null
NEXTAREA() ........................ tr- n lowest available work area
NTOD(yearN,monthN,dayN) ........... tr- d makes valid expD from numeric params
NTXSIZE(key_sizeN,rec_countN) ..... tr- n potential max size of Clipper index file
_________________________________________________________________________________________

OFF("memvar_name") ................ tr- c 4 byte hex offset memory address of memvar
OS() .............................. db- c always returns 'MS/PC-DOS' (see DOSVERS())
PASSWORD() .................. tr- n converts expC to 8-10 digit numeric code
PCOL() .............................. - n current printer column
PCOUNT() ............................ - n # of params passed from com line/to proc
PEEKBYTE(segCh,offsetCh/N) ........ tr- c read 1 byte hex string from memory
PEEKCHAR(segCh,offsetCh/N) ........ tr- c read 1 byte char from memory
PEEKINT(segCh,offsetCh/N) ......... tr- n read 2 byte integer from memory
PEEKLONG(segCh,offsetCh/N) ........ tr- n read 4 byte integer from memory
PEEKDBL(segCh,offsetCh/N) ......... tr- n read 8 byte float point from memory
PEEKSTR(segCh,offsetCh/N) ......... tr- c read null terminated string from memory
POKEBYTE(segCh,offsetCh/N,dataC) .. tr- l .T. poke 1 byte hex string to memory
POKECHAR(segCh,offsetCh/N,dataC) .. tr- l .T. poke 1 char to memory
POKEINT(segCh,offsetCh/N,dataN) ... tr- l .T. poke 2 byte integer to memory
POKELONG(segCh,offsetCh/N,dataN) .. tr- l .T. poke 4 byte integer to memory
POKEDBL(segCh,offsetCh/N,dataN) ... tr- l .T. poke 8 byte float point to memory
POKESTR(segCh,offsetCh/N,dataC) ... tr- l .T. poke null terminated string to memory
POWER(,powerN) .............. tr- n expN raised to the power of powerN
PRNSTATUS() ....................... tr- n current LPT status code -1 thru 3 (see Lptswap)
PROCLINE() .......................... - n source code line # of current program
PROCNAME() .......................... - c name of current proc
PROW() .............................. - n current printer row
QUARTER() ................... tr- n quarter of the year (1-4) for expD
READKEY() ......................... db- n Ascii code of last key pressed to exit edits
READVAR() ........................... - c name of current get/menu var or null
RECCOUNT() .......................... - n total number of records in current DBF
RECNO() ............................. - n current record number
RECSIZE() ....................... c tr- n size of current DBF record
REG(cpu_reg_nameC) ................ tr- c contnets of CPU register as 4 byte hex string
REPLICATE(,) ............ - c of N number of expC characters
RESTSCR(filenameC[,"4K_memvarC"]) . tr- l .T. if screen or 4K_memvar restored from disk
RIGHT(,) ........... db tr- c rightmost expN chars of a string
RJUST() ..................... tr- c right just string, trailing blanks to front
RLOCK() ............................. - l .T. if record locked
ROOT(,rootN) ................ tr- n return the Nth root of expN
ROUND(,decimN) ................ - n number rounded to n decimal places
ROW() ............................... - n current screen row
RTRIM() ....................... - c removes trailing blanks - same as trim()
SAVESCR(filenameC[,4K_memvarC]) ... tr- l .T. if screen or 4K_memvar saved to disk
SCRATTR() ......................... tr- c upper case letter(s) of current Set Color
SECONDS() ........................... - n sys time in seconds since midnight
SECS(time_stringC) ................ db- n convert time_string to num of seconds
SEG("memvar_name") ................ tr- c 4 byte hex segment memory address of memvar
SELECT() ............................ - n currently selected work area
SETPRC(r,c) ......................... - sets internal Prow() and Pcol()
SOUNDEX() ................ db tr- c 4 byte soundex code for phonetic indexes
SPACE() ....................... - n string of n spaces
SQRT() ........................ - n the square root of n
SSTOD(secondsN) ................... tr- n convert seconds to days
SSTOH(secondsN) ................... tr- n convert seconds to hours
SSTOM(secondsN) ................... tr- n convert seconds to minutes
STATUS("set_name") ................ tr- returns current value of Clipper SET commands
STOD(date_stringC) ................ tr- d convert date_string to expD
STR([,lenN[,decN]]) ........... - c convert number to string
STREET(street_addressC) ........... tr- c returns street name from street address
STRZERO([,lenN[,decN]]) ..... db- c convert number to string with leading zeros
STUFF(,startN,lenN,)db tr- c replace expC,start,len with expC2
SUBSTR(,startN,lenN) .......... - c returns a portion of the string expC
_________________________________________________________________________________________

TABSTRIP([,#tab_spaces0-16N]) tr- c replace tab chars in expC with space(s)
TIME() .............................. - c returns current system time_string
TIMESTR(secondsN) ................. tr- c convert seconds to time_string
TOF() ............................. tr- l .T. if printer head is at top of form
TOMONEY() ................... tr- c convert expN to ".... Dollar(s) and .. Cent(s)"
TRANSFORM(,pictC) .............. - c returns string formatted to pict clause
TRIM() ........................ - c with trailing blanks removed
TSTOH(time_stringC) ............... tr- n convert time_string to hours
TSTOM(time_stringC) ............... tr- n convert time_string to minutes
TSTOS(time_stringC) ............... tr- n convert time_string to seconds
TSTRING(secondsN) ................. db- c convert seconds to time_string
TYPE("memvar"/"fieldname") .......... - c memvar or DBF field data type C N D L A or U
TYPE(array[elem]) ................... - c array element data type C N D L or U
UPDATED() ........................... - l .T. if last read changed any of its gets
UPPER() ....................... - c all chars converted to upper case
VAL() ......................... - n convert string to number
VERSION() ......................... db- c always returns "Clipper, Autumn '86"
YEAR() ........................ - n complete numeric value of year
WEEKDAYS(,week_daysN) ....... tr- d adds week_daysN + proper weekends to expD
WPSTRIP([,#tab_spaces0-16N]) tr- c new expC with tab LF and CRs replaced by spaces
WRAP(,maxlenN) .............. tr- n position of last non-blank char < N width
if muti-space, last blank char < N width
_TR_VERS() ........................ tr- c returns string of TR library version




Tom Rettig Library CALLs_________________________________________________________________

CALL CREACHAR WITH #elemN,lenN,memvarN ..... - allocate memory for C character array
CALL CURSOR WITH "on"/"off" .............. - turns cursor on or off
CALL FILEATTR WITH filenameC,attribC ....... - change file attributes (i.e. "+RHS -A")
CALL FREECHAR .............................. - release memory allocated with Creachar
CALL INT3 .................................. - setup breakpoint for assembly debugging
CALL LPTSWAP ............................... - switch current LPT between Lpt1 and Lpt2
CALL MEMDUMP WITH memvarS ................. - hex dump of memvar contents
CALL OFFSET WITH memvarS,retu_varC ....... - 4 byte hex offset address of memvar
CALL PASSARR WITH arrayNDL[x],x ........... - pass a NDL arrary one elem at a time to C
CALL PASSCHAR WITH arrayC[x] ............... - pass a char array one elem at a time to C
CALL PRTSC ................................. - send current screen image to the printer
CALL READARRC WITH fileC,#elemN,lenN,errvarN - read char array from disk to C
CALL READARRN WITH fileC,#elemN,errvarN .... - read NDL array from disk to C
CALL RETARR WITH tempvarNDL,elem ......... - return a NDL C array to Clip thru tempvar
CALL RETCHAR WITH tempvarC ................ - return a char C array to Clip thru tempvar
CALL ROMBIOS WITH intN,cpu_regsC,memvarN .. - execute Bios routine, memvar=return flags
CALL SCROLL WITH t,l,b,r,#rowsN,"u"/"d" .. - scroll a window or clear it if #rows=0
CALL SEGMENT WITH memvarS,retu_varC ....... - 4 byte hex segment address of memvar
CALL SORTARRN WITH #elemN .................. - sort a NDL C array in ascending order
CALL WRITARRC WITH fileC,#elemN,lenN,errvarN - write char array to disk from C
CALL WRITARRN WITH fileC,#elemN,errvarN .... - write NDL array to disk from C
_________________________________________________________________________________________


Note: Call Scroll works differently if Dbu.lib is linked before Tr.lib
_________________________________________________________________________________________

Functions - By Group
_________________________________________________________________________________________


Arrays___________________________________________________________________________________

ADEL(arrayS,elemN) ............... dbu- del nth element from array - all move up
ADIR(file_skeletonC) ............. dbu- n num of matching files used with declair
ADIR(file_skeletonC,arrayS) ...... dbu- fills array with file names
AFILL(arrayS,[,startN[,cntN]])dbu- fills all or part of array with exp
AINS(arrayS,elemN) ............... dbu- insert element into array - last one lost
ARRREST("filevarC","array") ....... tr- l .T. if array read from disk
ARRSAVE("filevarC","array") ....... tr- l .T. if array saved to disk
ARRSORT("from_arrayNDL","to_array") tr- l .T. if sorted array ok
ASCAN(arrayS,[,startN[,cntN]])dbu- n found elem num of array searched for exp
ATYPE(memvaS/arrayS[elem]) ........ tr- c memvar or array[elem] data type C N D L A or U

CALL CREACHAR WITH #elemN,lenN,memvarN ..... - allocate memory for C character array
CALL FREECHAR .............................. - release memory allocated with Creachar
CALL PASSARR WITH arrayNDL[x],x ........... - pass a NDL arrary one elem at a time to C
CALL PASSCHAR WITH arrayC[x] ............... - pass a char array one elem at a time to C
CALL READARRC WITH fileC,#elemN,lenN,errvarN - read char array from disk to C
CALL READARRN WITH fileC,#elemN,errvarN .... - read NDL array from disk to C
CALL RETARR WITH tempvarNDL,elem ......... - return a NDL C array to Clip thru tempvar
CALL RETCHAR WITH tempvarC ................ - return a char C array to Clip thru tempvar
CALL SORTARRN WITH #elemN .................. - sort a NDL C array in ascending order
CALL WRITARRC WITH fileC,#elemN,lenN,errvarN - write char array to disk from C
CALL WRITARRN WITH fileC,#elemN,errvarN .... - write NDL array to disk from C


Business_________________________________________________________________________________

DEPDB(valueN,rateN,periodsN) ...... tr- n depreciation by decl balance
DEPSL(priceN,valN,lifeN,periodsN) . tr- n depreciation by straight line
DEPVALDB(priceN,rateN,periodsN) ... tr- n dep value by decl balance
DEPVALSL(priceN,valN,lifeN,timeN) . tr- n dep value by straight line
EFFYIELD(rateN,compoundedN) ....... tr- n eff yield (eff rate of interest)
EOQ(on_hN,demdN,costN,pricN,overhdN)tr- n economic order quanity (inventory)
INCTIME(increaseN,rateN,compN) .... tr- n num of yeras for investment to increase
TOMONEY() ................... tr- c convert expN to ".... Dollar(s) and .. Cent(s)"
_________________________________________________________________________________________


Character________________________________________________________________________________

ALLTRIM() ................ db tr- c with no leading or trailing blanks
ASC() ......................... - n Ascii value of leftmost char
AT(,) .................. - n starting position of expC in expC2
ATLAST(charC,) .............. tr- n position of last occurance of char
ATNEXT(charC,,occurN) ....... tr- n position of Nth occurance of char
CAPFIRST() .................. tr- c uppercase first letter of words
CENTER(,widthN) ............. tr- c centered on N width
CHR() ......................... - c convert number to character
CHRCOUNT(charC,) ............ tr- n number of occurances of char in expC
CHRFOUND(,) .......... tr- l .T. if expC chars are in expC2 (any order)
CHRSWAP(,charC[,char2C]) .... tr- c replace char with '' or char2
DECRYPT(,passwordC) ......... tr- c restore encrypted strings
ENCRYPT(,passwordC) ......... tr- c encrypt string on password
EXPAND([,spacesN]) .......... tr- c insert n space(s) between chars, default 1
ISALPHA() ................... db- l .T. if first char is alpha character
ISLOWER() ................... db- l .T. if first char is alpha lower case
ISUPPER() ................... db- l .T. if first char is alpha upper case
LEADCHAR(,charC) ............ tr- c replace leading blanks with char
LEFT(,) ............ db tr- c leftmost chars of a string
LEN() ......................... - n len of string or number of elem in array
LEN(array) .......................... - n number of elements in array
LEN(array[elem]) .................... - n len of string of array element
LENNUM() .................... db- n len of
LINES(,widthN) .............. tr- n number of lines to display expC at widthN
LJUST() ..................... tr- c left justify string, leading blanks to end
LOWER() ....................... - c converts string to all lower case
LTRIM() ....................... - c removes leading blanks
PEEKCHAR(segCh,offsetCh/N) ........ tr- c read 1 byte char from memory
PEEKSTR(segCh,offsetCh/N) ......... tr- c read null terminated string from memory
POKECHAR(segCh,offsetCh/N,dataC) .. tr- l .T. poke 1 char to memory
POKESTR(segCh,offsetCh/N,dataC) ... tr- l .T. poke null terminated string to memory
REPLICATE(,) ............ - c of N number of expC characters
RIGHT(,) ........... db tr- c rightmost expN chars of a string
RJUST() ..................... tr- c right just string, trailing blanks to front
RTRIM() ....................... - c removes trailing blanks - same as trim()
SPACE() ....................... - n string of n spaces
STR([,lenN[,decN]]) ........... - c convert number to string
STRZERO([,lenN[,decN]]) ..... db- c convert number to string with leading zeros
STUFF(,startN,lenN,)db tr- c replace expC,start,len with expC2
SUBSTR(,startN,lenN) .......... - c returns a portion of the string expC
TRANSFORM(,pictC) .............. - c returns string formatted to pict clause
TRIM() ........................ - c with trailing blanks removed
UPPER() ....................... - c all chars converted to upper case
VAL() ......................... - n convert string to number
WRAP(,maxlenN) .............. tr- n position of last non-blank char < N width
if muti-space, last blank char < N width


Func MTRIM && Strips leading,trailing and multi-spaces out of the middle of expC
Param P1
P1=Trim(Ltrim(P1))
Do While " "$P1
P1=Subs(P1,1,At(" ",P1))+Subs(P1,At(" ",P1)+2)
Endd
Retu P1



_________________________________________________________________________________________


Database_________________________________________________________________________________

BOF() ............................... - l .T. if at top/beginning of file
DBEDIT(t,l,b,r,f-name_arrayS,udf) dbu- for editing a DBF
DELETED() ........................... - l .T. if record marked as deleted
EOF() ............................... - l .T. if at end of file (past last record)
FCOUNT() ............................ - n num of fields in current DBF
FIELDNAME() ................... - c name of the Nth field in a DBF
FLDCOUNT() ........................ tr- n num of fields in current DBF
FOUND() ............................. - l .T. if seek, find, locate or continue was ok
HEADER() ........................ c tr- n size of current DBF header
LASTREC() ........................... - n total number of records in current DBF
LUPDATE() ....................... c tr- d date of last current DBF update
RECCOUNT() .......................... - n total number of records in current DBF
RECNO() ............................. - n current record number
RECSIZE() ....................... c tr- n size of current DBF record
STREET(street_addressC) ........... tr- c returns street name from street address


Database Indexes_________________________________________________________________________

INDEXKEY() .................... - c key expression of order
NDX() ....................... db- c returns 'NTX'+str()
NDXSIZE(key_sizeN,rec_countN) ..... tr- n potential max size of DBIII index file
NTXSIZE(key_sizeN,rec_countN) ..... tr- n potential max size of Clipper index file
SOUNDEX() ................ db tr- c 4 byte soundex code for phonetic indexes


Database Workarea________________________________________________________________________

ALIAS([]) ..................... - c alias name
DBF() ............................. db- c alias of current DBF
GETAREA(workareaC/N,funcC) ........ tr- cndl result of funcC in different workareaC/N
NEXTAREA() ........................ tr- n lowest available work area
SELECT() ............................ - n currently selected work area


Database Networks________________________________________________________________________

FLOCK() ............................. - l .T. if file locked
LOCK() .............................. - l .T. if record locked
NETERR() ............................ - l .T. if use exclusive or append blank fails
NETNAME() ........................... - c text of computer name in network or null
RLOCK() ............................. - l .T. if record locked

Also see Unlock [All]
_________________________________________________________________________________________


Date_____________________________________________________________________________________

BOQTR() ..................... tr- d first day of current cal quarter for expD
BOW() ....................... tr- d monday of the week for expD
CDOW() ........................ - c name of the day of the week
CDTOS(dateC,pictC) ................ tr- c date string in pict format (i.e. YYMMDD)
CMONTH() ...................... - c name of the month
CMONTHN(monthN) ................... tr- c convert 1-12 to month name
CTOD() ........................ - d convert character to date
DATE() .............................. - d system date setting
DAY() ......................... - n day of the month
DOW() ......................... - n day of the week 0-7
DTOC() ........................ - c returns date as string mm/dd/yy
DTOS() ........................ - c returns date as date_string yyyymmdd
EOQTR() ..................... tr- d last day of current cal quarter for expD
EOW() ....................... tr- d sunday of the week for expD
INMONTHS(startD,endD) ............. tr- n number of months between two dates
INWEEKS(startD,endD) .............. tr- n number of weeks between two dates
INWKDAYS(startD,endD) ............. tr- n number of non-weekend days between two dates
ISDSDATE(date_string_yyyymmddC) ... tr- l .T. if date_string is valid date
ISLEAP(/yearN) .............. tr- l .T. if expD or yearN is a leap year
ISWKEND() ................... tr- l .T. if expD falls on a Saturday or Sunday
LASTDAY(monthN,yearN) ............. tr- n last day of the monthN for yearN
MAKEDATE(date_stringC[,monthsN]) .. tr- d make valid expD [and add or sub monthsN]
MONTH() ....................... - n number of the month
NTOD(yearN,monthN,dayN) ........... tr- d makes valid expD from numeric params
QUARTER() ................... tr- n quarter of the year (1-4) for expD
STOD(date_stringC) ................ tr- d convert date_string to expD
YEAR() ........................ - n complete numeric value of year
WEEKDAYS(,week_daysN) ....... tr- d adds week_daysN + proper weekends to expD


Debugging________________________________________________________________________________

PROCLINE() .......................... - n source code line # of current program
PROCNAME() .......................... - c name of current proc

CALL INT3 .................................. - setup breakpoint for assembly debugging
CALL MEMDUMP WITH memvarS ................. - hex dump of memvar contents


Disk_____________________________________________________________________________________

CURDIR([drive_letterCno:]) ........ tr- c current dir of default or specified drive
CURDRIVE() ........................ tr- c current drive as upper case letter
DIRMAKE(pathC) .................... tr- l .T. if dir exists or was created
DISKSPACE([]) ............. c tr- n free bytes on dirve n (1=A: 0=default)
ISDRIVE(driveCno:) ................ tr- l .T. if drive exists and is working
ISFIXED(driveCno:) ................ tr- l .T. if drive is a hard drive and is working
_________________________________________________________________________________________


Disk Files_______________________________________________________________________________

ARRREST("filevarC","array") ....... tr- l .T. if array read from disk
ARRSAVE("filevarC","array") ....... tr- l .T. if array saved to disk
FILE(filenameC) ..................... - l .T. if file exists on drive
FILEREAD(filenameC) ............... tr- c contents of text file - text to memo
FILESIZE(filenameC) ............... tr- n size of the file in bytes
FILEWRITE(filenameC,textC) ........ tr- c "DONE" if ok else error mess - memo to text
MEMOREAD(filenameC) ............. memo- c converts disk file into a string
MEMOWRIT(filenameC,) ...... memo- l .T. if string was written to disk file
RESTSCR(filenameC[,"4K_memvarC"]) . tr- l .T. if screen or 4K_memvar restored from disk
SAVESCR(filenameC[,4K_memvarC]) ... tr- l .T. if screen or 4K_memvar saved to disk

CALL FILEATTR WITH filenameC,attribC ....... - change file attributes (i.e. "+RHS -A")
CALL READARRC WITH fileC,#elemN,lenN,errvarN - read char array from disk to C
CALL READARRN WITH fileC,#elemN,errvarN .... - read NDL array from disk to C
CALL WRITARRC WITH fileC,#elemN,lenN,errvarN - write char array to disk from C
CALL WRITARRN WITH fileC,#elemN,errvarN .... - write NDL array to disk from C


Keyboard_________________________________________________________________________________

INKEY([]) ..................... - n key code of key pressed - =wait time
FKLABEL() ................... db- c returns 'F'+str()
FKMAX() ........................... db- n always returns 40 (for PC/XT/AT)
LASTKEY() ........................... - n returns ASCII value of last key pressed
READKEY() ......................... db- n Ascii code of last key pressed to exit edits
READVAR() ........................... - c name of current get/menu var or null
UPDATED() ........................... - l .T. if last read changed any of its gets


Memo_____________________________________________________________________________________

CHRCOUNT(charC,) ............ tr- n number of occurances of char in expC
CHRSWAP(,charC[,char2C]) .... tr- c replace char with '' or char2
FILEREAD(filenameC) ............... tr- c contents of text file - text to memo
FILEWRITE(filenameC,textC) ........ tr- c "DONE" if ok else error mess - memo to text
HARDCR() ...................... - c replace chr(141) with chr(13) - memo
LINES(,widthN) .............. tr- n num of lines to display wordwrap expC at widthN
MEMOEDIT(,t,l,b,r,) . memo- c edit(.T.) / disp(.F.) of memo field
MEMOREAD(filenameC) ............. memo- c converts disk file into a string
MEMOTRAN([,hardC][,softC]) memo- c strip out Chars 13/10 & 141/10
MEMOWRIT(filenameC,) ...... memo- l .T. if string was written to disk file
TABSTRIP([,#tab_spaces0-16N]) tr- c replace tab chars in expC with space(s)
WPSTRIP([,#tab_spaces0-16N]) tr- c new expC with tab LF and CRs replaced by spaces
WRAP(,maxlenN) .............. tr- n position of last non-blank char < N width
if muti-space, last blank char < N width


Miscellaneous____________________________________________________________________________

BLANK() ...................... tr- empty value of any data type expression
EMPTY(exp) .......................... - l .T. if null,0 or .F.
PASSWORD() .................. tr- n converts expC to 8-10 digit numeric code
PCOUNT() ............................ - n # of params passed from com line/to proc
STATUS("set_name") ................ tr- returns current value of Clipper SET commands
TYPE("memvar"/"fieldname") .......... - c memvar or DBF field data type C N D L A or U
_________________________________________________________________________________________


Numeric__________________________________________________________________________________

ABS() ......................... - n absolute value
ASC() ......................... - n Ascii value of leftmost char
BASE(baseN,decim_valN) ............ tr- c converts dec num to new base num string
BASE10(baseN,base_numC) ........... tr- n converts base_num to decimal number
BIN() ....................... tr- c converts dec num to binary string
CEILING() ................... tr- n integer just above (greater than) expN
DEC(hex_stringC) .................. tr- n convert hex string to decimal number
EXP() ......................... - n exponential function
EXPONENT() .................. tr- n x power of 2 that equals expN (expN=2^x)
FACT() ...................... tr- n factorial of expN (0-19) (1*2*3...*x)
FLR() ....................... tr- n ingetger just below (less than) expN
HEX() ....................... tr- c convert decimal num to 4 or 8 byte hex string
INFINITY() ........................ tr- n always returns 2^1024 - error return value
INT() ......................... - n integer of number
LEADCHAR(,charC) ............ tr- c replace leading blanks with char
LEN(array) .......................... - n number of elements in array
LENNUM() .................... db- n len of
LOG() ......................... - n x natural logrithm of expN (2.7182818^x=expN)
LOGNBASX(,baseN) ............ tr- n x logarithm of expN in baseN (baseN^x=expN)
LOGTEN() .................... tr- n x logarithm of expN in base 10 (10^x=expN)
MANTISSA() .................. tr- n x num 1-1.99999... (x*2^(Exponent(expN))=expN)
MAX(/,/) .... - n higher of the two exp
MIN(/,/) .... - n lower of the two exp
MOD(,) ............... db- n remainder of expN/expN2
PEEKINT(segCh,offsetCh/N) ......... tr- n read 2 byte integer from memory
PEEKLONG(segCh,offsetCh/N) ........ tr- n read 4 byte integer from memory
PEEKDBL(segCh,offsetCh/N) ......... tr- n read 8 byte float point from memory
POKEINT(segCh,offsetCh/N,dataN) ... tr- l .T. poke 2 byte integer to memory
POKELONG(segCh,offsetCh/N,dataN) .. tr- l .T. poke 4 byte integer to memory
POKEDBL(segCh,offsetCh/N,dataN) ... tr- l .T. poke 8 byte float point to memory
POWER(,powerN) .............. tr- n expN raised to the power of powerN
ROOT(,rootN) ................ tr- n return the Nth root of expN
ROUND(,decimN) ................ - n number rounded to n decimal places
SQRT() ........................ - n the square root of n
STR([,lenN[,decN]]) ........... - c convert number to string
STRZERO([,lenN[,decN]]) ..... db- c convert number to string with leading zeros
TRANSFORM(,pictC) .............. - c returns string formatted to pict clause
VAL() ......................... - n convert string to number


Printer__________________________________________________________________________________

ISPRINTER() ..................... a tr- l .T. if current LPT is ready (see Lptswap)
PRNSTATUS() ....................... tr- n current LPT status code -1 thru 3 (see Lptswap)
PROW() .............................. - n current printer row
SETPRC(r,c) ......................... - sets internal Prow() and Pcol()
TOF() ............................. tr- l .T. if printer head is at top of form

CALL LPTSWAP ............................... - switch current LPT between Lpt1 and Lpt2
CALL PRTSC ................................. - send current screen image to the printer
_________________________________________________________________________________________


Screen___________________________________________________________________________________

BIOSATTR() ........................ tr- n value of screen attrib at cursor (0-255)
COL() ............................... - n current cursor column
ISCOLOR() ........................... - l .T. if CGA or EGA (cards, not monitor!)
RESTSCR(filenameC[,"4K_memvarC"]) . tr- l .T. if screen or 4K_memvar restored from disk
ROW() ............................... - n current screen row
SAVESCR(filenameC[,4K_memvarC]) ... tr- l .T. if screen or 4K_memvar saved to disk
SCRATTR() ......................... tr- c letter(s) of current Set Color (f/b)

CALL CURSOR WITH "on"/"off" .............. - turns cursor on or off
CALL SCROLL WITH t,l,b,r,#rowsN,"u"/"d" .. - scroll a window or clear it if #rows=0

Note: Call Scroll works differently if Dbu.lib is linked before Tr.lib


System___________________________________________________________________________________

ALLOCATE(bytesN) .................. tr- c 4 byte hex addrC of Allocated segment if ok
DEALLOC(addressCfrom_allocate) .... tr- l .T. if Allocated memory released
DOSFUNC(int21_regs_32bytesC,memvarN)tr- c new values of regs in regsC, flags in memvarN
OFF("memvar_name") ................ tr- c 4 byte hex offset memory address of memvar
PEEKBYTE(segCh,offsetCh/N) ........ tr- c read 1 byte hex string from memory
POKEBYTE(segCh,offsetCh/N,dataC) .. tr- l .T. poke 1 byte hex string to memory
REG(cpu_reg_nameC) ................ tr- c contnets of CPU register as 4 byte hex string
SEG("memvar_name") ................ tr- c 4 byte hex segment memory address of memvar

CALL FILEATTR WITH filenameC,attribC ....... - change file attributes (i.e. "+RHS -A")
CALL OFFSET WITH memvarS,retu_varC ....... - 4 byte hex offset address of memvar
CALL ROMBIOS WITH intN,cpu_regsC,memvarN .. - execute Bios routine, memvar=return flags
CALL SEGMENT WITH memvarS,retu_varC ....... - 4 byte hex segment address of memvar


System Environment_______________________________________________________________________

BUFFERS() ......................... tr- n number of buffers= in config.sys
COUNTRY() ......................... tr- n country code in config.sys
DATE() .............................. - d system date setting
DOSVERS() ......................... tr- c DOS version number i.e. "3.10"
FILES() ........................... tr- n number of files= in config.sys
GETE() .................... c tr- c string contnets of DOS environment var
ISCOLOR() ........................... - l .T. if CGA or EGA (cards, not monitor!)
ISDRIVE(driveCno:) ................ tr- l .T. if drive exists and is working
ISFIXED(driveCno:) ................ tr- l .T. if drive is a hard drive and is working
ISPRINTER() ..................... a tr- l .T. if current LPT is ready (see Lptswap)
LASTDRIVE() ....................... tr- c drive letter for lastdrive= in config.sys
MEM() ............................. tr- n bytes of available memory ????
MEMORY(0) ........................... - n Kbytes of available memory pool
OS() .............................. db- c always returns 'MS/PC-DOS' (see DOSVERS())
PRNSTATUS() ....................... tr- n current LPT status code -1 thru 3 (see Lptswap)
VERSION() ......................... db- c always returns "Clipper, Autumn '86"
_TR_VERS() ........................ tr- c returns string of TR library version
_________________________________________________________________________________________


Time_____________________________________________________________________________________

AMPM(time_stringC) ................ db- c time string in 12 hour fmt with am or pm
DAYS(secondsN) .................... db- n integer number of of days
DTOSS(daysN) ...................... tr- n convert days to seconds
ELAPTIME(start_timeC,end_timeC) ... db- c 24 hour time_string of end minus start
HTOSS(hoursN) ..................... tr- n convert hours to seconds
ISTSTIME(time_string_hh:mm:ssC) ... tr- l .T. if time_string is ok in fmt and contents
MAKETIME(time_stringC) ............ tr- c make valid time_string
MTOSS(minutesN) ................... tr- n convert minutes to seconds
SECONDS() ........................... - n sys time in seconds since midnight
SECS(time_stringC) ................ db- n convert time_string to num of seconds
SSTOD(secondsN) ................... tr- n convert seconds to days
SSTOH(secondsN) ................... tr- n convert seconds to hours
SSTOM(secondsN) ................... tr- n convert seconds to minutes
TIME() .............................. - c returns current system time_string
TIMESTR(secondsN) ................. tr- c convert seconds to time_string
TSTOH(time_stringC) ............... tr- n convert time_string to hours
TSTOM(time_stringC) ............... tr- n convert time_string to minutes
TSTOS(time_stringC) ............... tr- n convert time_string to seconds












Notes:
1. All items passed to a function are passed by value not by reference, the
exceptions to this are a few of the Array functions which change the Array
passed to them, i.e. Adir[,arrayS)

2. Remove the following from extenddb.prg and recompile for new extenddb.obj,
for the Clipper Autumn 86 Version with the TR86.LIB Version 1.04/1.05
LEFT()
RIGHT()
STUFF()
ALLTRIM()
SOUNDEX()
EXTERNAL DISKSPACE, GETE, HEADER, LUPDATE, RECSIZE

3. Extendc.obj no longer needed with TR Library Version 1.04/1.05
4. Extenda.obj no longer needed with TR Library Version 1.04/1.05
_________________________________________________________________________________________
_________________________________________________________________________________________

Utilities (.COM and .EXE files)
_________________________________________________________________________________________


BITSTRIP ...................... tr- Zero high-order bit in word processed file
CREATE ........................ - Create or modify database structure
DBU [<.vew_filename>] ................. - Clipper browse type utility
FATTRIB [][+/-...] .. tr- Change all file attributes from DOS
INDEX ........................ - Create a Clipper index file
INDEXKEY [][...][/p] . tr- Display key expression of NDX & NTX files
LABEL ........................ - Create or modify a label format file
MEMHOG ........................ tr- Use up nnn kilobytes of memory for testing
MEMORY ................................... tr- System memory available
REPORT ........................ - Create or modify a report format file






_________________________________________________________________________________________

Trade Marks
_________________________________________________________________________________________


Clipper - Nantucket Inc.
5995 S. Sepulveda Blvd.
Culver City, CA 90230
1-213-390-7923

Tom Rettig's Library - Tom Rettig Associates
9300 Wilshire Blvd.
Beverly Hills, CA 90212-3237
1-213-272-3784


_________________________________________________________________________________________
_________________________________________________________________________________________

Clipper Compiler does not recognize the following dBASE III items:
_________________________________________________________________________________________

* browse
* change
* close all
* edit
* export
* import
* insert
* load
* logout
* modify
* on error do proc (on error - is ok, no affect)
* on escpae do proc (on escape - is ok, no affect)
* on key do proc (on key - is ok, no affect)
* query
* retry
* screen
* suspend
* view
*
* set catalog to see Adir
* set dohistory on/off used for debugging .prg files in db iii
* set encrypt on/off see Tr86.Lib Encrypt/Dencrypt/Password
* set fields to - List, Display etc. commands require field list
* set function to - Set Func To - is ok, no affect
* set help on/off see Set Key 28
* set history to see set dohistory
* set memowidth to see Memoedit
* set title on/off used with set catalog in db iii
* set typeahaed to see Keyboard, Clear Typeahead
* set view to see Dbu Utility & Dbedit
*
* access() - no network access level in Clipper see Password
* dbf() - see extenddb
* ndx() - see extenddb
* isalpha() - see extenddb
* islower() - see extenddb
* isupper() - see extenddb
* error() -
* fklabel() - see extenddb
* fkmax() - see extenddb
* getenv() - use GETE() in the TR.LIB
* mod(a,b) - see extenddb or use % (% may return different values than DBIII !)
* os() - see extenddb or use DOSVER() tr
* readkey() - see extenddb
* version() - see extenddb
*
* @d pict - see set date
* @e pict - see set date
_________________________________________________________________________________________



 December 13, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)