OpenLLM-France/wikimedia huggingface dataset:
# Clear Index
## CLEAR <index>
### Statement

| (+) | Appearance | (+) | Standard | (+) | Console |

### Syntax

To allocate, increase or decrease memory for INDEX$ arrays: 1. CLEAR bytes& [,indexID] 2. CLEAR numElements&, indexID, eltSize
To release the memory used by existing INDEX arrays: 3. CLEAR-1 4. CLEAR INDEX$ [indexID]

### Description

Use syntax (1) or (2) to allocate memory for an INDEX$ string array, and to specify whether the array shall consist of fixed-length or variable-length cells for the strings. Using fixed-length cells provides greater speed but may require more memory. Using variable-length cells provides more efficient use of memory, but processing may be slower. You must use Syntax (1) or (2) to allocate memory for an INDEX$ array before the array will function.
Use Syntax (1) to specify the total number of bytes to be allocated for a variable-cell-length INDEX$ array. The indexID parameter indicates which of the ten available INDEX$ arrays (numbered 0 through 9) to allocate space for. If you omit this parameter, space will be allocated for INDEX$ array #0.
Use Syntax (2) to specify the number of elements to be allocated for a fixed-cell-length INDEX$ array. The eltSize parameter should be in the range (1..256); it fixes the size of the cells. You can store a string of up to (eltSize - 1) characters in such a cell. The indexID parameter indicates which INDEX$ array (0 - 9) to allocate space for.
You can also use Syntax (1) or (2) to increase or decrease the amount of memory allocated for an existing array. This is sometimes useful if you find you need more (or less) memory than you originally allocated. If you increase the memory allocation, none of the existing strings in the array will be affected. If you want to decrease the memory allocation without affecting the existing strings, make sure you don't specify too small a number; you can use the MEM function to determine how much memory the existing strings occupy.
Use Syntax (3) or (4) to release the memory previously allocated for one or more INDEX$ arrays. Syntax (3) releases the memory occupied by all existing INDEX$ arrays. Syntax (4) empties each string in an INDEX$ array without releasing memory occupied by the array. If you omit the indexID parameter, then INDEX$ array #0 is used.

### See Also

INDEX$ STATEMENT
INDEX$ D
INDEX$ I INDEX F
# CLEAR LPRINT
## CLEAR LPRINT
### Statement

✔ Appearance ✔ Standard ✔ Console

### Syntax

CLEAR LPRINT

### Revised

November, 2006 (FB 4, Revision 4)

### Description

If output has been routed to the printer, CLEAR LPRINT forces the Printing Manager to print the current page, without closing the print job. The other ways to print the current page are to execute CLOSE LPRINT or to exit the program, both of which also cause the print job to be closed.

### Notes

Before using CLEAR LPRINT or CLOSE LPRINT, you must route printing to the screen. Closing the printer while output is pointing to the printed page is the equivalent to cutting off a limb while you are sitting on it. The following fragment shows how this might be done.
ROUTE _toScreen CLEAR LPRINT ROUTE _toPrinter

### Example

NEEDS IMG!!! <img src="res/cd.gif" alt="" height="19" width="20" border="0"> CD Example: Printer.BAS

### See Also

Page Statement Close LPrint DEF LPrint DEF page ROUTE_toScreen ROUTE_toPrinter
# Layout Template (remove this line)
## Keyword Goes Here
### Statement Function Operator or Other? (update the checkmarks below)

✔ χ Appearance ✔ χ Standard ✔ χ Console

### Revised

date & release (remove this section if no date)

### Description

Description goes here.

### Notes

No special notes.

### See Also

Language Reference
# CFINDEX.INCL include

