"FreedomProgramming" Platform Independence and Programming Language Extensions
- Pick/Multivalue Compatibility Library provides a very large measure of Platform Independence using compiler $includes/code snippets, programs, and subroutines to prepare applications for porting to other versions of Pick, whether you are an end-client or a software house, and can be invoked for each environment with the change of a simple parameter and recompile.
- EXEC.SUB provides a standard interface to perform EXECUTEs. This allows auditing of such commands and also creates a Pick-platform-independent interface for EXECUTEs. Furthermore, MS Office downloads can be automatically invoked for SORT and LIST Access Report commands destined for the printer, by the simple tweaking of a single one-character parameter.
- CONVERT performs the same function as the CONVERT statement found on some MultiValue systems.
- SOUNDEX provides the SOUNDEX algorithm for systems which do not possess it already. SSOUNDEX provides an enhanced algorithm of the same nature. Also come in multi-value forms as SOUNDEXS and SSOUNDEXS.
- SX.ADD, SX.DELETE, SX.BUILD, and SX.INDEX provides easy means of setting up SOUNDEXing for lookups of customers, vendors, products, etc.
- SWAP provides string swapping for systems which do not come standard with it.
- TRIML, TRIMT, TRIMF and TRIMB provide those fiunction to those systems which do not come standard with the capabilities of trimming leading and trailing spaces.
- NSELECT provides the Pick Access NSELECT functionality for those systems which do not have it.
- MCP and MCT offer advantages over their system standard counter-parts.
- DATETEST, DECTEST, MR1, MR2, MR3, MR4 perform conversions and validation for simple data entry. DATETEST provides a reasonability test.
- FCORR and SB.ACORR emulate the F- and A-correlative processors for Prime-style flavors.
- MSORT provides sorting of multi-valued dynamic arrays.
- IDX and INDEX provide an enhanced Basic INDEX function which includes wild-carding. IDXS and INDEXS provide multi-valued versions.
- FIELDS provides the same function as FIELD(STRING,DELIMITER,FIELD.NUMBER,NUMBER.OF.FIELDS).
- simple graphics box drawing: BOXDRAW.
- OPEN.ER provides a standard messaging and error handling for erroneous file opens.
- LOCKED.FILE handles messaging for LOCKED clause in Basic READUs
- many programs and subroutines are and can be employed to extend the capabilities of the standard mvBase/Pick/MultiValue environments, in Basic, Proc, and Access, too
- RAISE, LOWER, UPCASE, DOWNCASE are fully Prime-style functions and subroutines.
- EQS, NES, NOTS, GES, GTS, LTS, LES, ORS, XORS, ANDS, IFS, ISNULLS, MATCHESES, ABSS, NUMS, MAXIMUM, MINIMUM are multi-valued relational functions
- ADDS, SUBS, MULTS, MULS, DIVS, MODS, EXPS are multi-valued mathematical functions
- CATS, ICONVS, OCONVS, COUNTS, DCOUNTS, LENS, CHARS, SEQS, STRS, SPACES, FOLDS (and single-valued FOLD), FINDSTR, GRPSTR (simple GROUPSTORE/FIELDSTORE function) are multi-valued string functions
- in particular, ICV and OCV perform input and output conversion, respectively, and validation based on dictionary items, using the same logic as the UPD processor, promoting a high level of data integrity
- Many of these are available as User-Defined Functions, where such are supported by the database. Otherwise, they are all available as CALLs.
- Most are available in Smart User Interface and Graphical User Interface
|