The FFINDBYKEY intrinsic can be used to point to those records
that contain a common portion of a key field. The intrinsic parameters
(key value, key length, and relational operator) identify the partial value to be matched, the number
of characters to be compared in the key field, and whether the record
should equal the value or be greater than the value.
Only the common portion of the key is specified in the key value field. For example, to list all records with a zip
code beginning with 943 but ending in any combination of numbers, 943
is entered in the key value field.
The key length parameter identifies the portion of the key field
to be used in the comparison. For example, to list all records with
a zip code beginning with 943, a key length of 3 would be specified. This means that only the
first three characters of the five-character field are used in the
comparison.
The relational operator limits the operation to only those records that meet
the criteria. The relational operators that can be specified are
0 (equal to), 1 (greater than), and 2 (equal to or greater than). Figure 5-3 “Partial Key Search Sample” searches for the first occurrence of a record containing
a partial key of "M0".
To read all records containing "M0", a series
of freads would be issued and a comparison made in the program
to see when the key field did not contain "M0" or the end of the
file reached.