# `FIND` — `FREEALLOC`

## Contents

- `FIND` — Searches data file fields for matching string
- `FINDFIELD` — Searches data file fields for matching string
- `FIRST` — Positions to the first record
- `FIX$` — Converts a number to a string
- `FLAGS` — Sets an application’s system flags
- `FLT` — Converts an integer to a floating point number
- `FONT` — Sets the text window’s font and style
- `FREEALLOC` — Frees a previously allocated cell

## `FIND` — Searches data file fields for matching string

Usage: `f%=FIND(a$)`

Warning: this language keyword is deprecated; its functionality has been replaced by `DbFind&:` in SysRam1.opx.

## `FINDFIELD` — Searches data file fields for matching string

Usage: `f%=FINDFIELD(a$,start%,no%,flags%)`

Warning: this language keyword is deprecated; its functionality has been replaced by `DbFindField&:` in SysRam1.opx.

## `FIRST` — Positions to the first record

Usage: `FIRST`

Positions to the first record in the current view.

See Database manipulation.

## `FIX$` — Converts a number to a string

Usage: `f$=FIX$(x,y%,z%)`

Returns a string representation of the number `x`, to `y%` decimal places. The string will be up to `z%` characters long.

Example: `FIX$(123.456,2,7)` returns "`123.46`".

- If `z%` is negative then the string is right-justified for example `FIX$(1,2,-6)` returns " `1.00`" where there are two spaces to the left of the `1`.
- If `z%` is positive then no spaces are added for example `FIX$(1,2,6)` returns "`1.00`".
- If the number `x` will not fit in the width specified by `z%`, then the string will just be asterisks, for example `FIX$(256.99,2,4)` returns "`****`".

See also `GEN$`, `NUM$`, `SCI$`.

## `FLAGS` — Sets an application’s system flags

Usage: `FLAGS flags%`

Used within an `APP`…`ENDA` construct to provide the OPL application’s system flags. Possible values for `flags%` are:

`KFlagsAppFileBased%` | 1 | This application can create files. It will be included in the list of applications offered when the user creates a new file from the System screen.
`KFlagsAppIsHidden%` | 2 | This application does not appear on the Extras bar. It is very unusual to have this flag set.

These constants can be added together to combine their effects. They are supplied in `Const.oph`.

`FLAGS` may only be used within the `APP`…`ENDA` construct.

See also `APP` and OPL applications.

## `FLT` — Converts an integer to a floating point number

Usage: `f=FLT(x&)`

Converts an integer expression (either integer or long integer) into a floating-point number. Example:

        PROC gamma:(v)
              LOCAL c
              c=3E8
              RETURN 1/SQR(1-(v*v)/(c*c))
        ENDP

You could call this procedure like this: `gamma:(FLT(a%))` if you wanted to pass it the value of an integer variable without having first to assign the integer value to a floating-point variable.

See also `INT` and `INTF`.

## `FONT` — Sets the text window’s font and style

Usage: `FONT id&,style%`

Sets the text window font and style. The standard font IDs are:

`KFontArialBold8&` | 268435951 | `KFontTimesBold8&` | 268435962
`KFontArialBold11&` | 268435952 | `KFontTimesBold11&` | 268435963
`KFontArialBold13&` | 268435953 | `KFontTimesBold13&` | 268435964
`KFontArialNormal8&` | 268435954 | `KFontTimesNormal8&` | 268435965
`KFontArialNormal11&` | 268435955 | `KFontTimesNormal11&` | 268435966
`KFontArialNormal13&` | 268435956 | `KFontTimesNormal13&` | 268435967
`KFontArialNormal15&` | 268435957 | `KFontTimesNormal15&` | 268435968
`KFontArialNormal18&` | 268435958 | `KFontTimesNormal18&` | 268435969
`KFontArialNormal22&` | 268435959 | `KFontTimesNormal22&` | 268435970
`KFontArialNormal27&` | 268435960 | `KFontTimesNormal27&` | 268435971
`KFontArialNormal32&` | 268435961 | `KFontTimesNormal32&` | 268435972
`KFontCalc13n&` | 268435493 | `KFontCourierBold8&` | 268436062
`KFontCalc18n&` | 268435494 | `KFontCourierBold11&` | 268436063
`KFontCalc24n&` | 268435495 | `KFontCourierBold13&` | 268436064
`KFontMon18n&` | 268435497 | `KFontCourierNormal8&` | 268436065
`KFontMon18b&` | 268435498 | `KFontCourierNormal11&` | 268436066
`KFontMon9n&` | 268435499 | `KFontCourierNormal13&` | 268436067
`KFontMon9b&` | 268435500 | `KFontCourierNormal15&` | 268436068
`KFontTiny1&` | 268435501 | `KFontCourierNormal18&` | 268436069
`KFontTiny2&` | 268435502 | `KFontCourierNormal22&` | 268436070
`KFontTiny3&` | 268435503 | `KFontCourierNormal27&` | 268436071
`KFontTiny4&` | 268435504 | `KFontCourierNormal32&` | 268436072
`KFontEiksym15&` | 268435661 |  |
`KFontSquashed&` | 268435701 |  |
`KFontDigital35&` | 268435752 |  |

Standard font styles are:

`KgStyleNormal%` | 0 | Normal style.
`KgStyleBold%` | 1 | Bold.
`KgStyleUnder%` | 2 | Underline.
`KgStyleInverse%` | 4 | Inverse video.
`KgStyleDoubleHeight%` | 8 | Double height.
`KgStyleMonoFont%` | 16 | Mono-spaced (typewriter) font.
`KgStyleItalic%` | 32 | Italic.

All these constants are provided in `Const.oph`.

See The text and graphics windows for more details.

## `FREEALLOC` — Frees a previously allocated cell

Usage: `FREEALLOC pcell&`

Frees a previously allocated cell at `pcell&`.

See also `SETFLAGS` if you require the 64K limit to be enforced. If the flag is set to restrict the limit, `pcell&` is guaranteed to fit into a short integer.