CFIndex.incl
include
<MISSING IMG!!!>
<img src="res/checkmark.gif" alt="" height="16" width="16" border="0">
Appearance
<img src="res/checkmark.gif" alt="" height="16" width="16" border="0">
Standard
<img src="res/checkmark.gif" alt="" height="16" width="16" border="0">
Console
Syntax
INCLUDE "CFIndex.incl"
Revised:
November; 2006 (FB 4, Release 4)
Description
The CFIndex include file is a replacement of the standard set of instructions used to implement all INDEX$ commands. By including this file, your application instantly takes on the new features, even if you have already programmed things using the old INDEX$ commands.
CFIndex offers several advantages:
Increased speed.
Easier localization through the use of CF strings instead of Pascal strings.
Improved memory handling.
Sorting (See FN CFINDEXSORT.)
Once you have added the file to your project, either by using the Include command or by dragging and dropping the file into your project window, you may use standard INDEX$ commands to transparently take advantage of the new features.
See Also
<a href="index.html">INDEX$</a>; <a href="cfindexsort.html">CFINDEXSORT</a> :
# Futurebasic/Language/Reference/clear statement
## Clear
### Statement

✔ Appearance ✔ Standard ✔ Console

### Description

Sets all global and "main" program variables (including array elements) to zeros or null strings. Variables defined in local functions are not affected (see the LOCAL statement).

### See Also

[CLEAR] LOCAL statement
Language Reference
# Futurebasic/Language/Reference/menu resource
## MENU <resource>
### Syntax

MENU resID%,{_resMenu|_resSubMenu},state [,resType$]

### Description

