home *** CD-ROM | disk | FTP | other *** search
-
- CLIPPER WINTER '85 ANOMALY REPORT
- Researched and tested by Steve Straley
- Posted March 6th, 1986
-
- Number-Command Description / Example / Work-around
- ==================================================================
-
- 1. CREATE <filename>
-
- If a file is CREATEd "on the fly", using Clipper's internal
- CREATE command, character fields can not be initialized with
- a length over 256. Ironically, there was a "push" to have
- Jon's CREATE utility program to accept character fields
- over 256.
-
- [Example: Test1.prg]
-
- CREATE Temp
- USE Temp
- REPLACE field_name WITH "SAMPLE"
- REPLACE field_type WITH "C"
- REPLACE field_len WITH 3000
- USE
- CREATE Showit FROM Temp
- USE Showit
- GO TOP
- ? LEN(sample)
-
- 2. CREATE <filename> - Utility Program
-
- If a file extention other than .DBF is wanted: forget it.
- For example, if a file name is "HELP.DAT" and modification to
- the structure is needed with the use of the CREATE utility,
- the utility program will return with a message:
-
- "Unable to CREATE Help.dat.dbf"
-
- 4. INDEX ON <key> TO <filename>
-
- If a memo file is used in conjunction with an INDEX file with
- an extention other than an .NTX (default), the INDEX ON
- command will zap out the contents of the memo file.
-
- [Example: Test4.prg]
-
- 5. @ ... SAY <expC> PICT "###.##%"
-
- If this PICTURE is used with an expression with more than one
- operator, the percent sign will not print out.
-
- [Example: Test5.prg]
-
- STORE 1 TO a
- STORE 3 TO b
- @ 1,1 SAY a/b PICT "###.##%" && .33
- @ 2,1 SAY a/b * 100 + .005 PICT "###.##%" && 33.00
- @ 3,1 SAY a/b * 100 PICT "###.##%" && 33.00
- @ 4,1 SAY a/b + .005 PICT "###.##%" && .33
-
-
- 6. STORE <string> TO <expC>
-
- If overlays are used with the OVERLAY NIL, $CONSTANTS command
- for Plink86 and a charcter memvar initialized in the calling
- routine is changed in an overlay, then all strings must be
- converted to expressions in order to prevent the machine from
- locking up, from producing a system memory error, or even
- changing the values of variables throughout the application.
-
- WORKAROUND: STORE "string" + "" TO variable
-
- 7. COPY TO <filename>
-
- Still returns a "1 file(s) copied" message.
-
- 8. @ ... SAY <expC> PICT "@Z ###.##"
-
- Numbers with this PICTURE clause will have decimals dropped.
-
- [Example: Test8.prg]
-
- store 0 to c, d, e
- clear
- @ 13,10 GET c PICT "@Z ###.##" && 33.00
- @ 14,10 GET d PICT "@Z###.##" && 33.33
- @ 15,10 GET e PICT "@Z ###.##" && 33.00
- READ
-
-
- WORKAROUND: Remove the space in the PICTURE clause between the
- "Z" and the first "#".
-
- 9. TYPE <filename>
-
- The TYPE command does not close the file once it has been
- open.
-
- WORKAROUND: RUN TYPE <filename>
- Acquire TYPEFIX.OBJ from Tech. Support
-
- 10. ROUND(expN, expN)
-
- Clipper does not handle a negative integer as the second
- parameter in the ROUND command/function. In dBASEIII, a
- ROUND(4400,-3) would yield a 4000.
-
- WORKAROUND: ROUND(number / 1000) * 1000
-
- 11. CLIPPER - Constants
-
- If in a CLiP file a list of programs are listed for
- compilation, and the list will exceed the constant table
- size, no error will be generated and at the end of the
- compiling progess, the constant size registers a negative
- number.
-
- 12. @ SAY ... GET PICT "(###)###-###"
-
- If a numeric value is initialized to 0 and an @ SAY ... GET
- is performed on that variable using the PICTURE clause
- above, the last three digits are dropped.
-
- [Example: Test12.prg]
-
- STORE 0 TO x
- @ 10,12 SAY "Enter phone number: " GET x PICT "(###)###-####"
- READ
- ? x
-
- 13. LINKING - 2 Floppy Disk System
-
- Because of the increase in size of the CLIPPER.LIB, the
- following is the recomended procedure for linking an
- application on a restrictive two floppy disk system.
-
- DRIVE A: CLIPPER.LIB
- Object files up to 45k in size
-
- DRIVE B: PLINK86.EXE
- Object files up to 100k in size
- Allowing an executable file of 180k.
-
- Keep in mind that the allotted space for the executable file
- is dependant on available space as well as the amount of
- object code being linked. Start the linking from the B:
- drive, calling the A: drive for the Clipper.Lib as well as
- any other abject file located there. Keep in mind that due
- to this new way of linking, the entire batch file scheme is
-
- --End--