21. The Direct FileFlex API Interface

You can directly access the FileFlex engine by passing it an appropriate set of parameters. We always recommend using the wrapper scripts, but our users have requested the full list of function calls for the occassional direct access. So here it is.

FileFlex Parameters

All parameters passed to FileFlex engine must be of the string data type. These include the function call numbers.

FileFlex Calls by Name

-- DBAverage ------------------------------------------------------
Direct Call:                    FileFlex(22, numFieldName) / FileFlex(19)
FileFlex DB Call:               DBAverage(numFieldName)

-- DBBottom -------------------------------------------------------
Direct Call:                    FileFlex(12)
FileFlex DB Call:               DBBottom()

-- DBBuildSeekExpr ------------------------------------------------
Direct Call:                    FileFlex(45, indexID, val, ...)
FileFlex DB Call:               DBBuildSeekExpr(indexID, val, ...)

-- DBCheckIndex ---------------------------------------------------
Direct Call:                    FileFlex(34, indexID)
FileFlex DB Call:               DBCheckIndex(indexID)

-- DBClose --------------------------------------------------------
Direct Call:                    FileFlex(4,dbID)
FileFlex DB Call:               DBClose(dbID)

-- DBCloseAll -----------------------------------------------------
Direct Call:                    FileFlex(6)
FileFlex DB Call:               DBCloseAll()

-- DBCloseIndex ---------------------------------------------------
Direct Call:                    FileFlex(8,indexID)
FileFlex DB Call:               DBCloseIndex(indexID)

-- DBClosePlatform ------------------------------------------------
Direct Call:                    ** Not available **
FileFlex DB Call:               DBClosePlatform()
Note: This is a script you're expected to write or modify from the provided wrapper scripts.
-- DBCloseSession -------------------------------------------------
Direct Call:                    FileFlex(2)
FileFlex DB Call:               DBCloseSession()
Note: FileFlex(2) expects to set/check a global variable called gDBActive1030. Make sure you set gDBActive1030 to "" (empty) before calling FileFlex(2). If gDBActive1030 is already empty, then don't call FileFlex(2).
-- DBCopyright ----------------------------------------------------
Direct Call:                    FileFlex(999)
FileFlex DB Call:               DBCopyright()

-- DBConvertCRLF --------------------------------------------------
Direct Call:                    FileFlex(41,data,option)
FileFlex DB Call:               DBConvertCRLF(data,option)

-- DBCount --------------------------------------------------------
Direct Call:                    FileFlex(19)
FileFlex DB Call:               DBCount()

-- DBCreate -------------------------------------------------------
Direct Call:                    FileFlex(33, dbName, numFields,
                                  fields, safety)
FileFlex DB Call:               DBCreate(dbName, numFields, fields,
                                  safety)

-- DBCreateIndex --------------------------------------------------
Direct Call:                    FileFlex(31, indexName, indexExpr,
                                  unique, safety)
FileFlex DB Call:               DBCreateIndex(indexName, indexExpr,
                                  unique, safety)

-- DBCurrDBNum ----------------------------------------------------
Direct Call:                    FileFlex(36)
FileFlex DB Call:               DBCurrDBNum()
Note: Returns the current db number
-- DBCurrRecNum ---------------------------------------------------
Direct Call:                    FileFlex(21)
FileFlex DB Call:               DBCurrRecNum()

-- DBDatabaseExists -----------------------------------------------
Direct Call:                    FileFlex(43, datafile[, path])
FileFlex DB Call:               DBDatabaseExists(datafile[, path])

-- DBDecrypt ------------------------------------------------------
Direct Call:                    FileFlex(39, string, key)
FileFlex DB Call:               DBDecrypt(string, key)

-- DBDeleteRecs ---------------------------------------------------
Direct Call:                    FileFlex(15, startRec, endRec)
FileFlex DB Call:               DBDeleteRecs(startRec, endRec)

-- DBEncrypt ------------------------------------------------------
Direct Call:                    FileFlex(38, string, key)
FileFlex DB Call:               DBEncrypt(string, key)