Use this form of the MENU statement to install a menu which is described in a "MENU" resource. The menu's items can either be defined in the "MENU" resource, or they can consist of a list of available named resources of a particular type (such as font resources).
The resID% parameter should specify the resource ID number of a "MENU" resource in a currently open resource file (usually in your application's resource fork). In most cases, this will also equal the menu's ID number (although the menu's ID number is actually defined within the "MENU" resource).
If you specify _resMenu, the menu will be installed on the menu bar. In this case, you should use a menu with a menu ID number in the range 1 through 31, which is different from the ID number of any existing menu.
If you specify _resSubMenu, the menu won't be installed on the menu bar, but will be added to an internal "menu list." Use this option when you want to install the menu as a hierarchical menu or a pop-up menu. To install a hierarchical resource menu, you must also use the Toolbox procedure InsertMenu. The following illustrates how this may be done:
resID% = 130 menuID% = 130 'Put resource menu on internal "menu list": MENU resID%, _resSubMenu, _enable 'Set this menu's "parent item": MENU parentMenuID,parentItemID,menuID%,title$+"/"+CHR$(&1B) 'Attach the resource sub-menu to the parent menu: CALL INSERTMENU(FN GETMENUHANDLE(menuID%), -1)
If you use the _resSubMenu option, you should use a menu with a menu ID number in the range 32 through 235, which is different from the ID number of any existing menu.
The state parameter specifies whether the menu should initially be enabled or disabled (dimmed). Set this parameter either to _enable (1) or to _disable (0).
If you omit the resType$ parameter, the resource menu's title and menu items will be displayed as defined in the "MENU" resource. If you specify the resType$ parameter, it should be a 4-character string indicating a resource type. In this case, the menu's items will consist of a list of all available named resources of the indicated type. For example, if you specify a resType$ value of "FOND", the menu will list the names of all available fonts. The menu's title is still taken from the "MENU" resource.
Note: You can use a program like ResEdit to create "MENU" resources.

### See Also

MENU statement; MENU function
# Futurebasic/Language/Reference/minwindow
## MINWINDOW
### Syntax

MINWINDOW h,v

### Description

Sets a limit on how small the user can make a window by dragging its "grow box." After MINWINDOW is executed, the user will not be able to drag the window's size narrower than h pixels horizontally nor shorter than v pixels vertically (these dimensions refer to the window's "content region"; they don't include the "structure region" (frame) of the window). The MINWINDOW statement applies to all currently open windows and all subsequently opened windows, until another MINWINDOW statement is executed.
MINWINDOW does not apply to windows which don't have a grow box. Also, it does not limit the dimensions of a window which is resized by clicking its "zoom box" (see the SETZOOM statement to learn how to do this).
If there is any currently open window (with a grow box) whose dimension(s) are smaller than h and/or v, MINWINDOW will not expand it immediately. The window will expand the next time the user clicks on its grow box.
Note: If you need to apply different size limits to each of several open windows, then you will need to execute MINWINDOW each time such a window becomes active. In your dialog-event handling function, watch for the _wndActivate event, then execute MINWINDOW with the appropriate parameters depending on which window has become active. See the DIALOG function for more information.

### See Also

MAXWINDOW; DIALOG function; SETZOOM
# Futurebasic/Language/Reference/maybe
## MAYBE
### Syntax

trueOrFalse = MAYBE

### Description

This function is a special random number generator that returns either _zTrue (-1) or _false (0), with equal probability. Before your program calls MAYBE for the first time, you should execute the RANDOMIZE statement to "seed" the random number generator.

### See Also

RND; RANDOMIZE
# Futurebasic/Language/Reference/mkistr
## MKI$ function
### Syntax

string$ = MKI$(intExpr)

### Description

MKI$ ("MaKe Integer string") returns a string which has the same internal bit pattern as intExpr; each character in the returned string will represent 8 bits from intExpr. The returned string will have a length of 1, 2 or 4 characters, depending on which of DEFSTR BYTE, DEFSTR WORD or DEFSTR LONG is currently in effect. If DEFSTR BYTE is in effect, you should make sure that intExpr is within the range of numbers that can be expressed in a single byte; similarly, if DEFSTR WORD is in effect, you should make sure that intExpr is within the range of numbers that can be expressed in a "word"-length (2-byte) integer.
MKI$ is useful for translating the 4-letter file types, creator codes, resource types, etc. that are frequently used in MacOS Toolbox routines. These codes are typically transmitted in the form of long-integer values; by using the MKI$ function you can translate these long integers into strings for display purposes (be sure to set DEFSTR LONG before doing this).
If DEFSTR BYTE is in effect, MKI$ returns the same thing as the CHR$ function.
Note: When DEFSTR LONG is in effect and 4-character strings and long-integers are being converted, MKI$ is essentially the inverse of the CVI function. Note, however, that the behavior of CVI does not depend on the current setting of DEFSTR BYTE/WORD/LONG.

### See Also

CVI; DEFSTR BYTE/WORD/LONG; CHR$; STR$; VAL
# Futurebasic/Language/Reference/maxwindow
## MAXWINDOW
### Syntax

MAXWINDOW h,v

### Description

Sets a limit on how large the user can make a window by dragging its "grow box." After MAXWINDOW is executed, the user will not be able to drag the window's size wider than h pixels nor taller than v pixels (these dimensions refer to the window's "content region"; they don't include the "structure region" (frame) of the window). The MAXWINDOW statement applies to all currently open windows and all subsequently opened windows, until another MAXWINDOW statement is executed.
MAXWINDOW does not apply to windows which don't have a grow box. Also, it does not limit the dimensions of a window which is resized by clicking its "zoom box" (see the SETZOOM statement to learn how to do this).
If there is any currently open window (with a grow box) whose dimension(s) exceed h and/or v, MAXWINDOW will not shrink it immediately. The window will shrink the next time the user clicks on its grow box.
Note: If you need to apply different size limits to each of several open windows, then you will need to execute MAXWINDOWeach time such a window becomes active. In your dialog-event handling function, watch for the _wndActivate event, then execute MAXWINDOW with the appropriate parameters depending on which window has become active. See the DIALOG function for more information.

### See Also

MINWINDOW; DIALOG function; SETZOOM
# Futurebasic/Language/Reference/menu preferences
## MENU PREFERENCES
### Syntax

MENU PREFERENCES menuID, itemID

### Revised

Feb 2002 (Release 6)

### Description

In OS X, preferences are no longer accessible from the bottom item of the Edit menu. They are traditionally moved to the application menu. This means that you would have to do a large amount of coding to insure that your program followed the proper guidelines for both System 9 and OS X. Instead, you may use the MENU PREFERENCES statement. If you are operating in System 9, this command does nothing. If your application is being run in OS X, the preference menu is moved to the application menu. Further, if the user selects the preference item, the menu choice is converted to the specified menuID and itemID so that your program can react without special coding.
A full example of using the new PREFERENCE commands can be found on on the PUT PREFERENCES help page.
Note: This will not work properly if the itemID is anything other than the last item of the edit menu. FB must delete the old preference item and this would change menu IDs in your program if other selections followed it.

### See Also

PUT PREFERENCES; GET PREFERENCES; KILL PREFERENCES
# Futurebasic/Language/Reference/mod
## MOD
### Syntax

remainder = expr MOD modulus

### Description

The MOD operator subtracts from ABS(expr) the largest multiple of ABS(modulus) which is less than or equal to ABS(expr), and returns the result as remainder. If expr is negative, then a negative result is returned in remainder.
Note that if expr and modulus are both integers, the result of MOD is just the remainder of the integer division operation expr / modulus.

### See Also

Appendix D: Numeric Expressions
# Futurebasic/Language/Reference/mem
## MEM
### Syntax

info& = MEM(expr)

### Description

Returns information about available heap memory or about an INDEX$ string array. In addition, if you specify the value _maxAvail in expr, the MEM function will force all purgeable resources to be removed from memory.
Specify one of the following values in expr to get information about the application's heap memory:
<img src="m/MEM_function02.gif" alt="IMAGE imgs/MEM_function02.gif" width=434 height=138>
Specify one of the following values in expr to get information about an INDEX$ string array. In this table, indexID represents the ID number (0 through 9) of the array you're interested in. If the specified INDEX$ array has not yet been initialized (using the CLEAR<index> statement), MEM returns zero for all of the items in this table.
<img src="m/MEM_function04.gif" alt="IMAGE imgs/MEM_function04.gif" width=430 height=262>

### See Also

CLEAR <index>; INDEX$ statement; INDEX$ function
# Free Knowledge Culture Calendar/March 7

Today in 1917 the computing pioneer Betty Holberton was born. She was responsible for much of the software for the UNIVAC system and created its C-10 instruction code, the first mnemonic code and mother of all modern programming languages. She went on to work on the programming language COBOL and was the driving force behind the standardization of FORTRAN. Grace Hopper called her the best programmer she ever knew. She also invented breakpoints for computer debugging, developed an early precursor to today’s compilers (her Sort Merge Generator), and was perhaps the first computer musician.
← previous day · following day →
# Free Knowledge Culture Calendar/March 9

Today in 1992 was the first release of ViolaWWW, the first popular browser on the Web.
← previous day · following day →
# Free Knowledge Culture Calendar/March 31

Today in 1998 Netscape Communicator 5.0 source code was released to developers.
← previous day · following day →
# Free Knowledge Culture Calendar/March 4

Today in 1993 Marc Andreesen announced the NCSA Mosaic browser and introduced the HTML image tag. Mosaic quickly subsumed all text-oriented information search tools and surpassed them. Because it was easy to install, ported to several major operating systems and supported by a large institution (National Center for Supercomputing Applications, NCSA), it became the first graphical user interface for the Web. It has been described as the killer application of the 1990s. Members of the development team founded Netscape in 1994; a rebranded version was packaged with Windows as Internet Explorer.
← previous day · following day →
# Free Knowledge Culture Calendar/March 8

Today in 2002 Scientology attorneys sent Google a DMCA takedown notice in which they requested to delist xenu.net aka. Operation Clambake. Following public outcry, it was partially relisted and Google started submitting its cease and desist requests to the Lumen (formerly Chilling Effects) database and link to them from censored search results.
← previous day · following day →
# Free Knowledge Culture Calendar/March 30

Today in 2000 freedesktop.org was launched.
← previous day · following day →
# Free Knowledge Culture Calendar/March 5

Today in 1975 was the first meeting of the Homebrew Computer Club.
← previous day · following day →
# Free Knowledge Culture Calendar/March 6

Today is National Day of Unplugging in the U.S.
← previous day · following day →
# Free Knowledge Culture Calendar/May 1

Today in 2002 OpenOffice.org 1 was released.
← previous day · following day →
# GENtle/Sequence editor

The sequence editor holds the key to several properties of a sequence. It consists of several tabs, depending on the type of sequence, which can be DNA or amino acid.

## Properties

Here, the title and description of the sequence can be altered. As for feature descriptions, the sequence description will make http references clickable.
For DNA sequences, sticky ends can be entered.

## Features

| The sequence editor, features tab. | Edit feature dialog. |
This tab shows a list of all features of the sequence. Features can be added, edited, and deleted. Most of the settings should be self-explanatory.
* The setting reading frame is only available when the type is set to "CDS" ("coding sequence").
* A leading sequence is read 5'→3'; leading unchecked, 3'→5'
* Edit feature will invoke an additional "Edit feature" dialog

### Edit feature

* Fill color is the color of the feature; it will invoke a color choice dialog
* Type in sequence display determines how that feature is drawn in the sequence map
* Use offset sets the numbering for the first amino acid of the feature; useful if the feature marks a part of a protein
The list box below contains original data from GenBank format import.

## Restriction enzymes

| Sequence editor, enzyme settings tab. | Sequence editor, enzyme settings (2). |
When editing a DNA sequence, two tabs with settings for restriction enzymes are available. The first one is identical to the enzyme management dialog. The second one is identical to the global enzyme settings tab, but contains the settings for this sequence alone. By default, its options are disabled, and the global options are used. By activation the options here, global settings are overridden.

## Proteases

This tab holds a list of available proteases. Potential cleavage sites for selected (checked) proteases are shown in the sequence (not in the DNA map).
New proteases can be added similar to the following examples:
* Example : "Thermolysin"
** Sequence for this protease : "!DE|AFILMV"
** Explanation: "Not D or E", "cut", "then A, F, I, L, M, or V"
* Example: Proline-endopeptidase
** Sequence for this protease : "HKR,P|!P"
** Explanation : "H, K, or R", "then P", "cut", "then not P"
# GENtle/Sequencing Primers

The sequencing primers dialog can add possible sequencing primers as features to a DNA sequence. What primers to add can be specified:
* The minimum alignment (3') of a primer to the sequence. This means exact annealing!
* The database to search for primers. All primers from that database will be considered.
* Alternatively, use all primers that are part of a project in that database. That way, a range of primers across databases can be specified in a project and be considered as sequencing primers here.
* Primers that run in 5'→3' or 3'→5' direction.
You can also have the dialog remove old sequencing primers from the sequence. This can also be done manually through Edit/Remove sequencing primers in the DNA module. Note: Sequencing primers, if not removed, will be saved as features together with the sequence; they can still be removed lated, though.
Sequencing primers will display as yellow features, where the shade of yellow depends on their direction. The actual sequencing primer feature is only as long as the 3' annealing of the primer, so the primer might actually be longer than the feature towards the 5' end. For details, see the feature description, which contains the original primer sequence, among other data.
# GENtle/Setup
## Installation

On Windows, run the file GENtleSetup.exe. It will set up GENtle in a directory of your choice, and also prepare for a clean deinstallation.

## Databases

There are two types of databases supported by GENtle: File-based (sqlite) and MySQL. By default, a file-based database local.db is set up in the installation directory of GENtle. You can (and should, if access limitations prevent you from working with local.db) create new databases and share them with other users of GENtle in your work group (if you want to).
Database management can be found through the menu "Tools/Manage database", under the tab "Databases".
       A quirk:
       1. Be careful of using the local db for any real development. I strongly advise that you never put anything into local. That db is in the Gentle program's directory and if, say, you need to reinstall GENtle, or you get a new laptop, you may clobber it. And if someone else takes over after that, you can lose it also. I have seen other strange behavior where local.db gets lost, but can't tie it down for a bug report.
       2. GENtle copies blank.db and local.db in [your-username]/AppData/Local/VirtualStore/Program Files (x86)/GENtle It then maintains them. The live local.db is the one in AppData/Local/VirtualStore/Program Files (x86)/GENtle. So, you can delete the one in C:/Program Files (x86)/GENtle and you won't lose it. (This is probably why Magnus did it this way. He was trying to prevent data loss.) But, if you switch computers, this one can get lost.
       So the first thing you should do for serious work is to make a new db of your own and set it as your default db. And monitor local regularly for stuff accidentally getting into local. The symptoms of a problem are that a project can't find parts of a project.

### File-based databases

You can add an existing or create a new database via the appropriate buttons. Select the database name and location in the following file dialog.

### MySQL databases

These work similar to the file databases, but require more parameters. Also, a MySQL server has to be installed prior to MySQL database creation. Contact your local system administrator about this.
Creating a new MySQL database might require more MySQL privileges than actually using the created database. Thus, after creation, one might want to remove the database entry via the "Remove" button (the database will continue to exist), and add it again with different MySQL privileges.