home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-07-10 | 95.0 KB | 3,289 lines |
-
-
-
-
-
-
-
-
-
-
-
-
- TMCEL - 1.4
-
- Ted Mieske Clipper Engineers Library
-
-
-
- Written by: Ted J. Mieske
-
- Portions by: Bill Parker & Stefan Hanson
-
-
-
- ┌─────────┐
- ┌─────┴───┐ │ (tm)
- ──┤ │o ├──────────────────
- │ ┌─────┴╨──┐ │ Association of
- │ │ ├─┘ Shareware
- └───┤ o │ Professionals
- ──────┤ ║ ├────────────────────
- └────╨────┘ * APPLIED FOR *
-
-
-
-
-
-
-
-
-
- S H A R E W A R E V E R S I O N
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (c) 1991, 1992 by Ted J. Mieske. All Rights Reserved.
-
- T.M. 07/08/92
-
- Current functions in TMCEL:
-
-
- ELEC:
- √ 1. COO() - calculates Cost of Operation of Elec. Device
-
- √ 2. EIR() - convert Current/Resistance to Voltage
-
- 3. EPI() - convert Wattage/Current to Voltage
-
- 4. EPR() - convert Wattage/Resistance to Voltage
-
- 5. F2M() - convert Frequency to Meters
-
- 6. IER() - convert Voltage/Resistance to Current
-
- 7. IPE() - convert Wattage/Voltage to Current
-
- √ 8. IPR() - convert Wattage/Resistance to Current
-
- 9. LRC() - LED Resistor Calculator
-
- 10. M2F() - convert Meters to Frequency
-
- 11. PEI() - convert Voltage/Current to Wattage
-
- 12. PER() - convert Voltage/Resistance to Wattage
-
- √ 13. PIR() - convert Current/Resistance to Wattage
-
- 14. R2() - calculate the value of 2 parallel resistors
-
- 15. REI() - convert Voltage/Current to Resistance
-
- 16. REP() - convert Voltage/Wattage to Resistance
-
- 17. RPI() - convert Wattage/Current to Resistance
-
- 18. VA2W() - converts Volt-Amperes to Watts
-
- 19. W2VA() - converts Watts to Volt-Amperes
-
-
-
- AUDIO:
- 1. OGC() - Op-amp Gain Control calculation
-
- 2. PHONTONE() - display & produce ALL tone-pairs of phone
-
- 3. RDT60() - reverberation delay time at a 60db drop
-
- 4. SNGLTNE() - produce (1) tone-pair of the phone system
-
- 5. VDELAY() - velocity delay of sound in seconds
-
- 6. WAVDIST() - wavelength of a specific freq. in distance
-
- MATH:
- √ 1. ATN() - ARCTANGENT math function
-
- 2. BIN2DEC() - convert from BINary to DECimal
-
- 3. BIN2HEX() - convert from BINary to HEX
-
- 4. CHKAMNT() - convert an numeric dollar amount to text
-
- 5. COS() - COSINE math function
-
- 6. DEC2BIN() - convert from DECimal to BINary
-
- 7. DEC2HEX() - convert from DECimal to HEX
-
- √ 8. DEG() - will return the DEGREES of a Radian number
-
- 9. HEX2BIN() - convert from HEX to BINary
-
- 10. HEX2DEC() - convert from HEX to DECimal
-
- 11. KTOM() - convert Kilometers to Miles (statute)
-
- √ 12. LOG10() - LOG10 math function
-
- 13. MOD() - returns the modulus of X MOD Y
-
- 14. MTOK() - convert miles (statute) to Kilometers
-
- √ 15. NODIV0() - keeps one from the dreaded Divide-by-Zero
-
- √ 16. PI() - just returns PI π, or PI(n) for n # of times
-
- 17. POWER() - raise a specific number, to a specific Power
-
- 18. RAD() - will return the RADIANS of a Degree number
-
- 19. RANDUM() - a random number generator
-
- √ 20. ROUNDIT() - replaces the ROUND() function of Clipper!
-
- 21. SGN() - returns the SIGN of a number
-
- 22. SIN() - SINE math function
-
- 23. SQR() - returns the SQUARE of a number
-
- 24. TAN() - TANGENT math function
-
-
- DATE/TIME:
- √ 1. BOM() - begining of month
-
- 2. BONM() - begining of next month
-
- 3. BOPY() - begining of previous year
-
- 4. BOW() - begining of week
-
- 5. BOY() - beginning of year
-
- √ 6. DATETST() - check to see if a date field is empty
-
- √ 7. DTOW() - convert a numeric date to month with words
-
- 8. EOLM() - end of last month
-
- 9. EOM() - end of month
-
- 10. EOPY() - end of previous month
-
- 11. EOW() - end of week
-
- 12. EOY() - end of year
-
- 13. JULDAYS() - display current/past Julian days
-
- 14. LEAPYR() - will return True/False on a Leap Year
-
- 15. MNTHCAL() - display one month, with or without a window
-
- 16. NDIN2Y() - gives the # of days were into a year
-
- 17. NDINM() - number of days in a chosen month
-
- 18. THETIME() - display the Standard time, with A.M., P.M.
-
- √ 19. TTOW() - convert time of day, into appropriate word
-
- 20. VLDDATE() - point to a valid date
-
- 21. WOFM() - find week of the month
-
- √ 22. YRDATE() - returns the year as 2 or 4 digits
-
-
- WINDOWS:
- 1. ADVRTIZE() - top-to-bottom message strober
-
- √ 2. BOXIT() - draw a simple box on console
-
- 3. BYEWIN() - blows-off the window
-
- 4. CENTER() - center a msg. on the console
-
- 5. CHKCOLR() - test for color monitor with optionional
- colors
-
- 6. CLRTHIS() - clear the console with special effects
-
- 7. DROPBOX() - drop-down box onto console
-
- 8. DROPCHR() - Drop characters on console to certain position
-
- √ 9. ERRMSG() - Display an error message
-
- 10. EXPAND() - expand a sentence out, from the center
-
- 11. HIBAKBIT() - used to either Blink, or set Hi-Intensity
- Bit ON, for Background Colors
-
- 12. KILBOX() - delete box instantly on console
-
- 13. KILWIN() - implode the exploded window
-
- 14. MAKBOX() - instant box on the console
-
- 15. MAKWIN() - explode a window on the console
-
- 16. POPBOX() - pop-up box onto console
-
- √ 17. SCANUP() - roll-up text on the console
-
- 18. SHADWIN() - add a Window with a shadow
-
- 19. STRECH() - strech-out a line of text (i.e. T E X T)
-
- 20. TICKERT() - performs a right-to-left character scan
-
- 21. VMENU() - verticle display menu system
-
- √ 22. YESNO() - ask a Yes/No question
-
- 23. YESNO2() - ask a Yes/No question #2
-
- EVIRON:
- 1. CTOF() - convert Celsius to Fahrenheit
-
- 2. FTOC() - convert Fahrenheit to Celsius
-
- 3. HPWF() - calculates to horsepower of a waterfall
-
- 4. L2THD() - calculate distance from time between seeing
- Lightning, and hearing Thunder
-
- 5. WNDCHIL() - calculates the WindChill Factor
-
-
-
- NETWORK:
-
- 1. FILELOK() - Will Lock a File on a Network
-
- 2. NETAVL() - Will check to see if a File is available
- to set EXCLUSE or SHARED
-
- 3. RECLOK() - Will Lock a Record on a Network
-
-
-
- TOOLS:
- √ 1. AGE() - calculate any Age, from any Date
-
- 2. ALARMS() - collection of various Alarms - Bells - Tunes
-
- 3. ANSICHK() - checks to see if ANSI.SYS is loaded
-
- √ 4. BEEPS() - sound a tone n times at 1-second intervals
-
- 5. CHKCNFG() - checks your Files & Buffers for a specific #s
-
- 6. CHKENV() - checks "SET CLIPPER=" for specific values
-
- 7. CHKMEM - display amount of current memory inside a
- program [ CALL EXTERNAL ]
-
- √ 8. DELAY() - will delay specific # of seconds on any PC
-
- 9. DSKCHK() - checks to see if enough FREE space is
- on a disk to do a file backup.
-
- 10. FLDCNT() - counts the number of fields in a database
-
- 11. INDXBAR() - shows how far into an index, with graph-bar
-
- 12. INT2STR() - convert an integer to a string
-
- √ 13. LIN() - used to skip n lines on printer or console
-
- 14. MSGON()/OFF() - display a message with a Flashing Elipses
-
- 15. PADLEFT() - pad a character string left with a fill char.
-
- 16. PADRGHT() - pad a character string right with a fill char.
-
- √ 17. PADSPAC() - pad a character string with spaces, or chop
-
- 18. PASSCHK() - password checker
-
- 19. PERCENT() - Displays a %, of how far into a PACK/USEs
-
- 20. PICKIT() - Picklist validator - for ACHOICE()
-
- 21. PRNTOK() - checks on status of Printer
-
- √ 22. PRTOF() - checks to see if Printer is at TOF, else
- ejects
-
- 23. PULLOUT() - pullout any data from a specific position
- in a string.
-
- 24. RANDFIL() - random file creater
-
- 25. SERIAL() - returns the serial number of your TMCEL.LIB
-
- 26. THEPATH() - will seek and display the PATH of a file
-
- √ 27. VERTMCL() - returns version of TMCEL.LIB
-
- 28. VLD_ST() - Validates a STates 2-digit code
-
- 20. VLD_AC() - Validates a phones Areacode number
-
- 30. VLD_CAN() - Validates a Canadian Province Code
-
-
-
- √ = available ONLY; (26 functions) in ShareWare version.
-
- ┌───────────────────────────────────────────────────────┐
- ┌─┘ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │
- ┌─┘ ▒▒▓▓ ▓▓ │
- │ ░░▒▒▓▓ TMCEL LIBRARY - Version 1.4 ▓▓ │
- │ ░░▒▒▓▓ Clipper Electronic Library for: Engineers ▓▓ │
- │ ░░▒▒▓▓ Copyright (c) 1991,92 by: Ted J. Mieske ▓▓ │
- │ ░░▒▒▓▓ ▓▓ │
- │ ░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │
- │ ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ┌─┘
- │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ┌─┘
- └───────────────────────────────────────────────────────┘
-
-
-
- Why this Library? Well sure, you see libraries that will control
- your Printer, make Boxes, handle Arrays or a number of Date func-
- tions, but; have you ever seen a .LIB that would perform extensive
- Time, Date, HP Laser Printer, Environmental, Electronic, Ham Radio
- or Audio formula calculations? How about instant-display of sche-
- matic circuits and diagrams for reference, or display and hear the
- frequencies of a telephone? (sort-of!)
-
- We put 2 years into this pup, and except for 4 modules that had to
- be written in 'C' or .ASM, the rest is pure Clipper code! Although
- we have moved into the realm of 5.0x and GUI and ... well you know.
- The first release will be for Clipper Summer '87. We did this for
- the simple reason that a number of you just don't want to switch,
- and we WANT your business too!
-
- I kept this intro short, so as not to: (1) bore you, and (2), get
- to the heart of its functions and use... Although it is being offer-
- ed as 'SHAREWARE'... (you know this was comming)! To get the source
- code and the rest of the fucntions ... send your bucks! We will do
- the rest.
-
- EXTRA'S!
-
- There are a number of functions that ARE-NOT listed, but will be
- included in the shareware and registered version. See !README.DOC
-
-
- Also send in your ideas or modifications that you need or fixes that
- we missed. We want you a happy camper so we can sell a few of these,
- and get moved back to the West Coast. (I HATE BEING LAND-BOUND, I
- *NEED* MY OCEAN, CLEAN-AIR, AND NON-SMOKERS BACK!!!!!)
-
- In time, I will have a direct BBS for support, for the time being,
- you can call: SILICON ALLY at (817)294-4566 for updates and com-
- plaints (sure we take those too!) They have offered to do this for
- us, and you can leave mail directly to me. If for some reason they
- 'close shop', we will PostCard you another location.
-
-
-
- FUTURE ITEMS
-
- I am already working on interfacing the outside world for the next
- version of TMCEL.LIB! I have planed, an IN() and OUT function like
- BASIC Programs have; this way, you can do D/A and A/D, or control
- projects such as home security systems, open/close blinds, start
- the java in the morning... how about automating some operation or
- calling and polling a remote site for collecting data. And MORE,
- how about data aquisition control or automate that model RailRoad!
-
- Mouse support will also be added, as well as reading various types
- of picture files: .GIF, .PCX, .TIFF ... etc. etc.
-
-
- NOTE: You will find a separate file called: TMCELBN.DOC
- which lists SOME of the various Schematic screens
- used in performing calculations, as well as look-
- up tables for reference...these are in the regis-
- tered version.
-
-
-
- HERE GOES!
-
-
- LAST MINUTE INFO
-
- As usual, for last-minute updates, read the !README.DOC file that
- is located on the disk, or in the .ZIP file *FIRST*.
-
-
-
-
-
-
- CORRESPONDENCE
-
- To write us, address your input to: T.M.S. Micro
- 209 Hurstview Dr.
- Ft. Worth, TX 76053-6726
-
-
-
-
- LINKING the .LIB
-
- Before Compiling/Linking we would like to suggest that some
- environment variables be set *FIRST*, as follows in your
- AUTOEXEC.BAT:
-
- SET CLIPPER=F65,V22,R26,E0
-
- The reason for the F65, is for network purposes, you may want
- to ajust this down to F41 on standalone systems. Setting "V" &
- "R" are up to you. We have found that if "E" is set to Zero (0),
- you will avoid the posiblilty of a "System Crash", do to the
- dreaded "OUT OF MEMORY" or Index's-corrupting-for-*NO*-appearent
- -reason syndrome!
-
-
-
- We *ONLY* work with just one, and that is Blinker! A two second
- re-link beats the "P - word" linker, that will take 7-20 minutes,
- so why use it? GO FIGURE ... If you use another, that's up to
- you; so here's the command sequence for Blinker on the command
- line:
-
- BLINKER FI <files> LI TMCEL, CLIPPER, EXTEND <--<< order IS important!
-
- ------------------------------------------------------------------
-
- From a batch (.BAT) file, our example would look like this:
-
- BLINK.BAT - the following lines are in this .BAT:
-
- CLIPPER %1
- BLINKER FI %1 LI TMCEL, CLIPPER, EXTEND
- DEL %1.OBJ
-
- ------------------------------------------------------------------
-
- BLINK1.BAT - another approach when using a .LNK file:
-
- CLIPPER %1
- BLINKER @FILENAME.LNK <--<< the .LNK is NOT necessary
-
- The FILENAME.LNK would have the following layout:
-
- #BLINKER INCREMENTAL OFF <--<< remove the '#' sign to save
- FI %1 .EXE size; of course, you will
- LI TMCEL LOOSE line numbers on errors.
- LI CLIPPER, EXTEND
-
- So there are a few simple ways to handle the process.
-
-
-
- SO YOU WANT TO MAKE YOUR *OWN* LIBRARY ... HERE'S HOW
-
- You should have a copy of LIB.EXE 3.17 or newer. Older versions
- will cause a "1005:lib. has NO cross reference", annoying error
- from Blinker, but is NOT critical!
- The Syntax would be: LIB <LIBNAME> <SWITCHS+OBJECT> ;
-
- EXAMPLE: LIB TMCEL -+_MODULE1 -+_MODULE2 -+_MODULE3 ;
-
- This will create/update TMCEL.LIB with the list of .OBJ files
- you passed it. SIMPLE!
-
-
- The steps are as follows:
-
- 1. Compile your FILENAME.PRG file (some may require the -m switch),
- so that only the main modules is compiled.
-
- 2. Add/Update the module (.OBJ) to your library
-
- List of switchs: + add .OBJ to the Library
- - remove .OBJ from the Library
- * extract .OBJ name without removing
- -+ replace .OBJ in the Library
- -* extract .OBJ and remove from Library
-
-
-
- THE LAYOUT
-
- The library is broken down into groups of related use, so you
- can find a function fast. They are:
-
- ■ ELECTRONIC ■ AUDIO ■ MATH
- ■ WINDOWS ■ DATE/TIME ■ TOOLS
- ■ SCHEMATIC/DIAGRAMS ■ NETWORK
-
- So lets go through them one group at a time ...
-
-
-
-