-- DBFindMemo -----------------------------------------------------
Direct Call:                    FileFlex(40, memofield, string)
FileFlex DB Call:               DBFindMemo(memofield, string)

-- DBGetCurrRecVal ------------------------------------------------
Direct Call:                    FileFlex(28, containerType)
FileFlex DB Call:               DBGetCurrRecVal(containerType)
Note: If containerType is "B" or "C", FileFlex attempts to place its values into HyperCard or SuperCard background or card fields, respectively. This is one of the few places where FileFlex makes direct HyperCard callbacks. If you're not in HyperCard, don't pass "B"or "C" (choose some other character, like "A", instead). If containerType is "G", FileFlex attempts to place its field values into matching global variables, creating them if they don't exist. This function supports decryption. See Office-Quality Encryption for syntax.
-- DBGetFieldByName -----------------------------------------------
Direct Call:                    FileFlex(26, fieldName)
FileFlex DB Call:               DBGetFieldByName(fieldName)
Note: This function supports decryption. See Office-Quality Encryption for syntax.
-- DBGetFieldByNum ------------------------------------------------
Direct Call:                    FileFlex(27, fieldNum)
FileFlex DB Call:               DBGetFieldByNum(fieldNum)
Note: This function supports decryption. See Office-Quality Encryption for syntax.
-- DBGetGlobal ---------------------------------------------------
Direct Call:                    FileFlex(201, globalName)
FileFlex DB Call:               DBGetGlobal(globalName)
-- DBGetMemo ------------------------------------------------------
Direct Call:                    FileFlex(24, memoField)
FileFlex DB Call:               DBGetMemo(memoField)
Note: This function supports decryption. See Office-Quality Encryption for syntax.
-- DBGo -----------------------------------------------------------
Direct Call:                    FileFlex(10,recNum)
FileFlex DB Call:               DBGo(recNum)

-- DBIndexExpr ---------------------------------------------------
Direct Call:                    FileFlex(44,indexID)
FileFlex DB Call:               DBIndexExpr(indexID)

-- DBInitPlatform -------------------------------------------------
Direct Call:                    ** Not Available **
FileFlex DB Call:               DBInitPlatform()
Note: This is a script you're expected to write or modify from the provided wrapper scripts.
-- DBListFields ---------------------------------------------------
Direct Call:                    FileFlex(29)
FileFlex DB Call:               DBListFields()

-- DBLocate (obsolete)--------------------------------------------
Direct Call:                    FileFlex(35, expr)
FileFlex DB Call:               DBLocate(expr)

-- DBListIndexFields --------------------------------------------
Direct Call:                    FileFlex(46, indexID, delim)
FileFlex DB Call:               DBListIndexFields(indexID, delim)

-- DBMaxRecs -----------------------------------------------------
Direct Call:                    FileFlex(47)
FileFlex DB Call:               DBMaxRecs()

-- DBOpenSession --------------------------------------------------
Direct Call:                    FileFlex(1)
FileFlex DB Call:               DBOpenSession()
Note: FileFlex(1) expects to set/check a global variable called gDBActive1030. Make sure you set gDBActive1030 to "true" before calling FileFlex(1). If gDBActive1030 is already true, then don't call FileFlex(1).
-- DBPack ---------------------------------------------------------
Direct Call:                    FileFlex(18)
FileFlex DB Call:               DBPack()

-- DBPlatform -----------------------------------------------------
Direct Call:                    FileFlex(42)
FileFlex DB Call:               DBPlatform()

-- DBQuery --------------------------------------------------------
Direct Call:                    FileFlex(35, expr)
FileFlex DB Call:               DBQuery(expr)

-- DBRecallRecs ---------------------------------------------------
Direct Call:                    FileFlex(16, startRec, endRec)
FileFlex DB Call:               DBRecallRecs(startRec, endRec)

-- DBRecordDeleted ------------------------------------------------
Direct Call:                    FileFlex(20, recNum)
FileFlex DB Call:               DBRecordDeleted(recNum)

-- DBReindex ------------------------------------------------------
Direct Call:                    FileFlex(32, indexID)
FileFlex DB Call:               DBReindex(indexID)

