home *** CD-ROM | disk | FTP | other *** search
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ 01/26/92 SPCCHK.SPR 13:57:08 ║
- * ║ ║
- * ╟─────────────────────────────────────────────────────────╢
- * ║ ║
- * ║ Author's Name ║
- * ║ ║
- * ║ Copyright (c) 1992 Company Name ║
- * ║ Address ║
- * ║ City, Zip ║
- * ║ ║
- * ║ Description: ║
- * ║ This program was automatically generated by GENSCRN. ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
-
-
- #REGION 0
- REGIONAL m.currarea, m.talkstat, m.compstat
-
- IF SET("TALK") = "ON"
- SET TALK OFF
- m.talkstat = "ON"
- ELSE
- m.talkstat = "OFF"
- ENDIF
- m.compstat = SET("COMPATIBLE")
- SET COMPATIBLE FOXPLUS
-
- m.currarea = SELECT()
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ Window definitions ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- IF NOT WEXIST("spcchk")
- DEFINE WINDOW spcchk ;
- FROM INT((SROW()-9)/2),INT((SCOL()-48)/2) ;
- TO INT((SROW()-9)/2)+8,INT((SCOL()-48)/2)+47 ;
- TITLE "Field Space Usage Calculator" ;
- FLOAT ;
- CLOSE ;
- SHADOW ;
- MINIMIZE ;
- SYSTEM ;
- COLOR SCHEME 8
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ SPCCHK Setup Code - SECTION 2 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- PUBLIC oldesc, oldecho, oldtalk, tindex
- SET SYSMENU AUTOMATIC
-
- tindex = "" && temporary index filename
- oldesc = SET("ESCAPE")
- SET ESCAPE OFF
- oldecho = SET("ECHO")
- SET ECHO OFF
- oldtalk = SET("TALK")
- SET TALK OFF
-
- ON ERROR DO Shutdown WITH ;
- ERROR(), MESSAGE(), MESSAGE(1), PROGRAM(), LINENO(), tindex
-
- *
- * Do this for screen shot
- *
- IF SROWS() < 26 .AND. SCOLS() < 81
- CLEAR
- SET COLOR TO W+/N
- pcmag="PC Magazine Databases PC Magaz"+;
- "ine Databases PC Magazine Data"+;
- "bases PC Magazine "
- single = CHR(218)+CHR(196)+CHR(191)+;
- CHR(179)+CHR(217)+CHR(196)+CHR(192)+;
- CHR(179)
- @ 1, 0, 24, 79 BOX single+"x"
- i = 2
- DO WHILE i <=23
- @ i,1 SAY pcmag
- i = i + 1
- ENDDO
- ENDIF
-
- IF "" = ALIAS()
- fln = GETFILE("DBF","Select the file to space check:")
- IF "" = fln
- CLEAR
- RETURN
- ELSE
- USE (fln)
- ENDIF
- ENDIF
-
- okbutton = "Check Usage"
- fldvar = 1 && initialize to zero
- fldcount = AFIELDS(fldlist)
-
- *
- * Remove non-character fields from the array
- * and redimension the array
- *
- X = 1
- DO WHILE X <= fldcount
- IF fldlist(X,2) <> "C"
- =ADEL(fldlist,X)
- fldcount = fldcount - 1
- ELSE
- X = X + 1
- ENDIF
- ENDDO
- DECLARE fldlist[fldcount,4] && redimension
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ SPCCHK Screen Layout ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- IF WVISIBLE("spcchk")
- ACTIVATE WINDOW spcchk SAME
- ELSE
- ACTIVATE WINDOW spcchk NOSHOW
- ENDIF
- @ 1,24 GET fldvar ;
- PICTURE "@^" ;
- FROM fldlist ;
- SIZE 3,13 ;
- DEFAULT 1 ;
- COLOR SCHEME 8, 9
- @ 2,8 SAY "Field to check:" ;
- COLOR BG+/BG
- @ 5,9 GET okbutton ;
- PICTURE "@*HN Check \<Usage;\?\<Cancel" ;
- SIZE 1,13,1 ;
- DEFAULT 1 ;
- VALID _q2m0twlji()
-
- IF NOT WVISIBLE("spcchk")
- ACTIVATE WINDOW spcchk
- ENDIF
-
- READ CYCLE
-
- RELEASE WINDOW spcchk
- SELECT (m.currarea)
-
-
- #REGION 0
- IF m.talkstat = "ON"
- SET TALK ON
- ENDIF
- IF m.compstat = "ON"
- SET COMPATIBLE ON
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ SPCCHK Cleanup Code ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- SET ESCAPE &oldesc
- SET TALK &oldtalk
- SET ECHO &oldecho
- CLEAR
-
-
- ***********************************************************
- * PROCEDURE Shutdown - Called by ON ERROR
- *
- * This is an abbreviated error handler that just closes
- * everything and cancels, displaying some messages...
- *
- ***********************************************************
- PROCEDURE Shutdown
- PARAMETER merror, mess, mess1, mprog, mlineno, tfile
- CLOSE INDEX
- CLOSE DATABASES
- FLUSH
- RELEASE WINDOW spcchk
- CLEAR
- ?
- ? 'Error number: ' + LTRIM(STR(merror))
- ? 'Error message: ' + mess
- ? 'Line of code with error: ' + mess1
- ? 'Line number of error: ' + LTRIM(STR(mlineno))
- ? 'Program with error: ' + mprog
-
- *
- * IF FILE(tfile + ".IDX")
- * DELETE FILE (tfile + ".IDX")
- * ENDIF
-
- CANCEL
-
- RETURN
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _Q2M0TWLJI okbutton VALID ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ From Screen: SPCCHK, Record Number: 4 ║
- * ║ Variable: okbutton ║
- * ║ Called By: VALID Clause ║
- * ║ Object Type: Push Button ║
- * ║ Snippet Number: 1 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _q2m0twlji && okbutton VALID
- #REGION 1
- DO CASE
- CASE okbutton = "Check Usage"
- oldord = ORDER()
- tindex = SYS(3) && temporary file name
- fldname = fldlist(fldvar,1)
- fldwidth = fldlist(fldvar,3)
- WAIT WINDOW "Working..." NOWAIT
- INDEX ON LEN(ALLTRIM(&fldname)) TO (tindex) COMPACT
- GO BOTTOM
- maxwid = LEN(ALLTRIM(&fldname))
- msgnum = ALLTRIM(TRANSFORM(maxwid,"999,999"))
- msg = "Maximum usage is " + msgnum + " bytes out of " + ;
- ALLTRIM(TRANSFORM(fldwidth,"999,999")) + ". "
- msgnum = ALLTRIM(TRANSFORM(RECCOUNT()*(fldwidth-maxwid),"9,999,999,999"))
- msg = msg + "Savings potential is " + msgnum + " bytes."
- WAIT msg WINDOW
- SET INDEX TO
- IF "" <> oldord
- SET INDEX TO (oldord)
- ENDIF
- DELETE FILE (tindex+".idx")
- _CUROBJ = 1 && go back to fields popup
- OTHERWISE
- CLEAR READ
- ENDCASE
- RETURN
-