home *** CD-ROM | disk | FTP | other *** search
- CASE "USE"
- F$=POPARG$
- IF F$="" THEN DBUSE "",e%:EXIT SELECT
- IF INSTR(F$,".")=0 THEN F$=F$+".DBF"
- DBUSE F$,e%
- SELECT CASE e%
- CASE 1:BOZOPRINT "Database file not found"+CrLf$
- CASE 2:BOZOPRINT "Zero byte file"+CrLf$
- CASE 3:BOZOPRINT "File has no fields"+CrLf$
- CASE 4:BOZOPRINT "Not a dBASE database file"+CrLf$
- END SELECT
- IF Prog%=0 THEN
- BOZOPRINT STR$(Numberoffields?) + " in " + STR$(NumberOfRecords???)+ " records."+CrLf$
- END IF
-
- CASE "GET"
- R???=VAL(POPARG$)
- dBGetRecord R???,e%
- SELECT CASE e%
- CASE 0 ' success
- CASE 1:BOZOPRINT "Database not open"+CrLf$
- CASE 2,3:BOZOPRINT "Invalid record number"+CrLf$
- END SELECT
-
- CASE "PUT"
- R???=VAL(POPARG$)
- For i%=1 TO NumberOfFields?
- IF DBS(i%).FieldType="N" THEN
- DBPutNField (DBS(i%).FieldName),VAL(GETVAR$((DBS(i%).FieldName)) ),e%
- ELSE
- DBPutCField (DBS(i%).FieldName),GETVAR$((DBS(i%).FieldName)),e%
- END IF
- VCLEAR (DBS(i%).FieldName)
- NEXT i%
- DBPutRecord R???,e%
- SELECT CASE e%
- CASE 1:BOZOPRINT "Database not open"+CrLf$
- CASE 2:BOZOPRINT "Invalid Record Number"+CrLf$
- END SELECT
-
- IF LEN(INDEX$) THEN
- BT Index$,"A", UCASE$(DBGetCField$(IndexField$,e%)),MKDWD$(RecNum???),"","",r%
- IF NOT r% THEN BOZOPRINT "Error updating index file"+CrLf$
- END IF
-
- CASE "CREATEFORMAT"
- IF Comline=0 AND dBASEOpen% THEN
- DBCreateFormat
- ELSE
- BOZOPRINT "Cannot create a format now."+CrLf$
- END IF
-
- CASE "CREATEINDEX"
- I$=POPARG$:IF INSTR(I$,".")=0 THEN I$=I$+".BTX"
- F$=POPARG$:IF F$="" THEN F$=LEFT$(I$,INSTR(I$,".")-1)
- DBCreateIndex I$, F$, e%
- SELECT CASE e%
- CASE 1:BOZOPRINT "Database not open"
- CASE 2:BOZOPRINT "Invalid Field name"
- CASE 3:BOZOPRINT "Cannot create file"
- CASE 4:BOZOPRINT "Error reading database"
- CASE 5:BOZOPRINT CrLf$+"*ABORTED*"
- CASE 6:BOZOPRINT "Internal error"
- CASE 7:BOZOPRINT "Disk Write Error"
- END SELECT
- BOZOPRINT CrLf$
- CASE "FORMAT"
- dBSetFormatTo POPARG$,e%
- IF e% THEN BOZOPRINT "Format file not found"+CrLf$
-
- CASE "VIEW"
- DBView
-
- CASE "EDIT"
- e%=0
- R???=VAL(POPARG$)
- IF R???=0 THEN CALL dBEditFields (e%) ELSE dBEditRecord R???,e%
- IF e% THEN BOZOPRINT "Invalid Record Number"+CrLf$
- CASE "APPEND"
- dBAppendRecord e%
- IF e% THEN BOZOPRINT "APPEND error"+CrLf$
-
- CASE "DELIMITED"
- PUSHARG DBGetASCII$
-
- CASE "INDEX"
- I$=POPARG$
- IF I$="" THEN DBSetIndexTo "","",e%:EXIT SELECT
- IF INSTR(I$,".")=0 THEN I$=I$+".BTX"
- F$=POPARG$:IF F$="" THEN F$=LEFT$(I$,INSTR(I$,".")-1)
- DBSetIndexTo I$, F$, e%
- SELECT CASE e%
- CASE 1:BOZOPRINT "Database not open"+CrLf$
- CASE 2:BOZOPRINT "Invalid Field Name"+CrLf$
- CASE 3:BOZOPRINT "Index file not found"+CrLf$
- END SELECT
-
- CASE "FIND"
- Findme$=POPARG$
- F$=FINDME$
- DBSearchIndex Findme$,e%
- IF e% THEN BOZOPRINT "FIND error"+CrLf$:EXIT SELECT
- IF UCASE$(F$)<>UCASE$(LEFT$(FINDME$,LEN(F$))) THEN _
- BOZOPRINT "Not found"+CrLf$:Found=%False ELSE Found=%True
- CASE "NEXT"
- DBSkip 1, E%
- IF e% THEN BOZOPRINT "Can't SKIP"+CrLf$:DBEND%=-1
- CASE "PREV","PREVIOUS"
- DBSkip -1, E%
- IF e% THEN BOZOPRINT "Can't SKIP"+CrLf$:DBEND%=-1
- CASE "SKIP"
- R&=VAL(POPARG$):IF R&>32767 OR R&<-32767 THEN _
- BOZOPRINT "SKIP out of range"+CrLf$:EXIT SELECT
- R%=R&
- DBSkip R%, E%
- IF e% THEN BOZOPRINT "Can't SKIP"+CrLf$
- DBEND%=e%
- CASE "TOP","FIRST"
- DBGOTOTOP e%
- IF e%=1 THEN BOZOPRINT "Database error"+CrLf$
- IF e%=2 THEN BOZOPRINT "Index error"+CrLf$
- CASE "BOTTOM","LAST"
- DBEND%=-1
- DBGOTOBOTTOM e%
- IF e%=1 THEN BOZOPRINT "Database error"+CrLf$
- IF e%=2 THEN BOZOPRINT "Index error"+CrLf$
- CASE "ISOPEN" :PUSHARG STR$(ISTRUE dBaseOpen%)
- CASE "RECNUM","RECNO" :PUSHARG STR$(RecNum???)
- CASE "NUMFIELDS" :PUSHARG STR$(NumberOfFields?)
- CASE "COUNT" :PUSHARG STR$(NumberOfRecords???)
- CASE "INDEXFILE" :PUSHARG INDEX$
- CASE "INDEXFIELD" :PUSHARG INDEXFIELD$
- CASE "DBEND" :PUSHARG STR$(DBEND%)