-- DBSeek ---------------------------------------------------------
Direct Call:                    FileFlex(13, seekExpr)
FileFlex DB Call:               DBSeek(seekExpr)

-- DBSelect -------------------------------------------------------
Direct Call:                    FileFlex(5,dbID)
FileFlex DB Call:               DBSelect(dbID)

-- DBSelectIndex --------------------------------------------------
Direct Call:                    FileFlex(9,indexID)
FileFlex DB Call:               DBSelectIndex(indexID)

-- DBSetGlobal ----------------------------------------------------
Direct Call:                    FileFlex(202,globalName, globalVal)
FileFlex DB Call:               DBSetGlobal(globalName, globalVal)

-- DBSkip ---------------------------------------------------------
Direct Call:                    FileFlex(14, num)
FileFlex DB Call:               DBSkip(num)

-- DBSum ----------------------------------------------------------
Direct Call:                    FileFlex(22, numFieldName)
FileFlex DB Call:               DBSum(numFieldName)

-- DBTop ----------------------------------------------------------
Direct Call:                    FileFlex(11)
FileFlex DB Call:               DBTop()

-- DBUse ----------------------------------------------------------
Direct Call:                    FileFlex(3,dbName [, pathSpec])
FileFlex DB Call:               DBUse(dbName [, pathSpec])

-- DBUseIndex -----------------------------------------------------
Direct Call:                    FileFlex(7,IndexName [,pathSpec])
FileFlex DB Call:               DBUseIndex(IndexName [,pathSpec])

-- DBVersion ------------------------------------------------------
Direct Call:                    FileFlex(0)
FileFlex DB Call:               DBVersion()

-- DBWriteMemo ----------------------------------------------------
Direct Call:                    FileFlex(25, memoField, memoVal)
FileFlex DB Call:               DBWriteMemo(memoField, memoVal)
Note: This function supports encryption. See Office-Quality Encryption for syntax.
-- DBWriteRec -----------------------------------------------------
Direct Call:                    FileFlex(30, containerType,recNum
                                  [, value])
FileFlex DB Call:               DBWriteRec(containerType,recNum
                                  [, value])
Note: This function supports encryption. See Office-Quality Encryption for syntax.
-- DBZapRecs ------------------------------------------------------
Direct Call:                    FileFlex(17, startRec, endRec)
FileFlex DB Call:               DBZapRecs(startRec, endRec)

FileFlex Calls by Number

-- 0 --------------------------------------------------------------
Direct Call:                    FileFlex(0)
FileFlex DB Call:               DBVersion()

-- 1 --------------------------------------------------------------
Direct Call:                    FileFlex(1)
FileFlex DB Call:               DBOpenSession()
Note: FileFlex(1) expects to set/check a global variable called gDBActive1030. Make sure you set gDBActive1030 to "true" before calling FileFlex(1). If gDBActive1030 is already true, then don't call FileFlex(1).
-- 2 --------------------------------------------------------------
Direct Call:                    FileFlex(2)
FileFlex DB Call:               DBCloseSession()
Note: FileFlex(2) expects to set/check a global variable called gDBActive1030. Make sure you set gDBActive1030 to "" (empty) before calling FileFlex(2). If gDBActive1030 is already empty, then don't call FileFlex(2).
-- 3 --------------------------------------------------------------
Direct Call:                    FileFlex(3,dbName [, pathSpec])
FileFlex DB Call:               DBUse(dbName [, pathSpec])

-- 4 --------------------------------------------------------------
Direct Call:                    FileFlex(4,dbID)
FileFlex DB Call:               DBClose(dbID)

-- 5 --------------------------------------------------------------
Direct Call:                    FileFlex(5,dbID)
FileFlex DB Call:               DBSelect(dbID)

-- 6 --------------------------------------------------------------
Direct Call:                    FileFlex(6)
FileFlex DB Call:               DBCloseAll()

-- 7 --------------------------------------------------------------
Direct Call:                    FileFlex(7,IndexName [, pathSpec])
FileFlex DB Call:               DBUseIndex(IndexName [, pathSpec])

