You can move this window wherever you like on your Windows™ desktop, and you can re-size it by dragging one of the corners or sides. The bottom right-hand corner has a special area which makes it easier to resize the window by dragging there. BBC BASIC for Windows will remember the size of the window and set it to the same size when it is next started.
If you close the window (by clicking on the close button, selecting Close from the right-click menu or using the keyboard shortcut Alt-F4) you will be prompted to save the current program if any changes have been made.
From the File menu: New,
Load, Save and
Print.
From the Edit menu: Undo,
Redo, Cut, Copy,
Paste, Find and
Replace.
From the Utilities menu: Renumber
and Compile.
From the Run menu: Run, Debug,
Stop, Pause, Step,
Step Line and Immediate.
The final (question mark) button does not correspond to any of the menu commands, but instead activates context sensitive help. If you click on this button, then click on a keyword within the editing pane, a short description of the use and function of that keyword will be displayed.
The file menu is concerned with loading, saving and printing BBC BASIC programs, and with exiting from BBC BASIC for Windows. The file menu can be accessed by clicking on its name in the menu bar or by means of the keyboard shortcut Alt-F.
If the previous program was not saved, you are first prompted to save it. If a BASIC program is currently running (i.e. its output window is open) the Load command is inhibited.
If the program was not loaded from a file (i.e. it was typed in or imported via the clipboard) the Save command will display the Save As dialogue box so you can enter the desired filename and format. If the current BASIC program is unchanged, so it doesn't need to be saved, the Save command is inhibited.
If the file you are about to overwrite has been modified by another application (e.g. another copy of BBC BASIC for Windows) since it was first loaded, the Save command issues a warning. If you continue with the Save operation the modifications carried out by the other program will be lost.
The effect is similar to the Paste command, except that the inserted lines are read from a file (and may be in any of the formats accepted by the Load command). If a BASIC program is currently running (i.e. its output window is open) the Insert command is inhibited.
You can force a 'new page' by including the following statement in your program:
When the statement is encountered printing will continue at the top of the next page.REM!Eject
The edit menu is concerned with editing or searching the current BBC BASIC program (i.e. the program loaded into memory). The edit menu can be accessed by clicking on its name in the menu bar or by means of the keyboard shortcut Alt-E.
Selected text is highlighted in reverse-video. You can select text in the following ways:
See Cut for details of how text may be selected.
To start the search click on Find Next, press the Return (Enter) key or use the shortcut Alt+F. The search begins at the position of the text cursor (caret) when the Find command was issued. If you want to search the entire program, ensure that you move the cursor to the start of the program before issuing the command.
If the specified text is found it is highlighted (i.e. selected) and the cursor is moved to the end of the highlighted region. The display is automatically scrolled so that the selected text is visible. Clicking on Find Next again causes the search to resume from this point and the next occurrence of the text (if any) to be found. If the text is not found before the end of the program the message "Text not found" is displayed; clicking Find Next again causes the search to restart from the beginning of the program.
You can click on Cancel at any time to abort the search and dismiss the dialogue box.
To start the search click on Find Next, press the Return (Enter) key or use the shortcut Alt-F. The search begins at the position of the text cursor (caret) when the Replace command was issued. If you want to search the entire program, ensure that you move the cursor to the start of the program before issuing the command.
If the specified text is found it is highlighted (i.e. selected) and the cursor is moved to the end of the highlighted region. The display is automatically scrolled so that the selected text is visible. To confirm that you want the text to be replaced click on Replace; this will replace the text and search for the next occurrence of the text (if any).
Alternatively if you do not wish to replace this occurrence of the text click on Find Next. This will skip the replace operation and search for the next occurrence of the text (if any). If the text is not found before the end of the program the message "Text not found" is displayed.
If you are certain that you want every occurrence of the text (from the current point to the end of the program) to be replaced, click on Replace All.
You can click on Cancel at any time to abort the search and dismiss the dialogue box.
The utilities menu contains commands to aid debugging of your BASIC program, to renumber your program and to convert your program to a stand-alone executable file. The utilities menu can be accessed by clicking on its name in the menu bar or by means of the keyboard shortcut Alt-U.
In Trace mode, the program statement which is currently being executed is highlighted, and this highlight moves as your program is running (unless the statement currently being executed is in a CALLed or INSTALLed module). If your program gets stuck in an 'infinite loop', you will be able to see what part of the program is being executed. If your program stops running because of an error (or an END or STOP statement) the last statement executed will remain highlighted for as long as the program's output window remains open, or until you enter a command in immediate mode.
Trace can be used in conjunction with the Pause and Step commands in order to trace execution of your program one statement at a time.
In the case of arrays, the name, number of dimensions and sizes of each dimension are displayed, but the values of the individual elements are not. If you need to monitor the value of an array element, add an appropriate statement or statements to your program to copy the value to a conventional variable.
You can select the List Variables command either before executing your program or once it is running. List Variables can be used in conjunction with the Pause and Step commands in order to monitor the values of variables as your program is executed one statement at a time.
Renumbering your program can be useful when debugging, because if an (untrapped) error occurs the line number at which the error occurred is displayed. Once your program is complete and debugged, you may prefer to remove the line numbers so as not to clutter the program listing.
The Renumber command will fail if the specified increment is zero or if the specified values would result in a line number greater than the maximum allowed (65535).
The Compile command opens a dialogue box which allows you to choose the name of the executable file, select an appropriate icon, determine the initial window size and choose whether or not to 'sign', 'crunch' or 'encrypt' the program:
By default the executable file is stored in the exe subdirectory of the directory (folder) containing the BASIC program. This ensures that it is safe to run the executable file without any risk of embedded files, when extracted, overwriting wanted files in the source directory.
A default icon is used unless the specified executable file already exists, in which case the icon is taken from that file. You can change the icon by using the REM!Icon compiler directive or by clicking on the Change Icon button which calls up the Change Icon dialogue box:
You can choose an icon either from an existing executable file, or from a separate icon file (for example as produced by an icon editor). If a file contains a number of different icons, you can select the one you want to use. Please respect Copyright, and use only an icon which you have generated yourself or have legitimately obtained for this purpose.
If the selected icon contains multiple variants with different resolutions (e.g. 16x16, 32x32, 48x48) and/or different colour depths (e.g. 16 colours, 256 colours) all the variants will be stored in the compiled executable file. The version used will be the one most suited to the current display settings. (This only works when BBC BASIC is running under Windows NT4.0™ or later; under Windows 95, 98 or Me a 32x32 16-colour icon is stored).
You can choose to digitally sign your executable file, if you have a Code Signing Certificate. For this to work, information on the code-signing tool and its parameters must be stored in the registry, and unless present the checkbox is disabled.
Selecting the 'encrypt' option also causes your program and any embedded files to be compressed in the executable, which can result in a significant reduction in the file size.
You can choose to create a console application rather than a GUI application. A console application is intended to be run from a command prompt and usually won't have a visible window (with BBC BASIC for Windows a window is always created, but normally it will be hidden). To arrange that console input/output is used by your program it should have the following code near the beginning:
The program should exit (whether normally or as the result of an error) using QUIT, optionally followed by an exit code. You should always incorporate an ON ERROR statement since otherwise errors will be reported on the (hidden) output window and not be visible.SYS "GetStdHandle", -10 TO @hfile%(1) SYS "GetStdHandle", -11 TO @hfile%(2) SYS "SetConsoleMode", @hfile%(1), 0 *INPUT 13 *OUTPUT 14
The initial window state can be selected from the drop-down list as Hidden, Normal, Maximised or Minimised. If Maximised is selected, the program will start with the window as large as possible (irrespective of the specified width and height). If Minimised is selected, the program will start with no window (just an icon on the Taskbar). If Hidden is selected your program will neither have a visible window nor an icon in the Task Bar; this is useful for programs which operate in the background and for console mode programs. In all three cases you should normally avoid the use of the MODE statement in your program.
You can enable the use of Windows XP™ Visual Styles by your compiled program. If this option is selected, and your program is run under Windows XP or later (with the default appearance settings), toolbars, status bars, dialogue boxes and other window furniture will have a more colourful and modern style. This selection also improves compatibility with Windows Vista™ Windows 7™, Windows 8/8.1™ and Windows 10/11™.
When using the Remove REMs and Abbreviate names options you can include verbose comments in your program, and use long descriptive variable names, without the size or performance of the final compiled program being affected. In this way you can accord with good programming practice and make your 'source' program easier to understand and modify.
Although you can normally 'crunch' a program without it having any unwanted side effects, there are a few circumstances when it is incompatible with correct program operation:
Files loaded this way will automatically be incorporated into the compiled executable file and copied to appropriate locations on the target machine. Files in the library directory will be deleted from the target machine after the program has completed execution; files in the program's directory will be left there.INSTALL @lib$+"LIBFILE.BBC" OSCLI "PLAY """+@dir$+"MIDIFILE.MID""" SYS "AddFontResource", @dir$+"BBCWIN.FON"
You can also manually edit the list of embedded files using the Add @dir$, Add @lib$ and Remove buttons. The Remove button deletes all selected (highlighted) entries in the list. You can select multiple files for addition and removal, using the Shift and Ctrl keys in the usual way (there is a limit to the number of files that can be added in one go, but more can be added by clicking on the Add button again). If the specified executable file already exists, the list of embedded files is read from that, so any previous edits will be remembered.
Note that it is not intended that this facility should substitute for a proper installer. If you need to do anything more complicated on installation than copying 'resource' files to the destination PC you should consider using an installer utility. For example see the free Inno Setup program.
You can choose to crunch embedded BBC BASIC (tokenised) program files, as well as the main program. If this option is selected any embedded files with a .BBC extension are crunched as if they were part of the main program. The same crunch options are used, and in the case of the abbreviate names option the same abbreviations are used. This ensures that any variables or structures shared between the main program and external modules, imported using INSTALL or CALL, will remain consistent. You must ensure that all imported modules are embedded, otherwise function and procedure names will not be consistent (unless you use the REM!Keep compiler directive to prevent the names being abbreviated).
Embedded files may come from the @dir$ or @lib$ folder, or a subfolder of either of these. When the executable program is run the necessary subfolder(s) will be created and the file(s) copied there. This can be useful if your program uses many resource files, perhaps sound files or bitmap files, and you prefer not to clutter up your program's folder with them. By creating subfolders called, for example, SOUNDS and IMAGES you can keep your files organised. In your program you could access these files as follows:
OSCLI "PLAY "+@dir$+"SOUNDS\TUNE1.MID" OSCLI "DISPLAY "+@dir$+"IMAGES\PICTURE.BMP"
The compiler directives must be entered exactly as shown; they are case-sensitive. They may be included anywhere in your program. In the following list square brackets indicate optional parameters:
REM!Exefile filename[,signed][,encrypt][,console]This directive allows you to specify the path and filename for the executable program, if it is different from the default. You can also optionally specify that the file should be signed, its contents encrypted (and compressed), or that a console-mode executable should be created.
REM!Icon iconfile,indexThis directive allows you to specify a file from which the executable's icon will be extracted. It may be either an executable program (.EXE) file, which can contain multiple icons (an index number of zero signifies the first icon in the file), or an icon (.ICO) file, in which case specify an index of zero.
REM!Window width,height[,client][,hidden][,minimised][,maximised][,xpstyle]This directive allows you to specify the (initial) window dimensions, in pixels, and whether those dimensions apply to the entire window (the default) or the client area. You can also optionally specify the initial window state (hidden, minimised or maximised) and whether Windows XP visual styles should be used by the executable program. It is important to include the xpstyle option if your program is intended to run under Windows Vista, Windows 7, Windows 8/8.1 or Windows 10/11.
REM!Crunch [spaces][,lines][,rems][,names][,embedded]This directive allows you to specify whether the program will be crunched, and if so which crunch options are used. You can also specify that any embedded .BBC (program or library) files should also be crunched.
REM!Embed [file1][, file2...]This directive allows you to specify which files should be embedded in the executable. The files must be specified in the form @dir$+"filename" or @lib$+"filename". You may include more than one REM!Embed line if there are many such files, however you may not use wildcards. The presence of one or more REM!Embed directives overrides the selection of embedded files by other means, so every file that you need to be embedded must be specified using the directive.
REM!Keep var1[, var2, var3...]This directive allows you to specify a list of variable, array or structure names which will not be abbreviated, even when the REM!Crunch names option has been selected. This is useful if you refer to named variables in a DATA statement or using EVAL but you still want to abbreviate the remaining variable names for best performance. Note that such variable names must have at least three characters (excluding the type character, if any) to minimise the risk that they will clash with one of the automatically-generated abbreviated names. You may include more than one REM!Keep line if there are many such variables.
You can also specify that a procedure or function name should not be abbreviated:
Note that in this context PROC and FN must be in capital letters, even if you use the Lowercase keywords option.REM!Keep PROCmyprocedure, FNmyfunction()
REM!Fast var1[, var2, var3...]BBC BASIC for Windows version 6.00a or later only
You must not include in the list the names of any structure members (even if they happen to share their name with a normal variable). Doing so will result in the program failing to run, but no warning is issued at the compilation stage.
REM!Resource [file1][, file2...]This directive allows you to incorporate Windows Resources in the executable file. The resources must be specified in the form @dir$+"filename" or @lib$+"filename" and they must be in the standard '.res' file format. One file can contain any number of resources, but you may include more than one REM!Resource line if desired. Resources that you might want to include are typically Version Information and/or a custom Manifest (when adding a custom manifest deselect the Use Windows XP Visual Styles option).
REM!NoPrinterThis directive specifies that the program being compiled does not need to output to a hardcopy device such as a printer (e.g. using VDU 2 or *HARDCOPY). This causes the default printer not to be queried, which can significantly speed up program initialisation when (for example) the default printer is a network printer that is switched off.
Apart from REM!Embed, REM!Fast, REM!Keep and REM!Resource it is not useful to have more than one directive of the same kind; if you do the one that is latest in the program will be used. Generally the REM!Exefile directive (if any) should be the first, since the other compiler options will be initialised from the contents of a previously-compiled file at the specified location, if present.
Here is an example set of compiler directives:
REM!Exefile C:\Documents and Settings\RTR\Desktop\index.exe REM!Icon C:\Program Files\Help Workshop\hcw.exe, 1 REM!Window 640, 480, client, xpstyle REM!Crunch spaces, lines, rems, names, embedded REM!Embed @dir$+"images\owl.bmp", @lib$+"WINLIB2" REM!Fast speedy%, critical{} REM!Keep header$, footer$ REM!Resource @dir$+"resources\manifest.res" REM!NoPrinter
The options menu allows you to configure BBC BASIC for Windows to suit your own preferences. These preferences are saved on exit from BASIC, and are re-established whenever you run BBC BASIC in the future. The options menu can be accessed by clicking on its name in the menu bar or by means of the keyboard shortcut Alt-O.
When Syntax Colouring is disabled, all the program is listed in black.
When Lowercase Keywords mode is disabled, keywords are only accepted in all capitals and are listed in capitals. This mode is the default and is compatible with earlier versions of BBC BASIC.
Selecting each of the options causes the appropriate program blocks to be indented (by two spaces) with respect to the surrounding code. This can make the program structure much clearer, and make it easier to spot mistakes.
Be aware that if you contrive to have (for example) two NEXT statements which match the same FOR statement, or vice versa, the resulting indentation will not be correct. In a well-structured program you would hopefully never do this anyway!
Note that Unicode text is encoded as UTF-8 within your program; if you want to display it at run time you will either need to use the UTF-8 option provided by the VDU 23,22 command or use one of the Unicode-enabled Windows™ libraries (WINLIBU, WINLIB2U, WINLIB4U or WINLIB5U).
When a BASIC program is loaded the character encoding used is determined automatically (if possible) and the necessary selection made; if the selection was changed a message is displayed to inform you. If the program is not sensitive to encoding (only 7-bit ASCII characters are present in quoted strings) the selection is not changed. If the encoding cannot be determined (for example both ANSI and UTF-8 strings appear to be present in the program) a warning is issued.
Normally all available fonts are listed; an optional registry setting causes only those fonts which have a fixed pitch (i.e. monospaced fonts) to be included. The default font is the System Fixed Font, which is selected by ticking the Use System Fixed Font option.
Normally all available fonts are listed; an optional registry setting causes only those fonts which have a fixed pitch (i.e. monospaced fonts) to be included. If no printer font has been selected the screen font is used (if the System Fixed Font has been selected a default printer font is used).
Selecting the appropriate syntactical element causes the current colour for that element to be identified by means of a box around the colour sample. You can change the colour for that element simply by clicking on the appropriate coloured rectangle, and then clicking on OK or Apply (OK closes the dialogue box, whereas Apply leaves it open so that further changes can be made).
If the selection of 48 pre-defined colours is not sufficient, you can click on Define Custom Colour which allows you to choose a colour from the full range supported by your video hardware and settings.
The Default program box allows you to enter the name of a BASIC program which will be automatically loaded every time BBC BASIC for Windows is started. To ensure that this works correctly whatever the current (Start in) directory, you should enter the full path to the program file (the box will scroll horizontally as required). Alternatively you can browse for the file by clicking on the button with three dots.
The Initial user memory box allows you to set the amount of memory available for loading your BASIC programs (it also determines the initial value of HIMEM when a program is run). The default value is about two Megabytes (2097152 bytes) which should be large enough for all but the very largest programs. Increasing this value more than necessary will cause BBC BASIC for Windows to use extra memory and may affect performance if insufficient RAM is fitted in your PC; it also affects the memory requirements of compiled executables. For best performance always set this value to an exact multiple of four. For a change to take effect you must exit and re-start BBC BASIC.
The Number of undo levels setting determines how many editing operations you can reverse with the Undo command. Increasing this value can result in BBC BASIC for Windows using up much more memory and may affect performance if insufficient RAM is fitted in your PC.
The Accept keyword abbreviations setting controls whether the program editor will accept keyword abbreviations such as P. instead of PRINT. One reason why you might want to turn off this facility is that structure names may be mistaken for abbreviated keywords. The setting is disabled if you have selected the Lowercase Keywords option because in that case the potential for this confusion is greatly increased.
The Maximum number of columns setting determines the maximum width of the right-click context menu. You should set it so the menu always fits on your screen, with the display resolution you are using.
The Maximum number of rows setting determines the maximum height of the right-click context menu. You should set it so the menu always fits on your screen, with the display resolution you are using.
The Include ON statements setting controls whether ON CLOSE, ON ERROR, ON MOUSE, ON MOVE, ON TIME and ON SYS statements appear in the right-click context menu. In any case they only appear when at the very beginning of a program line.
The Show FN/PROC parentheses setting controls whether functions and procedures, which take parameters, are shown in the context menu with a pair of trailing parentheses (brackets). This can be useful when two functions or procedures with the same name are present, but one takes parameters and the other doesn't. Note that if the parameter list is separated from the FN/PROC name by one or more spaces, parentheses will not be shown.
The run menu is concerned with running and debugging your BBC BASIC program. The run menu can be accessed by clicking on its name in the menu bar or by means of the keyboard shortcut Alt-R.
If the program is already running (i.e. its output window is open), Run stops the program and restarts it from the beginning (note the caveat listed under Stop about any ON CLOSE routine not being executed).
If the line numbers (if any) in your program are not in ascending sequence, an error message is displayed and the first out-of-sequence line number is highlighted. You must correct the line numbers, for example by using the Renumber utility, before you can run the program.
Note that any ON CLOSE routine in your program will not be executed. It is therefore better to use the normal methods of ending your program (e.g. clicking on the Close button) when possible and to use the Stop command only as a last resort.
If the program is not currently running (i.e. its output window is not open) the Stop command is inhibited.
If the program is not currently running (i.e. its output window is not open) the Pause command is inhibited.
If the program is not currently paused, the Step command is inhibited. If you want to single-step through only a specific part of your program, add a TRACE STEP ON statement at that point. Alternatively use the Run To Cursor command.
If the program never executes a statement in the next line, it will not pause.
The first (or only) statement in the line containing the cursor is executed before the program pauses. If the program never executes a statement in the line containing the cursor, it will not pause. Once the program is paused, issuing the Run To Cursor command again (or pressing F6) will cause execution to continue from that point; the program will pause again if there are more statements in the line, or if the line is reentered later.
Note that the program will not pause on any of the following lines:
Immediate Mode can also be useful for doing things like deleting a file (*DELETE), or setting a file to read-only status (*LOCK). When in immediate mode you can execute the current program by typing RUN. If the current program is already running (i.e. its output window is open) the Immediate command will stop the program before entering immediate mode.>PRINT 2+2
The help menu gives access to the BBC BASIC for Windows documentation, provides links to information via email or from the web, and displays version information. The help menu can be accessed by clicking on its name in the menu bar or by means of the keyboard shortcut Alt-H.
Key | Operation |
---|---|
Insert | Toggle between insert and overtype mode. In overtype mode any character typed will over-write the existing character at that position on the line. In insert mode any character typed will 'push' the rest of the line to the right to make room. The insert/overtype status is indicated in the status bar. |
Delete | This key has an identical effect to the Delete command. If any text is selected (highlighted) it is deleted, without being copied to the clipboard. Otherwise, the character to the immediate right of the cursor (caret) is deleted and the rest of the line is moved left to fill the gap. |
Home | Move the cursor (caret) to the start of the current program line, and scroll the display horizontally (if necessary) to ensure that the cursor is visible. |
Ctrl+Home | Move the cursor (caret) to the start of the program, and scroll the display horizontally and/or vertically (if necessary) to ensure that the cursor is visible. |
End | Move the cursor (caret) to the end of the current program line, and scroll the display horizontally (if necessary) to ensure that the cursor is visible. |
Ctrl+End | Move the cursor (caret) to the end of the program, and scroll the display horizontally and/or vertically (if necessary) to ensure that the cursor is visible. |
Page Up | Display the previous 'page' of the program by scrolling the display down by one screenful (less one line) or until the first line of the program is visible, whichever is less. If the first line of the program is already in view, Page Up has no effect. |
Page Down | Display the next 'page' of the program by scrolling the display up by one screenful (less one line) or until the last line of the program is visible, whichever is less. If the last line of the program is already in view, Page Down has no effect. |
Move the cursor (caret) one character to the left, and scroll the display horizontally (if necessary) to ensure that the cursor remains visible. If Shift is held down, select (or de-select) a character. If the cursor is already at the beginning of a line, the key has no effect. | |
Move the cursor (caret) one character to the right, and scroll the display horizontally (if necessary) to ensure that the cursor remains visible. If Shift is held down, select (or de-select) a character. | |
Move the cursor (caret) up one line, and scroll the display vertically (if necessary) to ensure that the cursor remains visible. If Shift is held down, select (or de-select) a line. If the cursor is already on the first line, the key has no effect. | |
Move the cursor (caret) down one line, and scroll the display vertically (if necessary) to ensure that the cursor remains visible. If Shift is held down, select (or de-select) a line. If the cursor is already on the last line, the key has no effect. | |
Backspace | Delete the character immediately to the left of the cursor (caret), and move the cursor left one position. The rest of the line, to the right of the cursor, is moved left to fill the gap. If the cursor is at the beginning of a line, delete the preceding 'new line' (and the line number, if any) and concatenate the contents of the present line onto the end of the previous line. |
Return (Enter) | Insert a 'new line' at the current position of the cursor (caret). Everything to the right of the cursor will be moved onto the next line, and the rest of the program is moved down one line to make space. By this means you can split an existing line into two or more lines |
Ctrl+ | Move the cursor (caret) one word to the left, and scroll the display horizontally (if necessary) to ensure that the cursor remains visible. If Shift is also held down, select (or de-select) a word. |
Ctrl+ | Move the cursor (caret) one word to the right, and scroll the display horizontally (if necessary) to ensure that the cursor remains visible. If Shift is also held down, select (or de-select) a word. |
Tab | Normally has no effect, but can be programmed to execute a macro. See the SETTAB program supplied. |
Ctrl+Backspace | Delete the previous word (i.e. to the left of the cursor) and move the rest of the line left to fill the gap. |
Ctrl+Delete | Delete the next word (i.e. to the right of the cursor) and move the rest of the line left to fill the gap. |
The 'printing' keys (letters, numbers and symbols) cause the appropriate character to be entered at the position of the cursor (caret), and the cursor is then moved right by one position. If anything is selected (highlighted) when the key is pressed, it is first deleted.
Action | Operation |
---|---|
Left click | Clicking in the editing pane with the left mouse button causes the text cursor (caret) to be moved to the character position nearest to the mouse pointer. If Shift is held down, the region between the previous position of the text cursor and the new position will be selected. If Ctrl is held down the entire line containing the text cursor will be selected. |
Left double-click | Double-clicking in the editing pane with the left mouse button causes the word under the mouse pointer (and the following space, if any) to be selected. The text cursor (caret) is moved to the end of the selected region. The selected word can then be cut, copied or deleted. If the Find or Replace command is issued, the selected word is copied to the Find What field. |
Left drag | Holding down the left mouse button and 'dragging' the mouse pointer over the program displayed in the editing pane causes a section of the program to be selected. Dragging the mouse horizontally selects part or all of a line; dragging the mouse vertically selects a block of lines (only entire lines may be selected). |
Right click | Clicking in the editing pane with the right mouse button causes the Context Menu to be displayed. |
Wheel | Operating the mouse wheel causes the editing pane to scroll vertically, usually by one line per 'notch'. |
Ctrl+Wheel | Holding down the Ctrl key and operating the mouse wheel causes the editing pane to zoom; note that this will not work if you have selected the System Fixed Font. |
Alternatively, if you hold down the Ctrl key before releasing the left button the selected text is copied to the location where the button was released (a plus sign appears next to the mouse pointer indicating a copy rather than a move). This is equivalent to a copy-and-paste operation via the clipboard. If you want to cancel the Drag and Drop operation you can do that by pressing the ESCape key before you release the left button, or by releasing the button when the pointer is inside the selected area.
You can also Drag and Drop between BBC BASIC for Windows and any other program supporting that facility. You will often find that a plus sign is shown next to the mouse pointer, even if you are not holding down the Ctrl key. That signifies that you cannot delete the text in the window from which you are dragging it (for example if you drag program examples from the BBC BASIC for Windows Help window).
Clicking on Add REMs automatically adds a REM to the start of each line in the selected block. If every line already starts with a REM, the context menu contains the Remove REMs command.
As well as procedure and function names, the list optionally includes lines beginning with ON CLOSE, ON ERROR, ON MOUSE, ON MOVE, ON TIME or ON SYS. This feature can be enabled or disabled with the Customize command.
Name | Type | Data |
---|---|---|
ConfirmOnExit | REG_BINARY | 00: The IDE will not prompt for confirmation on exit (unless the program is unsaved).
01: The IDE will prompt for confirmation on exit if the output window is open (default). |
UsePrinter | REG_BINARY | 00: No check will be made for the default printer when the output window is opened.
01: The default printer will be queried when the output window is opened (default). |
FixedPitchOnly | REG_BINARY | 00: The Set Font and Set Printer Font options will list all available fonts (default).
01: The Set Font and Set Printer Font options will list only monospaced fonts. |
SignTool | REG_SZ | The full path and filename of your Authenticode code-signing tool (if any). |
SignParm | REG_SZ | The parameters required by your code-signing tool (use "%s" for the EXE filename). |
CONTENTS |
CONTINUE |