Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
ppl-dbase-functions-statements [2019-04-12 15:18] – stimpyppl-dbase-functions-statements [2026-08-23 08:35] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== DBASE III FUNCTIONS & STATEMENTS ====== 
-PPL provide a load of functions & statements to access DBase III files...   
  
-===== STATEMENTS ===== 
- 
- DCREATE    channel,name,exclusive,fieldInfo ; create DBF file 
- DOPEN      channel,name,exclusive           ; open DBF file 
- DCLOSE     channel                          ; close DBF file 
- DSETALIAS  channel,name                     ; set DBF alias 
- DPACK      channel                          ; pack DBF file 
- DLOCK      channel                          ; lock DBF file 
- DLOCKF     channel                          ; lock DBF file (same as DLOCK) 
- DLOCKR     channel,recno                    ; lock a record 
- DLOCKG     channel,recnos,count             ; lock a group of records 
- DUNLOCK    channel                          ; unlock any current locks 
- DNCREATE   channel,name,expression          ; create NDX file 
- DNOPEN     channel,name                     ; open NDX file 
- DNCLOSE    channel,name                     ; close NDX file 
- DNCLOSEALL channel                          ; close all NDX files 
- DNEW       channel                          ; start a new record 
- DADD       channel                          ; add the new record 
- DAPPEND    channel                          ; append a blank record 
- DTOP       channel                          ; go to top record 
- DGO        channel,recno                    ; go to specific record 
- DBOTTOM    channel                          ; go to bottom record 
- DSKIP      channel,number                   ; skip +/- a number of records 
- DBLANK     channel                          ; blank the record 
- DDELETE    channel                          ; delete the record 
- DRECALL    channel                          ; recall the record 
- DTAG       channel,name                     ; select a tag 
- DSEEK      channel,expression               ; string or double 
- DFBLANK    channel,name                     ; blank a named field 
- DGET       channel,name,var                 ; get a value from a named field 
- DPUT       channel,name,expression          ; put a value to a named field 
- DFCOPY     channel,name,channel,name        ; copy a field to a field 
- DCLOSEALL                                   ; close all DBF files 
- 
-===== FUNCTIONS ===== 
- 
- DRECCOUNT (channel)        (INTEGER)        ; return the number of records 
- DRECNO    (channel)        (INTEGER)        ; return the current record number 
- DBOF      (channel)        (BOOLEAN)        ; return the begin of file status 
- DEOF      (channel)        (BOOLEAN)        ; return the end of file status 
- DDELETED  (channel)        (BOOLEAN)        ; return the deleted flag 
- DCHANGED  (channel)        (BOOLEAN)        ; return the changed flag 
- DFIELDS   (channel)        (INTEGER)        ; return count of fields 
- DNAME     (channel,number) (STRING)         ; return name of numbered field 
- DTYPE     (channel,name)   (STRING)         ; return type of named field 
- DLENGTH   (channel,name)   (INTEGER)        ; return length of named field 
- DDECIMALS (channel,name)   (INTEGER)        ; return decimals of named field 
- DSELECT   (alias)          (INTEGER)        ; returns channel assiciated with alias 
- DSEEK     (channel,expression) (INTEGER)    ; returns error status ( 0|1 ) 
-     ; or seek success (0 = Error 
-     ; 1 = success, 2 = following record 
-     ; 3 = end of file ) 
- DGETALIAS (channel)        (STRING)                 ; return the current alias 
- DCLOSEALL                  (BOOLEAN) error status   ; close all DBF files 
- DOPEN     (channel,name,exclusive)(BOOLEAN) error   ; open DBF file 
- DCLOSE    (channel)        (BOOLEAN) error status   ; close DBF file 
- DSETALIAS (channel,name)   (BOOLEAN) error status   ; set DBF alias 
- DPACK     (channel)        (BOOLEAN) error status   ; pack DBF file 
- DLOCK     (channel)        (BOOLEAN) error status   ; lock DBF file 
- DLOCKR    (channel,recno)  (BOOLEAN) error status   ; lock a record 
- DUNLOCK   (channel)        (BOOLEAN) error status   ; unlock any current locks 
- DNOPEN    (channel,name)   (BOOLEAN) error status   ; open NDX file 
- DNCLOSE   (channel,name)   (BOOLEAN) error status   ; close NDX file 
- DNCLOSEALL(channel)        (BOOLEAN) error status   ; close all NDX files 
- DNEW      (channel)        (BOOLEAN) error status   ; start a new record 
- DADD      (channel)        (BOOLEAN) error status   ; add the new record 
- DAPPEND   (channel)        (BOOLEAN) error status   ; append a blank record 
- DTOP      (channel)        (BOOLEAN) error status   ; go to top record 
- DGO       (channel,recno)  (BOOLEAN) error status   ; go to specific record 
- DBOTTOM   (channel)        (BOOLEAN) error status   ; go to bottom record 
- DSKIP     (channel,number) (BOOLEAN) error status   ; skip +/- a number of records 
- DBLANK    (channel)        (BOOLEAN) error status   ; blank the record 
- DDELETE   (channel)        (BOOLEAN) error status   ; delete the record 
- DRECALL   (channel)        (BOOLEAN) error status   ; recall the record 
- DTAG      (channel,name)   (BOOLEAN) error status   ; select a tag 
- DFBLANK   (channel,name)   (BOOLEAN) error status   ; blank a named field 
- DGET      (channel,name)   (STRING)                 ; get a value from a named field 
- DPUT      (channel,name,expression)(BOOLEAN) error  ; put a value to a named field 
- DFCOPY    (channel,name,channel,name)(BOOLEAN) error; copy a field to a field 
- DERR      (channel)        (BOOLEAN)            ; return error flag for channel 
- DERRMSG   (errcode)        (STRING)            ; returns last DBase error text. 
- 
-**CAUTION:** DBase functions that return the error status actually return !ERROR. This is to provide a consistent way to express an error in an expression.   
- 
-**For example:**   
- if ( DERR (...)) println "Error!"       ;DERR  returns 1 or TRUE on an error. 
- if (!DSEEK(...)) println "Seek failed!" ;DSEEK returns 0 or FALSE on an error. 
- 
-**NOTE:**   
-Where file names are used, file extensions are optional. Any extension you provide will be ignored. DBF and IDX are the default. 
- 
- channel:    Any value between 0 and 7 
- name:       Char string 
- exclusive:  Integer (TRUE || FALSE) 
- fieldinfo:  Character string with the following fields 
- 1- Field name 
- 2- Field Type 
- C = Character 
- N = Numeric 
- F = Floating Point 
- D = Date 
- L = Logical 
- M = Memo 
- 3- Field Length 
- 4- Decimal (number of digits to the right of the decimal) 
- 
-**EXAMPLE:**   
- 
- string finfo(3) 
- let finfo(0) = "First,C,20,0" 
- let finfo(1) = "Last,C,20,0" 
- let finfo(2) = "Phone,C,15,0" 
-  
-**NOTE:**   
-Multiple fields require an array of strings. 1 string for each field. 
-expression : Character String with search criteria on a field. 
- 
-**EXAMPLE:**   
- 
- string expr 
- let expr = "First" 
- recno,recnos,number,count: integers 
- 
----- 
-**Tags:** {{tag>ppl dbase db}}