-- 8 --------------------------------------------------------------
Direct Call:                    FileFlex(8,indexID)
FileFlex DB Call:               DBCloseIndex(indexID)

-- 9 --------------------------------------------------------------
Direct Call:                    FileFlex(9,indexID)
FileFlex DB Call:               DBSelectIndex(indexID)

-- 10 -------------------------------------------------------------
Direct Call:                    FileFlex(10,recNum)
FileFlex DB Call:               DBGo(recNum)

-- 11 -------------------------------------------------------------
Direct Call:                    FileFlex(11)
FileFlex DB Call:               DBTop()

-- 12 -------------------------------------------------------------
Direct Call:                    FileFlex(12)
FileFlex DB Call:               DBBottom()

-- 13 -------------------------------------------------------------
Direct Call:                    FileFlex(13, seekExpr)
FileFlex DB Call:               DBSeek(seekExpr)

-- 14 -------------------------------------------------------------
Direct Call:                    FileFlex(14, num)
FileFlex DB Call:               DBSkip(num)

-- 15 -------------------------------------------------------------
Direct Call:                    FileFlex(15, startRec, endRec)
FileFlex DB Call:               DBDeleteRecs(startRec, endRec)

-- 16 -------------------------------------------------------------
Direct Call:                    FileFlex(16, startRec, endRec)
FileFlex DB Call:               DBRecallRecs(startRec, endRec)

-- 17 -------------------------------------------------------------
Direct Call:                    FileFlex(17, startRec, endRec)
FileFlex DB Call:               DBZapRecs(startRec, endRec)

-- 18 -------------------------------------------------------------
Direct Call:                    FileFlex(18)
FileFlex DB Call:               DBPack()

-- 19 -------------------------------------------------------------
Direct Call:                    FileFlex(19)
FileFlex DB Call:               DBCount()

-- 20 -------------------------------------------------------------
Direct Call:                    FileFlex(20, recNum)
FileFlex DB Call:               DBRecordDeleted(recNum)

-- 21 -------------------------------------------------------------
Direct Call:                    FileFlex(21)
FileFlex DB Call:               DBCurrRecNum()

-- 22 -------------------------------------------------------------
Direct Call:                    FileFlex(22, numFieldName)
FileFlex DB Call:               DBSum(numFieldName)

-- 23 -------------------------------------------------------------
Direct Call:                    FileFlex(22, numFieldName) /
                                  FileFlex(19)
FileFlex DB Call:               DBAverage(numFieldName)

Note: In FileFlex v1.5/v1.6 there is no function number 23. Instead, to compute the average, divide the sum of a given field by the number of records.
-- 24 -------------------------------------------------------------
Direct Call:                    FileFlex(24, memoField)
FileFlex DB Call:               DBGetMemo(memoField)
Note: This function supports decryption. See Office-Quality Encryption for syntax.
-- 25 -------------------------------------------------------------
Direct Call:                    FileFlex(25, memoField, memoVal)
FileFlex DB Call:               DBWriteMemo(memoField, memoVal)
Note: This function supports encryption. See Office-Quality Encryption for syntax.
-- 26 -------------------------------------------------------------
Direct Call:                    FileFlex(26, fieldName)
FileFlex DB Call:               DBGetFieldByName(fieldName)
Note: This function supports decryption. See Office-Quality Encryption for syntax.
-- 27 -------------------------------------------------------------
Direct Call:                    FileFlex(27, fieldNum)
FileFlex DB Call:               DBGetFieldByNum(fieldNum)
Note: This function supports decryption. See Office-Quality Encryption for syntax.
-- 28 -------------------------------------------------------------
Direct Call:                    FileFlex(28, containerType)
FileFlex DB Call:               DBGetCurrRecVal(containerType)
Note: If containerType is "B" or "C", FileFlex attempts to place its values into HyperCard or SuperCard background or card fields, respectively. This is one of the few places where FileFlex makes direct HyperCard callbacks. If you're not in HyperCard or SuperCard, don't pass "B" or "C" (choose some other character, like "L", instead). If containerType is "G", FileFlex attempts to place its field values into matching global variables, creating them if they don't exist. This function supports decryption. See Office-Quality Encryption for syntax.
-- 29 -------------------------------------------------------------
Direct Call:                    FileFlex(29)
FileFlex DB Call:               DBListFields()

