|
Pars Pendar's Library List
Pars Pendar contains 15 dynamic
link libraries (DLLs), each containing more functions that are definitely useful
to Visual FoxPro programmers. These libraries are now available as Fox
Link Libraries (FLLs), as listed below :
|
CNVLIB.FLL
|
INDEXLIB.FLL
|
SMEMOLIB.FLL
|
|
DATELIB.FLL
|
LEDITLIB.FLL
|
LMEMOLIB.FLL
|
|
DISKLIB.FLL
|
LTORLIB.FLL
|
XMEMOLIB.FLL
|
|
FILELIB.FLL
|
NUMLIB.FLL
|
SEEKLIB.FLL |
|
FINDLIB.FLL
|
RTOLLIB.FLL
|
STRLIB.FLL
|
Here is a brief description of each
library file. Each library file, as mentioned above, is a Fox
link library file (with an extension of .FLL). You know that .FLL files are
dynamic link library files in fact, i.e., Pars Pendar consists of up to 15 .DLL
files which are used by means of SET LIBRARY TO ...
command in all Visual FoxPro programs.
|
<CNVLIB.FLL>
Library File |
An
abbreviation for : CONVERTER LIBRARY.
Usage
syntax : SET LIBRARY TO CNVLIB [ADDITIVE]
Description
: By using functions in this powerful library file in your programs, you will be able to
change the code page of your data to the one you desire. The process of
converting is so fast and precise. Most of the
standard Farsi code pages are supported, such as :
|
<IRAN SYSTEM> CODE PAGE |
|
This code page had been used for many years by Farsi
FoxPro programmers under DOS. Because of this capability, programmers will
be easily able to convert their old DOS programs (and data, of course)
that had been developed in this code page,
into Windows format, by means of Pars Pendar.
|
|
|
|
<PANIZ> CODE PAGE |
|
This code page was also of interset to some FoxPro
programmers under DOS. Because of this capability, programmers will
be easily able to convert their old DOS programs (and data, of course)
that had been developed in this code page, into Windows format, by
means of Pars Pendar.
|
|
|
|
<SAYEH> CODE PAGE |
|
This code page was also of interset to some FoxPro
programmers under DOS. Because of this capability, programmers will
be easily able to convert their old DOS programs (and data, of course)
that had been developed in this code page,
into Windows format, by means of Pars Pendar.
|
|
|
|
<FARSI MICROSOFT WINDOWS> CODE PAGE |
|
A very popular code page used in several types of FARSI
Windows. Note that Many FARSI Windows use this code page as their
default code page, and that many FARSI Visual FoxPro programmers are
currently using one of such Windows.
|
|
|
|
<SABERIN WINDOWS> CODE PAGE |
|
A very popular code page used in several types of FARSI
Windows.
|
|
|
|
<SINA WINDOWS> CODE PAGE |
|
A very popular code page used in several types of FARSI
Windows.
|
|
<DATELIB.FLL>
Library File |
An
abbreviation for : DATE MANIPULATION LIBRARY.
Usage
syntax : SET LIBRARY TO DATELIB [ADDITIVE]
Description
: This library file provides the capability of implementing many actions regarding Shamsi &
Miladi dates in your programs. The following possibilities are simply
achieved by means of the built in functions in this library file :
|
CONVERTING MILADI
DATES TO SHAMSI
|
|
A very necessary capability used by most Farsi programs.
This feature is completely problem free for 2000 year and later dates in
addition to lower dates (i.e. there 'll be no Y2K problem when using this
feature).
|
|
|
|
CONVERTING SHAMSI
DATES TO MILADI
|
|
Also completely problem free for 2000 year and later
dates in addition to lower dates (i.e. there 'll be no Y2K problem when
using this feature also).
|
|
|
|
EVALUATING EITHER SHAMSI
OR MILADI KABISEH YEARS PROPERLY
|
|
CALCULATING FARSI
MONTHS AND DAY OF WEEK
|
|
<DISKLIB.FLL>
Library File |
An
abbreviation for : DISK MANIPULATION LIBRARY.
Usage
syntax : SET LIBRARY TO DISKLIB [ADDITIVE]
Description
: This library file provides the capability of implementing many actions regarding
disks in your programs. The following possibilities are simply
achieved by means of the built in functions in this library file :
|
TESTING FOR
EXISTANCE OF A SPECIFIED DRIVE IN
THE SYSTEM
|
|
Suppose you want to know if there is a specified drive
name in the computer that is currently executing the program. There are
many functions in the above library file to achieve that purpose. You can
also find out the type of the specified drive (Network, Floppy, Hard, CDROM, ...).
These capabilities are useful in programs that back up data.
|
|
|
|
FINDING OUT IF
THE DISK IN A DRIVE IS WRITE
ENABLED
|
|
Also useful in programs that back up data or want to
save data on a disk. There's a function that shows if a disk in a
specified drive is write protected.
|
|
|
|
FINDING OUT IF
THERE IS A DISK IN A DRIVE
(IS A DRIVE READY ?)
|
|
Useful in programs that read data from a disk.
|
|
|
|
CREATING AND
REMOVING FOLDERS.
|
|
UsefulNESS OF SUCH FUNCTIONS in programs are obvious.
|
|
<FILELIB.FLL>
Library File |
An
abbreviation for : FILE MANIPULATION LIBRARY.
Usage
syntax : SET LIBRARY TO FILELIB [ADDITIVE]
Description
: This library file provides the capability of implementing many actions regarding
any kind of files, including structural compound index files, in your programs. The following possibilities are simply
achieved by means of the built in functions in this library file :
|
FIXING THE FLAG
OF CDX FILES IN DBF FILES
|
|
Useful in ON ERROR ... routins in your programs,
where you might need to repair the damaged or corrupted DBF files. You can
also use it outside error capturing routines.
|
|
|
|
EXTRACTING FILE
SIZES (ANY KIND OF FILES)
|
|
EXTRACTING CHECKSUMS
FOR ANY KIND OF FILES
|
|
FAST AND
PRECISE FILE ENCRYPTION (BY 2
METHODS : ELEMENTARY & ADVANCED)
|
|
FAST AND
PRECISE FILE DECRYPTION (BY
2 METHODS : ELEMENTARY & ADVANCED)
|
|
<FINDLIB.FLL>
Library File |
An
abbreviation for : LIBRARY FOR FINDING STRINGS
IN TEXT FILES.
Usage
syntax : SET LIBRARY TO FINDLIB [ADDITIVE]
Description
: You can use it's functions for searching strings in text files automatically
in your programs. Searches may be done either in user defined windows or
directly in desktop. These will be done in your programs by calling the proper
functions in the above library file.
|
<INDEXLIB.FLL>
Library File |
An
abbreviation for : LIBRARY FOR SORTING AND INDEXING
.DBF FILES.
Usage
syntax : SET LIBRARY TO INDEXLIB [ADDITIVE]
Description
: Farsi character fields must be reversed by some techniques before sorting or making index
files whose key fields are reversed. In many cases, it would not be enough that
you just reverse the string fields. In fact, some intelligency
must have been applied in indexing techniques first.
Pars
Pendar does it easily, quickly and efficiently. There are 3 interesting
functions built in the above library file.
|
<LEDITLIB.FLL>
Library File |
An
abbreviation for : LIBRARY FOR TYPING FARSI
CHARACTERS ON THE KEYBOARD ON PROGRAM
DESIN TIME.
Usage
syntax : SET LIBRARY TO LEDITLIB [ADDITIVE]
Description
: Farsi programmers need a handy function that would enable them to switch from
FARSI to LATIN and vice versa during program development. For example, the
developer will certainy need to switch the typing language when he/she is typing
program lines in environments such as COMMAND WINDOW, MODIFY COMMAND, MODIFY
FILE, FORM DESIGNER, MENU BUILDER, REPORT GENERATOR, etc.
This
goal is most easily achieved by using the above library file.
|
<LTORLIB.FLL>
Library File |
An
abbreviation for : LEFT TO RIGHT FARSI / LATIN
DATA ENTRY AT RUNTIME.
Usage
syntax : SET LIBRARY TO LTORLIB [ADDITIVE]
Description
: By means of this library file, the developer can prepare programs that,
when run, let end users enter Farsi/Latin text (i.e., Farsi/Latin strings) at
program runtime. In other words, programs can let end users make a left to right
Farsi/Latin data entry at runtime.
|
NOTE :
|
|
Pars Pendar does not conflict with Visual FoxPro's
intrinsic & built in capabilities while in a left to right Farsi/Latin
data entry mode at runtime. In other words, Pars Pendar supports ALL
NATURAL VFP'S CAPABILITIES in data entry sessions, such as : ON KEY
LABEL, CUT, COPY, PASTE, ANY MOUSE ACTIVITY, etc.
Environments in which end users can enter left to right Farsi/Latin
data at program runtime, include : @ ... GET ... command, BROWSE, TEXT BOX
CONTROLS (in Form Designer), and finally, GRID CONTROLS (in Form
Designer).
|
|
<NUMLIB.FLL>
Library File |
An
abbreviation for : LIBRARY FOR NUMERIC MANIPULATIONS.
Usage
syntax : SET LIBRARY TO NUMLIB [ADDITIVE]
Description
: This library is useful for implementing the following :
|
3 BY 3
DIGITS SEPARATION OF FARSI / LATIN NUMERICS
|
|
NUMBER TO
CHARACTER CONVERSION (APPROPRIATE FOR FARSI
SPELLING)
|
|
CONVERTING
NATURAL NUMERICS TO THEIR FARSI EQUIVALENTS
(AND VICE VERSA)
|
|
<RTOLLIB.FLL>
Library File |
An
abbreviation for : RIGHT TO LEFT FARSI / LATIN
DATA ENTRY AT RUNTIME.
Usage
syntax : SET LIBRARY TO RTOLLIB [ADDITIVE]
Description
: By means of this library file, the developer can prepare programs that,
when run, let end users enter Farsi/Latin text (i.e., Farsi/Latin strings) at
program runtime. In other words, programs can let end users make a right to left
Farsi/Latin data entry at runtime.
|
NOTE :
|
|
Pars Pendar does not conflict with Visual FoxPro's
intrinsic & built in capabilities while in a right to left
Farsi/Latin data entry mode at runtime. In other words, Pars Pendar fully
supports ALL NATURAL VFP'S CAPABILITIES in data entry sessions, such as : ON
KEY LABEL, CUT, COPY, PASTE, ANY MOUSE ACTIVITY, etc.
Environments in which end users can enter right to left
Farsi/Latin data at program runtime, include : @ ... GET ... command,
BROWSE, TEXT BOX CONTROLS (in Form Designer), and finally, GRID CONTROLS
(in Form Designer).
|
|
<SMEMOLIB.FLL>
Library File |
An
abbreviation for : SMALL MEMO FIELDS (FARSI / LATIN)
LIBRARY.
Usage
syntax : SET LIBRARY TO SMEMOLIB [ADDITIVE]
Description
: By means of this library file, the developer can prepare programs that,
when run, let end users enter multi-line Farsi/Latin text at
program runtime (right to left). The most common multi-line data entry
model, as you know, is a MEMO FIELD data entry, which in turn includes
memo fields in tables and also multi line string memory variables.
|
NOTE 1 :
|
|
Word wrapping is maintained automatically. Environments in which end users can
enter right to left multi line text (Farsi/Latin) at program runtime, include : @ ...
EDIT ... command and EDIT BOX CONTROLS (in Form Designer).
|
|
|
|
NOTE 2 :
|
|
Pars Pendar's related capabilities are not limited to just what
we mentioned above. Pars Pendar, in fact, gives you more flexible
functions while working with multi line text boxes. Please refer to other
parts of the documentation presented in our web site. You can simply visit
our General
information page for more details regarding Pars Pendar's features.
|
|
|
|
NOTE 3 :
|
|
Pars Pendar assigns a 20KB memory buffer for
manipulation of the data while working with SMEMOLIB.FLL. In fact,
end users won't be able to type characters more than 20 kilo bytes in that
case. For larger memory buffers, you must use LMEMOLIB.FLL or XMEMEOLIB.FLL.
|
|
<LMEMOLIB.FLL>
Library File |
An
abbreviation for : LARGE MEMO FIELDS (FARSI / LATIN)
LIBRARY.
Usage
syntax : SET LIBRARY TO LMEMOLIB [ADDITIVE]
Description
: This library file acts very similar to SMEMOLIB.FLL. The only
difference, is the size of the memory buffer it assigns for manipulating the
data. By means of this library file, the developer can prepare programs that,
when run, let end users enter multi-line Farsi/Latin text at
program runtime (right to left). The most common multi-line data entry
model, as you know, is a MEMO FIELD data entry, which in turn includes
memo fields in tables and also multi line string memory variables.
|
NOTE 1 :
|
|
Word wrapping is maintained automatically. Environments in which end users can
enter right to left multi line text (Farsi/Latin) at program runtime, include : @ ...
EDIT ... command and EDIT BOX CONTROLS (in Form Designer).
|
|
|
|
NOTE 2 :
|
|
Pars Pendar's related capabilities are not limited to just what
we mentioned above. Pars Pendar, in fact, gives you more flexible
functions while working with multi line text boxes. Please refer to other
parts of the documentation presented in our web site. You can simply visit
our
General
information page for more details regarding Pars Pendar's features.
|
|
|
|
NOTE 3 :
|
|
Pars Pendar assigns a 64KB memory buffer for
manipulation of the data while working with LMEMOLIB.FLL. In fact,
end users won't be able to type characters more than 64 kilo bytes in that
case. For larger memory buffers, you must use XMEMOLIB.FLL.
|
|
<XMEMOLIB.FLL>
Library File |
An
abbreviation for : EXTENDED MEMO FIELDS (FARSI /
LATIN) LIBRARY.
Usage
syntax : SET LIBRARY TO XMEMOLIB [ADDITIVE]
Description
: This library file acts very similar to SMEMOLIB.FLL. The only
difference, is the size of the memory buffer it assigns for manipulating the
data. By means of this library file, the developer can prepare programs that,
when run, let end users enter multi-line Farsi/Latin text at
program runtime (right to left). The most common multi-line data entry
model, as you know, is a MEMO FIELD data entry, which in turn includes
memo fields in tables and also multi line string memory variables.
|
NOTE 1 :
|
|
Word wrapping is maintained automatically. Environments in which end users can
enter right to left multi line text (
Farsi/Latin) at program runtime, include : @ ... EDIT ... command and EDIT BOX CONTROLS (in Form
Designer).
|
|
|
|
NOTE 2 :
|
|
Pars Pendar's capabilities is not limited to just what
we mentioned above. Pars Pendar, in fact, gives you more flexible
functions while working with multi line text boxes. Please refer to other
parts of the documentation presented in our web site. You can simply visit
our
General
information page for more details regarding Pars Pendar's features.
|
|
|
|
NOTE 3 :
|
|
Pars Pendar assigns a 128KB memory buffer for
manipulation of the data while working with XMEMOLIB.FLL. In fact,
end users won't be able to type characters more than 128 kilo bytes in that
case.
|
|
<SEEKLIB.FLL>
Library File |
An
abbreviation for : QUICK RECORD SEARCH BY FARSI KEYSTROKES IN
<BROWSE> COMMAND.
Usage
syntax : SET LIBRARY TO SEEKLIB [ADDITIVE]
Description
: By using functions in this powerful library file in your programs, you will be able to
find the right record in a table while typing some of it's leftmost characters
in the BROWSE command (interactively in a BROWSE session).
For
example, suppose your program is currently in a BROWSE window and you
want to find out which record (or records) start with a Farsi "F"
letter (FEH). To achieve this, you can simply type the Farsi "F"
letter (FEH) on the keyboard. Pars Pendar will then automatically find and
highlight (and make current, of course) the first record in that table which has
a Farsi "F" letter (FEH) as it's first (leftmost) letter.
This
capability may be easily extended to more than one letter. This library file has
been of much interst to many Farsi programs developers.
|
NOTE : |
|
The above library works in three distinct modes
(selectable by the programmer) as follows : (in either modes, the table
must have been indexed on a key field in advanced).
|
|
|
|
IMMEDIATE MODE |
|
In this mode, searching starts immediately after each
keystroke. This may be time-consuming when dealing with large tables.
|
|
|
|
DELAYED MODE |
|
In this mode, searching starts only after hitting the
<ENTER> key, which in turn, usually occurs after all the desired characters have been typed on the
keyboard.
|
|
|
|
USER DEFINED (ARBITRARY) MODE
|
|
In this mode, Pars Pendar will never start searching
automatically for the records that match keystrokes. In fact, programmer
must themselves define an ON KEY LABEL routine (or the like) of
their own, in which the action of each keystroke has been defined upon a
user defined manner.
|
|
|
|
NOTE : |
|
Pars Pendar's capabilities is not limited to just what
we mentioned above. Pars Pendar, in fact, gives you more flexible
functions while working with SEEKLIB.FLL. Please refer to other
parts of the documentation presented in our web site. You can simply visit
our General
information page for more details regarding Pars Pendar's features.
|
|
<STRLIB.FLL>
Library File |
An
abbreviation for : STRING MANIPULATION LIBRARY.
Usage
syntax : SET LIBRARY TO STRLIB [ADDITIVE]
Description
: This library is useful for implementing the following string manipulation
functions :
|
CONVERTING LOWERCASE FARSI
STRINGS TO UPPERCASE
|
|
CONVERTING UPPERCASE FARSI
STRINGS TO LOWERCASE |
|
FINDING OUT IF THE
LEFTMOST CHARACTER IN A FARSI STRING
IS A LOWERCASE ONE |
|
FINDING OUT IF THE
LEFTMOST CHARACTER IN A FARSI STRING
IS A UPPERCASE ONE |
|
CONVERTING THE LAST
CHARACTER IN A FARSI STRING TO
UPPERCASE |
|
DELETING (TRIMMING) ALL
SPACES IN A STRING |
|
DELETING (TRIMMING) ALL
SKETCHING CHARACTERS (KESHIDEGI) IN A
STRING |
|
|
|