-- 30 -------------------------------------------------------------
Direct Call:                    FileFlex(30, containerType, recNum,
                                  value)
FileFlex DB Call:               DBWriteRec(containerType, recNum, 
                                  value)
Note: This function supports encryption. See Office-Quality Encryption for syntax.
-- 31 -------------------------------------------------------------
Direct Call:                    FileFlex(31, indexName, indexExpr,
                                  unique, safety)
FileFlex DB Call:               DBCreateIndex(indexName, indexExpr,
                                  unique, safety)

-- 32 -------------------------------------------------------------
Direct Call:                    FileFlex(32, indexID)
FileFlex DB Call:               DBReindex(indexID)

-- 33 -------------------------------------------------------------
Direct Call:                    FileFlex(33, dbName, numFields, 
                                  fields, safety)
FileFlex DB Call:               DBCreate(dbName, numFields, fields,
                                  safety)

-- 34 -------------------------------------------------------------
Direct Call:                    FileFlex(34, indexID)
FileFlex DB Call:               DBCheckIndex(indexID)

-- 35 -------------------------------------------------------------
Direct Call:                    FileFlex(35, expr)
FileFlex DB Call:               DBQuery(expr)
Note: This function number was assigned to DBLocate, which has been replaced by DBQuery.
-- 36 -------------------------------------------------------------
Direct Call:                    FileFlex(36)
FileFlex DB Call:               DBCurrDBNum()
Note: Returns the current db number
-- 38 -------------------------------------------------------------
Direct Call:                    FileFlex(38, string, key)
FileFlex DB Call:               DBEncrypt(string, key)

-- 39 -------------------------------------------------------------
Direct Call:                    FileFlex(39, string, key)
FileFlex DB Call:               DBDecrypt(string, key)

-- 40 -------------------------------------------------------------
Direct Call:                    FileFlex(40, memofield, string)
FileFlex DB Call:               DBFindMemo(memofield, string)

-- 41 -------------------------------------------------------------
Direct Call:                    FileFlex(41,data,option)
FileFlex DB Call:               DBConvertCRLF(data,option)

-- 42 -------------------------------------------------------------
Direct Call:                    FileFlex(42)
FileFlex DB Call:               DBPlatform()

-- 43 -------------------------------------------------------------
Direct Call:                    FileFlex(43, datafile[, path])
FileFlex DB Call:               DBDatabaseExists(datafile[, path])

-- 43 -------------------------------------------------------------
Direct Call:                    FileFlex(44,indexID)
FileFlex DB Call:               DBIndexExpr(indexID)

-- 45 -------------------------------------------------------------
Direct Call:                    FileFlex(45, indexID, val, ...)
FileFlex DB Call:               DBBuildSeekExpr(indexID, val, ...)

-- 46 -------------------------------------------------------------
Direct Call:                    FileFlex(46, indexID, delim)
FileFlex DB Call:               DBListIndexFields(indexID, delim)

-- 47 -------------------------------------------------------------
Direct Call:                    FileFlex(47)
FileFlex DB Call:               DBMaxRecs()

-- 201 ------------------------------------------------------------
Direct Call:                    FileFlex(201, globalName)
FileFlex DB Call:               DBGetGlobal(globalName)

-- 202 ------------------------------------------------------------
Direct Call:                    FileFlex(202,globalName, globalVal)
FileFlex DB Call:               DBSetGlobal(globalName, globalVal)

-- 999 ------------------------------------------------------------
Direct Call:                    FileFlex(999)
FileFlex DB Call:               DBCopyright()




  [Previous Chapter]    [Table of Contents]    [Next Chapter]


Copyright (c) 1996 David Gewirtz under license to Component Software Corp. All rights reserved worldwide.