Bienvenue sur le wiki de Nuit debout, nous sommes le 3005 mars.




Villes/Montluçon/sciences/PC-BASIC : Différence entre versions

De NuitDebout
Aller à : navigation, rechercher
(Page créée avec « Overview A free, cross-platform emulator for the GW-BASIC family of interpreters. PC-BASIC is a free, cross-platform interpreter for GW-BASIC, Advanced BASIC (BASICA),... »)
 
(Guide de démarrage rapide)
 
(12 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
PC-BASIC est un logiciel gratuit, multi-plateforme interprète pour GW-BASIC, Advanced BASIC (BASICA), PCjr Cartridge Basic et Tandy 1000 GWBASIC.
  
Overview
+
Il interprète ces dialectes BASIC avec un haut degré de précision, dans le but de compatibilité bogue pour bogue.
  
A free, cross-platform emulator for the GW-BASIC family of interpreters.
+
PC-BASIC émule vidéo et audio du matériel le plus commun sur lequel ces BASICs utilisés pour exécuter.
  
PC-BASIC is a free, cross-platform interpreter for GW-BASIC, Advanced BASIC (BASICA), PCjr Cartridge Basic and Tandy 1000 GWBASIC. It interprets these BASIC dialects with a high degree of accuracy, aiming for bug-for-bug compatibility. PC-BASIC emulates the most common video and audio hardware on which these BASICs used to run. PC-BASIC runs plain-text, tokenised and protected .BAS files. It implements floating-point arithmetic in the Microsoft Binary Format (MBF) and can therefore read and write binary data files created by GW-BASIC.
+
PC-BASIC peut lire  texte brut, tokenised et fichiers .BAS protégés.
  
PC-BASIC is free and open source software released under the GPL version 3.
+
Il met en oeuvre l'arithmétique flottante dans le format Microsoft binaire (MBF) et peut donc
 +
lire et écrire des fichiers de données binaires créés par GW-BASIC.
  
See also the PC-BASIC home page.
+
PC-BASIC est un logiciel libre et open source publié sous la GPL version 3.
  
Quick Start Guide
+
Voir aussi la [page d'accueil PC-BASIC] (http://robhagemans.github.io/pcbasic/).
  
This quick start guide covers installation and elementary use of PC-BASIC. For more information, please refer to the full PC-BASIC documentation which covers usage, command-line options and a comprehensive GW-BASIC language reference. This documentation is also included with the current PC-BASIC release.
+
! [] (Https://robhagemans.github.io/pcbasic/screenshots/pcbasic.png)
  
If you find bugs, please report them on the SourceForge discussion page or open an issue on GitHub. It would be most helpful if you could include a short bit of BASIC code that triggers the bug.
+
== Contribuer à PC-BASIC ==
Installation
+
  
Packaged distributions can be downloaded from one of the following locations:
+
Merci pour votre intérêt à contribuer au PC-BASIC!
  
    PC-BASIC releases on GitHub
 
    PC-BASIC releases on SourceForge
 
  
On Windows:
+
=== rapports de bugs===
  
    run the installer
+
Si vous trouvez des bugs, s'il vous plaît les signaler sur le [Page SourceForge de discussion] (https://sourceforge.net/p/pcbasic/discussion/bugs/) ou [ouvrir une question sur GitHub] (https://github.com/ robhagemans / pcbasic / numéros).
    to start, click PC-BASIC in your Start menu
+
  
On OS X:
+
Dans votre rapport de bug, s'il vous plaît préciser:
  
    mount the disk image
+
* Quelle version de PC-BASIC vous utilisez;
    to start, double click the PC-BASIC app
+
* Quel est le système que vous utilisez, y compris la version et si elle est 64-bit ou 32-bit exploitation;
 +
* Ce que tu as fait;
 +
* Qu'est-ce que vous vous attendiez à arriver;
 +
* Qu'est-il arrivé à la place.
  
On Linux and other Unix:
+
La meilleure chose à faire dans un rapport de bogue est d'afficher un petit programme BASIC qui déclenche le bogue ou le comportement indésirable.
  
    untar the archive
+
Cela permet souvent moi de voir ce qui se passe tout de suite, sinon je peux l'essayer pour moi-même. Il est presque magique comme ça.
    run sudo ./install.sh. You may be asked to install further dependencies through your OS's package management system.
+
    to start, click PC-BASIC in your Applications menu or run pcbasic on the command line.
+
  
If the options above are not applicable or you prefer to install from source, please consult INSTALL.md for detailed instructions.
+
Une fois que vous postez votre rapport, s'il vous plaît consulter dans les prochains jours: souvent, il est pas évident pour moi depuis le premier rapport que le problème exact est, puisque les gens utilisent différentes configurations, ont des attentes différentes et de faire des hypothèses différentes. Je vais souvent réponds assez rapidement pour vous demander un peu plus d'informations.
BASIC survival kit
+
  
Click on the PC-BASIC application icon or run pcbasic on the Windows, OSX or Linux command line and PC-BASIC will start in direct mode with no program loaded. The default emulation target is GW-BASIC 3.23 on a generic IBM-compatible PC with a VGA video card.
+
=== Code contributifs ===
  
PC-BASIC starts in direct mode, a 1980s-style interface operated by executing BASIC commands directly. There is no menu, nor are there any of the visual clues that we've come to expect of modern software.
+
La base de code actuel de PC-BASIC a été écrit par un seul auteur, Rob Hagemans.
 +
Cela ne veut pas dire qu'il doit rester. Si vous souhaitez contribuer
 +
code pour PC-BASIC, s'il vous plaît contacter l'auteur au _robhagemans@users.sourceforge.net_.
  
A few essential commands to help you get around:
+
Vous aurez besoin de se mettre d'accord pour vos contributions de code pour être distribué sous la licence [License Expat MIT] (https://opensource.org/licenses/MIT).
LOAD "PROGRAM" loads the program file named PROGRAM.BAS into memory, but does not run it yet.
+
Ceci est une licence plus permissive que PC-BASIC est (actuellement) publié sous. La raison pour laquelle je demande
LIST displays the BASIC code of the current program.
+
une licence permissive pour les contributions est que cela me permet de re-licence le code à une date ultérieure.
RUN starts the current program.
+
SAVE "PROGRAM",A saves the current program to a human-readable text file named PROGRAM.BAS.
+
NEW immediately deletes the current program from memory.
+
SYSTEM exits PC-BASIC immediately, discarding any unsaved program or data.
+
  
Use one of the key combinations Ctrl+Break, Ctrl+Scroll Lock, Ctrl+C or F12+B to interrupt a running program and return to direct mode.
+
== Installation à partir des sources ==
Configuration
+
Pour installer à partir des sources, télécharger la distribution source et décompresser l'archive TGZ.
 +
Les paquets suivants sont nécessaires ou recommandés lors de l'installation PC-BASIC de la source:
  
You can supply options to change PC-BASIC's behaviour by editing the configuration file. If you install the Windows package, the installer will automatically create a shortcut to this file in the PC-BASIC start menu folder. The file can also be found in the following location:
+
| package | OS | Statut | Nécessaire pour
OS Configuration file
+
|-----------------------------------------------------------------|--------------------|--------------|----------------------------------------
Windows %APPDATA%\pcbasic\PCBASIC.INI
+
| [Python 2.7.6] (http://www.python.org/download/releases/2.7.6/) | tout | nécessaire |
OS X ~/Library/Application Support/pcbasic/PCBASIC.INI
+
| [Pywin32] (https://sourceforge.net/projects/pywin32/) | fenêtres | nécessaire |
Linux ~/.config/pcbasic/PCBASIC.INI
+
| [PyXDG] (http://freedesktop.org/wiki/Software/pyxdg/) | Linux, autre | nécessaire |
 +
| [PyGame 1.9.1] (http://www.pygame.org/download.shtml) | tout | essentielle | sons et graphiques
 +
| [NumPy] (https://sourceforge.net/projects/numpy/files/) | tout | essentielle | sons et graphiques
 +
| [Pyserial] (https://pypi.python.org/pypi/pyserial) | tout | recommandé | accès au port série physique ou émulé
 +
| [PyParallel] (https://pypi.python.org/pypi/pyserial) | Windows, Linux | option | accès au port parallèle physique
 +
| [Pexpect] (http://pexpect.readthedocs.org/en/latest/install.html) | OSX, Linux, autre | option | `Shell` native
  
For example, to start with the emulation target set to Tandy 1000 GW-BASIC, include the following line under [pcbasic] in the configuration file:
+
Dans cette liste, _autre_ fait référence aux systèmes d'exploitation autres que Windows, Linux ou OSX.
  
preset=tandy
+
Sur ** de Windows **, vous devez télécharger tous les paquets nécessaires à partir des sites Web des projets liés ci-dessus.
  
A default configuration file will be created the first time you run PC-BASIC. See the comments in that file or consult the documentation for more information and example options.
+
Télécharger `launcher.exe` de la [ANSI | tuyau page release] (http://github.com/robhagemans/ansipipe/releases/) et placez-le dans le répertoire où` pcbasic.py` est situé.
 +
Vous pouvez maintenant exécuter pc-base avec la commande `lanceur python pcbasic.py`. Sans ANSI | pipe, PC-BASIC fonctionne, mais vous
 +
être incapable d'utiliser les interfaces à base de texte (les options `` -t` et -b`) car ils n'imprimer que du charabia sur la console.
  
If you start PC-BASIC from the command prompt (on Windows this is the C:\> prompt), you can supply configuration options directly. For example:
+
L'ANSI | source de tuyau de C est inclus avec PC-BASIC; si vous préférez cela à télécharger le binaire du lanceur, vous pouvez le compiler à partir des sources en exécutant `winbuild.bat`. Vous aurez besoin d'un compilateur C de travail (MinGW ou Microsoft Visual C ++) sur votre système.
  
pcbasic PROGRAM.BAS runs the program file named PROGRAM.BAS directly.
+
Sur ** OSX **, il existe plusieurs versions de Python 2.7 et tous les téléchargements doivent correspondre à votre version et de l'architecture du processeur. Il est un peu délicat, je le crains. L'option la plus simple semble être l'installation à la fois Python et PyGame par MacPorts ou Homebrew.
pcbasic --preset=tandy starts with the emulation target set to Tandy GW-BASIC on a Tandy 1000.
+
pcbasic --preset=pcjr starts with the emulation target set to Cartridge BASIC on an IBM PCjr.
+
pcbasic -h shows all available command line options.
+
  
If you use PC-BASIC from the command prompt on Windows, make sure you run the pcbasic.com binary. You will not see any output if you call the pcbasic.exe binary.
+
Sur les distributions Linux ** avec APT ou DNF ** (y compris Debian, Ubuntu, Mint et Fedora), le script d'installation va installer automatiquement les dépendances si elle est exécutée avec les privilèges root.
Getting programs
+
  
The following pages have GW-BASIC program downloads, lots of information and further links.
+
Le script d'installation peut également être utilisé sur d'autres Unix ** ** systèmes ou lorsqu'ils ne sont pas l'installation en tant que root. Les dépendances peuvent souvent être installés par votre gestionnaire de paquets. Par exemple, sur les systèmes basés sur Debian:
  
    KindlyRat's archived Geocities page has a number of classic games and utilities.
+
        sudo apt-get install python2.7 python-xdg python-pygame python-numpy python-serial python-pexpect python-parallèle xsel
    PeatSoft provides GW-BASIC documentation, utilities and some more games.
+
    Neil C. Obremski's gw-basic.com has some fun new games made recently in GW-BASIC.
+
    Leon Peyre has a nice collection of GW-BASIC programs, including the (in)famous first IBM PC game DONKEY.BAS.
+
    Brooks deForest provides his amazing Tandy GW-BASIC games, all released into the public domain.
+
    TVDog's Archive is a great source of information and GW-BASIC programs for the Tandy 1000.
+
    Phillip Bigelow provides scientific programs written in GW-BASIC.
+
    Gary Peek provides miscellaneous GW-BASIC sources which he released into the public domain.
+
    S.A. Moore's Classic BASIC Games page provides the BASIC games from David Ahl's classic book.
+
    Joseph Sixpack's Last Book of GW-BASIC has lots of office and utility programs, including the PC-CALC spreadsheet.
+
    Thomas C. McIntyre's GeeWhiz Collection has business applications, games and reference material.
+
    cd.textfiles.com has tons of old shareware, among which some good GW-BASIC games.
+
  
User's guide
+
Sur Fedora:
The working environment
+
  
The first thing you'll see when starting PC-BASIC is the working environment. Like GW-BASIC, but unlike practically all modern compilers and interpreters, PC-BASIC's working environment serves both as a development environment and as a canvas on which to execute BASIC commands directly. With a few exceptions, practically all commands that can be run in the working environment can be used in a program, and vice versa.
+
        sudo DNF installer python pyxdg pygame numpy pyserial python-pexpect xsel
  
The default PC-BASIC screen has 25 rows and 80 columns. The 25th row is used by PC-BASIC to show keyboard shortcuts, which means you can't use it to type on. In some video modes, there are only 40 or 20 columns.
+
Sur FreeBSD:
  
Logical lines exceed the width of the physical row: if you keep typing beyond the screen width, the text will wrap to the next line but PC-BASIC will still consider it part of the same line. A logical line can be at most 255 characters long; if you type more than 255 characters, it will ignore the remainder. A line can also be wrapped by a line-feed, entered with Ctrl+Enter.
+
        sudo pkg installer python27 PY27-xdg PY27-jeu PY27-numpy PY27-série PY27-pexpect xsel
  
If you press Enter, PC-BASIC will attempt to execute the logical line on which the cursor is placed as a command. When the command is executed correctly, PC-BASIC will display the prompt Ok. If there is an error, it will display an error message followed by Ok. If the line starts with a number, it will be stored as a program line. No prompt is displayed.
+
Notez que PyParallel ne sont pas disponibles à partir des prises en pension de Fedora et FreeBSD. PyParallel ne supporte pas BSD; sur Fedora, vous aurez besoin d'installer de la source si vous avez besoin d'accéder aux ports parallèles physiques. Cependant, étant donné que la plupart des machines modernes ne sont pas réellement des ports parallèles, vous ne avez probablement pas besoin. PyParallel est _not_ nécessaire pour l'impression sur un CUPS ou imprimante Windows.
Special keys
+
  
The following keys have a special effect in the working environment:
+
=== Compilation des sources de dépôt GitHub ===
↑ or Ctrl+6 Move the cursor up, except at the top row.
+
Les instructions ci-dessus renvoient à la source * Distribution *, qui a pré-construit
↓ or Ctrl+- Move the cursor down, except at row 24.
+
les fichiers de documentation et d'autres subtilités.
← or Ctrl+] Move the cursor left. The left edge of the screen wraps around, except at the top row.
+
Si vous souhaitez utiliser le code source tel quel dans le repo GitHub,
→ or Ctrl+/ Move the cursor right. The right edge of the screen wraps around, except at row 24.
+
vous aurez besoin pour construire les docs vous. Notez que `-h` pcbasic échouera si vous omettez
Ctrl+← or Ctrl+B Move to the first letter of the previous word. Words consist of letters A—Z and figures 0—9.
+
ce. Compiler la documentation nécessite les modules Python
Ctrl+→ or Ctrl+F Move to the first letter of the next word.
+
[ `Lxml`] (https://pypi.python.org/pypi/lxml/3.4.3) et [` markdown`] (https://pypi.python.org/pypi/Markdown).
Tab or Ctrl+I Move the cursor to the next tab stop. Tab stops are 8 columns wide.
+
Bien sûr, vous aurez également besoin [ `git`] (https://git-scm.com/) et toutes les dépendances de PC-BASIC énumérés ci-dessus.
Backspace or Ctrl+H Delete the character left of the cursor, shift all further characters on the logical line one position to the left and change the attributes of those characters to the current attribute. At the left edge of the screen, this does the same as Del.
+
Del or Ctrl+Backspace Delete the character at the cursor and shift all further characters one position to the left, changing attributes to current.
+
Esc or Ctrl+[ Delete the current logical line.
+
Ctrl+End or Ctrl+E Delete all characters from the cursor to the end of the logical line.
+
Ctrl+Break or Ctrl+C or Ctrl+Scroll Lock Jump to the first column of the next line, without executing or storing the line under the cursor.
+
Enter or Ctrl+M Execute or store the current logical line. The complete line on the screen is considered part of the command, even if you did not type it. A line starting with a number is stored as a program line.
+
End or Ctrl+N Move the cursor to the first position after the end of the logical line.
+
Home or Ctrl+K Move the cursor to the top left of the screen.
+
Ctrl+Home or Ctrl+L Clear the screen and move the cursor to the top left of the screen.
+
Ctrl+Enter or Ctrl+J Move to the first column of the next line, connecting the two lines into one logical line.
+
Ctrl+G Beep the speaker.
+
Pause or Ctrl+Num Lock Pause. Press another key to resume.
+
Ctrl+Prt Sc Toggle echoing screen output to the printer (or other device attached to LPT1:).
+
Shift+Prt Sc Print the screen.
+
Ins or Ctrl+R Toggle insert mode. In insert mode, characters are inserted rather than overwritten at the current location. If insertion causes the line to extend the physical screen width, the logical line extends onto the next line. Arrow keys exit insert mode.
+
  
When a program is started, the commands in the program are followed until the program quits and returns to direct mode or until user input is required. When a program is running, a few keys have immediate effect:
+
1. Clone le repo github
Pause or Ctrl+Num Lock Pause execution. Press another key to resume.
+
Ctrl+Break or Ctrl+Scroll Lock Stop execution and return to direct mode. A Break message is printed.
+
Ctrl+C If ctrl-c-break=True: stop execution and return to direct mode. A Break message is printed.
+
  
If user input is required by the statements INPUT, LINE INPUT, or RANDOMIZE, most keys have the same effect as in direct mode. The following keys have a different effect:
+
        git clone --recursive https://github.com/robhagemans/pcbasic.git
Ctrl+Break or Ctrl+C or Ctrl+Scroll Lock Stop execution and return to direct mode. A Break message is printed.
+
Enter Finish input and return to the previous mode.
+
Keyboard shortcuts
+
  
The function keys and the alt key can be used as keyboard shortcuts for some keywords. The default values for the function keys are:
+
2. Compiler la documentation
F1 LIST
+
F2 RUNEnter
+
F3 LOAD"
+
F4 SAVE"
+
F5 CONTEnter
+
F6 ,"LPT1:"Enter
+
F7 TRONEnter
+
F8 TROFFEnter
+
F9 KEYSpace
+
F10 SCREEN 0,0,0Enter
+
  
The function key shortcuts can be redefined with the KEY statement. The shortcuts are displayed at the bottom of the screen.
+
        python prepare.py
  
The following keywords can be entered with Alt+first letter. The Alt shortcuts cannot be redefined.
+
3. Exécutez pcbasic directement à partir du répertoire source
  
    AUTO BSAVE COLOR DELETE ELSE FOR GOTO HEX$ INPUT KEY LOCATE MOTOR NEXT OPEN PRINT RUN SCREEN THEN USING VAL WIDTH XOR
+
        python pcbasic
  
Alternative keys
+
Pour éviter tout doute, vous devez ignorer `setup.py`, qui est seulement nécessaire
 +
pour générer des paquets avec `setuptools`.
  
In PC-BASIC, the F12 key can be used to enter special keys that are not present on some keyboards.
 
F12+B Break
 
F12+P Pause
 
F12+C Caps Lock
 
F12+N Num Lock
 
F12+S Scroll Lock
 
  
The F12 key can also be used in combination with the regular number keys and arrow keys to enter numbers from the numeric keypad. The F12 combinations are not present in GW-BASIC.
+
=== questions de Pygame ===
 +
La 1.9.1 libération de PyGame, tel qu'il est actuellement distribué avec Ubuntu et d'autres, malheureusement, contient encore quelques bugs qui
 +
ont déjà été résolus dans le code PyGame amont. Cette section décrit des solutions de contournement pour ces bugs qui peuvent être utilisés
 +
jusqu'à ce qu'une nouvelle version de PyGame est libéré avec les principales distributions.
  
Furthermore, as in GW-BASIC, the Alt key can be used to enter characters by their code points (ASCII values). This is done by pressing the Alt key and typing the code point as a decimal value on the numeric keypad, then releasing the Alt key.
+
==== X11 presse-papiers ====
Clipboard operations
+
PyGame copier-coller ne fonctionne pas correctement sur les systèmes basés sur X11.
 +
Si vous rencontrez ce problème, installez l'un des [ `xsel`] (http://www.vergenet.net/~conrad/software/xsel/) ou
 +
[ `Xclip`] (https://sourceforge.net/projects/xclip/) services publics et PC-BASIC travailleront autour de la question.
  
Unlike in GW-BASIC, you can copy and paste text to the clipboard. This can be done with the mouse or with the F11 key.
+
==== messages Joystick de débogage ====
 +
Quelques messages de débogage ont été laissés dans le code de production pour la manipulation du joystick.
  
Operating the clipboard with the mouse works in the style of X11: Left button is select and copy; middle button is paste.
+
Le résultat est un flux ennuyeux de messages de débogage sur la console qui se produit lorsque vous utilisez un joystick.
  
The following keyboard combinations also operate the clipboard:
+
Si cela vous dérange, vous devez installer PyGame de la source; voir ci-dessous.
F11+↑↓←→ Select a screen region.
+
F11+A Select all.
+
F11+C Copy to clipboard.
+
F11+V Paste from clipboard.
+
Emulator control keys
+
  
In PC-BASIC, F11+F toggles fullscreen mode.
+
==== Segmentation fault ====
Programs and files
+
Parfois, vous pouvez exécuter dans un accident avec le message d'erreur suivant:
  
PC-BASIC can hold one BASIC program at a time in memory. To enter a program line, start with a line number and enter BASIC commands after that. The maximum length of a program line is 255 characters, including the line number and any spaces. The program line will not be immediately executed, but stored in the program. Program lines are sorted by line number, so that line 10 is executed before line 20. All program lines must have a line number. Line numbers range from 0 to 65535 inclusive. It is not possible to enter a line number higher than 65529, but these can exist in loaded programs. Within one program line, statements are separated by colons :.
+
    Erreur fatale de Python: (pygame parachute) Segmentation Fault
 +
    Aborted (core dumped)
  
To run the program, type the command RUN. PC-BASIC will now execute all program lines in order inside the working environment. You cannot move the cursor around or enter commands while the program is running. If and when the program finishes, it will return control of the working environment to you. You can interrupt a program at any time by using one of the key combinations Ctrl+Break or Ctrl+Scroll Lock. The program will stop immediately, print a Break message and return control to you.
+
Malheureusement, la seule solution de contournement que je connais est d'installer PyGame des sources actuelles de développement.
  
In GW-BASIC, you can not use Ctrl+C to interrupt a running program. However, many modern keyboards do not have a Break or Scroll Lock key, which would make it impossible to interrupt a program that does not exit. Therefore, by default, PC-BASIC treats Ctrl+C as if it were Ctrl+Break. Set ctrl-c-break=False if you prefer the GW-BASIC style behaviour. When using the text-based or command-line interface, this option is ignored.
+
==== Installation PyGame des sources actuelles de développement ====
  
A program can be stored on a drive by using the SAVE command, in one of three ways:
+
1. Installez les dépendances. Ce sont les paquets dont je avais besoin sur Ubuntu 15.04:
  
    Plain text, readable by any text editor: SAVE "MYPROG",A
+
        sudo apt-get install mercurial libpython-dev python-numpy ffmpeg libsdl1.2-dev libsdl-ttf2.0-dev libsdl-font1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libportmidi-dev libswscale -dev libavformat-dev libftgl-dev libsmpeg-dev
    Tokenised, taking up less storage space: SAVE "MYPROG"
+
    Protected, which is an encrypted format: SAVE "MYPROG",P
+
  
In all three cases, the program will be written to the current working directory with the name MYPROG.BAS.
 
  
PC-BASIC can read and write Protected files created by GW-BASIC. Unlike GW-BASIC, however, it does not disable accessing the unencrypted contents of the file. The encryption used by GW-BASIC has been broken many decades ago, so Protected mode offered little protection anyway; disallowing access is a small security hazard as it would allow someone to send you a program that you cannot inspect before running it. However, it is possible to disable access of protected files by enabling the option strict-protect.
+
2. Faire un répertoire de travail pour votre construction, changer en elle et obtenir la source
  
You can read a program file into memory with LOAD "MYPROG". This will erase the program currently in memory and replace it with the one read from the current working directory. To access files in a different directory, specify a path from the current directory. The path specification follows DOS conventions. The only valid path separator is the backslash \. For example, LOAD "PROGRAMS\MYPROG".
+
        hg clone https://bitbucket.org/pygame/pygame
  
You can load or run a program immediately on starting PC-BASIC by using the load or run options. For example,
+
3. Configurer
pcbasic --run=MYPROG.BAS
+
  
The arguments to these options can be provided as PC-BASIC paths or as paths in the standard form for your operating system.
+
        ./configure
  
PC-BASIC can be used to convert between the three program formats: either by loading the program and saving in your desired format, or from the command line using the convert option. To convert a tokenised or protected file to plain text you could use, for example:
+
    Le script vous avertira si vous dépendances manquantes.
pcbasic --convert=A PROGRAMP.BAS PROGRAMA.BAS
+
Accessing your drives
+
  
By default, drive letter Z: is mapped to the current working directory and is the current drive. In particular, it is not mapped to the Windows Z: drive, if that exists. You can map drives and other file system locations as PC-BASIC drive letters by using the mount option. For example,
+
4. Compiler
pcbasic --mount=A:/home/me/BasicFloppy,C:/home/me/Stuff
+
or, on Windows,
+
pcbasic --mount=A:C:\Users\Me\BasicFloppy,C:C:\Users\Me\Stuff
+
will map those locations to the PC-BASIC A: and C: drives.
+
  
If you want PC-BASIC's drive letters to be the same as those in Windows, enable the option map-drives. Use this with caution, since it means that your programs can now read and write on all drives that Windows allows you access to.
+
        faire
  
PC-BASIC uses DOS conventions for filenames and paths. These are subtly different from Windows short filename conventions and not-so-subtly different from Unix conventions. This may lead to surprising effects in the presence of several files that match the same DOS name. To avoid such surprises, it's best to run PC-BASIC in a working directory of its own and use all-caps 8.3 format for all files.
+
5. Installez dans votre `/ usr / arbre local`
Compatible BASIC files
+
  
Many BASIC dialects use the same extension .BAS, but their files are not compatible. PC-BASIC runs GW-BASIC program files only. Some tips to recognise GW-BASIC programs:
+
        sudo make install
  
    GW-BASIC files stored as text are plain text files with line numbers.
+
Voir aussi la [PyGame dépôt source sur BitBucket] (https://bitbucket.org/pygame/pygame/wiki/VersionControl).
    Tokenised files are binary files that start with magic byte &hFF.
+
    Protected files are binary files that start with magic byte &hFE.
+
  
In particular, QBASIC files (which have no line numbers) and QuickBASIC files (magic byte &hFC) will not run.
+
== PC-BASIC interprète ==
  
PC-BASIC will accept both DOS and Unix newline conventions for programs stored as plain text. Any line not starting with a number will be considered a continuation (through LF) of the previous line. This behaviour is different from GW-BASIC, which only accepts text files with CR LF line endings. As a consequence, in exceptional cases where a program line is continued through LF just before a number, correct GW-BASIC text files may not be loaded correctly. If you encounter such a case, use the strict-newline option to enable GW-BASIC behaviour. If strict-newline is enabled, text files in standard Unix format (LF line endings, no end-of-file character) will fail to load. On Linux or Mac, use a utility such as unix2dos to convert programs saved as text files before loading them. When saving as text, PC-BASIC always uses CR LF line endings and &h1A at end-of-file.
+
** Copyright © 2013-2016 Rob Hagemans. **
Packages
+
  
PC-BASIC can run packaged programs. A package is simply a directory or zip archive. The directory or zipfile contents will be loaded as the current working directory. If a configuration file named PCBASIC.INI is present inside this directory, its settings are loaded; usually, one of those settings will be a run argument linking to a BASIC program enclosed in the archive or directory. PC-BASIC will recognise zipfiles regardless of their extension. A suggested extension for PC-BASIC packages is .BAZ. Packages are a convenient choice if a program needs to change many PC-BASIC options to function as desired, or if it needs a particular working directory setup.
+
Code promo valide chez _Source de [https://github.com/robhagemans/pcbasic](https://github.com/robhagemans/pcbasic)._
  
Zipfile packages are unpacked to a temporary directory each time they are loaded. The temporary directory is removed when PC-BASIC closes. With zipfile packages, it is therefore not possible to save files and re-open them on the next run of the package.
+
Ce programme est un logiciel libre: vous pouvez le redistribuer et / ou modifier
Tapes and BASICODE
+
selon les termes de la [GNU General Public License] (http://www.gnu.org/licenses/gpl-3.0.en.html) telles que publiées par
 +
la Free Software Foundation, soit la version 3 de la licence, ou
 +
(À votre choix) toute version ultérieure.
  
The CAS1 device interfaces with the cassette tape emulator. Tapes were never very popular on the IBM PC, and indeed only available with the original PC and the PCjr. There are not many IBM PC cassettes in the wild. However, should you come across one, all you have to do to read it with PC-BASIC is record it into a .WAV (RIFF WAVE) file and attach it to the CAS1: device with the cas1=WAV:filename option. You can also generate your own tape images and store your programs on it. WAV files generated by PC-BASIC are large but very easily compressed in a ZIP archive; this works better and leads to smaller files than transcoding to a lossy audio format like MP3.
+
Ce programme est distribué dans l'espoir qu'il sera utile,
 +
mais SANS AUCUNE GARANTIE; sans même la garantie implicite de
 +
COMMERCIALISATION ou D'ADAPTATION À UN USAGE PARTICULIER. Voir le
 +
GNU General Public License pour plus de détails.
  
As an alternative to .WAV, you can store tapes in CAS format. This is simply a bit-dump of the tape and is interchangeable with tape images for the PCE IBM PC emulator.
+
Vous devriez avoir reçu une copie de la GNU General Public License long
 +
avec ce programme; sinon, écrivez à la Free Software Foundation, Inc.,
 +
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  
BASICODE was a considerably more common audio encoding format, which enjoyed huge popularity in particular in the Netherlands, the UK and East Germany. BASICODE was distributed through tapes or as audio broadcast over radio. Reading it into a PC required special hardware, usually hooking up a tape recorder to a serial or parallel port. In PC-BASIC, BASICODE tapes are read through the CAS1 device instead, by attaching a .WAV file with the cas1=BC:filename option. PC-BASIC will load the BASICODE, inserting the necessary spaces between keywords where the BASICODE standard leaves these out. Note that you will need a Bascoder program to run the BASICODE, and this is not currently distributed with PC-BASIC.
 
  
If you have a Bascoder named BASCODER.BAS, the way to run a BASICODE program named PROGRAM from tape is:
+
----------
LOAD "BASCODER"
+
CHAIN MERGE "CAS1:PROGRAM"
+
Security
+
  
PC-BASIC makes some default choices with basic security in mind, but does not sandbox its programs in any meaningful way. BASIC programs have more or less full access to your computer. You should treat them with the same caution as you would shell scripts or binaries. Therefore, do not run a program from the internet that you have not inspected first using LIST or
+
== Guide de démarrage rapide ==
pcbasic --convert=A filename
+
on the command line. You wouldn't just download an executable from the internet and run it either, right?
+
Connecting to peripherals
+
Printing
+
  
You can print from PC-BASIC programs by accessing the LPT1: device. PC-BASIC will send the output to your operating system's default printer, unless you change the lpt1= option. To print through a printer named MyPrinter, set lpt1=PRINTER:MyPrinter. You can also attach printers to the LPT2: and LPT3: devices.
+
* [[/Guide de démarrage rapide|Guide de démarrage rapide]]
  
The output will be sent to the printer when you close PC-BASIC. If you prefer, you can instead send every page separately to the printer by setting print-trigger=page. You can even send every line separately, but this only makes sense on a tractor-fed printer (as was common in GW-BASIC's heyday).
+
== Contributeurs==
  
It's easy to print to a file instead of a printer: set lpt1=FILE:output.txt to send all LPT1: printer output to the text file output.txt.
+
PC-BASIC ne serait pas exister sans les codes contribuant, signaler les bogues,
 +
envoyant des patches, et documenter le comportement de GW-BASIC. Merci à tous!
  
The printing statements LPRINT and LLIST always send their output to PC-BASIC's LPT1: device.
+
- ** Rob Hagemans **, auteur principal
 +
- ** Wengier Wu **, des corrections de bugs, des conseils pour le soutien CJK
 +
- ** WJB **, des corrections de bugs
 +
- ** Jan Bredenbeek **, des corrections de bugs, des conseils pour le soutien de BASICODE
 +
- ** Ronald Herrera **, les essais, la chasse aux bugs
 +
- ** Miguel Dorta **, les essais, les ports série
 +
- ** Patrik **, les essais, les ports série
 +
- ** Duane **, les essais, les ports série
  
The presentation of printed documents is left to your operating system: it will be the default presentation of text files. If you wist to change the way documents are printed, please refer to your OS's settings. On Windows, for example, text files are printed by notepad.exe and changing the default settings in that application will change the way PC-BASIC documents are printed. You will need to set a printer font that includes the characters you need to print. On Unix systems, PC-BASIC will use the paps utility if it is available; this will automatically select fonts that support the characters you need.
 
Serial and parallel ports
 
  
PC-BASIC provides the serial devices COM1: and COM2:. To make use of these, you need to attach them to a communications port on your computer with the com1= or com2= option. To attach to the first physical serial port, set com1=PORT:0 (or, alternatively, com1=PORT:COM1 on Windows or com1=PORT:/dev/ttyS0 on Linux). If you do not have a serial port, you can emulate one by sending the communications over a network socket: set com1=SOCKET:localhost:7000 and all COM1: traffic will be sent through socket 7000.
+
== épaules des géants==
  
To access a parallel port, attach it to one of LPT1:, LPT2: or LPT3:. For example, set lpt2=PARPORT:0 to attach your computer's first parallel port to LPT2:.
+
PC-BASIC dépend des projets open-source suivants:
Changing the interface
+
Emulation targets
+
  
By default, PC-BASIC emulates GW-BASIC on a system with VGA video capabilities. However, it can emulate several other setups, which differ from each other in terms of video and audio capacity, fonts, memory size, as well as available BASIC syntax. The easiest way to set the emulation target is by using a preset option. For example, run pcbasic --preset=pcjr. Other available emulation target presets are:
+
  * [Python] (http://www.python.org)
Preset Emulation target
+
  * [PyGame] (http://www.pygame.org)
pcjr IBM PCjr with Cartridge BASIC, including PCjr video and 3-voice sound capabilities and extended BASIC syntax.
+
  * [Simple DirectMedia Layer (SDL)] (http://www.libsdl.org)
tandy Tandy 1000 with GW-BASIC, including Tandy video and 3-voice sound capabilities and extended BASIC syntax.
+
  * [NumPy] (http://www.numpy.org)
olivetti Olivetti M24 or AT&T PC 6300.
+
  * [PyXDG] (http://freedesktop.org/wiki/Software/pyxdg/)
cga IBM or compatible with Color/Graphics Adapter and a composite monitor. This enables composite colorburst emulation.
+
  * [Python pour les extensions de Windows (pywin32)] (https://sourceforge.net/projects/pywin32/)
ega IBM or compatible with Extended Graphics Adapter.
+
  * [Pyserial] (http://pyserial.sourceforge.net/pyserial.html)
vga IBM or compatible with Video Graphics Array.
+
  * [Pexpect] (http://pexpect.readthedocs.org/en/latest/)
mda IBM or compatible with Monochrome Display Adapter and green-tinted monochrome monitor.
+
  * [ANSI | tuyau] (https://github.com/robhagemans/ansipipe)
hercules IBM compatible with Hercules Graphics Adapter and green-tinted monochrome monitor.
+
strict Choose strict compatibility with GW-BASIC over convenience, security, rhyme or reason.
+
  
Presets are groups of options that are defined in the default configuration file. You can create your own presets by creating a header in your private configuration file with the name of the new preset, followed by the options you want to apply. For example, if you define:
 
[my_preset]
 
video=vga
 
syntax=pcjr
 
you can now run pcbasic --preset=my_preset to start an emulation of a hypothetical machine with a VGA video card running PCjr Cartridge BASIC.
 
GW-BASIC compatibility features
 
  
PC-BASIC aims for a very high level of compatibility with GW-BASIC. However, some compatibility features are disabled by default for convenience or security reasons. These features can be switched on using individual command-line options. The highest level of compatibility with GW-BASIC can be attained by setting preset=strict, which switches off all convenience and security features that cause differences with GW-BASIC.
+
== Documentation technique ==
Codepages
+
  
PC-BASIC supports a large number of legacy codepages that were common at the time GW-BASIC was popular, including double-byte character set codepages used for Chinese, Japanese and Korean. You can select your codepage by using the codepage= option. For example, codepage=936 selects the GBK codepage commonly used on the Chinese mainland. PC-BASIC will load and save all program files as if encoded in the codepage you select.
+
Bâtiment PC-BASIC aurait été impossible sans les immenses quantités de
 +
la documentation technique qui a été mis à disposition en ligne. Il a prouvé pas
 +
être possible d'établir une liste complète de la documentation utilisée. Beaucoup
 +
merci à tous ceux qui font de l'information technique disponible gratuitement, et
 +
excuses à ceux dont la contribution que je l'ai pas reconnu ici.
  
It is also possible to load and save programs in the nowadays common UTF-8 standard format, by enabling the utf8 option. When utf8 is enabled, plain-text program source will be saved and loaded in standard UTF-8 encoding. Please note that you will still need to select a codepage that provides all the Unicode characters that your program needs.
+
=== Format de fichier tokenised GW-BASIC===
  
Note that PC-BASIC does not implement the following features relevant to some of these codepages:
+
  * ** Norman De Forest ** s 'séminal [documentation de jetons GW-BASIC] (http://www.chebucto.ns.ca/~af380/GW-BASIC-tokens.html).
 +
    _Ce Documentation a été le point de départ pour le développement de PC-BASIC._
 +
  * ** [Décodeur GW-BASIC en ligne] Dan Vanderkam ** s '(http://www.danvk.org/wp/2008-02-03/reading-old-gw-basic-programs/)
  
Bidirectional text
+
===format de fichier protégé  GW-BASIC===
    All text is printed left-to-right independent of the codepage selected. To write strings in a language that is written right-to-left, the logical character sequence must be inverted so that the order appears correct visually. While this is inconvenient, it is in line with the behaviour of GW-BASIC. This affects code pages marked with B in the table.
+
Combining characters
+
    PC-BASIC recognises single-byte code points (where each glyph shows on a single cell on the screen) and double-byte code points (where a single glyph takes up two cells on the screen). Combining characters (such as the combining diacritics of codepages 874 and 1258) are therefore not shown correctly: instead of being combined with their preceding base character as a single combined glyph, such combinations will be shown as separate glyphs. Where available, alternative codepages with precomposed characters will give better results. This affects code pages marked with C in the table.
+
  
The following codepages are available. PC-BASIC uses the Microsoft OEM codepage number where this is unambiguous. The code pages are expected to agree with Microsoft sources for the ranges &h80–&hFF. Ranges &h00–&h1F and &h7F are implemented as the IBM Special Graphic Characters where some code page sources will list these as the corresponding control characters. For unofficial codepages and those with conflicting numbering, codepage names are used instead of numbers.
+
  * ** Paul Kocher **, _La cryptogramme ordinateur supplement_ ** 19 **, American cryptogramme Association, Été 1994
codepage_id Codepage Languages Notes
+
437 DOS Latin USA English
+
720 Transparent ASMO Arabic B
+
737 DOS Greek Greek
+
775 DOS Baltic Rim Estonian, Latvian and Lithuanian
+
806 IBM-PC Devanagari Hindi
+
850 DOS Latin 1 Western European languages
+
851 DOS Greek 1 Greek
+
852 DOS Latin 2 Central European languages
+
853 DOS Latin 3 Southern European languages
+
855 DOS Cyrillic 1 Serbian, Macedonian and Bulgarian
+
856 DOS Hebrew Hebrew B
+
857 DOS Latin 5 Turkish
+
858 DOS Latin 1 with Euro Western European languages
+
860 DOS Portuguese Portuguese
+
861 DOS Icelandic Icelandic
+
862 DOS Hebrew Hebrew B
+
863 DOS Canadian French French
+
864 DOS Arabic Arabic B
+
865 DOS Nordic Danish and Norwegian
+
866 DOS Cyrillic 2 Russian
+
868 DOS Urdu Urdu B
+
869 DOS Greek 2 Greek
+
874 TIS-620 Thai C
+
932 Shift-JIS (variant) Japanese
+
934 DOS/V Korea Korean
+
936 GBK; GB2312/EUC-CN superset Simplified Chinese
+
938 DOS/V Taiwan Traditional Chinese
+
949 IBM-PC Korea KS; EUC-KR superset Korean
+
950 Big-5 (variant) Traditional Chinese
+
1258 Vietnamese Vietnamese C
+
alternativnyj GOST Alternativnyj Variant Russian
+
armscii8a ArmSCII-8a; FreeDOS cp899 Armenian
+
big5-2003 Big-5 (Taiwan 2003) Traditional Chinese
+
big5-hkscs Big-5 (Hong Kong 2008) Traditional Chinese
+
georgian-academy Academy Standard Georgian
+
georgian-ps Parliament Standard Georgian
+
iransystem Iran System Persian B
+
iscii-as ISCII Assamese Assamese C
+
iscii-be ISCII Bengali Bengali C
+
iscii-de ISCII Devanagari Hindi, Marathi, Sanskrit, Konkani, Nepali C
+
iscii-gu ISCII Gujarati Gujarati C
+
iscii-ka ISCII Kannada Kannada C
+
iscii-ma ISCII Malayalam Malayalam C
+
iscii-or ISCII Oriya Oriya C
+
iscii-pa ISCII Punjabi Punjabi C
+
iscii-ta ISCII Tamil Tamil C
+
iscii-te ISCII Telugu Telugu C
+
kamenicky Kamenický; cp895 Czech
+
koi8-r KOI8-R Russian
+
koi8-ru KOI8-RU Ukrainian, Belarusian, Russian
+
koi8-u KOI8-U Ukrainian, Russian
+
mazovia Mazovia; cp667, 991, 790 Polish
+
mik MIK, FreeDOS cp3021 Bulgarian
+
osnovnoj GOST Osnovnoj Variant Russian
+
pascii PASCII Kashmiri, Persian, Sindhi, Urdu B
+
ruscii RUSCII Ukrainian, Russian
+
russup3 Cornell Russian Support for DOS v3 Russian
+
russup4ac Exceller Software Russian Support for DOS v4 Academic Russian
+
russup4na Exceller Software Russian Support for DOS v4 Non-Academic Russian
+
viscii VISCII, FreeDOS cp30006 Vietnamese
+
  
You can add custom codepages to PC-BASIC, by adding a file with its mapping to Unicode to the codepage/ directory.
+
=== Matériel vidéo===
Fonts
+
  
PC-BASIC emulates the distinctive raster fonts of IBM-compatible machines. The ROM fonts of the original IBM and Tandy adapters (which are in the public domain in a number of countries) have been included in PC-BASIC. These provide the most accurate emulation. However, the font ROMs only included a single code page – DOS Latin USA 437.
+
  * ** John Elliott ** s '[pages Vintage PC] (http://www.seasip.info/VintagePC/)
 +
  * ** Dan Rollins ** '[TechHelp] (http://webpages.charter.net/danrollins/techhelp/0089.HTM) pages sur la mise en page de mémoire vidéo PC
 +
  * ** Grand Hiérophante ** s '[Nerdly Pleasures Blog] (http://nerdlypleasures.blogspot.com)
  
To support code pages beyond 437, PC-BASIC defaults to the CPIDOS font used by default in FreeDOS and DOSBox. This font is very similar in style to the IBM VGA font but has support for many more code pages, in particular Western and Middle Eastern alphabets. If CPIDOS does not include the characters you need, PC-BASIC tries to find them in UNI-VGA, which is also very similar in style to VGA. If that does not suffice, PC-BASIC falls back to GNU UniFont for the missing characters. UniFont's Western glyphs are less similar to the VGA font, but it provides support for the full Unicode Basic Multilingual Plane. For example, all Chinese, Japanese and Korean glyphs in PC-BASIC are taken from UniFont.
+
=== Microsoft Binary Format===
  
It is possible to change the choice of font using the font= option. You can provide a list of fonts, where the last font specified is the most preferred one.
+
  * Les contributions du forum par ** [Julian Brucknall] (http://www.boyet.com/Articles/MBFSinglePrecision.html) ** et ** [Adam Burgoyne] (http://www.experts-exchange.com/Programming /Languages/Pascal/Delphi/Q_20245266.html)**
  
PC-BASIC reads fonts in the .hex format introduced by UniFont. It's easy to define custom fonts in this format: it can be edited in a regular text editor. See the UniFont project for an authoring tool. You can add custom fonts to PC-BASIC by installing them into the font/ subdirectory of PC-BASIC's installation directory.
+
=== Format de cassette de données===
  
By default, the following fonts are available:
+
  * ** ** Brutman Mike d '[Analyse du format de la cassette de données IBM PC] (http://www.brutman.com/Cassette_Waveforms/Cassette_Waveforms.html)
font_name Name Sizes Codepages
+
  * ** Dan Tobias ** '[IBM documentation de format de cassette de données de PC] (http://fileformats.archiveteam.org/wiki/IBM_PC_data_cassette)
unifont GNU UniFont 16 all
+
univga Uni-VGA font 16 many
+
freedos FreeDOS CPIDOS font 8, 14, 16 many
+
cga IBM Colour/Graphics Adapter font 8 437 only
+
mda IBM Monochrome Display Adapter font 14 437 only
+
vga IBM Video Graphics Array font 8, 14, 16 437 only
+
olivetti Olivetti/AT&T font 16 437 only
+
tandy1 Tandy-1000 font old version 8 437 only
+
tandy2 Tandy-1000 font new version 8 437 only
+
  
GNU UniFont contains glyphs for all the defined code points of the Basic Multilingual Plane of Unicode 7.0, which makes it an excellent fallback font. Its glyphs are not, however, very similar to those that were used on DOS machines; both Uni-VGA and the FreeDOS CPIDOS fonts are therefore more suitable, when they have the required glyphs.
+
=== BASICODE===
Redirecting I/O
+
  
PC-BASIC supports redirecting input and output the GW-BASIC way: output redirected with the output= option will be sent to the screen as well as the specified file, while input redirected with input= is taken only from the specified file. Note that screen output through the SCRN: device and keyboard input through the KYBD: device are not redirected. Files are read and written in the codepage set with PC-BASIC.
+
  * ** Documentation du [format BASICODE] Janny Looyenga ** s '(http://www.nostalgia8.nl/basicode.htm)
 +
  * ** Prof. documentation du [format de fichier cassette BASICODE] Dr. Horst Völz ** s '(http://www.kc85emu.de/scans/rfe0190/Basicode.htm)
  
Note that it is also possible to use your operating system's facility to redirect console output using the < and > operators. It's best to set interface=none so that I/O is redirected through the console. This will produce files in your console's standard encoding, which is often UTF-8 on Unix and Windows-1252 on Windows.
+
=== ports série===
Command-line interface
+
  
You can run PC-BASIC as a command-line interface by setting the interface=cli (or -b) option. No window will be opened: you can type BASIC commands straight into your Command Prompt/Terminal. Use the horizontal arrow keys to move on the current line you're editing; use the vertical arrow keys to show screen rows above and below. Copy and paste are available only if the calling shell provides them. On Windows, Ctrl+Break will terminate PC-BASIC immediately. You can use Ctrl+C to interrupt the program. The end-of-file key combination (Ctrl+D on Unix, Ctrl+Z on Windows) will exit PC-BASIC.
+
  * ** Craig Peacock ** 'de la documentation sur [interfacer le port série] (http://retired.beyondlogic.org/serial/serial.htm)
 +
  * ** Christopher E. Strangio ** 'de tutoriel sur [la norme RS232] (http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html)
 +
  * [QB64 documentation](http://www.qb64.net/wiki/index.php/Port_Access_Libraries#Serial_Communication_Registers)
  
You can use the command-line interface to run one or a few BASIC commands directly, like so:
+
=== Informations techniques sur de nombreux sujets===
  
me@mybox$ pcbasic -bqe="?1+1"
+
  * [Vogons] (http://www.vogons.org/)
2
+
  * ** Erik S. Klein ** s de '[forums informatiques cru] (http://www.vintage-computer.com)
me@mybox$
+
  * ** Peter Berg ** s '[site QBasic / QuickBasic Pete] (http://www.petesqbsite.com/)
  
For scripting purposes, it is also possible to run PC-BASIC without any interface by setting interface=none or -n. If this is set, PC-BASIC will take input from and send output to the console as UTF-8 without further modification. This is useful in combination with redirection and pipes.
+
=== Polices===
Text-based interface
+
  
There is also a full-screen text interface available: enable it by setting interface=text (or -t). The text-based interface is very similar to the default graphical interface, but runs in your Command Prompt or Terminal window.
+
  * ** Henrique Peron ** s '[pack codepage CPIDOS] (http://www.freedos.org/software/?prog=cpidos)
 +
  * ** Dmitry Bolkhovityanov ** s de '[police Uni-VGA] (http://www.inp.nsk.su/~bolkhov/files/fonts/univga/)
 +
  * ** Roman Czyborra **, ** Qianqian Fang ** et [GNU unifont] des autres (https://savannah.gnu.org/projects/unifont)
 +
  * [DOSBox] (http://www.dosbox.com) polices VGA
 +
  * ** Andries Brouwer ** s '[IPC documentation du format de fichier de police] (http://www.win.tue.nl/~aeb/linux/kbd/font-formats-3.html)
  
In the text-based and command-line interfaces, graphics are not available. Attempting to open a graphical screen mode will lead to an Illegal function call error. Furthermore, many Ctrl and Alt key combinations are not available.
 
  
On Unix systems only, you can get sound in the text and command-line interfaces over the PC speaker if you install the beep utility and enable the legacy PC-speaker driver or emulation.
+
=== mappages Unicode-codepage===
Settings and options
+
  
PC-BASIC has a number of settings that change the way it operates. These settings can be changed by setting options on the command line or through editing the configuration file.
+
  * [Le Consortium Unicode et contributeurs] (http://www.unicode.org/Public/MAPPINGS/VENDORS)
 +
  * [Projet GNU libiconv] (https://www.gnu.org/software/libiconv/)
 +
  * [Aivosto] (http://www.aivosto.com/vbtips/charsets-codepages.html)
 +
  * ** Konstantinos Kostis ** '[Index Charsets] (http://www.kostis.net/charsets/)
 +
  * [IBM CDRA] (http://www-01.ibm.com/software/globalization/cdra/)
 +
  * ** Masaki Tojo ** s de '[Camellia] (https://github.com/mtojo/camellia)
  
In either method, the options have the same name and syntax. In what follows, we will often refer to a particular option setting; remember that you can set this from the command line as well as from the configuration file.
+
=== Bibliographie===
Command-line options
+
  
You can enter command-line options if you start PC-BASIC from the console (also known as the Command Prompt or Terminal; this is normally CMD or PowerShell on Windows), by preceding the name of the option with two dashes, like so:
+
  * _GW-BASIC Guide_ de 3,23 utilisateur, Microsoft Corporation, 1987.
pcbasic --preset=tandy --ctrl-c-break=True
+
  * _IBM Personal Computer Library de référence du matériel: BASIC_, IBM 1982.
 +
  * _Tandy 1000 BASIC, A Guide_ Référence, Tandy Corporation.
 +
  * ** William Barden, Jr. **, _Graphics Et audio pour les 1000s Tandy et PC Compatibles_, Microtrend 1987.
 +
  * ** Don Inman ** et ** Bob Albrecht **, _La GW-BASIC Reference_, Osborne McGraw-Hill, 1990.
 +
  * ** Thomas C. McIntyre **, _BLUE: BASIC Langue utilisateur Essay_, 1991, [en ligne] (https://web.archive.org/web/20060410121551/http://scottserver.net/basically/geewhiz. html).
  
On the command line, you can leave out the expression =True that is common in switching options. Some options have an alternative, short name consisting of a single letter preceded by a single dash, which you can use on the command line. You can combine multiple short options with a single dash.
+
== Outils de développement==
Configuration files
+
  
You can change options by adding or removing lines in your local configuration file, which can be found in the following location:
+
PC-BASIC est développé en utilisant [Git] (https://git-scm.com/) contrôle de source,
 +
[GEdit] (https://wiki.gnome.org/Apps/Gedit) et [Atom] (https://atom.io/) texte
 +
éditeurs sur un système [Ubuntu] (http://www.ubuntu.com/) Linux et hébergé sur
 +
[GitHub] (https://github.com/) et [SourceForge] (https://sourceforge.net/).
 +
 
 +
Emballage et documentation dépend des projets suivants:
 +
 
 +
  * [PyInstaller] (http://www.pyinstaller.org)
 +
  * [Nullsoft Scriptable Install System] (http://nsis.sourceforge.net)
 +
  * [7-Zip] (http://www.7-zip.org)
 +
  * [Le système de base de GNU] (http://www.gnu.org/)
 +
  * ** Tom Rothamel ** s '[Pygame Subset pour Android] (https://web.archive.org/web/20150712040220/http://pygame.renpy.org/) (remplacé par [RAPT] (http: //www.renpy.org/doc/html/android.html))
 +
  * [LXML] (http://lxml.de)
 +
  * [Markdown] (https://pypi.python.org/pypi/Markdown)
 +
 
 +
 
 +
== Emulateurs==
 +
 
 +
Ces excellents émulateurs ont été des outils indispensables pour documenter la
 +
comportement de divers dialectes Microsoft BASIC.
 +
 
 +
  * [DOSBox] (http://www.dosbox.com)
 +
  * [MESS] (http://www.mess.org)
 +
  * [PCE PC Emulator] (http://www.hampa.ch/pce/)
 +
 
 +
aperçu
 +
 
 +
Un libre, multi-plateforme émulateur pour la famille GW-BASIC des interprètes.
 +
 
 +
PC-BASIC est un logiciel gratuit, multi-plateforme interprète pour GW-BASIC, Advanced BASIC (BASICA), PCjr Cartridge Basic et Tandy 1000 GWBASIC. Il interprète ces dialectes BASIC avec un haut degré de précision, dans le but de compatibilité bogue pour bogue. PC-BASIC émule vidéo et audio du matériel le plus commun sur lequel ces BASICs utilisés pour exécuter. PC-BASIC court texte brut, tokenised et fichiers .BAS protégés. Elle met en oeuvre l'arithmétique flottante dans le format Microsoft binaire (MBF) et peut donc lire et écrire des fichiers de données binaires créés par GW-BASIC.
 +
 
 +
PC-BASIC est un logiciel libre et open source publié sous la GPL version 3.
 +
 
 +
Voir aussi la page d'accueil PC-BASIC.
 +
 
 +
==Guide de démarrage rapide==
 +
 
 +
Ce guide de démarrage rapide couvre l'installation et l'utilisation élémentaire du PC-BASIC. Pour plus d'informations, s'il vous plaît se référer à la documentation du PC-BASIC complète qui couvre les options d'utilisation, ligne de commande et une approche globale de référence du langage GW-BASIC. Cette documentation est également inclus avec la version PC-BASIC actuelle.
 +
 
 +
Si vous trouvez des bugs, s'il vous plaît les signaler sur la page de discussion SourceForge ou ouvrir une question sur GitHub. Il serait très utile si vous pourriez inclure un court morceau de code BASIC qui déclenche le bug. Installation
 +
 
 +
distributions packagées peuvent être téléchargés à partir de l'un des emplacements suivants:
 +
 
 +
  versions PC-BASIC sur GitHub
 +
    versions PC-BASIC sur SourceForge
 +
 
 +
Sous Windows:
 +
 
 +
  exécuter le programme d'installation
 +
    pour commencer, cliquez sur PC-BASIC dans votre menu Démarrer
 +
 
 +
Sur OS X:
 +
 
 +
  monter l'image de disque
 +
    pour commencer, cliquez deux fois sur l'application PC-BASIC
 +
 
 +
Sous Linux et autres Unix:
 +
 
 +
  décompressez l'archive
 +
    exécuter sudo ./install.sh.  Vous pouvez être invité à installer d'autres dépendances à travers le système de gestion des paquets de votre OS.
 +
    pour commencer, cliquez sur PC-BASIC dans votre menu Applications ou exécuter pcbasic sur la ligne de commande.
 +
 
 +
Si les options ci-dessus sont sans objet ou si vous préférez installer de la source, s'il vous plaît consulter INSTALL.md pour obtenir des instructions détaillées. Kit de survie BASIC
 +
 
 +
Cliquez sur l'icône de l'application PC-BASIC ou exécutez pcbasic sur la ligne de commande Windows, OSX ou Linux et PC-BASIC démarre en mode direct sans programme chargé. La cible d'émulation par défaut est GW-BASIC 3.23 sur un PC compatible IBM générique avec une carte vidéo VGA.
 +
 
 +
PC-BASIC démarre en mode direct, une interface de style années 1980 opéré par l'exécution des commandes BASIC directement. Il n'y a pas de menu, ni y at-il des indices visuels que nous sommes venus à attendre d'un logiciel moderne.
 +
 
 +
Quelques commandes essentielles pour vous aider à vous déplacer: LOAD "PROGRAM" charge le fichier de programme nommé program.bas en mémoire, mais ne fonctionne pas encore. LISTE affiche le code BASIC du programme en cours. RUN démarre le programme en cours. SAVE "PROGRAM", A enregistre le programme en cours d'un fichier texte lisible par l'homme nommé program.bas. NEW supprime immédiatement le programme actuel de la mémoire. SYSTÈME sort PC-BASIC immédiatement, en rejetant tout programme ou des données non enregistrées.
 +
 
 +
Utilisez l'une des combinaisons de touches Ctrl + Pause, Ctrl + Scroll Lock, Ctrl + C ou F12 + B pour interrompre un programme en cours et revenir en mode direct. Configuration
 +
 
 +
Vous pouvez fournir des options pour modifier le comportement de PC-BASIC en modifiant le fichier de configuration. Si vous installez le package Windows, le programme d'installation crée automatiquement un raccourci vers ce fichier dans le dossier du menu de démarrage PC-BASIC. Le fichier peut aussi être trouvé à l'emplacement suivant: Fichier de configuration OS Windows% APPDATA% \ pcbasic \ PCBASIC.INI OS X ~ / Library / Application Support / pcbasic / PCBASIC.INI Linux ~ / .config / pcbasic / PCBASIC.INI
 +
 
 +
Par exemple, pour commencer avec la cible d'émulation réglée sur Tandy 1000 GW-BASIC, comprend la ligne suivante sous [pcbasic] dans le fichier de configuration:
 +
 
 +
preset = tandy
 +
 
 +
Un fichier de configuration par défaut sera créé la première fois que vous exécutez PC-BASIC. Voir les commentaires dans ce fichier ou consulter la documentation pour plus d'informations et des exemples d'options.
 +
 
 +
Si vous démarrez PC-BASIC à partir de l'invite de commande (sous Windows, est le C: \> prompt), vous pouvez fournir directement les options de configuration. Par exemple:
 +
 
 +
pcbasic program.bas exécute le fichier de programme nommé directement program.bas. pcbasic --preset = tandy commence avec la cible d'émulation réglée sur Tandy GW-BASIC sur un Tandy 1000. pcbasic --preset = PCjr commence avec la cible d'émulation réglée sur cartouche BASIC sur un PCjr IBM. -h pcbasic montre toutes les options de ligne de commande disponibles.
 +
 
 +
Si vous utilisez PC-BASIC de l'invite de commande sous Windows, assurez-vous d'exécuter le binaire pcbasic.com. Vous ne verrez aucune sortie si vous appelez le binaire pcbasic.exe. Obtenir des programmes
 +
 
 +
Les pages suivantes ont téléchargements de programmes GW-BASIC, beaucoup d'informations et d'autres liens.
 +
 
 +
  La page Geocities archivé de KindlyRat a un certain nombre de jeux classiques et les services publics.
 +
    PeatSoft fournit de la documentation GW-BASIC, les services publics et certains plus de jeux.
 +
    Neil C. Obremski gw-basic.com a quelques nouveaux jeux amusants récentes dans GW-BASIC.
 +
    Leon Peyre a une belle collection de programmes GW-BASIC, y compris le (en) célèbre premier jeu PC IBM DONKEY.BAS.
 +
    Brooks deForest fournit ses étonnants Tandy jeux GW-BASIC, tous libérés dans le domaine public.
 +
    Archive de TVDog est une grande source d'informations et de programmes GW-BASIC pour le Tandy 1000.
 +
    Phillip Bigelow fournit des programmes scientifiques écrits en GW-BASIC.
 +
    Gary Peek fournit des sources GW-BASIC diverses qu'il a mises dans le domaine public.
 +
    La page Classique BASE Jeux SA Moore fournit les jeux de base du livre classique de David Ahl.
 +
    Dernier livre de Joseph Sixpack de GW-BASIC a beaucoup de programmes de bureau et de services publics, y compris la feuille de calcul PC-CALC.
 +
    Geewhiz Collection de Thomas C. McIntyre a des applications d'affaires, des jeux et du matériel de référence.
 +
    cd.textfiles.com a des tonnes de vieux shareware, parmi lesquels quelques bons jeux GW-BASIC.
 +
 
 +
==Guide de l'utilisateur L'environnement de travail==
 +
 
 +
La première chose que vous verrez lors du démarrage de PC-BASIC est l'environnement de travail. Comme GW-BASIC, mais contrairement à pratiquement tous les compilateurs et interprètes modernes, l'environnement de travail de PC-BASIC sert à la fois comme un environnement de développement et comme une toile sur laquelle exécuter directement les commandes BASIC. A quelques exceptions près, pratiquement toutes les commandes qui peuvent être exécutées dans l'environnement de travail peuvent être utilisés dans un programme, et vice versa.
 +
 
 +
L'écran de PC-BASIC défaut dispose de 25 lignes et 80 colonnes. La ligne 25 est utilisé par PC-BASIC pour afficher les raccourcis clavier, ce qui signifie que vous ne pouvez pas l'utiliser pour taper sur. Dans certains modes vidéo, il n'y a que 40 ou 20 colonnes.
 +
 
 +
lignes logiques dépassent la largeur de la ligne physique: si vous continuez à taper au-delà de la largeur de l'écran, le texte se terminera à la ligne suivante, mais PC-BASIC sera toujours considérer comme faisant partie de la même ligne. Une ligne logique peut être au plus 255 caractères; si vous tapez plus de 255 caractères, il ignore le reste. Une ligne peut également être enveloppé par une ligne d'alimentation, entrée avec Ctrl + Entrée.
 +
 
 +
Si vous appuyez sur Entrée, PC-BASIC tentera d'exécuter la ligne logique sur lequel le curseur est placé comme une commande. Lorsque la commande est exécutée correctement, PC-BASIC affiche l'invite Ok. S'il y a une erreur, il affiche un message d'erreur suivi par Ok. Si la ligne commence par un nombre, elle sera stockée sous la forme d'une ligne de programme. Aucune invite est affichée. touches spéciales
 +
 
 +
Les touches suivantes ont un effet spécial dans l'environnement de travail: ↑ ou Ctrl + 6 Déplacez le curseur vers le haut, à l'exception de la ligne supérieure. ↓ ou Ctrl + - Déplacez le curseur vers le bas, sauf à la ligne 24. ← ou Ctrl +] Déplacez le curseur vers la gauche. Le bord gauche de l'écran entoure, à l'exception de la ligne supérieure. → ou Ctrl + / Déplacer le curseur à droite. Le bord droit de l'écran entoure, sauf à la ligne 24. Ctrl + ← ou Ctrl + B Déplacer à la première lettre du mot précédent. Les mots se composent de lettres A-Z et chiffres 0-9. Ctrl + → ou Ctrl + F Déplacer à la première lettre du mot suivant. Tab ou Ctrl + I Déplacer le curseur sur le taquet de tabulation suivant. Les taquets de tabulation sont 8 colonnes. Backspace ou Ctrl + H Supprimer le caractère à gauche du curseur, changent tous les autres personnages sur la logique en ligne une position vers la gauche et changer les attributs de ces caractères à l'attribut actuel. Au bord gauche de l'écran, cela fait la même chose que Del. Suppr ou Ctrl + Backspace Supprimer le caractère au niveau du curseur et changent tous les autres caractères d'une position vers la gauche, la modification des attributs de courant. Esc ou Ctrl + [Supprimer la ligne logique actuelle. Ctrl + Fin ou Ctrl + E Supprimer tous les caractères du curseur jusqu'à la fin de la ligne logique. Ctrl + Pause ou Ctrl + C ou Ctrl + Scroll Lock Aller à la première colonne de la ligne suivante, sans exécuter ou de stocker la ligne sous le curseur. Entrée ou Ctrl + M Exécuter ou stocker la ligne logique actuelle. La ligne complète sur l'écran est considéré comme faisant partie de la commande, même si vous ne tapez. Une ligne commençant par un nombre est stocké sous la forme d'une ligne de programme. Fin ou Ctrl + N Déplacer le curseur à la première position après la fin de la ligne logique. Accueil ou Ctrl + K Déplacer le curseur vers le haut à gauche de l'écran. Ctrl + Accueil ou Ctrl + L Effacer l'écran et déplacer le curseur vers le haut à gauche de l'écran. Ctrl + Entrée ou Ctrl + J Déplacer vers la première colonne de la ligne suivante, reliant les deux lignes en une seule ligne logique. Ctrl + G Beep le haut-parleur. Pause ou Ctrl + Num Lock Pause. Appuyez sur une autre touche pour reprendre. Ctrl + sortie Prt Sc Basculer écho de l'écran à l'imprimante (ou un autre périphérique connecté à LPT1 :). Maj + Prt Sc Imprimer l'écran. Ins ou Ctrl + R Basculer en mode insérer. En mode d'insertion, les caractères sont insérés plutôt que écrasées à l'emplacement actuel. Si l'insertion provoque la ligne d'étendre la largeur de l'écran physique, la ligne logique se prolonge sur la ligne suivante. Les touches fléchées mode d'insertion de sortie.
 +
 
 +
Quand un programme est lancé, les commandes du programme sont suivis jusqu'à ce que le programme se ferme et revient en mode ou jusqu'à ce que l'entrée de l'utilisateur est requise diriger. Quand un programme est en cours d'exécution, quelques touches ont un effet immédiat: Pause ou l'exécution de Pause Ctrl + Num Lock. Appuyez sur une autre touche pour reprendre. Ctrl + Pause ou Ctrl + Arrêt défil Arrêter l'exécution et revenir en mode direct. Un message Break est imprimé. Ctrl + C Si ctrl-c-break = True: arrêter l'exécution et revenir en mode direct. Un message Break est imprimé.
 +
 
 +
Si l'entrée de l'utilisateur est requise par l'entrée de déclarations, LINE INPUT, ou RANDOMIZE, la plupart des touches ont le même effet que dans le mode direct. Les touches suivantes ont un effet différent: Ctrl + Pause ou Ctrl + C ou Ctrl + Arrêt défil Arrêter l'exécution et revenir en mode direct. Un message Break est imprimé. Entrez entrée Terminer et revenir au mode précédent. Raccourcis clavier
 +
 
 +
Les touches de fonction et la touche alt peuvent être utilisés comme raccourcis clavier pour certains mots-clés. Les valeurs par défaut pour les touches de fonction sont: F1 LISTE F2 RUNEnter F3 LOAD "F4 SAVE" F5 F6 contenter, "LPT1:" Entrez F7 TRONEnter F8 TROFFEnter F9 keyspace F10 ECRAN 0,0,0Enter
 +
 
 +
Les raccourcis des touches de fonction peuvent être redéfinis avec l'énoncé KEY. Les raccourcis sont affichés au bas de l'écran.
 +
 
 +
Les mots-clés suivants peuvent être entrés avec Alt + première lettre. Les raccourcis Alt ne peuvent pas être redéfinis.
 +
 
 +
  AUTO BSAVE COLOR EFFACER AUTRE POUR GOTO HEX $ INPUT KEY LOCATE MOTOR SUIVANT OUVERT TIRAGE SCREEN puis en utilisant VAL WIDTH XOR
 +
 
 +
===mots-clés alternatifs===
 +
 
 +
Dans PC-BASIC, la touche F12 peut être utilisé pour saisir des touches spéciales qui ne sont pas présents sur certains claviers. F12 + B Pause F12 + P Pause F12 + C Caps Lock F12 + N Num Lock F12 + Scroll Lock S
 +
 
 +
La touche F12 peut également être utilisé en combinaison avec les touches numériques réguliers et les touches fléchées pour saisir des chiffres à partir du clavier numérique. Les combinaisons de F12 ne sont pas présents dans le GW-BASIC.
 +
 
 +
En outre, comme dans GW-BASIC, la touche Alt peut être utilisé pour saisir des caractères par leurs points de code (valeurs ASCII). Cela se fait en appuyant sur la touche Alt et en tapant le point de code comme une valeur décimale sur le pavé numérique, puis en relâchant la touche Alt. opérations du Presse-papiers
 +
 
 +
Contrairement à GW-BASIC, vous pouvez copier et coller du texte dans le presse papier. Cela peut être fait avec la souris ou avec la touche F11.
 +
 
 +
Utilisation du presse-papiers avec la souris fonctionne dans le style de X11: Le bouton gauche est sélectionner et copier; bouton du milieu est la pâte.
 +
 
 +
Les combinaisons de touches suivantes fonctionnent également le presse-papiers: F11 + ↑ ↓ ← → Sélectionnez une région de l'écran. F11 + A Sélectionner tout. F11 + C Copier. F11 + V Coller du presse-papiers. touches de commande Emulator
 +
 
 +
Dans PC-BASIC, F11 + F basculer en mode plein écran. Programmes et fichiers
 +
 
 +
PC-BASIC peut contenir un programme BASIC à la fois dans la mémoire. Pour entrer dans une ligne de programme, commencer par un numéro de ligne et entrez les commandes BASIC après. La longueur maximale d'une ligne de programme est de 255 caractères, y compris le numéro de ligne et tous les espaces. La ligne de programme ne sera pas exécuté immédiatement, mais stockée dans le programme. lignes du programme sont classés par numéro de ligne, de sorte que la ligne 10 est exécutée avant la ligne 20. Toutes les lignes de programme doivent avoir un numéro de ligne. Les numéros de ligne varient entre 0 et 65535 inclus. Il est impossible d'entrer un numéro de ligne supérieure à 65529, mais ceux-ci peuvent exister dans les programmes chargés. Dans une ligne de programme, les états sont séparés par des virgules.
 +
 
 +
Pour exécuter le programme, tapez la commande RUN. PC-BASIC va maintenant exécuter toutes les lignes de programme pour l'intérieur de l'environnement de travail. Vous ne pouvez pas déplacer le curseur ou entrer des commandes alors que le programme est en cours. Si et quand le programme se termine, il va rendre le contrôle de l'environnement de travail pour vous. Vous pouvez interrompre un programme à tout moment en utilisant l'une des combinaisons de touches Ctrl + Pause ou Ctrl + Scroll Lock. Le programme s'arrête immédiatement, imprimer un message de rupture et de rendre le contrôle de vous.
 +
 
 +
Dans GW-BASIC, vous ne pouvez pas utiliser Ctrl + C pour interrompre un programme en cours d'exécution. Cependant, de nombreux claviers modernes ne possèdent pas une pause ou la touche Scroll Lock, ce qui rendrait impossible d'interrompre un programme qui ne sort pas. Par conséquent, par défaut, traite de PC-BASIC Ctrl + C comme si elle était Ctrl + Break. Set ctrl-c-break = False si vous préférez le comportement de style GW-BASIC. Lorsque vous utilisez l'interface texte ou de ligne de commande, cette option est ignorée.
 +
 
 +
Un programme peut être stocké sur un lecteur en utilisant la commande SAVE, dans l'une des trois façons suivantes:
 +
 
 +
*  Texte brut, lisible par tout éditeur de texte: SAVE "MYPROG", A
 +
*    Tokenised, prenant moins d'espace de stockage: SAVE "MYPROG"
 +
*    Protégé, qui est un format crypté: SAVE "MYPROG", P
 +
 
 +
Dans les trois cas, le programme sera écrit dans le répertoire de travail courant avec le nom MYPROG.BAS.
 +
 
 +
PC-BASIC peut lire et écrire des fichiers protégés créés par GW-BASIC. Contrairement à GW-BASIC, cependant, il ne désactive pas accéder au contenu non crypté du fichier. Le cryptage utilisé par GW-BASIC a été rompu il y a plusieurs décennies, de sorte que le mode protégé a offert peu de protection de toute façon; interdisant l'accès est un petit risque de sécurité car elle permettrait à quelqu'un de vous envoyer un programme que vous ne pouvez pas inspecter avant de l'exécuter. Cependant, il est possible de désactiver l'accès des fichiers protégés en activant l'option strict de protection.
 +
 
 +
Vous pouvez lire un fichier de programme en mémoire avec LOAD "MYPROG". Cela effacera le programme actuellement en mémoire et le remplacer par une lecture à partir du répertoire de travail courant. Pour accéder à des fichiers dans un répertoire différent, spécifiez un chemin à partir du répertoire en cours. La spécification de chemin suit les conventions DOS. Le seul séparateur de chemin d'accès valide est le backslash \. Par exemple, LOAD "PROGRAMMES \ MYPROG".
 +
 
 +
Vous pouvez charger ou d'exécuter un programme immédiatement sur le démarrage PC-BASIC en utilisant la charge ou les options d'exécution. Par exemple, pcbasic --run = MYPROG.BAS
 +
 
 +
Les arguments de ces options peuvent être fournis en tant que chemins de PC-BASIC ou chemins d'accès dans le formulaire standard pour votre système d'exploitation.
 +
 
 +
PC-BASIC peut être utilisé pour convertir entre les trois formats de programmes: soit en chargeant le programme et l'enregistrement dans le format de votre choix, ou à partir de la ligne de commande en utilisant l'option de conversion. Pour convertir un fichier tokenised ou protégé en texte brut, vous pouvez utiliser, par exemple: pcbasic --convert = A PROGRAMP.BAS PROGRAMA.BAS Accès à vos lecteurs
 +
 
 +
Par défaut, la lettre de lecteur Z: est mappé sur le répertoire de travail courant et est le lecteur en cours. En particulier, il n'a pas été mappé à Windows Z: lecteur, si cela existe. Vous pouvez tracer des commandes et d'autres endroits du système de fichiers comme des lettres de lecteur PC-BASIC en utilisant l'option de montage. Par exemple, --mount pcbasic = A: / home / moi / BasicFloppy, C: / home / moi / Stuff ou, sous Windows, --mount pcbasic = A: C: \ Users \ Me \ BasicFloppy, C: C: \ Users \ Me \ Stuff tracera ces endroits au PC-BASIC A: et C: les lecteurs.
 +
 
 +
Si vous voulez que les lettres de lecteur de PC-BASIC soient les mêmes que celles de Windows, activez l'option carte-lecteurs. Utilisez ceci avec prudence, car cela signifie que vos programmes peuvent maintenant lire et écrire sur tous les lecteurs que Windows vous permet d'accéder.
 +
 
 +
PC-BASIC utilise les conventions DOS pour les noms de fichiers et les chemins. Ce sont subtilement différents de conventions à court de noms de fichiers Windows et pas si subtilement différent de conventions Unix. Cela peut conduire à des effets surprenants en présence de plusieurs fichiers qui correspondent au même nom DOS. Pour éviter de telles surprises, il est préférable d'exécuter PC-BASIC dans un répertoire de travail propre et utiliser tout en majuscules format 8.3 pour tous les fichiers. fichiers de base compatibles
 +
 
 +
De nombreux dialectes BASIC utilisent les mêmes .BAS d'extension, mais leurs fichiers ne sont pas compatibles. PC-BASIC exécute les fichiers de programme GW-BASIC seulement. Quelques conseils pour reconnaître les programmes GW-BASIC:
 +
 
 +
*  fichiers GW-BASIC stockées sous forme de texte sont des fichiers texte avec les numéros de ligne.
 +
*    fichiers Tokenised sont des fichiers binaires qui commencent par octet magique & hFF.
 +
*    Les fichiers protégés sont des fichiers binaires qui commencent par octet magique & hFE.
 +
 
 +
En particulier, les fichiers QBASIC (qui ont aucun numéro de ligne) et les fichiers QuickBASIC (octet magique et HFC) ne fonctionnera pas.
 +
 
 +
PC-BASIC va accepter à la fois DOS et Unix conventions newline pour les programmes stockés sous forme de texte brut. Toute ligne ne commençant pas par un nombre sera considéré comme une continuation (par LF) de la ligne précédente. Ce comportement est différent de GW-BASIC, qui accepte uniquement les fichiers texte avec CR fins de ligne LF. En conséquence, dans les cas exceptionnels où une ligne de programme se poursuit par le biais LF juste avant un certain nombre, des fichiers texte GW-BASIC correctes ne peuvent pas être chargés correctement. Si vous rencontrez un tel cas, utilisez l'option stricte-newline pour permettre un comportement GW-BASIC. Si stricte-newline est activée, les fichiers texte au format standard Unix (terminaisons de ligne LF, aucun caractère de fin de fichier) ne parviennent pas à charger. Sous Linux ou Mac, utilisez un utilitaire tel que unix2dos pour convertir des programmes enregistrés en tant que fichiers texte avant de les charger. Lors de l'enregistrement en tant que texte, PC-BASIC utilise toujours les fins de ligne CR LF et & H1A à la fin de fichier. Paquets
 +
 
 +
PC-BASIC peut exécuter des programmes emballés. Un paquet est tout simplement une archive d'annuaire ou zip. Le répertoire ou le contenu fichier zip seront chargés dans le répertoire de travail actuel. Si un fichier de configuration nommé PCBASIC.INI est présent à l'intérieur de ce répertoire, ses paramètres sont chargés; habituellement, l'un de ces paramètres sera un argument de l'exécution des liens vers un programme BASIC inclus dans l'archive ou un répertoire. PC-BASIC reconnaîtra zipfiles quel que soit leur extension. Une extension suggérée pour les packages de PC-BASIC est .BAZ. Les forfaits sont un choix pratique si un programme a besoin de changer de nombreuses options de PC-BASIC pour fonctionner comme vous le souhaitez, ou si elle a besoin d'une configuration de répertoire de travail particulier.
 +
 
 +
packages ZipFile sont décompressés dans un répertoire temporaire chaque fois qu'ils sont chargés. Le répertoire temporaire est supprimé lorsque PC-BASIC ferme. Avec des forfaits fichier zip, il est donc pas possible d'enregistrer des fichiers et les rouvrir à la prochaine exécution de l'emballage. Tapes et BASICODE
 +
 
 +
Les interfaces de périphériques CAS1 avec l'émulateur de cassette. Les bandes ont jamais été très populaire sur l'IBM PC, et en effet uniquement disponible avec le PC d'origine et le PCjr. Il n'y a pas beaucoup de cassettes IBM PC à l'état sauvage. Toutefois, si vous tombez sur l'un, tout ce que vous avez à faire pour le lire avec PC-BASIC est l'enregistrer dans un .WAV (RIFF WAVE) fichier et l'attacher à l'CAS1: appareil avec le CAS1 = WAV: option filename. Vous pouvez également générer vos propres images de bande et stocker vos programmes sur elle. fichiers WAV générés par PC-BASIC sont grandes mais très facilement comprimé dans une archive ZIP; cela fonctionne mieux et conduit à des fichiers plus petits que le transcodage à un format audio lossy comme MP3.
 +
 
 +
Comme alternative à .WAV, vous pouvez stocker des cassettes au format CAS. Ceci est tout simplement un peu-dump de la bande et est interchangeable avec des images de bande pour le PCE IBM PC émulateur.
 +
 
 +
BASICODE était un format de codage audio beaucoup plus fréquent, qui a connu une grande popularité, en particulier aux Pays-Bas, le Royaume-Uni et Allemagne de l'Est. BASICODE a été distribué par des bandes ou diffusion audio sur la radio. La lecture dans un matériel spécial de PC nécessaire, habituellement brancher un magnétophone à un port série ou parallèle. Dans PC-BASIC, bandes BASICODE sont lus à travers le dispositif de CAS1 à la place, en attachant un fichier .WAV avec le CAS1 = BC: option filename. PC-BASIC va charger le BASICODE, en insérant les espaces nécessaires entre les mots-clés où la norme de BASICODE laisse ces out. Notez que vous aurez besoin d'un programme Bascoder pour exécuter le BASICODE, et ce n'est pas distribué actuellement avec le PC-BASIC.
 +
 
 +
Sécurité Si vous avez un Bascoder nommé BASCODER.BAS, la façon d'exécuter un programme de BASICODE programme nommé de la bande est: LOAD "BASCODER" CHAIN ​​MERGE "PROGRAM CAS1"
 +
 
 +
PC-BASIC fait des choix par défaut avec la sécurité de base à l'esprit, mais ne bac à sable pas ses programmes de manière significative. programmes BASIC ont un accès plus ou moins complet à votre ordinateur. Vous devez les traiter avec la même prudence que vous shell scripts ou binaires. Par conséquent, ne pas exécuter un programme à partir de l'Internet que vous ne l'avez pas inspecté la première utilisation LIST ou --convert pcbasic = Un nom de fichier sur la ligne de commande. Vous ne voudriez pas simplement télécharger un exécutable à partir de l'Internet et l'exécuter soit, non? Connexion à des périphériques d'impression
 +
 
 +
Vous pouvez imprimer à partir de programmes de PC-BASIC en accédant au LPT1: périphérique. PC-BASIC envoie la sortie à l'imprimante par défaut de votre système d'exploitation, sauf si vous modifiez l'lpt1 = option. Pour imprimer via une imprimante nommée MyPrinter, définissez lpt1 = IMPRIMANTE: MyPrinter. Vous pouvez également joindre des imprimantes au LPT2: et LPT3: dispositifs.
 +
 
 +
La sortie sera envoyé à l'imprimante lorsque vous fermez PC-BASIC. Si vous préférez, vous pouvez plutôt envoyer chaque page séparément à l'imprimante en réglant l'impression-trigger = page. Vous pouvez même envoyer chaque ligne séparément, mais cela n'a de sens que sur une imprimante tracteur alimenté (comme il était courant à l'apogée de GW-BASIC).
 +
 
 +
Il est facile d'imprimer un fichier au lieu d'une imprimante: set lpt1 = FICHIER: sortie.txt pour envoyer tous les LPT1: sortie de l'imprimante dans le fichier texte sortie.txt.
 +
 
 +
Les états d'impression LPRINT et LLIST envoient toujours leur production à LPT1 de PC-BASIC: appareil.
 +
 
 +
La présentation des documents imprimés est laissée à votre système d'exploitation: ce sera la présentation par défaut des fichiers texte. Si vous Wist changer la façon dont les documents sont imprimés, s'il vous plaît consulter les paramètres de votre OS. Sous Windows, par exemple, les fichiers texte sont imprimés par notepad.exe et en changeant les paramètres par défaut dans cette application va changer la façon dont les documents PC-BASIC sont imprimés. Vous aurez besoin de définir une police d'imprimante qui comprend les caractères dont vous avez besoin d'imprimer. Sur les systèmes Unix, PC-BASIC va utiliser l'utilitaire paps si elle est disponible; cela sélectionnera automatiquement les polices qui prennent en charge les caractères dont vous avez besoin. ports série et parallèle
 +
 
 +
PC-BASIC fournit les périphériques série COM1: et COM2 :. Pour faire usage de ceux-ci, vous avez besoin de les attacher à un port de communication sur votre ordinateur avec le com1 = ou com2 = option. Pour joindre le premier port série physique, réglez com1 = PORT: 0 (ou, alternativement, com1 = PORT: COM1 sous Windows ou com1 = PORT: / dev / ttyS0 sous Linux). Si vous ne disposez pas d'un port série, vous pouvez émuler un en envoyant les communications sur une prise réseau: set com1 = SOCKET: localhost: 7000 et tout COM1: le trafic sera envoyé par socket 7000.
 +
 
 +
Pour accéder à un port parallèle, fixez-le à l'un des LPT1 :, LPT2: ou LPT3 :. Par exemple, définissez lpt2 = PARPORT: 0 à joindre premier port parallèle de votre ordinateur pour LPT2 :. Modification des cibles d'émulation de l'interface
 +
 
 +
Par défaut, PC-BASIC émule GW-BASIC sur un système avec des capacités vidéo VGA. Cependant, il peut émuler plusieurs autres configurations, qui diffèrent les unes des autres en termes de vidéo et de la capacité audio, polices, taille de la mémoire, ainsi que la syntaxe de base disponibles. La meilleure façon de définir la cible d'émulation est en utilisant une option prédéfinie. Par exemple, exécutez pcbasic --preset = PCjr. Autres disponibles presets cibles d'émulation sont: Preset Emulation cible PCjr IBM PCjr avec cartouche BASIC, y compris la vidéo de PCjr et les capacités sonores de 3 voix et la syntaxe BASIC étendu. tandy Tandy 1000 avec GW-BASIC, y compris Tandy capacités vidéo et audio 3-voix et la syntaxe BASIC étendu. Olivetti Olivetti M24 ou AT & T PC 6300. cga IBM ou compatible avec Color Adapter / Graphics et un moniteur composite. Cela permet à l'émulation colorburst composite. ega IBM ou compatible avec Graphics Adapter Extended. vga IBM ou compatible avec Video Graphics Array. mda IBM ou compatible avec l'adaptateur Monochrome Display et moniteur monochrome teinté de vert. hercules IBM compatible avec Hercules Graphics Adapter et moniteur monochrome teinté de vert. stricte Choisissez compatibilité stricte avec GW-BASIC sur la commodité, la sécurité, rime ni raison.
 +
 
 +
Presets sont des groupes d'options qui sont définies dans le fichier de configuration par défaut. Vous pouvez créer vos propres presets en créant un en-tête dans votre fichier de configuration privée avec le nom du nouveau preset, suivie par les options que vous souhaitez appliquer. Par exemple, si vous définissez: [my_preset] video = vga syntaxe = PCjr vous pouvez maintenant exécuter pcbasic --preset = my_preset pour démarrer une émulation d'une machine hypothétique avec une carte vidéo VGA en cours d'exécution PCjr Cartridge BASIC. caractéristiques de compatibilité GW-BASIC
 +
 
 +
PC-BASIC vise un très haut niveau de compatibilité avec GW-BASIC. Cependant, certaines fonctionnalités de compatibilité sont désactivées par défaut pour des raisons de commodité ou de sécurité. Ces caractéristiques peuvent être activées à l'aide des options individuelles de ligne de commande. Le plus haut niveau de compatibilité avec GW-BASIC peut être atteint par la mise en preset = strict, qui arrête toutes les caractéristiques de commodité et de sécurité qui provoquent des différences avec GW-BASIC. codepages
 +
 
 +
PC-BASIC prend en charge un grand nombre de codepages existants qui étaient communs à l'époque GW-BASIC était populaire, y compris deux octets jeu de caractères codepages utilisés pour le chinois, le japonais et le coréen. Vous pouvez choisir votre codepage en utilisant le codepage = option. Par exemple, codepage = 936 sélectionne le codepage GBK couramment utilisé sur le continent chinois. PC-BASIC va charger et sauvegarder tous les fichiers de programme comme si codé dans le codepage vous sélectionnez.
 +
 
 +
Il est également possible de charger et enregistrer des programmes dans le format UTF-8 norme aujourd'hui commune, en activant l'option utf8. Lorsque utf8 est activé, la source de programme en texte brut sera sauvegardé et chargé dans la norme UTF-8. S'il vous plaît noter que vous aurez toujours besoin de sélectionner un codepage qui fournit tous les caractères Unicode que vos besoins du programme.
 +
 
 +
Notez que PC-BASIC ne met pas en œuvre les fonctionnalités suivantes relatives à certains de ces codepages:
 +
 
 +
Le texte bidirectionnel
 +
 
 +
Tout le texte est imprimé gauche à droite indépendante du codepage sélectionné.  Pour écrire des chaînes dans une langue qui est écrit de droite à gauche, la séquence de caractères logique doit être inversée afin que l'ordre semble correct visuellement.  Bien que ce soit gênant, il est en ligne avec le comportement de GW-BASIC.  Cela affecte les pages de codes marqués par B dans le tableau.
 +
 
 +
La combinaison de caractères
 +
 
 +
  PC-BASIC reconnaît les points de code d'un octet (où chaque glyphe montre sur une seule cellule sur l'écran) et les points de code à deux octets (où un seul glyphe prend deux cellules sur l'écran).  Les caractères combinatoires (tels que les caractères combinatoires de codepages 874 et 1258) ne sont donc pas représentés correctement: au lieu d'être combiné avec leur caractère de base précédent comme un seul glyphe combiné, ces combinaisons seront affichés comme des glyphes distincts.  Lorsqu'elles sont disponibles, codepages alternatives avec des caractères précomposés donnera de meilleurs résultats.  Cela affecte les pages de codes marqués par C dans le tableau.
 +
 
 +
Les codepages suivants sont disponibles. PC-BASIC utilise le numéro de page de code Microsoft OEM lorsque cela est sans ambiguïté. Les pages de code devraient se mettre d'accord avec les sources Microsoft pour les plages et h80- & HFF. Ranges & h00- & H1F et & H7F sont mises en œuvre comme les caractères IBM Special Graphic où certaines sources de page de code va lister ceux-ci comme les caractères de contrôle correspondant. Pour codepages non officiels et ceux avec numérotation contradictoires, les noms de codes de pages sont utilisés à la place des numéros. codepage_id Codepage Langues Remarques 437 DOS latine États-Unis English 720 Transparent ASMO Arabe B 737 DOS grec grec 775 DOS Baltic Rim estonien, letton et lituanien 806 IBM-PC Devanagari Hindi 850 DOS Latin 1 langues d'Europe occidentale 851 DOS grec 1 grec 852 DOS latine 2 Central langues européennes 853 DOS latine 3 langues d'Europe du Sud 855 DOS cyrillique 1 serbe, macédonien et bulgare 856 DOS hébreu hébreu B 857 DOS latine 5 turc 858 DOS latin 1 avec Euro occidentaux langues européennes 860 DOS portugais portugais 861 DOS islandais Icelandic 862 DOS hébreu hébreu B 863 DOS canadienne français français 864 DOS arabe arabe B 865 DOS Nordic danois et norvégien 866 DOS cyrillique 2 Russian 868 DOS Urdu Urdu B 869 DOS grec 2 grec 874 TIS-620 Thai C 932 Shift-JIS (variante) japonais 934 DOS / V Corée Korean 936 GBK; GB2312 / EUC-CN surensemble Chinois simplifié 938 DOS / V Taiwan traditionnelle chinoise 949 IBM-PC Corée KS; EUC-KR superset 950 Big-5 (variante) traditionnelle chinoise 1258 Vietnamiens C alternativnyj GOST Alternativnyj Variant armscii8a russe ArmSCII-8a coréenne; cp899 FreeDOS arménienne Big5-2003 Big-5 (Taiwan 2003) Chinois Big5-HKSCS Les traditionnelles Big-5 (Hong Kong 2008) Chinois georgian-académie traditionnelle Académie standard Georgian georgian-ps Parlement géorgien standard iransystem Iran Système persan B ISCII-as ISCII Assamais assamais C ISCII-être ISCII bengali bengali C ISCII-de ISCII Devanagari hindi, le marathi, le sanskrit, konkani, Nepali C ISCII-gu ISCII gujarati gujarati C ISCII-ka ISCII Kannada Kannada C ISCII-ma ISCII malayalam malayalam C ISCII ou ISCII Oriya Oriya C ISCII-pa ISCII Punjabi Punjabi C ISCII-ta ISCII Tamil Tamil C ISCII-te ISCII Telugu Telugu C Kamenicky Kamenický; cp895 tchèque koi8-r KOI8-R russe koi8-ru KOI8-RU ukrainiens, biélorusses, russes koi8-u KOI8-U ukrainiens, russes mazovia Mazovie; cp667, 991, 790 Polonais mik MIK, FreeDOS cp3021 Osnovnoj bulgare GOST Osnovnoj Variant pascii russe PASCII Kashmiri, le persan, le sindhi, l'ourdou B ruscii RUSCII ukrainienne, russup3 russe Cornell soutien russe pour russup4ac russe Exceller Software Support russe DOS for Academic russe DOS russup4na Exceller Software support russe pour le russe DOS de non-académique VISCII VISCII, FreeDOS cp30006 vietnamienne
 +
 
 +
Vous pouvez ajouter des codepages à PC-BASIC, en ajoutant un fichier avec son application en Unicode au codepage / répertoire.
 +
 
 +
==Polices==
 +
 
 +
PC-BASIC émule les polices raster distinctives des machines compatibles IBM. Les polices ROM des adaptateurs originaux IBM et Tandy (qui sont dans le domaine public dans un certain nombre de pays) ont été inclus dans PC-BASIC. Ceux-ci fournissent l'émulation la plus précise. Cependant, les ROM de police seulement inclus une page de code unique - DOS latine États-Unis 437.
 +
 
 +
Pour prendre en charge les pages de code au-delà de 437, par défaut de PC-BASIC à la police CPIDOS utilisé par défaut dans FreeDOS et DOSBox. Cette police est très similaire dans le style à la police IBM VGA, mais a un support pour beaucoup plus de pages de code, en particulier de l'Ouest et du Moyen-Orient alphabets. Si CPIDOS ne comprend pas les caractères dont vous avez besoin, essais de PC-BASIC pour les trouver au sein d'UNI-VGA, qui est également très similaire au style VGA. Si cela ne suffit pas, PC-BASIC retombe GNU unifont pour les caractères manquants. glyphes occidentaux unifont sont moins similaires à la police VGA, mais il fournit un support pour le plein plan multilingue de base Unicode. Par exemple, tous les Chinois, les glyphes japonais et coréens dans PC-BASIC sont tirées de unifont.
 +
 
 +
Il est possible de modifier le choix de la police en utilisant la police = option. Vous pouvez fournir une liste de polices, où la dernière police spécifiée est le plus préféré.
 +
 
 +
PC-BASIC lit les polices dans le format .hex introduit par unifont. Il est facile de définir des polices personnalisées dans ce format: il peut être modifié dans un éditeur de texte normal. Voir le projet unifont pour un outil de création. Vous pouvez ajouter des polices personnalisées pour PC-BASIC en les installant dans la police / sous-répertoire du répertoire d'installation de PC-BASIC.
 +
 
 +
Par défaut, les polices suivantes sont disponibles: font_name Nom Tailles Codepages unifont GNU unifont 16 tous univga Uni-VGA police 16 de nombreux freedos FreeDOS CPIDOS font 8, 14, 16 de nombreux cga IBM Couleur / Graphics Adapter police 8 437 seulement mda IBM Monochrome Display Adapter police 14 437 seulement vga Video Graphics IBM tableau font 8, 14, 16 437 seulement Olivetti Olivetti / AT & T font 16 437 seulement tandy1 Tandy-1000 police ancienne version 8 437 seulement tandy2 Tandy-1000 police nouvelle version 8 437 seulement
 +
 
 +
GNU unifont contient glyphes pour tous les points de code définis du plan multilingue de base d'Unicode 7.0, ce qui en fait une excellente police de repli. Ses glyphes ne sont pas, cependant, très semblables à ceux qui ont été utilisés sur les machines DOS; tant Uni-VGA et les polices FreeDOS CPIDOS sont donc plus approprié, quand ils ont les glyphes nécessaires. Redirection I / O
 +
 
 +
supports PC-BASIC redirigeant entrée et la sortie de la GW-BASIC façon: sortie redirigée avec la sortie = option sera envoyée à l'écran ainsi que le fichier spécifié, alors que l'entrée redirigée avec entrée = est prise uniquement à partir du fichier spécifié. Notez que la sortie de l'écran à travers le SCRN: appareil et l'entrée au clavier par l'intermédiaire du KYBD: dispositif ne sont pas redirigée. Les fichiers sont lus et écrits dans le codepage ensemble avec PC-BASIC.
 +
 
 +
Notez qu'il est également possible d'utiliser l'installation de votre système d'exploitation pour rediriger la sortie de la console en utilisant les opérateurs <et>. Il est préférable de définir l'interface = none pour que I / O est redirigé via la console. Cela produira des fichiers dans le codage standard de votre console, ce qui est souvent UTF-8 sur Unix et Windows-1252 sur Windows. Interface de ligne de commande
 +
 
 +
Vous pouvez exécuter PC-BASIC comme une interface de ligne de commande en définissant l'interface = cli (ou -b). Aucune fenêtre sera ouverte: vous pouvez taper des commandes BASIC directement dans votre invite de commande / Terminal. Utilisez les touches fléchées horizontales pour se déplacer sur la ligne courante que vous éditez; utilisez les touches fléchées verticales pour afficher les lignes d'écran ci-dessus et ci-dessous. Copier et coller ne sont disponibles que si le shell appelant leur fournit. Sous Windows, Ctrl + Pause prendra fin immédiatement PC-BASIC. Vous pouvez utiliser Ctrl + C pour interrompre le programme. La combinaison de touches de fin de fichier (Ctrl + D sur Unix, Ctrl + Z sous Windows) va quitter PC-BASIC.
 +
 
 +
Vous pouvez utiliser l'interface de ligne de commande pour exécuter une ou quelques commandes de base directement, comme ceci:
 +
 
 +
moi @ mybox $ pcbasic -bqe = "1 + 1"
 +
 
 +
  2
 +
 
 +
moi @ mybox $
 +
 
 +
Aux fins de script, il est également possible d'exécuter PC-BASIC sans interface en définissant l'interface = none ou -n. Si ce paramètre est réglé, PC-BASIC prendra entrée de et envoyer la sortie à la console en UTF-8 sans autre modification. Cette fonction est utile en combinaison avec la redirection et la tuyauterie. interface texte-
 +
 
 +
Il y a aussi une interface de texte plein-écran disponible: il permet par l'interface de réglage = texte (ou -t). L'interface à base de texte est très similaire à l'interface graphique par défaut, mais fonctionne dans votre invite de commande ou de la fenêtre Terminal.
 +
 
 +
Dans les interfaces à base de texte et de ligne de commande, les graphiques ne sont pas disponibles. Toute tentative d'ouverture d'un mode écran graphique conduira à une erreur d'appel de fonction illégale. En outre, de nombreuses combinaisons de touches Ctrl et Alt ne sont pas disponibles.
 +
 
 +
Sur les systèmes Unix uniquement, vous pouvez obtenir le son dans les interfaces de texte et de ligne de commande sur le haut-parleur du PC si vous installez l'utilitaire de bip et activez l'héritage pilote PC-parleur ou l'émulation. Les réglages et options
 +
 
 +
PC-BASIC a un certain nombre de paramètres qui modifient la façon dont il fonctionne. Ces paramètres peuvent être modifiés en définissant des options sur la ligne de commande ou par la modification du fichier de configuration.
 +
 
 +
Dans les deux méthodes, les options ont le même nom et la syntaxe. Dans ce qui suit, nous allons souvent faire référence à un paramètre d'option particulière; rappelez-vous que vous pouvez définir ce à partir de la ligne de commande, ainsi que dans le fichier de configuration.
 +
 
 +
===Options de ligne de commande===
 +
 
 +
Vous pouvez entrer des options de ligne de commande si vous démarrez PC-BASIC de la console (également connu sous le nom d'invite de commandes ou de terminal, ce qui est normalement CMD ou PowerShell sous Windows), en faisant précéder le nom de l'option avec deux tirets, comme suit: pcbasic --preset = tandy --ctrl-c-break = True
 +
 
 +
Sur la ligne de commande, vous pouvez laisser l'expression = True qui est commun dans les options de commutation. Certaines options ont une alternative, nom court composé d'une seule lettre précédée d'un seul tableau de bord, que vous pouvez utiliser sur la ligne de commande. Vous pouvez combiner plusieurs options courtes avec un seul tableau de bord. Les fichiers de configuration
 +
 
 +
Vous pouvez modifier les options en ajoutant ou en supprimant des lignes dans votre fichier de configuration local, qui se trouve à l'emplacement suivant:
 +
 
 +
Windowss
 +
 
 +
  %AppData% \ pcbasic \ PCBASIC.INI
  
Windows
 
    %AppData%\pcbasic\PCBASIC.INI
 
 
OS X
 
OS X
    ~/Library/Application Support/pcbasic/PCBASIC.INI
+
 
 +
  ~ / Library / Application Support / pcbasic / PCBASIC.INI
 +
 
 
Linux
 
Linux
    ~/.config/pcbasic/PCBASIC.INI
 
  
Change an option in the configuration file by adding a line in the section named [pcbasic], like so:
+
  ~ / .config / Pcbasic / PCBASIC.INI
[pcbasic]
+
 
preset=tandy
+
Changer une option dans le fichier de configuration en ajoutant une ligne dans la section [pcbasic], comme ceci: [pcbasic] preset = tandy ctrl-c-break = True
ctrl-c-break=True
+
 
 +
Vous ne pouvez pas utiliser des arguments de position ou le nom court d'options dans le fichier de configuration. Vous pouvez également ne pas laisser de côté l'expression = True.
 +
 
 +
Le fichier de configuration doit être un fichier texte encodé en ASCII ou UTF-8. Synopsis pcbasic [programme | package [sortie]] [--allow code-piquez [= True | = False]] [--altgr [= True | = False]] [--append [= True | False =]] [--aspect = x, y] [-b] [--border = largeur] [--caption = titre] [--capture-caps [= True | = False]] [--cas1 = Type: valeur] [--cga-bas [= True | = False]] [--codepage = codepage_id] [--config = config_file] [--com1 = Type: valeur] [--com2 = Type: valeur] [--convert = {A | B | P}] [--copy-paste = copy_button, paste_button] [--ctrl-c-break [= True | = False]] [--current-device = {CAS1 | @ | A | B ... | Z}] [--dimensions = x, y] [-d] [--double [= True | = False]] [-e = command_line] [--exec = command_line] [--font = font_name [, font_name ...]] [--fullscreen [= True | = False]] [-h] [--help] [-i] [--input = fichier_entrée] [--interface = {none | cli | texte | graphique}] [-k = keystring] [--keys = keystring] [-l = programme] [--load = programme] [--logfile = log_file] [--lpt1 = Type: valeur] [ --lpt2 = Type: valeur] [--lpt3 = Type: valeur] [--map-disques [= True | = False]] [-f = NUMBER_OF_FILES] [--max-files = NUMBER_OF_FILES] [-m = max_memory [, basic_memory_blocks]] [--max-memory = max_memory [, basic_memory_blocks]] [-s = record_length] [--max-reclen = record_length] [--monitor = {rgb | composite | mono}] [- mono-teinte = r, g, b] [--mount = lecteur: chemin, [lecteur: chemin ...]] [-n] [--nobox [= True | = False]] [--nokill [= True | = False]] [--nosound [= True | = False]] [--output = output_file] [--pcjr terme = terminal_program] [--peek = [seg: addr: val [, seg: addr : val ...]]] [--pen = {left | milieu | right | none}] [--preset = option_block] [--print-trigger = {line | page | fermer}] [-q] [ --quit [= True | = False]] [--reserved-memory = nombre_octets] [--resume [= True | = False] [-r = programme] [--run = programme] [--scaling = { lisse | croquante | natif}] [-c = size] [--serial-buffer-size =] [--shell = {none | native | commande]] [--state = state_file] [--strict-caché trapézoidale [= True | = False]] [--strict-newline [= True | = False]] [--strict-protect [= True | = False]] [--syntax = {avancée | PCjr | tandy} ] [-t] [--text-width = {40 | 80}] [--utf8 [= True | = False]] [-v] [--version] [--video = carte] [--video -Mémoire = size] [-w] [--wait [= True | = False]] arguments positionnels
 +
 
 +
programme
 +
 
 +
  Si un programme .BAS est spécifié comme premier argument de position, il sera exécuté.  Le --run, --load et les options --convert remplacent ce comportement.
 +
 
 +
paquet
 +
 
 +
  Si un paquet ou un répertoire zipfile est spécifié comme premier argument de position, tout fichier de configuration contenu PCBASIC.INI sera chargé;  habituellement, il exécutera un fichier de programme dans le package.  Toutes les autres options de ligne de commande remplacent le fichier de configuration de package, noter en particulier le potentiel de la --run, --load et les options --convert pour modifier le comportement de l'emballage.
 +
 
 +
sortie
 +
 
 +
  Si un second argument de position est spécifié, il définit le fichier de sortie pour la conversion de format de fichier.  Cet argument est ignoré sauf si l'option --convert est donnée.
 +
 
 +
options de
 +
 
 +
--allow code-tisonner [= True | = False]
 +
 
 +
  Permettre aux programmes de Poke dans la mémoire de code.
 +
 
 +
--altgr [= True | = False]
 +
 
 +
  Si True (par défaut), interpréter la touche Alt droite comme Alt Gr au lieu de Alt.  La touche Alt gauche est toujours considérée comme Alt.
  
You cannot use positional arguments or the short name of options in the configuration file. You also cannot leave out the expression =True.
+
--append [= True | = False]
  
The configuration file should be a text file encoded in ASCII or UTF-8.
+
  Si elle est utilisée avec --output = output_file, l'output_file est ajouté à plutôt que écrasé.  
Synopsis
+
pcbasic [program|package [output]] [--allow-code-poke[=True|=False]] [--altgr[=True|=False]] [--append[=True|=False]] [--aspect=x,y] [-b] [--border=width] [--caption=title] [--capture-caps[=True|=False]] [--cas1=type:value] [--cga-low[=True|=False]] [--codepage=codepage_id] [--config=config_file] [--com1=type:value] [--com2=type:value] [--convert={A|B|P}] [--copy-paste=copy_button,paste_button] [--ctrl-c-break[=True|=False]] [--current-device={CAS1|@|A|B ... |Z}] [--dimensions=x,y] [-d] [--double[=True|=False]] [-e=command_line] [--exec=command_line] [--font=font_name[,font_name ... ]] [--fullscreen[=True|=False]] [-h] [--help] [-i] [--input=input_file] [--interface={none|cli|text|graphical}] [-k=keystring] [--keys=keystring] [-l=program] [--load=program] [--logfile=log_file] [--lpt1=type:value] [--lpt2=type:value] [--lpt3=type:value] [--map-drives[=True|=False]] [-f=number_of_files] [--max-files=number_of_files] [-m=max_memory[,basic_memory_blocks]] [--max-memory=max_memory[,basic_memory_blocks]] [-s=record_length] [--max-reclen=record_length] [--monitor={rgb|composite|mono}] [--mono-tint=r,g,b] [--mount=drive:path,[drive:path ... ]] [-n] [--nobox[=True|=False]] [--nokill[=True|=False]] [--nosound[=True|=False]] [--output=output_file] [--pcjr-term=terminal_program] [--peek=[seg:addr:val[,seg:addr:val ... ]]] [--pen={left|middle|right|none}] [--preset=option_block] [--print-trigger={line|page|close}] [-q] [--quit[=True|=False]] [--reserved-memory=number_of_bytes] [--resume[=True|=False] [-r=program] [--run=program] [--scaling={smooth|crisp|native}] [-c=size] [--serial-buffer-size=size] [--shell={none|native|command]] [--state=state_file] [--strict-hidden-lines[=True|=False]] [--strict-newline[=True|=False]] [--strict-protect[=True|=False]] [--syntax={advanced|pcjr|tandy}] [-t] [--text-width={40|80}] [--utf8[=True|=False]] [-v] [--version] [--video=card] [--video-memory=size] [-w] [--wait[=True|=False]]
+
Positional arguments
+
  
program
+
--aspect = x, y
    If a .BAS program is specified as the first positional argument, it will be run. The --run, --load and --convert options override this behaviour.
+
package
+
    If a zipfile package or directory is specified as the first positional argument, any contained configuration file PCBASIC.INI will be loaded; usually, it will run a program file in the package. All other command-line options will override the package configuration file, note in particular the potential of the --run, --load and --convert options to alter the behaviour of the package.
+
output
+
    If a second positional argument is specified, it sets the output file for file format conversion. This argument is ignored unless the --convert option is given.
+
  
Options
+
  Réglez le format d'affichage pour x: y.  A seulement un effet si elle est combinée avec --interface = graphique.
  
--allow-code-poke[=True|=False]
 
    Allow programs to POKE into code memory.
 
--altgr[=True|=False]
 
    If True (default), interpret the right Alt key as Alt Gr instead of Alt. The left Alt key is always seen as Alt.
 
--append[=True|=False]
 
    If used with --output=output_file, the output_file is appended to rather than overwritten.
 
--aspect=x,y
 
    Set the display aspect ratio to x:y. Only has an effect if combined with --interface=graphical.
 
 
-b
 
-b
    Use the command-line interface. This is identical to --interface=cli.
 
--border=width
 
    Set the width of the screen border as a percentage from 0—100. The percentage refers to the total width of the borders on both sides as a fraction of the usable screen width. Only has an effect if combined with --interface=graphical.
 
--caption=title
 
    Set the title bar caption of the PC-BASIC window. Default title is PC-BASIC.
 
--capture-caps[=True|=False]
 
    Let PC-BASIC handle the Caps Lock key. This may or may not interfere with the operating system's own handling of that key. Only has an effect if combined with --interface=graphical.
 
--cas1=type:value
 
    Attach a resource to the CAS1: cassette device. type:value can be
 
  
    WAV:wav_file
+
  Utilisez l'interface de ligne de commande. Ceci est identique à --interface = cli.  
        Connect to the RIFF Wave file wav_file with data modulated in IBM PC cassette format.  
+
    CAS:cas_file
+
        Connect to the PCE/PC-BASIC CAS tape image cas_file.
+
    BC:wav_file
+
        Connect to the RIFF Wave file wav_file with data modulated in BASICODE format.  
+
  
--cga-low[=True|=False]
+
= largeur --border
    Use low-intensity palettes in CGA modes. Only has an effect if combined with --video={cga|cga_old|ega|vga}.
+
--codepage=codepage_id
+
    Load the specified codepage. The codepage determines which characters are associated to a given character byte or, in the case of double-byte codepages, two character bytes. The available codepages are stored in the codepage/ directory; by default, these are:
+
  
        437 720 737 775 806 850 851 852 853 855 856 857 858 860 861 862 863 864 865 866 868 869 874 932 934 936 938 949 950 1258 alternativnyj armscii8a big5-2003 big5-hkscs georgian-academy georgian-ps iransystem iscii-as iscii-be iscii-de iscii-gu iscii-ka iscii-ma iscii-or iscii-pa iscii-ta iscii-te kamenicky koi8-r koi8-ru koi8-u mazovia mik osnovnoj pascii ruscii russup3 russup4ac russup4na viscii
+
  Régler la largeur de la bordure de l'écran en tant que pourcentage de 0-100.  Le pourcentage se réfère à la largeur totale des frontières des deux côtés comme une fraction de la largeur de l'écran utilisable.  A seulement un effet si elle est combinée avec --interface = graphique.
  
    . See the list of codepages in the User's Guide for details.
+
--caption = title
--config=config_file
+
    Read a configuration file. The system default configuration is always read first, but any preset group of options in a configuration file replaces the whole equivalent default preset group.
+
--com1=type:value
+
    Attach a resource to the COM1: serial device. type:value can be one of the following.
+
  
    PORT:device_name
+
  Définir la légende de la barre de titre de la fenêtre de PC-BASIC. Titre par défaut est PC-BASIC.  
        Connect to a serial device. device_name can be a device name such as COM1 or /dev/ttyS0 or a number, where the first serial port is number 0.
+
    SOCKET:host:socket
+
        Connect to a TCP socket on a remote or local host.
+
    STDIO[:[CRLF]]
+
        Connect to standard I/O of the calling shell. If CRLF is specified, PC-BASIC replaces CR characters with LF on its output and LF with CR on its input. This is more intuitive on Unix shells. When using a Unix console, you should use stty -icanon to enable PC-BASIC to read input correctly.  
+
  
    If this option is not specified, the COM1: device is unavailable.
+
--capture-caps [= True | = False]
--com2=type:value
+
    Attach a resource to the COM2: serial device. See --com1.
+
--convert={A|B|P}
+
    Convert program to one of the following formats:
+
  
     A
+
  Laissez PC-BASIC gérer la touche Caps Lock.  Cela peut ou peut ne pas interférer avec sa propre manipulation du système d'exploitation de cette clé.  A seulement un effet si elle est combinée avec --interface = graphique.
         Plain text
+
 
 +
--cas1 = Type: valeur
 +
 
 +
  Joindre une ressource au CAS1: dispositif de cassette.  Type: la valeur peut être
 +
 
 +
  WAV: wav_file
 +
        Connectez-vous au fichier wav_file RIFF Wave avec des données modulées en format de cassette IBM PC.
 +
     CAS: cas_file
 +
        Connectez-vous au PCE / PC-BASIC bande CAS Image cas_file.
 +
    BC: wav_file
 +
        Connectez-vous au fichier wav_file RIFF Wave avec des données modulées en format BASICODE.
 +
 
 +
--cga-bas [= True | = False]
 +
 
 +
  Utilisez les palettes de faible intensité dans les modes CGA.  A seulement un effet si combiné avec --video = {cga | cga_old | ega | vga}.
 +
 
 +
--codepage = codepage_id
 +
 
 +
  Chargez le codepage spécifié.  Le codepage détermine quels caractères sont associés à un octet de caractère donné ou, dans le cas de codepages double octet, deux octets de caractères.  Les codepages disponibles sont stockés dans le codepage / répertoire;  par défaut, ce sont:
 +
 
 +
  720 737 775 437 806 850 851 852 853 855 856 857 858 860 861 862 863 864 865 866 868 869 874 932 934 936 938 949 950 1258 alternativnyj armscii8a Big5-2003 big5-HKSCS georgian-academy georgian-ps iransystem ISCII-as iscii- be-ka-gu ISCII-de-ma ISCII ISCII ou ISCII-pa-ta ISCII ISCII-te Kamenicky koi8-r koi8-ru koi8-u mazovia mik Osnovnoj pascii ruscii russup3 russup4ac russup4na VISCII
 +
 
 +
  .  Voir la liste des codepages dans le Guide de l'utilisateur pour plus de détails.
 +
 
 +
--config = config_file
 +
 
 +
  Lire un fichier de configuration.  La configuration par défaut du système est toujours lu en premier, mais un groupe prédéfini d'options dans un fichier de configuration remplace l'ensemble du groupe présélectionner équivalent par défaut.
 +
 
 +
--com1 = Type: valeur
 +
 
 +
  Joindre une ressource à la COM1: périphérique série.  Type: la valeur peut être l'une des suivantes.
 +
 
 +
  PORT: device_name
 +
        Se connecter à un périphérique série.  device_name peut être un nom de périphérique tel que COM1 ou / dev / ttyS0 ou un numéro, où le premier port série est le numéro 0.
 +
    SOCKET: host: socket
 +
        Se connecter à un socket TCP sur un hôte distant ou local.
 +
    STDIO [: [CRLF]]
 +
        Connectez-vous à I / S standard de la coque appelant.  Si CRLF est spécifié, PC-BASIC remplace les caractères CR LF sur sa sortie et LF avec CR sur son entrée.  Ceci est plus intuitive sur shells Unix.  Lorsque vous utilisez une console Unix, vous devez utiliser stty -icanon pour permettre PC-BASIC de lire correctement entrée.
 +
 
 +
  Si cette option est spécifiée, le COM1: périphérique est indisponible.
 +
 
 +
--com2 = Type: valeur
 +
 
 +
  Joindre une ressource au COM2: périphérique série.  Voir --com1.
 +
 
 +
--convert = {A | B | P}
 +
 
 +
  Autre programme à l'un des formats suivants:
 +
 
 +
  UNE
 +
         texte brut
 
     B
 
     B
 
         Tokenised
 
         Tokenised
 
     P
 
     P
         Protected
+
         Protégé
  
    If output is not specified, write to standard output. If program is not specified, use the argument of --run or --load. If none of those are given, read from standard input. Overrides --resume, --run and --load.  
+
  Si la sortie est pas spécifiée, écrire sur la sortie standard. Si le programme n'a pas été spécifié, utilisez l'argument de --run ou --load. Si aucun de ceux sont donnés, lire à partir de l'entrée standard. Remplacements --resume, --run et --load.  
--copy-paste=copy_button,paste_button
+
    Choose the mouse buttons for clipboard operations. copy_button and paste_button are chosen from left,middle,right,none.
+
--ctrl-c-break[=True|=False]
+
    If False, follow GW-BASIC behaviour where Ctrl+C breaks AUTO and INPUT but not program execution or LIST.
+
    If True, treat Ctrl+C exactly like Ctrl+Break and Ctrl+Scroll Lock when --interface=graphical.
+
    With --interface={text|cli}, Ctrl+C is always treated like Ctrl+Break.
+
    Default is True.
+
--current-device={CAS1|@|A|B ... |Z}
+
    Set the current device to the indicated PC-BASIC drive letter or CAS1 for the cassette device. The device chosen should be mounted to an actual location using --mount (or --cas1 if the cassette device is chosen). Default is Z, with the Z: device mounted to your current drive.
+
--dimensions=x,y
+
    Set window dimensions to x by y pixels. This overrides --scaling=native and --aspect. Only has an effect if combined with --interface=graphical.
+
-d --double[=True|=False]
+
    Enable double-precision transcendental math functions. This is equivalent to the /d option in GW-BASIC.
+
-e=command_line --exec=command_line
+
    Execute BASIC command_line. The specified commands are executed before entering into direct mode or running a program.
+
--font=font_name[,font_name ... ]
+
    Use the specified fonts for the interface. The last fonts specified take precedence, previous ones are fallback. Default is unifont,univga,freedos (i.e. the freedos font has preference). The available fonts are stored in font/. By default, the following fonts are available:
+
  
        unifont univga freedos cga mda vga olivetti tandy1 tandy2  
+
--copy-coller = copy_button, paste_button
 +
 
 +
  Choisissez les boutons de la souris pour les opérations de presse-papiers.  copy_button et paste_button sont choisis de gauche, au milieu, à droite, aucun.
 +
 
 +
--ctrl-c-break [= True | = False]
 +
 
 +
  Si False, suivez le comportement GW-BASIC où Ctrl + C casse AUTO et INPUT, mais pas l'exécution ou LIST programme.
 +
    Si vrai, traiter Ctrl + C exactement comme Ctrl + Pause et Ctrl + Scroll Lock quand --interface = graphique.
 +
    Avec --interface = {text | cli}, Ctrl + C est toujours traité comme Ctrl + Break.
 +
    Par défaut est True.
 +
 
 +
--current-device = {CAS1 | @ | A | B ... | Z}
 +
 
 +
  Réglez le dispositif actuel à la lettre de lecteur indiqué PC-BASIC ou CAS1 pour le dispositif de cassette.  Le dispositif choisi doit être monté à un emplacement réel en utilisant --mount (ou --cas1 si le dispositif de cassette est choisi).  Par défaut est Z, avec le Z: dispositif monté sur votre lecteur en cours.
 +
 
 +
--dimensions = x, y
 +
 
 +
  Définir les dimensions de la fenêtre de x par y pixels.  Ceci remplace --scaling = native et --aspect.  A seulement un effet si elle est combinée avec --interface = graphique.
 +
 
 +
-d --double [= True | = False]
 +
 
 +
  Activer les fonctions mathématiques transcendantes double précision.  Ceci est équivalent à l'option / j en GW-BASIC.
 +
 
 +
-e = command_line --exec = command_line
 +
 
 +
  Exécuter command_line BASIC.  Les commandes spécifiées sont exécutées avant d'entrer en mode direct ou en cours d'exécution d'un programme.
 +
 
 +
--font = font_name [, font_name ...]
 +
 
 +
  Utilisez les polices spécifiées pour l'interface.  Les dernières polices spécifiées ont priorité, les précédents sont repli.  Par défaut est unifont, univga, freedos (ie la police de freedos a la préférence).  Les polices disponibles sont stockées dans la police /.  Par défaut, les polices suivantes sont disponibles:
 +
 
 +
  unifont univga freedos cga mda vga olivetti tandy1 tandy2  
 +
 
 +
  .  Voir la liste des polices dans le Guide de l'utilisateur pour plus de détails.
 +
 
 +
--fullscreen [= True | = False]
 +
 
 +
  Mode plein écran.  A seulement un effet si elle est combinée avec --interface = graphique.
  
    . See the list of fonts in the User's Guide for details.
 
--fullscreen[=True|=False]
 
    Fullscreen mode. Only has an effect if combined with --interface=graphical.
 
 
-h --help
 
-h --help
    Show a usage message and exit.
 
-i
 
    This option is ignored. It is included only for compatibility with GW-BASIC /i.
 
--input=input_file
 
    Retrieve keyboard input from input_file, except if KYBD: is read explicitly. Input from KYBD: files is always read from the keyboard, following GW-BASIC behaviour.
 
--interface={none|cli|text|graphical}
 
    Choose the type of interface. The following interface types are available:
 
  
    none
+
  Afficher un message d'aide et quitter.
         Filter for use with pipes. Also -n.
+
 
 +
-je
 +
 
 +
  Cette option est ignorée.  Il est inclus uniquement pour la compatibilité avec GW-BASIC / i.
 +
 
 +
--input = fichier_entrée
 +
 
 +
  Récupérer l'entrée du clavier de fichier_entrée, sauf si KYBD: est lu de manière explicite.  Entrée de Kybd: fichiers est toujours lue à partir du clavier, suivant le comportement GW-BASIC.
 +
 
 +
--interface = {none | cli | texte | graphique}
 +
 
 +
  Choisissez le type d'interface.  Les types d'interface suivants sont disponibles:
 +
 
 +
  aucun
 +
         Filtre pour l'utilisation avec des tuyaux. Aussi -n.
 
     cli
 
     cli
         Command-line interface. Also -b.
+
         Interface de ligne de commande. -b également.
     text
+
     texte
         Text-based interface. Also -t.
+
         basée sur le texte de l'interface. En outre -t.
     graphical
+
     graphique
         Graphical interface.
+
         Interface graphique.
  
    The default is graphical.  
+
  La valeur par défaut est graphique.  
-k=keystring --keys=keystring
+
    Insert the keystring into the keyboard buffer.
+
-l=program --load=program
+
    Start in direct mode with the BASIC program loaded.
+
--logfile=log_file
+
    Write error and warning messages to log_file instead of stderr.
+
--lpt1=type:value
+
    Attach a resource to the LPT1: parallel device. type:value can be
+
  
    PRINTER:printer_name
+
-k = keystring --keys = keystring
        Connect to a Windows, LPR or CUPS printer. If printer_name is not specified, the default printer is used.
+
    FILE:file_name
+
        Connect to any file or device such as /dev/stdout on Unix or LPT1 on Windows.
+
    STDIO[:[CRLF]]
+
        Connect to standard output of the calling shell. If CRLF is specified, PC-BASIC replaces CR characters with LF on its output. This is more intuitive on Unix shells.
+
    PARPORT:port_number
+
        Connect to a Centronics parallel port, where port_number is 0 for the first parallel port, etc. PARPORT only works with physical parallel ports; for example, a Windows printer or other device mapped with NET USE LPT1: can only be attached with FILE:LPT1
+
  
    If this option is not specified, LPT1: is connected to the default printer.  
+
  Insérez le keystring dans la mémoire tampon du clavier.  
--lpt2=type:value
+
    Attach a resource to the LPT2: parallel device. See --lpt1. If this option is not specified, LPT2: is unavailable.
+
--lpt3=type:value
+
    Attach a resource to the LPT3: parallel device. See --lpt1. If this option is not specified, LPT3: is unavailable.
+
--map-drives[=True|=False]
+
    On Windows, assign all Windows drive letters to PC-BASIC drive letters. On other systems, assign to:
+
  
     Z:
+
-l = programme --load = programme
         the current working directory
+
 
 +
  Démarrez en mode direct avec le programme BASIC chargé.
 +
 
 +
--logfile = log_file
 +
 
 +
  Ecrire des messages d'erreur et d'avertissement à LOG_FILE au lieu de stderr.
 +
 
 +
--lpt1 = Type: valeur
 +
 
 +
  Joindre une ressource au LPT1: périphérique parallèle.  Type: la valeur peut être
 +
 
 +
  IMPRIMANTE: printer_name
 +
        Se connecter à un Windows, LPR ou imprimante de CUPS.  Si printer_name est pas spécifié, l'imprimante par défaut est utilisée.
 +
     DOSSIER: file_name
 +
        Connectez-vous à un fichier ou un périphérique tel que / dev / stdout sur Unix ou sur Windows LPT1.
 +
    STDIO [: [CRLF]]
 +
        Connectez-vous à la sortie standard de la coque d'appel.  Si CRLF est spécifié, PC-BASIC remplace les caractères CR LF sur sa sortie.  Ceci est plus intuitive sur shells Unix.
 +
    PARPORT: numéro_port
 +
        Se connecter à un port parallèle Centronics, où numéro_port est 0 pour le premier port parallèle, etc. PARPORT fonctionne uniquement avec les ports parallèles physiques;  par exemple, une imprimante Windows ou un autre périphérique mappé avec NET USE LPT1: ne peuvent être attachés avec FILE: LPT1
 +
 
 +
  Si cette option est spécifiée, LPT1: est connecté à l'imprimante par défaut.
 +
 
 +
--lpt2 = Type: valeur
 +
 
 +
  Joindre une ressource au LPT2: périphérique parallèle.  Voir --lpt1.  Si cette option est spécifiée, LPT2: est indisponible.
 +
 
 +
--lpt3 = Type: valeur
 +
 
 +
  Joindre une ressource au LPT3: périphérique parallèle.  Voir --lpt1.  Si cette option est spécifiée, LPT3: est indisponible.
 +
 
 +
--map durs [= True | = False]
 +
 
 +
  Sous Windows, affectez toutes les lettres de lecteur Windows vers les lettres de lecteur PC-BASIC.  Sur les autres systèmes, affecter à:
 +
 
 +
  Z:
 +
         le répertoire courant
 
     C:
 
     C:
         the filesystem root
+
         la racine du système de fichiers
 
     H:
 
     H:
         the user's home directory.
+
         le répertoire personnel de l'utilisateur.
 +
 
 +
-f = NUMBER_OF_FILES --max fichiers = NUMBER_OF_FILES
 +
 
 +
  Définir le nombre maximal de fichiers ouverts à NUMBER_OF_FILES.  Ceci est équivalent à l'option / f GW-BASIC.  Par défaut est 3.
 +
 
 +
-m = max_memory [, basic_memory_blocks] --max mémoire = max_memory [, basic_memory_blocks]
 +
 
 +
  Définir la taille maximale du segment de mémoire de données à max_memory et la taille maximale de la mémoire de données disponibles pour BASIC basic_memory_blocks * 16.  PC-Basic, le minimum de ces valeurs est simplement la taille de la mémoire de données;  les deux valeurs sont autorisées pour la compatibilité avec l'option / m de GW-BASIC.
 +
 
 +
-s = record_length --max-reclen = record_length
 +
 
 +
  Régler la longueur maximale d'enregistrement des fichiers RANDOM à record_length.  Par défaut est 128, le maximum est 32767. Ceci est équivalent à l'option / GW-BASIC.  
 +
 
 +
--monitor = {rgb | composite | mono}
  
-f=number_of_files --max-files=number_of_files
+
  Définit le type de moniteur à imiter. types disponibles sont:
    Set maximum number of open files to number_of_files. This is equivalent to the /f option in GW-BASIC. Default is 3.
+
-m=max_memory[,basic_memory_blocks] --max-memory=max_memory[,basic_memory_blocks]
+
    Set the maximum size of the data memory segment to max_memory and the maximum size of the data memory available to BASIC to basic_memory_blocks*16. In PC-BASIC, the minimum of these values is simply the data memory size; the two values are allowed for compatibility with the /m option in GW-BASIC.
+
-s=record_length --max-reclen=record_length
+
    Set maximum record length for RANDOM files to record_length. Default is 128, maximum is 32767. This is equivalent to the /s option in GW-BASIC.
+
--monitor={rgb|composite|mono}
+
    Sets the monitor type to emulate. Available types are:
+
  
    rgb
+
  rgb
         RGB colour monitor (default).
+
         moniteur couleur RGB (par défaut).
 
     composite
 
     composite
         Composite colour monitor.  
+
         Composite moniteur couleur.  
 
     mono
 
     mono
         Monochrome monitor.
+
         Monochrome moniteur.
 +
 
 +
  Sur l'écran 2 avec --video = {PCjr | tandy | cga | cga_old}, --monitor = composite permet d'artefacts (brut) de couleur.
 +
 
 +
--mono-teinte = r, g, b
 +
 
 +
  Spécifiez la teinte monochrome que les valeurs de rouge-vert-bleu r, g, b, chacun dans l'intervalle 0-255.  A seulement un effet si elle est combinée avec --monitor = mono.
 +
 
 +
--mount = lecteur: chemin, [lecteur: chemin ...]
 +
 
 +
  Attribuez le chemin chemin pour conduire la lettre de lecteur :.  Le chemin peut être absolu ou relatif.  Par défaut, Z: est affecté au répertoire de travail courant et pas d'autres lettres de lecteur sont affectées.  
  
    On SCREEN 2 with --video={pcjr|tandy|cga|cga_old}, --monitor=composite enables (crude) colour artifacts.
 
--mono-tint=r,g,b
 
    Specify the monochrome tint as the red-green-blue values r,g,b, each in the range 0—255. Only has an effect if combined with --monitor=mono.
 
--mount=drive:path,[drive:path ... ]
 
    Assign the path path to drive letter drive:. The path can be absolute or relative. By default, Z: is assigned to the current working directory and no other drive letters are assigned.
 
 
-n
 
-n
    Run PC-BASIC as a command-line filter. Same as --interface=none.
 
--nobox[=True|=False]
 
    Disable box-drawing recognition for double-byte character set code pages. By default, sequences of box-drawing characters are recognised by an algorithm that isn't as smart as it thinks it is, and displayed as box drawing rather than as DBCS characters. If --nobox is set, they will be displayed as DBCS.
 
--nokill[=True|=False]
 
    Allow BASIC to capture Alt+F4. Graphical interface only. By default, Alt+F4 is captured by most operating systems as a quit signal, and will terminate PC-BASIC. Set --nokill to allow BASIC to capture Alt+F4 instead. This is useful if your program uses this key combination.
 
--nosound[=True|=False]
 
    Disable sound output.
 
--output=output_file
 
    Send screen output to output_file, except if SCRN: is written to explicitly. Output to SCRN: files will always be shown on the screen, as in GW-BASIC.
 
--pcjr-term=terminal_program
 
    Set the terminal program run by the PCjr TERM command to terminal_program. This only has an effect with --syntax={pcjr|tandy}.
 
--peek=[seg:addr:val[,seg:addr:val ... ]]
 
    Define PEEK preset values. If defined, DEF SEG:? PEEK(addr) will return val.
 
--pen={left|middle|right|none}
 
    Set the mouse button for light pen emulation. Default is left. If set to none, light pen emulation is switched off. On Android, left means touch input.
 
--preset=option_block
 
    Load machine preset options. A preset option corresponds to a section defined in a config file by a name between square brackets, like
 
    [this]
 
    --preset=this will load all settings defined in that section. Available presets depend on your configuration file. See the list of default presets in the User's Guide.
 
--print-trigger={line|page|close}
 
    Set the trigger to flush the print buffer to the printer.
 
  
     line
+
  PC-BASIC comme un filtre de ligne de commande Exécuter.  Identique à --interface = none.
         The printer is activated after every line break.
+
 
 +
--nobox [= True | = False]
 +
 
 +
  la reconnaissance de la boîte-dessin Disable pour les pages de codes du jeu de caractères à deux octets.  Par défaut, les séquences de caractères de boîte de dessin sont reconnus par un algorithme qui est pas aussi intelligent qu'il pense qu'elle est, et affichées sous forme de boîte de dessin plutôt que comme des caractères DBCS.  Si --nobox est réglé, ils seront affichés comme DBCS.
 +
 
 +
--nokill [= True | = False]
 +
 
 +
  Laisser BASIC pour capturer Alt + F4.  Interface graphique uniquement.  Par défaut, Alt + F4 est capturé par la plupart des systèmes d'exploitation comme un signal quitter, et mettra fin à PC-BASIC.  Set --nokill pour permettre BASIC pour capturer Alt + F4 à la place.  Ceci est utile si votre programme utilise cette combinaison de touches.
 +
 
 +
--nosound [= True | = False]
 +
 
 +
  Désactiver la sortie audio.
 +
 
 +
--output = output_file
 +
 
 +
  Envoyer la sortie de l'écran à output_file, sauf si SCRN: est écrit explicitement.  Sortie à SCRN: les fichiers seront toujours affichés sur l'écran, comme dans GW-BASIC.
 +
 
 +
--pcjr terme = terminal_program
 +
 
 +
  Réglez le programme de terminal géré par la commande TERM PCjr à terminal_program.  Cela n'a d'effet avec --syntax = {PCjr | tandy}.
 +
 
 +
--peek = [seg: addr: val [, seg: addr: val ...]]
 +
 
 +
  Définir PEEK valeurs prédéfinies.  Si elle est définie, DEF SEG :?  PEEK (adr) retournera val.
 +
 
 +
--pen = {left | milieu | right | none}
 +
 
 +
  Réglez le bouton de la souris pour l'émulation de stylo optique.  Par défaut est à gauche.  Si la valeur none, l'émulation de stylo lumière est éteinte.  Sur Android, gauche signifie la saisie tactile.
 +
 
 +
--preset = option_block
 +
 
 +
  machine à charge des options prédéfinies.  Une option prédéfinie correspond à une section définie dans un fichier de configuration par un nom entre crochets, comme
 +
     [ce]
 +
    --preset = ceci va charger tous les paramètres définis dans cette section.  presets disponibles dépendent de votre fichier de configuration.  Voir la liste des paramètres prédéfinis par défaut dans le Guide de l'utilisateur.
 +
 
 +
--print-trigger = {line | page | fermer}
 +
 
 +
  Réglez le déclencheur pour vider le tampon d'impression à l'imprimante.
 +
 
 +
  ligne
 +
         L'imprimante est activé après chaque saut de ligne.
 
     page
 
     page
         The printer is activated after every page break.
+
         L'imprimante est activé après chaque saut de page.
     close
+
     Fermer
         The printer is activated only when PC-BASIC exits.
+
         L'imprimante est activée uniquement lorsque les sorties PC-BASIC.
  
    Default is close.
+
  Default est proche.  
-q --quit[=True|=False]
+
    Quit interpreter when execution stops. If combined with --run, PC-BASIC quits when the program ends. If set in direct mode, PC-BASIC quits after the first command is executed.
+
--reserved-memory=number_of_bytes
+
    Reserve number_of_bytes of memory at the bottom of the data segment. For compatibility with GW-BASIC. Default is 3429 bytes. Lowering this value makes more string and variable space available for use by programs.
+
--resume[=True|=False
+
    Resume from saved state. Overrides --run and --load.
+
-r=program --run=program
+
    Run the specified program. Overrides --load.
+
--scaling={smooth|crisp|native}
+
    Choose scaling method.
+
  
    smooth
+
-q --quit [= True | = False]
        The display is smoothly scaled to the largest size that allows for the correct aspect ratio.
+
    crisp
+
        The display is scaled to the same size as with smooth, but without smoothing.
+
    native
+
        Scaling and aspect ratio are optimised for the display's native pixel size, without smoothing. --scaling=native overrides --aspect.
+
  
    Default is smooth. Only has an effect if combined with --interface=graphical.
+
  Quittez l'interprète lorsque l'exécution arrête. Si combiné avec --run, PC-BASIC se ferme lorsque le programme se termine. Si elle est définie en mode direct, PC-BASIC quitte après la première commande est exécutée.  
-c=size --serial-buffer-size=size
+
    Set serial input buffer size. Default is 256. If set to 0, serial communications are disabled.
+
--shell={none|native|command]
+
    Set the command interpreter run on the SHELL command to the operating system's native shell or a custom shell run by command. Default is none, which disables the SHELL command.
+
--state=state_file
+
    Set the save-state file to state_file. Default is PCBASIC.SAV in the Application Data directory.
+
--strict-hidden-lines[=True|=False]
+
    Disable listing and saving to plain text of lines beyond 65530, as in GW-BASIC. Use with care as this allows execution of hidden lines of code.
+
--strict-newline[=True|=False]
+
    Parse CR and LF in files strictly like GW-BASIC. On Unix, you will need to convert your files to DOS text first if using this option.
+
--strict-protect[=True|=False]
+
    Disable listing and saving to plain text of protected files, as in GW-BASIC. Use with care as this allows execution of hidden lines of code.
+
--syntax={advanced|pcjr|tandy}
+
    Choose BASIC dialect. Available dialects are:
+
  
     advanced
+
--reserved-mémoire = nombre_octets
         Microsoft GW-BASIC and IBM BASICA
+
 
     pcjr
+
  nombre_octets réserve de la mémoire au bas du segment de données.  Pour la compatibilité avec GW-BASIC.  Par défaut est 3429 octets.  L'abaissement de cette valeur est plus chaîne et de l'espace variable disponible pour une utilisation par des programmes.
         IBM PCjr Cartridge BASIC
+
 
 +
--resume [= True | = False
 +
 
 +
  Resume de l'état enregistré.  Remplacements --run et --load.
 +
 
 +
-r = programme --run = programme
 +
 
 +
  Exécutez le programme spécifié.  Remplacements --load.
 +
 
 +
--scaling = {lisse | croquante | natif}
 +
 
 +
  Choisir la méthode mise à l'échelle.
 +
 
 +
  lisse
 +
        L'affichage est facilement mise à l'échelle la plus grande taille qui permet le rapport d'aspect correct.
 +
     croustillant
 +
        L'affichage est mis à l'échelle à la même taille que des lisses, mais sans lissage.
 +
    originaire de
 +
        Mise à l'échelle et le ratio d'aspect sont optimisés pour la taille de pixel native de l'écran, sans lissage.  --scaling = remplacements indigènes --aspect.
 +
 
 +
  Par défaut est lisse.  A seulement un effet si elle est combinée avec --interface = graphique.
 +
 
 +
-c = taille --serial-buffer-size =
 +
 
 +
  Régler la taille du tampon série d'entrée.  Par défaut est 256. Si la valeur 0, les communications série sont désactivés.
 +
 
 +
--shell = {none | native | commande]
 +
 
 +
  Réglez l'interpréteur de commandes exécuté sur la commande SHELL au shell natif du système d'exploitation ou d'un shell personnalisé géré par commande.  Par défaut est none, qui désactive la commande SHELL.
 +
 
 +
--state = state_file
 +
 
 +
  Définir le fichier-état enregistrer sur state_file.  Par défaut est PCBASIC.SAV dans le répertoire Application Data.
 +
 
 +
--strict-lignes cachées [= True | = False]
 +
 
 +
  Désactiver l'inscription et l'enregistrement dans le texte brut de lignes au-delà de 65530, comme dans GW-BASIC.  Utilisez car cela permet l'exécution des lignes cachées de code avec soin.
 +
 
 +
--strict-newline [= True | = False]
 +
 
 +
  Parse CR et LF dans les fichiers strictement comme GW-BASIC.  Sur Unix, vous aurez besoin de convertir vos fichiers texte DOS d'abord si vous utilisez cette option.
 +
 
 +
--strict-protect [= True | = False]
 +
 
 +
  Désactiver l'inscription et l'enregistrement dans le texte brut des fichiers protégés, comme dans GW-BASIC.  Utilisez car cela permet l'exécution des lignes cachées de code avec soin.
 +
 
 +
--syntax = {avancée | PCjr | tandy}
 +
 
 +
  Choisissez dialecte BASIC.  dialectes disponibles sont:
 +
 
 +
  Avancée
 +
         Microsoft GW-BASIC et IBM BASICA
 +
     PCjr
 +
         IBM PCjr cartouche BASIC
 
     tandy
 
     tandy
 
         Tandy 1000 GW-BASIC.
 
         Tandy 1000 GW-BASIC.
  
    Default is advanced.  
+
  Par défaut est avancé.  
 +
 
 
-t
 
-t
    Use text-based interface. Same as --interface=text.  
+
 
--text-width={40|80}
+
  Utilisez l'interface à base de texte. Identique à --interface = text.  
    Set the number of columns in text mode at startup. Default is 80.  
+
 
--utf8[=True|=False]
+
--text-width = {40 | 80}
    Use UTF-8 for plain-text programs. If True, programs stored as plain text will be converted from UTF-8 on LOAD and to UTF-8 on SAVE. If False, the PC-BASIC codepage will be used.  
+
 
 +
  Définissez le nombre de colonnes en mode texte au démarrage. Par défaut est 80.  
 +
 
 +
--utf8 [= True | = False]
 +
 
 +
  Utilisez UTF-8 pour les programmes en texte brut. Si vrai, les programmes stockés sous forme de texte seront convertis du format UTF-8 sur LOAD et UTF-8 sur SAVE. Si False, le codepage PC-BASIC sera utilisé.  
 +
 
 
-v --version
 
-v --version
    Print PC-BASIC version string and exit.
 
--video=card
 
    Set the video card to emulate. Available video cards:
 
  
    vga
+
  Imprimer PC-BASIC chaîne de version et de sortie.
 +
 
 +
--video = carte
 +
 
 +
  Réglez la carte vidéo pour émuler.  cartes vidéo disponibles:
 +
 
 +
  vga
 
         Video Graphics Array
 
         Video Graphics Array
 
     ega
 
     ega
 
         Enhanced Graphics Adapter
 
         Enhanced Graphics Adapter
 
     cga
 
     cga
         Color/Graphics Adapter
+
         Couleur / Graphics Adapter
 
     cga_old
 
     cga_old
         Color/Graphics Adapter (old version; affects composite)
+
         Couleur / Graphics Adapter (ancienne version, affecte composite)
 
     mda
 
     mda
         Monochrome Display Adapter
+
         Adapter Monochrome Display
     hercules
+
     Hercule
 
         Hercules Graphics Adapter
 
         Hercules Graphics Adapter
     pcjr
+
     PCjr
         IBM PCjr graphics
+
         graphiques IBM PCjr
 
     tandy
 
     tandy
         Tandy 1000 graphics
+
         Tandy 1000 graphiques
 
     olivetti
 
     olivetti
         Olivetti M24 graphics
+
         graphiques Olivetti M24
  
    Default is vga.
+
  Par défaut est vga.  
--video-memory=size
+
    Set the amount of emulated video memory available. This affects the number of video pages that can be used. On PCjr and Tandy, this can be changed at runtime through the CLEAR statement; at least 32768 needs to be available to enter SCREEN 5 and SCREEN 6. Default is 16384 or PCjr and Tandy and 262144 on other machine presets.
+
-w --wait[=True|=False]
+
    If True, PC-BASIC waits for a keystroke before closing the window on exit. Only works for --interface=graphical or --interface=text. Default is False.  
+
  
GW-BASIC options
+
--video mémoire = taille
  
GW-BASIC recognised a number of DOS-style command-line options on the command-line when invoking it from DOS with a command like BASIC, BASICA, or GWBASIC. These are matched by PC-BASIC with only minor modifications, usually just replacing the forward slash / with a dash -. The GW-BASIC syntax is shown here for reference only; use the Unix-style syntax with PC-BASIC.
+
  Réglez la quantité de mémoire vidéo émulé disponibles. Ceci affecte le nombre de pages vidéo qui peuvent être utilisés.  Sur PCjr et Tandy, cela peut être modifié lors de l'exécution par la CLEAR;  au moins 32768 doit être disponible pour accéder à l'écran 5 et 6. ECRAN par défaut est 16384 ou PCjr et Tandy et 262144 sur d'autres préréglages de la machine.  
  
/d becomes -d
+
-w --wait [= True | = False]
    Enable double-precision floating-point math functions.
+
/f:n becomes -f=n
+
    Set the maximum number of open files.
+
/s:n becomes -s=n
+
    Set the maximum record length for RANDOM files.
+
/c:n becomes -c=n
+
    Set the size of the receive buffer for COM devices.
+
/i:n becomes -i=n
+
    No effect.
+
/m:n,m becomes -m=n,m
+
    Set the highest memory location to n and maximum BASIC memory size to m*16 bytes.
+
>filename becomes --output=filename
+
    Write screen output to filename.
+
>>filename becomes --output=filename --append
+
    Append screen output to filename.
+
<filename becomes --input=filename
+
    Read keyboard input from filename.
+
  
Examples
+
  Si, attend PC-BASIC vrai pour une touche avant de fermer la fenêtre à la sortie.  Ne fonctionne que pour --interface = graphique ou --interface = text.  Par défaut est False.
 +
 
 +
Options GW-BASIC
 +
 
 +
GW-BASIC a reconnu un certain nombre d'options de ligne de commande DOS de style sur la ligne de commande lors de l'appel à partir de DOS avec une commande comme BASIC, BASICA ou GWBASIC. Ceux-ci sont compensées par PC-BASIC avec seulement des modifications mineures, habituellement juste remplacer la barre oblique / avec un tiret -. La syntaxe GW-BASIC est montré ici pour référence seulement; utilisez la syntaxe Unix-style avec PC-BASIC.
 +
 
 +
/ J devient -d
 +
 
 +
  Activer les fonctions mathématiques à virgule flottante double précision.
 +
 
 +
/ F: n devient -f = n
 +
 
 +
  Définissez le nombre maximal de fichiers ouverts.
 +
 
 +
/ S: n devient -s = n
 +
 
 +
  Réglez la longueur maximale d'enregistrement des fichiers RANDOM.
 +
 
 +
/ C: n devient -c = n
 +
 
 +
  Définissez la taille du tampon de réception pour les périphériques COM.
 +
 
 +
/ I: n devient -i = n
 +
 
 +
  Aucun effet.
 +
 
 +
/ M: n, m devient -m = n, m
 +
 
 +
  Définissez l'emplacement le plus de mémoire à n et la taille maximale de mémoire BASIC m * 16 octets.
 +
 
 +
> Nom de fichier devient --output = filename
 +
 
 +
  Ecrire la sortie de l'écran pour le nom de fichier.
 +
 
 +
>> Filename devient --output = filename --append
 +
 
 +
  Ajouter la sortie de l'écran pour le nom de fichier.
 +
 
 +
<Nom de fichier devient --input = filename
 +
 
 +
  Lire la saisie au clavier du nom de fichier.
 +
 
 +
Exemples
  
 
pcbasic
 
pcbasic
    Start PC-BASIC in direct mode, emulating GW-BASIC/BASICA with VGA graphics.  
+
 
pcbasic --codepage=950
+
  Démarrez PC-BASIC en mode direct, émulant GW-BASIC / BASICA avec graphiques VGA.  
    Start PC-BASIC using the Big-5 codepage.  
+
 
 +
pcbasic --codepage = 950
 +
 
 +
  Démarrez PC-BASIC en utilisant le Big-5 codepage.  
 +
 
 
pcbasic Foobar.baz
 
pcbasic Foobar.baz
    Start PC-BASIC with package Foobar. Load the settings from the package; usually this will run a main program contained in the package.  
+
 
pcbasic Foobar.baz --convert=A --utf8
+
  Démarrez PC-BASIC avec le paquet Foobar. Chargez les paramètres de l'emballage; habituellement ce sera exécuter un programme principal contenu dans le paquet.  
    List the main program of package Foobar to standard output as UTF-8.  
+
 
pcbasic MYPROG.BAS --mount=A:./files,B:./morefiles
+
pcbasic Foobar.baz --convert = A --utf8
    Mount the current directory's subdirectory files as drive A: and subdirectory morefiles as drive B:, then run MYPROG.BAS.  
+
 
pcbasic --mount=A:C:\fakeflop
+
  Inscrivez le programme principal du paquet Foobar sur la sortie standard au format UTF-8.  
    Run PC-BASIC with Windows directory C:\fakeflop mounted as A: drive.  
+
 
pcbasic Z:\INFO.BAS --preset=mda --mono-tint=255,128,0
+
pcbasic MYPROG.BAS --mount = A: ./ fichiers, B: ./ MoreFiles
    Run INFO.BAS in the current directory on an emulated MDA with amber tinted monitor.  
+
 
pcbasic /home/me/retro/COMP.BAS --preset=cga --monitor=composite
+
  Montez les fichiers sous-répertoire du répertoire courant que le lecteur A: et MoreFiles sous-répertoire que le lecteur B :, puis exécutez MYPROG.BAS.  
    Run COMP.BAS stored at /home/me/retro on an emulated CGA machine with a composite monitor.  
+
 
pcbasic PCJRGAME.BAS --preset=pcjr -k='start\r'
+
pcbasic --mount = A: C: \ fakeflop
    Run PCJRGAME.BAS on an emulated PCjr and feed in the keystrokes startEnter.  
+
 
pcbasic BANNER.BAS --lpt2=PRINTER:
+
  Exécutez PC-BASIC avec Windows répertoire C: \ fakeflop monté en tant que lecteur A:.  
    Run BANNER.BAS in default mode with the default printer attached to LPT2:.  
+
 
 +
Z pcbasic: \ INFO.BAS --preset = mda --mono-teinte = 255,128,0
 +
 
 +
  Exécutez INFO.BAS dans le répertoire courant sur un MDA émulé avec de l'ambre teinté moniteur.  
 +
 
 +
pcbasic /home/me/retro/COMP.BAS --preset = cga --monitor = composite
 +
 
 +
  Run COMP.BAS stocké dans / home / moi / rétro sur une machine CGA émulé avec un moniteur composite.  
 +
 
 +
pcbasic PCJRGAME.BAS --preset = PCjr -k = 'start \ r'
 +
 
 +
  Run PCJRGAME.BAS sur un PCjr émulé et se nourrissent dans les frappes startEnter.  
 +
 
 +
pcbasic BANNER.BAS --lpt2 = IMPRIMANTE:
 +
 
 +
  Exécutez BANNER.BAS en mode par défaut avec l'imprimante par défaut attaché à LPT2 :.  
 +
 
 
pcbasic --resume
 
pcbasic --resume
    Resume the most recently closed PC-BASIC session.
 
pcbasic -qbe="?1+1"
 
    Execute the BASIC command PRINT 1+1 in the command-line interface and return to the calling shell.
 
  
Language guide
+
  Resume session, le PC-BASIC plus récemment fermé.
 +
 
 +
pcbasic -qbe = "1 + 1"
 +
 
 +
  Exécutez la commande BASIC PRINT 1 + 1 dans l'interface de ligne de commande et retourner au shell appelant.
 +
 
 +
guide de langue
 +
 
 +
Cette documentation décrit la langue de PC-BASIC, qui vise à imiter fidèlement GW-BASIC 3.23, IBM Advanced BASIC, IBM cartouche BASIC et Tandy 1000 GW-BASIC.
 +
 
 +
Le guide linguistique BASIC couvre le sujet de la langue par thème, le regroupement thématique des éléments de langage utilisés à des fins connexes. S'il vous plaît se référer à la référence du langage BASIC pour une description formelle des éléments de Langage et leur syntaxe. Travailler avec des programmes Déclaration Description AUTO Entrer la ligne numérotation automatique CHAÎNE mode Charger un nouveau programme et l'exécuter, en préservant les variables communes Set COMMON variables communes SUPPRIMER Supprimer les lignes du programme EDIT Imprimer une ligne de programme à l'écran pour programme lignes LISTE édition d'impression à l'écran programme lignes LLIST d'impression à la charge de l'imprimante Lire un nouveau programme à partir du fichier MERGE Superposez un fichier de programme sur le programme actuel NEW Effacer le programme actuel de la mémoire RENUM Remplacer les numéros de ligne du programme RUN Démarrez le programme en cours SAUVEGARDER magasin le programme actuel de déposer TRON Activer numéro de la ligne de traçage TROFF Désactiver le numéro de ligne de traçage SYSTEM Quitter le flux de contrôle de l'interpréteur BASIC
 +
 
 +
Un programme est normalement exécuté à partir de son numéro de ligne le plus bas (ou le numéro de la ligne appelée par RUN). Déclarations sur une ligne sont exécutées de gauche à droite. Lorsque toutes les déclarations sur une ligne sont terminées, l'exécution se déplace vers le numéro de la ligne la plus basse suivante, et ainsi de suite jusqu'à aucun numéro de ligne sont laissés. états des flux de contrôle peuvent être utilisés pour modifier ce flux normal de executon.
 +
 
 +
Les instructions END et STOP servent dans un programme pour arrêter son exécution et revenir en mode direct. Lorsque STOP est utilisé, un message de rupture est imprimé. De mode direct, CONT peut être exécuté pour reprendre le programme là où il a été arrêté. Bien FIN semble destiné à mettre fin au programme, il ne fait pas obstacle à l'utilisateur de reprendre avec CONT.
 +
 
 +
sauts inconditionnelles peuvent être faites avec GOTO. Le déroulement du programme se poursuivra au numéro de ligne indiqué dans l'instruction GOTO. En raison de l'absence de boucle sophistiquée, la ramification et des constructions de rupture de la langue de PC-BASIC, des sauts inconditionnels sont essentiels et utilisés fréquemment.
 +
 
 +
L'instruction GOSUB saute à un sous-programme. Semblable à GOTO, cela est un saut inconditionnel; Cependant, l'emplacement de l'appel est enregistré et le programme continuera son débit là après le sous-programme se termine par une instruction RETURN. Les sous-programmes sont un peu comme des procédures en ce sens qu'ils permettent morceaux de code qui effectuent une tâche donnée à être séparée du corps principal du programme, mais ils ne sont pas avoir une portée distincte puisque toutes les variables de PC-BASIC sont globaux. Ils ne possèdent pas les valeurs de retour. Il est même possible de sauter d'un sous-programme partout dans le programme en fournissant l'instruction RETURN avec un numéro de ligne.
 +
 
 +
L'instruction ON fournit une ramification construction alternative. Une valeur entière est utilisée pour sélectionner l'une d'une liste de numéros de lignes, et l'exécution se poursuit à partir de là. Il peut être utilisé avec un saut GOTO comme wellas avec un appel de routine GOSUB.
 +
 
 +
ON, GOTO et GOSUB peuvent également être utilisées en mode direct pour démarrer un programme ou sous-programme sans réinitialiser les variables.
 +
 
 +
L'IF-THEN-ELSE construction teste une condition et exécuter différentes branches de code sur la base de sa valeur de vérité. Cela ne veut pas un produit d'assemblage de blocs; tout le code dans les branches then et else doit tenir sur une seule ligne. Pour cette raison, la ramification est souvent utilisé en combinaison avec des sauts GOTO. Par exemple: 10 INPUT "Quel âge avez-vous"; AGE% 20% SI AGE> 30 THEN 100 30 SI AGE% <30 THEN 200 ELSE PRINT "Vous êtes âgé de 30 ans." 40 END 100 PRINT "Vous êtes plus de 30." 110 END 200 PRINT "Vous n'êtes pas encore 30." 210 FIN
 +
 
 +
La construction de boucle WHILE-WEND répète le bloc de code entre WHILE et WEND tant qu'une condition donnée reste vrai.
 +
 
 +
La construction FOR-NEXT répète un bloc de code alors qu'un compteur reste dans une plage donnée. Le compteur est réglé sur une valeur de départ lors de la première passe de l'état FOR et incrémentée de la valeur incrémentielle à chaque passage de NEXT. Par exemple: 10 POUR I = 1 A 10 20 PRINT STRING $ (I, "*"); EN UTILISANT " [##]"; I 30 NEXT I
 +
 
 +
constructions Looping peuvent être imbriquées.
  
This documentation describes the PC-BASIC language, which aims to faithfully emulate GW-BASIC 3.23, IBM Advanced BASIC, IBM Cartridge BASIC and Tandy 1000 GW-BASIC.
+
Flux de contrôle est également affectée par l'événement et la récupération d'erreur. Déclaration description Continuer CONT programme interrompu ELSE Ignorez le reste de la ligne (ELSE autonome) d'exécution FIN Arrêt du programme pour le démarrage d'une boucle for GOSUB Appeler un sous-programme GOTO Sauter vers un autre emplacement dans le programme IF Branch sur une condition SUIVANTE Iterate un pour -loop ON Calculé saut ou appel de routine RETURN Retour de sous-programme ARRET Interrompre l'exécution du programme WEND Itérer un certain temps en boucle WHILE Entrez un Arrays en boucle et des variables Déclaration description de DEFDBL Spécifiez la variable plage de nom pour double précision flotteurs DEFINT Spécifiez la variable intervalle de nom pour les entiers DefSng Spécifiez la variable plage de nom pour simple précision flotteurs DEFSTR Spécifiez la variable plage de noms pour les chaînes DIM Allouer un tableau ERASE Désallouer un tableau louer Attribuer une valeur à une OPTION base variable Définir l'index de départ des tableaux SWAP Swap deux variables conversion de type Fonction description ASC Caractère à valeur ordinale valeur CHR $ ordinale à caractère HEX $ Entier à la représentation de chaîne hexadécimale octobre $ Entier à la représentation de chaîne octal valeur STR $ numérique à la représentation de chaîne décimale représentation VAL chaîne à valeur numérique valeur CDBL numérique à double précision float CINT valeur numérique en entier valeur CSNG numérique à simple précision représentation float CVD byte à double précision représentation float CVI byte vers entier CVS représentation byte à simple précision float MKD $ Double précision float à la représentation d'octets MKI $ Entier à octet MKS de représentation $ float simple précision à la représentation d'octets opérations de chaîne Déclaration description de LSET Copie une valeur justifiée à gauche dans une chaîne tampon MID $ Copie une valeur dans le cadre d'un tampon de chaîne RSET Copier une valeur justifiée à droite dans une mémoire tampon de chaîne Fonction description INSTR Trouver gAUCHE Left $ len cordes longueur MID $ Substring dROIT $ Right SPACE substring $ Répéter espaces STRING $ caractères Répéter texte et la Déclaration d'écran description de CLS Effacer les couleurs et la palette des valeurs écran jeu de couleurs LOCATE Réglez la position et la forme du curseur pALETTE écran texte Attribuer une couleur à un attribut PALETTE UTILISATION Attribuer une gamme de couleurs aux attributs PCOPY Copier un écran Imprimer IMPRIMER expressions à la vue de l'écran PRINT Définir le texte zone de défilement WIDTH Définit le nombre de colonnes de texte sur la fonction d'écran description de CSRLIN ligne actuelle du curseur POS colonne actuelle du curseur ECRAN Caractère ou attribut à l'emplacement donné l'imprimante Déclaration description de LCOPY ne rien faire LPRINT impression expressions à la fonction d'imprimante description LPOS position de la colonne de tête d'impression saisie clavier Déclaration description entrée Récupérer l'entrée d'utilisateur sur la console lINE INPUT Récupérez une ligne d'entrée de l'utilisateur sur la fonction de la console Description de INKEY $ non bloquante lu depuis l'entrée du clavier $ Blocage lecture à partir du clavier à touches de fonction macros Déclaration Description de KEY Gérer la visibilité de la macro liste KEY fonction-clé définir une fonction-clé calculs macro et mathématiques fonctions mathématiques fonction Description ABS valeur absolue ATN COS arctangente cosinus EXP exponentielle FIX troncature INT Floor LOG Natural logarithme SIN Sinus SGN Inscription racine SQR place TAN Tangente aléatoire des nombres Déclaration description de RANDOMIZE initialiser le générateur de nombres aléatoires Fonction description RND pseudo-aléatoires numériques Périphériques et fichiers du fichier des opérations Déclaration description fermer Fermer un champ de fichier Attribuer une chaîne un tampon d'enregistrement à accès aléatoire GET Lire un enregistrement à partir d'un fichier d'entrée à accès aléatoire Lire une variable à partir d'un fichier d'entrée lINE Lire une ligne d'un verrou de fichier verrouille un fichier ou une plage d'enregistrements contre toute autre utilisation OUVERT Ouvrir un fichier de données PUT Write la mémoire tampon à accès aléatoire enregistrement sur le disque RÉINITIALISER Fermer tous les fichiers UNLOCK Déverrouille un fichier ou une plage d'enregistrements contre d'autres WIDTH utilisation Définir le nombre de colonnes de texte dans un fichier WRITE écrire des expressions dans un fichier Fonction description EOF Fin du fichier LOC Localisation dans le fichier LOF Longueur du fichier $ INPUT Lire une chaîne à partir d'un fichier Devices
  
The BASIC Language Guide covers the language topic by topic, thematically grouping language elements used for a related purpose. Please refer to the BASIC Language Reference for a formal description of the langage elements and their syntax.
+
PC-BASIC reconnaît les périphériques DOS de style suivantes, qui peuvent être utilisés en ouvrant un fichier sur eux. Certains appareils permettent de spécifier d'autres paramètres de fichiers, tels que les spécifications de prise de contact pour les appareils de série, un nom de fichier pour les appareils à cassettes et un chemin d'accès pour les périphériques de disque. Lors de l'utilisation sur les périphériques de disque, en spécifiant un chemin d'accès est obligatoire.
Working with programs
+
Statement Description
+
AUTO Enter automatic line numbering mode
+
CHAIN Load a new program and run it, preserving common variables
+
COMMON Set common variables
+
DELETE Delete lines from the program
+
EDIT Print a program line to the screen for editing
+
LIST Print program lines to the screen
+
LLIST Print program lines to the printer
+
LOAD Read a new program from file
+
MERGE Overlay a program file onto the current program
+
NEW Clear the current program from memory
+
RENUM Replace the program's line numbers
+
RUN Start the current program
+
SAVE Store the current program to file
+
TRON Enable line number tracing
+
TROFF Disable line number tracing
+
SYSTEM Exit the BASIC interpreter
+
Control flow
+
  
A program is normally executed starting with its lowest line number (or the line number called by RUN). Statements on a line are executed from left to right. When all statements on a line are finished, execution moves to the next lowest line number, and so on until no line numbers are left. Control flow statements can be used to modify this normal flow of executon.
+
Les alias de nom de fichier listés ici ne sont disponibles que si le dispositif actuel est un périphérique de disque. alias de nom de fichier de périphérique autorisés modes Description de SCRN: CON SORTIE L'écran. Sortie à SCRN: a en grande partie le même effet que la sortie droite en utilisant PRINT. Une différence réside dans le réglage de largeur qui est indépendante de la largeur réelle de l'écran. KYBD: CON ENTREE Le clavier. Entrée lire à partir de KYBD: n'est pas affiché à l'écran. Les touches spéciales comme les touches fléchées sont enregistrées différemment que lors de l'utilisation INPUT ou $ INPUT droite. LPT1: LPT2: LPT3: PRN pour LPT1: SORTIES ports parallèles ALEATOIRES 1-3. dispositifs LPT peuvent être fixés sur le port parallèle physique, à une imprimante ou à un fichier texte avec les options --lptn. Ouverture d'une imprimante pour RANDOM a le même effet que l'ouverture pour SORTIE; tenter des opérations aléatoires de fichiers va augmenter le mode de fichier incorrect. COM1: COM2: AUX pour COM1: ENTREE SORTIE APPEND ports série ALEATOIRES 1-2. dispositifs COM peuvent être attachés à un port série physique ou à une prise réseau avec les options --comn. CAS1: ENTREE SORTIE Cassette pilote de bande. dispositifs CAS peuvent être attachés à un WAV (RIFF Wave) ou d'un CAS (image de bande de bitmap) fichier avec l'option --cas1. A: - Z: et @: appareils APPEND RANDOM disque ENTRÉE DE SORTIE. Ces dispositifs peuvent être montés dans un répertoire sur le système de fichiers hôte avec l'option --mount. Ils ne correspondent pas automatiquement des lettres de lecteur sous Windows, sauf si l'option --map-lecteurs est réglé. NUL INPUT OUTPUT de l'appareil APPEND RANDOM Null. Ce dispositif ne produit pas d'octets lors de l'ouverture pour l'entrée et absorbe tous les octets lorsqu'il est ouvert pour la sortie.
  
The END and STOP statements serve in a program to stop its execution and return to direct mode. When STOP is used, a Break message is printed. From direct mode, CONT can be executed to resume the program where it was stopped. While END seems intended to terminate the program, it does not preclude the user from resuming it with CONT.
+
GW-BASIC reconnaît en outre le peu utilisé périphérique suivant, qui ne sont pas mis en œuvre dans PC-BASIC. Périphériques autorisés modes description CONS: SORTIE L'écran (console). Sortie vers CONS: est affiché directement à la position du curseur lorsque vous appuyez sur Entrée. Il ne met pas à jour la valeur de fin de ligne pour l'interprète, ce qui signifie qu'il ne se déplace pas avec Backspace ou Del et ne sont pas stockées dans les lignes de programme si elle apparaît au-delà de la fin de la ligne existante. CONS: peut être ouvert avec un mode d'accès, mais l'effet est toujours à l'ouvrir pour la sortie. Déclaration graphique Description de CIRCLE Dessiner une section d'ellipse ou arc TIRAGE Dessiner une forme définie par une Graphics chaîne de langage de macros GET Stocker une zone d'écran comme une ligne de sprite Dessinez un PAINT segment de ligne Flood-fill une région PSET connecté Mettez un PRESET pixel Changer un pixel fond attribut PUT Dessinez un sprite à l'écran de l'écran Modifier l'affichage du mode vidéo Réglez le graphique viewport fenêtre Définir les coordonnées logiques Fonction description POINT pointeur graphique coordonnées POINT Pixel attribut PPAFM Convertir entre les coordonnées physiques et logiques Déclaration sonore description de Beep Beep le haut-parleur BEEP Président commutateur NOISE Générer du bruit JOUER Faites un morceau encodé en Musique Langue Macro SOUND Générer une tonalité sonore commutateur Fonction description LECTURE Longueur de la file d'attente de la musique de fond joystick et un stylo Déclaration description STRIG joystick commutateur Fonction description PEN condition STICK stylo lumière Coordonnée du joystick axe STRIG condition joystick feu disques de boutons et DOS
  
Unconditional jumps can be made with GOTO. The program flow will continue at the line number indicated in the GOTO statement. Due to the PC-BASIC language's lack of sophisticated looping, branching and breaking constructs, unconditional jumps are essential and used frequently.
+
L'instruction SHELL est, par défaut, désactivé; ceci afin d'éviter des surprises désagréables. Dans GW-BASIC sous MS-DOS, SHELL ouvre une invite DOS ou exécute des commandes en elle. Les coquilles de commande des systèmes d'exploitation modernes fonctionnent différemment que ceux de DOS; en particulier, il est impossible de récupérer les modifications dans les variables d'environnement, de sorte que de nombreux cas d'utilisation de SHELL simplement ne fonctionnerait pas; par exemple, changer le lecteur en cours sur Windows. En outre, les shells Unix ont une syntaxe qui est complètement différent de celui du DOS. Vous pouvez, toutefois, permettre à SHELL en réglant le shell = l'option native. Déclaration Description de CHDIR Changer le répertoire courant Liste FICHIERS les fichiers dans le répertoire courant TUENT Supprimer un fichier sur un périphérique de disque MKDIR Créer un nouveau répertoire NOM Renommer un fichier sur le disque RMDIR Supprimer un répertoire ENVIRON Set une chaîne SHELL environnement shell Entrez un DOS shell Fonction Description ENVIRON $ Chaîne du shell table d'environnement communications série Déclaration description de GET Lire octets à partir d'un port série PUT Ecrire octets à un terme de port série Ouvrez le traitement de l'événement d'émulation de terminal
  
The GOSUB statement jumps to a subroutine. Similar to GOTO, this is an unconditional jump; however, the location of the call is stored and the program will continue its flow there after the subroutine terminates with a RETURN statement. Subroutines are somewhat like procedures in that they allow chunks of code that perform a given task to be separated from the main body of the program, but they do not have separate scope since all variables in PC-BASIC are global. They do not have return values. It is even possible to jump out of a subroutine to anywhere in the program by supplying the RETURN statement with a line number.
+
le piégeage de l'événement permet de définir des sous-programmes qui sont exécutés en dehors du cours normal de fonctionnement. Les événements qui peuvent être piégés sont:
  
The ON statement provides an alternative branching construct. An integer value is used to selects one of a list of line numbers, and execution is continued from there. It can be used with a GOTO jump as wellas with a GOSUB subroutine call.
+
  Les intervalles de temps (ON TIMER)
 +
    (ON KEY enfoncements de touches)
 +
    entrée du port série (ON COM)
 +
    file d'attente musicale épuisement (ON PLAY)
 +
    triggers Joystick (ON STRIG)
 +
    activation de stylo Light (ON PEN)
  
ON, GOTO and GOSUB can also be used from direct mode to start a program or subroutine without resetting variables.
+
Event subroutines piégeage sont définis comme des sous-programmes réguliers. A l'instruction RETURN, le cours normal de l'exécution du programme est reprise. Événement piégeage peut être activée et désactivée ou interrompue temporairement avec les déclarations de la forme PEN ON, PEN OFF, PEN STOP. le piégeage de l'événement a lieu seulement pendant l'exécution du programme et est en pause pendant que le programme est dans un piège d'erreur. Si un événement se produit lors de l'événement de piégeage est en pause, l'événement est déclenché immédiatement lorsque l'événement de piégeage est reprise. Déclaration Description de COM Gérer l'événement du port série piégeage KEY Gérer événement clavier piégeage KEY Définir clé piège événement clavier piégeage ON Définir sous-programme d'événements de piégeage PEN Gérer événement stylo lumière piégeage événement JOUER Gérer la file d'attente de la musique piégeant STRIG Gérer événement joystick piégeant TIMER Gérer événement timer piégeage La gestion des erreurs
  
The IF–THEN–ELSE construct tests for a condition and execute different code branches based on its truth value. This is not a block construct; all code in the THEN and ELSE branches must fit on one line. For this reason, branching is often used in combination with GOTO jumps. For example:
+
Normalement, toute erreur interrompt l'exécution du programme et imprimer un message sur la console (exceptions sont Division Débordement et par zéro, qui impriment un message mais ne pas interrompre l'exécution). Il est possible de gérer les erreurs plus gracieusement en définissant une routine de gestion des erreurs avec l'ON ERROR GOTO instruction line_number. Les mises en chantier de routine de gestion des erreurs au numéro de ligne line_number donné et continue jusqu'à ce qu'une instruction REPRENDRE est rencontrée. Erreur piégeage est en effet à la fois quand un programme est en cours d'exécution et en mode direct. Erreur piégeage est éteint avec l'ON ERROR GOTO 0 déclaration. Si une erreur se produit, ou la récupération d'erreur est éteint, alors que le programme exécute une routine de piégeage d'erreur, le programme se termine et un message d'erreur est affiché. Déclaration Description ERROR Soulever une erreur ON ERROR Définir un REPRENDRE Fin gestionnaire d'erreurs de gestionnaire d'erreur et revenir à l'exécution Fonction Code de la dernière erreur numéro ERL ligne des fonctions définies par l'utilisateur dernière erreur Déclaration description DEF FN Description de ERR Erreur normale Définir une nouvelle fonction Description de la fonction FN défini par l'utilisateur fonction Date et heure Déclaration description DATE $ Réglez le temps de date système $ Réglez l'heure du système Date fonction description DATE $ System comme un temps système $ TIME chaîne comme un temps de système TIMER chaîne en secondes depuis minuit Y compris les données dans une déclaration de programme description des données Définir les données à utiliser par le programme LIRE Récupérer une entrée de données RESTORE réinitialiser la mémoire de pointeur de données et les ports de la machine
10 INPUT "How old are you"; AGE%
+
20 IF AGE%>30 THEN 100
+
30 IF AGE%<30 THEN 200 ELSE PRINT "You are 30 years old."
+
40 END
+
100 PRINT "You are over 30."
+
110 END
+
200 PRINT "You are not yet 30."
+
210 END
+
  
The WHILE–WEND looping construct repeats the block of code between WHILE and WEND as long as a given condition remains true.
+
Seuls certains plages de mémoire et les ports sélectionnés sont émulés dans PC-BASIC. Certaines des régions les plus fréquemment consultés de mémoire sont émulées et peut être lu et (parfois) écrit. Il est lu et écrire un soutien pour la mémoire vidéo, la police RAM et les emplacements du segment bas de la mémoire, y compris le tampon de clavier sélectionné. En outre, il est lu support pour la police de ROM, variable, un tableau et de la mémoire de chaîne, des tampons FIELD ainsi que le code du programme lui-même. L'écriture dans le code de programme est désactivée par défaut, mais peut être activée avec l'option allow-code poche. Un certain nombre de ports de la machine liés aux modes d'entrée et de vidéo clavier sont également pris en charge. Déclaration Description de BLOAD Charger un fichier binaire en mémoire BSAVE Enregistrer une région de mémoire à déposer CLEAR Efface la mémoire BASIC DEF SEG Définissez le segment de mémoire OUT Ecrire un octet à un port POKE machine Ecrire un octet à un emplacement de mémoire ATTENDEZ Attendez une valeur sur une machine Fonction description port FRE Montant de la libre Byte mémoire INP dans le port de la machine PEEK Byte à l'adresse de mémoire VARPTR adresse de mémoire de la variable $ VARPTR représentation Octet de longueur et adresse mémoire des caractéristiques variables non encore mis en œuvre
  
The FOR–NEXT construct repeats a block of code while a counter remains in a given range. The counter is set to a starting value at the first pass of the FOR statement and incremented by the STEP value at each pass of NEXT. For example:
+
Les éléments de langage suivants ne sont pas actuellement pris en charge dans le PC-BASIC. La syntaxe mot-clé est pris en charge, donc aucune erreur de syntaxe devrait être soulevée si les états ou fonctions sont utilisées correctement. Cependant, les déclarations ne font rien et les fonctions renvoient zéro ou la chaîne vide.
10 FOR I=1 TO 10
+
20 PRINT STRING$(I, "*"); USING " [##]"; I
+
30 NEXT I
+
  
Looping constructs may be nested.
+
Ces éléments de langage peuvent être mises en œuvre dans les futures versions de PC-BASIC. Déclaration Description de PC-BASIC MOTOR de mise en œuvre Allumez le moteur de cassette Ne rien Fonction Description PC-BASIC ERDEV de mise en œuvre valeur d'erreur de périphérique Retour 0 ERDEV $ Nom du dispositif erreur soulevant Retour "" EXTERR Extended de l'information d'erreur DOS retour 0 fonctionnalités non prises en charge
  
Control flow is also affected by event and error trapping.
+
GW-BASIC était un programme DOS en mode réel, ce qui signifie qu'il avait un contrôle total sur un 8086 ordinateur compatible IBM. Il y avait un accès direct à tous les domaines de la mémoire et tous les périphériques. Certains programmes de base utilisé ce fait, en utilisant des sous-routines code machine pour effectuer des tâches pour lesquelles BASIC n'a pas fourni le soutien. pistes PC-BASIC sur des machines modernes qui peuvent être fondées sur des architectures totalement différentes et ne permettent pas aux applications d'accéder directement à la mémoire. Par conséquent, il est impossible d'exécuter du code de la machine sur PC-BASIC. Si vous avez besoin du code machine, vous aurez besoin d'utiliser l'émulation de CPU complète telle que fournie par DOSBox, Bochs ou VirtualBox.
Statement Description
+
CONT Continue interrupted program
+
ELSE Ignore the remainder of the line (standalone ELSE)
+
END Stop execution of the program
+
FOR Start a for-loop
+
GOSUB Call a subroutine
+
GOTO Jump to another location in the program
+
IF Branch on a condition
+
NEXT Iterate a for-loop
+
ON Calculated jump or subroutine call
+
RETURN Return from subroutine
+
STOP Interrupt program execution
+
WEND Iterate a while-loop
+
WHILE Enter a while-loop
+
Arrays and variables
+
Statement Description
+
DEFDBL Specify variable name range for double-precision floats
+
DEFINT Specify variable name range for integers
+
DEFSNG Specify variable name range for single-precision floats
+
DEFSTR Specify variable name range for strings
+
DIM Allocate an array
+
ERASE Deallocate an array
+
LET Assign a value to a variable
+
OPTION BASE Set the starting index of arrays
+
SWAP Swap two variables
+
Type conversion
+
Function Description
+
ASC Character to ordinal value
+
CHR$ Ordinal value to character
+
HEX$ Integer to hexadecimal string representation
+
OCT$ Integer to octal string representation
+
STR$ Numeric value to decimal string representation
+
VAL String representation to numeric value
+
CDBL Numeric value to double-precision float
+
CINT Numeric value to integer
+
CSNG Numeric value to single-precision float
+
CVD Byte representation to double-precision float
+
CVI Byte representation to integer
+
CVS Byte representation to single-precision float
+
MKD$ Double-precision float to byte representation
+
MKI$ Integer to byte representation
+
MKS$ Single-precision float to byte representation
+
String operations
+
Statement Description
+
LSET Copy a left-justified value into a string buffer
+
MID$ Copy a value into part of a string buffer
+
RSET Copy a right-justified value into a string buffer
+
Function Description
+
INSTR Find
+
LEFT$ Left substring
+
LEN String length
+
MID$ Substring
+
RIGHT$ Right substring
+
SPACE$ Repeat spaces
+
STRING$ Repeat characters
+
Text and the screen
+
Statement Description
+
CLS Clear the screen
+
COLOR Set colour and palette values
+
LOCATE Set the position and shape of the text screen cursor
+
PALETTE Assign a colour to an attribute
+
PALETTE USING Assign an array of colours to attributes
+
PCOPY Copy a screen page
+
PRINT Print expressions to the screen
+
VIEW PRINT Set the text scrolling region
+
WIDTH Set the number of text columns on the screen
+
Function Description
+
CSRLIN Current row of cursor
+
POS Current column of cursor
+
SCREEN Character or attribute at given location
+
The printer
+
Statement Description
+
LCOPY Do nothing
+
LPRINT Print expressions to the printer
+
Function Description
+
LPOS Column position of printer head
+
Keyboard input
+
Statement Description
+
INPUT Retrieve user input on the console
+
LINE INPUT Retrieve a line of user input on the console
+
Function Description
+
INKEY$ Nonblocking read from keyboard
+
INPUT$ Blocking read from keyboard
+
Function-key macros
+
Statement Description
+
KEY Manage the visibility of the function-key macro list
+
KEY Define a function-key macro
+
Calculations and maths
+
Mathematical functions
+
Function Description
+
ABS Absolute value
+
ATN Arctangent
+
COS Cosine
+
EXP Exponential
+
FIX Truncation
+
INT Floor
+
LOG Natural logarithm
+
SIN Sine
+
SGN Sign
+
SQR Square root
+
TAN Tangent
+
Random numbers
+
Statement Description
+
RANDOMIZE Seed the random number generator
+
Function Description
+
RND Pseudorandom number
+
Devices and files
+
File operations
+
Statement Description
+
CLOSE Close a file
+
FIELD Assign a string to a random-access record buffer
+
GET Read a record from a random-access file
+
INPUT Read a variable from a file
+
LINE INPUT Read a line from a file
+
LOCK Locks a file or a range of records against other use
+
OPEN Open a data file
+
PUT Write the random-access record buffer to disk
+
RESET Close all files
+
UNLOCK Unlocks a file or a range of records against other use
+
WIDTH Set the number of text columns in a file
+
WRITE Write expressions to a file
+
Function Description
+
EOF End of file
+
LOC Location in file
+
LOF Length of file
+
INPUT$ Read a string from a file
+
Devices
+
  
PC-BASIC recognises the following DOS-style devices, which can be used by opening a file on them. Some devices allow specification of further file parameters, such as handshake specifications for serial devices, a filename for cassette devices and a path for disk devices. When operating on disk devices, specifying a path is mandatory.
+
De même, la fonctionnalité IOCTL dépend d'une interruption MS-DOS et envoie une chaîne de commande de l'appareil à tout pilote de périphérique DOS. La syntaxe de ces chaînes est dépendant du périphérique. Depuis PC-BASIC émule ni DOS, ni quel appareil pourrait être l'analyse de la chaîne de contrôle, il est possible d'utiliser cette fonctionnalité.
  
The filename aliases listed here are only available if the current device is a disk device.
+
Les éléments de langage suivants ne sont donc pas pris en charge dans PC-BASIC. La syntaxe mot-clé est pris en charge, donc aucune erreur de syntaxe devrait être soulevée si les états ou fonctions sont utilisées correctement. Cependant, les déclarations ne font rien ou soit augmenter illégal appel de fonction; les fonctions renvoient zéro ou la chaîne vide ou soulèvent illégale appel de fonction. Déclaration Description de PC-BASIC CALL de mise en œuvre Appeler un sous-programme de code machine Ne rien faire APPELS Appel d'un sous-programme FORTRAN Ne rien faire DEF USR Définir une fonction de code machine Ne rien IOCTL Envoyer une chaîne de commande de l'appareil à un dispositif Soulever appel de fonction Description de la fonction PC-BASIC mise en œuvre illégale IOCTL $ response de périphériques pour IOCTL Raise illégal appel de fonction USR code machine fonction retour référence 0 Langue
Device Filename alias Allowed modes Description
+
SCRN: CON OUTPUT The screen. Output to SCRN: has largely the same effect as straight output using PRINT. A difference is the WIDTH setting which is independent of the real screen width.
+
KYBD: CON INPUT The keyboard. Input read from KYBD: is not echoed to the screen. Special keys like arrow keys are registered differently than when using INPUT or INPUT$ straight.
+
LPT1: LPT2: LPT3: PRN for LPT1: OUTPUT RANDOM Parallel ports 1—3. LPT devices can be attached to the physical parallel port, to a printer or to a text file with the --lptn options. Opening a printer for RANDOM has the same effect as opening it for OUTPUT; attempting random-file operations will raise Bad file mode.
+
COM1: COM2: AUX for COM1: INPUT OUTPUT APPEND RANDOM Serial ports 1—2. COM devices can be attached to a physical serial port or to a network socket with the --comn options.
+
CAS1: INPUT OUTPUT Cassette tape driver. CAS devices can be attached to a WAV (RIFF Wave) or a CAS (bitmap tape image) file with the --cas1 option.
+
A: — Z: and @: INPUT OUTPUT APPEND RANDOM Disk devices. These devices can be mounted to a directory on the host file system with the --mount option. They do not automatically match drive letters on Windows, unless the --map-drives option is set.
+
NUL INPUT OUTPUT APPEND RANDOM Null device. This device produces no bytes when opened for INPUT and absorbs all bytes when opened for OUTPUT.
+
  
GW-BASIC additionally recognises the following little-used device, which is not implemented in PC-BASIC.
+
Cette documentation décrit la langue de PC-BASIC, qui vise à imiter fidèlement GW-BASIC 3.23, IBM Advanced BASIC, IBM cartouche BASIC et Tandy 1000 GW-BASIC.
Device Allowed modes Description
+
CONS: OUTPUT The screen (console). Output to CONS: is displayed directly at the cursor position when Enter is pressed. It does not update the end-of-line value for the interpreter, which means that it does not move with Backspace or Del and is not stored in program lines if it appears beyond the end of the existing line. CONS: can be opened with any access mode, but the effect is always to open it for OUTPUT.
+
Graphics
+
Statement Description
+
CIRCLE Draw an ellipse or arc section
+
DRAW Draw a shape defined by a Graphics Macro Language string
+
GET Store a screen area as a sprite
+
LINE Draw a line segment
+
PAINT Flood-fill a connected region
+
PSET Put a pixel
+
PRESET Change a pixel to background attribute
+
PUT Draw a sprite to the screen
+
SCREEN Change the video mode
+
VIEW Set the graphics viewport
+
WINDOW Set logical coordinates
+
Function Description
+
POINT Graphical pointer coordinates
+
POINT Pixel attribute
+
PMAP Convert between physical and logical coordinates
+
Sound
+
Statement Description
+
BEEP Beep the speaker
+
BEEP Speaker switch
+
NOISE Generate noise
+
PLAY Play a tune encoded in Music Macro Language
+
SOUND Generate a tone
+
SOUND Sound switch
+
Function Description
+
PLAY Length of the background music queue
+
Joystick and pen
+
Statement Description
+
STRIG Joystick switch
+
Function Description
+
PEN Status of light pen
+
STICK Coordinate of joystick axis
+
STRIG Status of joystick fire button
+
Disks and DOS
+
  
The SHELL statement is, by default, disabled; this is to avoid unpleasant surprises. In GW-BASIC under MS-DOS, SHELL opens a DOS prompt or executes commands in it. The command shells of modern operating systems work differently than those of DOS; in particular, it is impossible to retrieve changes in the environment variables, so that many use cases of SHELL simply would not work; for example, changing the current drive on Windows. Moreover, Unix shells have a syntax that is completely different from that of DOS. You can, however, enable SHELL by setting the shell=native option.
+
Les différences avec les langues d'origine ne se posent, et lorsque cela est le cas, ils sont documentés.
Statement Description
+
CHDIR Change current directory
+
FILES List the files in the current directory
+
KILL Delete a file on a disk device
+
MKDIR Create a new directory
+
NAME Rename a file on disk
+
RMDIR Remove a directory
+
ENVIRON Set a shell environment string
+
SHELL Enter a DOS shell
+
Function Description
+
ENVIRON$ String from shell environment table
+
Serial communications
+
Statement Description
+
GET Read bytes from a serial port
+
PUT Write bytes to a serial port
+
TERM Open the terminal emulator
+
Event handling
+
  
Event trapping allows to define subroutines which are executed outside of the normal course of operation. Events that can be trapped are:
+
S'il vous plaît noter que la documentation officielle de Microsoft pour les langues d'origine est plutôt hit-and-miss; il laisse plusieurs fonctionnalités non documentées et décrit de manière incorrecte les autres. Pour éviter de faire les mêmes erreurs, la présente documentation a été écrit à partir de zéro en référence au comportement réel. Les erreurs dans ce document sont donc tout mon propre. S'il vous plaît me contacter si vous les rencontrez. Métasyntaxe
  
    Time intervals (ON TIMER)
+
Dans les descriptions de la syntaxe BASIC, les conventions suivantes sont applicables. rendu exact du balisage peut varier en fonction des moyens utilisés pour afficher cette documentation.
    Keypresses (ON KEY)
+
    Serial port input (ON COM)
+
    Music queue exhaustion (ON PLAY)
+
    Joystick triggers (ON STRIG)
+
    Light pen activation (ON PEN)
+
  
Event trapping subroutines are defined as regular subroutines. At the RETURN statement, the normal course of program execution is resumed. Event trapping can be switched on and off or paused temporarily with statements of the form PEN ON, PEN OFF, PEN STOP. Event trapping only takes place during program execution and is paused while the program is in an error trap. If an event occurs while event-trapping is paused, then the event is triggered immediately when event trapping is resumed.
+
audacieux
Statement Description
+
COM Manage serial port event trapping
+
KEY Manage keyboard event trapping
+
KEY Define key to trap in keyboard event trapping
+
ON Define event-trapping subroutine
+
PEN Manage light pen event trapping
+
PLAY Manage music queue event trapping
+
STRIG Manage joystick event trapping
+
TIMER Manage timer event trapping
+
Error handling
+
  
Normally, any error will interrupt program execution and print a message on the console (exceptions are Overflow and Division by zero, which print a message but do not interrupt execution). It is possible to handle errors more graciously by setting an error-handling routine with the ON ERROR GOTO line_number statement. The error-handling routine starts at the given line number line_number and continues until a RESUME statement is encountered. Error trapping is in effect both when a program is running and in direct mode. Error trapping is switched off with the ON ERROR GOTO 0 statement. If an error occurs, or error trapping is switched off, while the program is executing an error-trapping routine, the program terminates and an error message is shown.
+
  Tapez exactement comme indiqué.
Statement Description
+
ERROR Raise an error
+
ON ERROR Define an error handler
+
RESUME End error handler and return to normal execution
+
Function Description
+
ERR Error number of last error
+
ERL Line number of last error
+
User-defined functions
+
Statement Description
+
DEF FN Define a new function
+
Function Description
+
FN User-defined function
+
Date and time
+
Statement Description
+
DATE$ Set the system date
+
TIME$ Set the system time
+
Function Description
+
DATE$ System date as a string
+
TIME$ System time as a string
+
TIMER System time in seconds since midnight
+
Including data in a program
+
Statement Description
+
DATA Define data to be used by the program
+
READ Retrieve a data entry
+
RESTORE Reset the data pointer
+
Memory and machine ports
+
  
Only selected memory ranges and selected ports are emulated in PC-BASIC. Some of the most commonly accessed regions of memory are emulated and can be read and (sometimes) written. There is read and write support for video memory, font RAM and selected locations of the low memory segment, including the keyboard buffer. Additionally, there is read support for font ROM, variable, array and string memory, FIELD buffers as well as the program code itself. Writing into the program code is disabled by default, but can be enabled with the allow-code-poke option. A number of machine ports related to keyboard input and video modes are supported as well.
+
italique
Statement Description
+
BLOAD Load a binary file into memory
+
BSAVE Save a memory region to file
+
CLEAR Clears BASIC memory
+
DEF SEG Set the memory segment
+
OUT Write a byte to a machine port
+
POKE Write a byte to a memory location
+
WAIT Wait for a value on a machine port
+
Function Description
+
FRE Amount of free memory
+
INP Byte at machine port
+
PEEK Byte at memory address
+
VARPTR Memory address of variable
+
VARPTR$ Byte representation of length and memory address of variable
+
Features not yet implemented
+
  
The following language elements are not currently supported in PC-BASIC. The keyword syntax is supported, so no Syntax error should be raised if the statements or functions are used correctly. However, the statements do nothing and the functions return zero or the empty string.
+
  Remplacer par metavariable approprié.
  
These language elements may be implemented in future versions of PC-BASIC.
+
[une]
Statement Description PC-BASIC implementation
+
MOTOR Turn on cassette motor Do nothing
+
Function Description PC-BASIC implementation
+
ERDEV Device error value Return 0
+
ERDEV$ Name of device raising error Return ""
+
EXTERR Extended error information from DOS Return 0
+
Unsupported features
+
  
GW-BASIC was a real-mode DOS program, which means that it had full control over an IBM-compatible 8086 computer. It had direct access to all areas of memory and all devices. Some BASIC programs used this fact, by using machine-code subroutines to perform tasks for which BASIC did not provide support. PC-BASIC runs on modern machines which may be based on completely different architectures and do not allow applications to access the memory directly. Therefore, it is not possible to run machine code on PC-BASIC. If you need machine code, you'll need to use full CPU emulation such as provided by DOSBox, Bochs or VirtualBox.
+
  Les entités entre crochets sont facultatifs.
  
Similarly, the IOCTL functionality depends on an MS-DOS interrupt and sends a device control string to any DOS device driver. The syntax of such strings is device-dependent. Since PC-BASIC emulates neither DOS nor whatever device might be parsing the control string, it is not possible to use such functionality.
+
{A | b}
  
The following language elements are therefore not supported in PC-BASIC. The keyword syntax is supported, so no Syntax error should be raised if the statements or functions are used correctly. However, the statements either do nothing or raise Illegal function call; the functions return zero or the empty string or raise Illegal function call.
+
  alternatives disjointes dont l'un doit être choisi.
Statement Description PC-BASIC implementation
+
CALL Call a machine code subroutine Do nothing
+
CALLS Call a FORTRAN subroutine Do nothing
+
DEF USR Define a machine code function Do nothing
+
IOCTL Send a device control string to a device Raise Illegal function call
+
Function Description PC-BASIC implementation
+
IOCTL$ Device response to IOCTL Raise Illegal function call
+
USR Machine code function Return 0
+
Language reference
+
  
This documentation describes the PC-BASIC language, which aims to faithfully emulate GW-BASIC 3.23, IBM Advanced BASIC, IBM Cartridge BASIC and Tandy 1000 GW-BASIC.
+
[A | b]
  
Differences with the original languages do arise, and where this is the case they are documented.
+
  alternatives disjointes en option.
  
Please note that Microsoft's official documentation for the original languages is rather hit-and-miss; it leaves several features undocumented and incorrectly describes others. To avoid making the same errors, the present documentation was written from scratch with reference to the actual behaviour. The errors in this document are therefore all my own. Please contact me if you encounter them.
+
une ...
Metasyntax
+
  
In descriptions of BASIC syntax, the following conventions apply. Exact rendering of the markup may vary depending on the means used to display this documentation.
+
  entité précédente peut être répétée.
  
bold
+
Définitions
    Type exactly as shown.
+
italic
+
    Replace with appropriate metavariable.
+
[a]
+
    Entities within square brackets are optional.
+
{ a | b }
+
    Disjunct alternatives of which one must be chosen.
+
[ a | b ]
+
    Optional disjunct alternatives.
+
a ...
+
    Preceding entity can be repeated.
+
  
Definitions
+
Une ligne de programme se compose d'un numéro de ligne suivi d'une instruction composée. lignes du programme sont terminés par un CR ou ou à la fin du fichier (éventuellement par le biais d'un caractère EOF). Tout sur une ligne de programme après un caractère NUL est ignoré.
  
A program line consists of a line number followed by a compound statement. Program lines are terminated by a CR or or by the end of the file (optionally through an EOF character). Anything on a program line after a NUL character is ignored.
+
Un numéro de ligne est un nombre entier dans l'intervalle [0-65535]. Notez que les numéros de ligne 65530-65535 ne peuvent pas être saisies à partir de la console ou un fichier de programme de texte, mais peuvent faire partie d'un fichier de programme tokenised.
  
A line number is a whole number in the range [0—65535]. Note that the line numbers 65530—65535 cannot be entered from the console or a text program file, but can be part of a tokenised program file.
+
Une instruction composée est constituée d'états séparés par deux points: déclaration [déclaration] ...
  
A compound statement consists of statements separated by colons:
+
Une expression prend l'une des formes suivantes: unary_operator {literal | variables | array_element | fonction} expression binary_operator expression (expression) dont les éléments sont décrits les sections littéraux, variables, opérateurs et fonctions.
statement [: statement] ...
+
  
An expression takes one of the following forms:
+
Un élément de tableau prend la forme array {[| (} numeric_expression [, numeric_expression] ... {) |]} littéraux littéraux cordes
unary_operator {literal | variable | array_element | function}
+
expression binary_operator expression
+
(expression)
+
whose elements are described the sections Literals, Variables, Operators and Functions.
+
  
An array element takes the form
+
Les chaînes littérales sont de la forme suivante: "[caractères] {NUL | CR | EOF |"} où les caractères est une chaîne de caractères. Tout caractère de la page de code actuel peut être utilisé, avec les exceptions suivantes, tous qui terminent la chaîne littérale (en dehors des autres effets qu'ils peuvent avoir):
array {[|(} numeric_expression [, numeric_expression ] ... {)|]}
+
Literals
+
String literals
+
  
String literals are of the following form:
+
  NUL (CHR $ (& h00))
"[characters]{NUL|CR|EOF|"}
+
    CR (CHR $ (& h0D))
where characters is a string of characters. Any character from the current code page can be used, with the following exceptions, all of which terminate the string literal (aside from other effects they may have):
+
    EOF (CHR $ (& H1A))
 +
    "(CHR $ (& h22))
  
    NUL (CHR$(&h00))
+
Les chaînes sont aussi légalement mis fin à la fin du fichier en l'absence d'un caractère EOF.
    CR (CHR$(&h0D))
+
    EOF (CHR$(&h1A))
+
    " (CHR$(&h22))
+
  
Strings are also legally terminated by the end of the file in the absence of an EOF character.
+
En dehors de ceux-ci, les chaînes de caractères ne doivent pas contenir les caractères dans la plage ASCII & h0D- & H1F, qui conduisent à des résultats imprévisibles. Il n'y a pas de mécanisme d'échappement. Pour inclure un des caractères ci-dessus dans une chaîne, utilisez la concaténation de chaîne et la fonction CHR $. littéraux numériques
  
Apart from these, string literals should not contain any of the characters in the ASCII range &h0D—&h1F, which lead to unpredictable results. There is no escaping mechanism. To include one of the above characters in a string, use string concatenation and the CHR$ function.
+
Les littéraux numériques ont l'une des formes suivantes: | - [.] [+] [0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | 8 9] ... [0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9] ... [{e | e | D | d} [+ | -] [0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ] ...] | # |! |%] et {h | h} [0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | a | b | c | d | e | f] ... et [O | o] [0 | 1 | 2 | 3 | 4 | 5 | 6 | 7] ...
Numeric literals
+
  
Numeric literals have one of the following forms:
+
littéraux hexadécimaux ne doivent pas contenir d'espaces, mais décimales et octaux littéraux mai. Le o caractère littéraux octal est facultative: ils peuvent être spécifiés tout aussi & o777 ou & 777.
[+|-] [0|1|2|3|4|5|6|7|8|9]... [.][0|1|2|3|4|5|6|7|8|9]... [{E|e|D|d}[+|-][0|1|2|3|4|5|6|7|8|9]...] |#|!|%]
+
&{H|h}[0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|a|b|c|d|e|f]...
+
&[O|o] [0|1|2|3|4|5|6|7]...
+
  
Hexadecimal literals must not contain spaces, but decimal and octal literals may. The o character in octal literals is optional: they can be specified equally as &o777 or &777.
+
Hexadécimal et littéraux octal désignent des nombres entiers et ne comprennent pas un signe. Ils doivent se situer entre [& H0- & HFFFF], dont la gamme [& h8000- & HFFFF] est interprété comme complément négatif entier de deux; par exemple, & HFFFF = -1. Les signes peuvent apparaître à gauche du &, mais ceux-ci forment une expression et ne font pas partie du littéral lui-même.
  
Hexadecimal and octal literals denote integers and do not include a sign. They must range between [&h0—&hFFFF], of which the range [&h8000—&hFFFF] is interpreted as a two's complement negative integer; for example, &hFFFF = -1. Signs can appear left of the & but these form an expression and are not part of the literal itself.
+
À virgule flottante littéraux doivent être spécifiés dans la notation décimale. Le séparateur décimal est le point. Une base 10 exposant peut être spécifié après E dans des flotteurs simple précision, ou après D dans flotteurs double précision. Trailing% est ignoré et ne signifie pas un entier littéral. Trailing! ou # marquent le littéral comme simple ou double précision, respectivement.
  
Floating-point literals must be specified in decimal notation. The decimal separator is the point. A base-10 exponent may be specified after E in single-precision floats, or after D in double-precision floats. Trailing % is ignored and does not indicate an integer literal. Trailing ! or # mark the literal as single- or double-precision, respectively.
+
Des exemples de littéraux numériques valides sont -1 42 42! 42 # 1,3523523 0,235435 ± 3 3.. .e .D 1.1e + 7 1.1d + 7 1e2 1e-2 & 7 & HFFFF & O20 & h & 65537% 1.1%
  
Examples of valid numeric literals are -1 42 42! 42# 1.3523523 .235435 -.3 3. . .e .D 1.1e+7 1.1d+7 1e2 1e-2 &7 &hffff &O20 &h & 65537% 1.1%
+
Notez que des expressions telles que & o-77 sont légales; ceux-ci ne sont cependant pas octal négatives, mais plutôt l'expression & o (octal vide, zéro) moins 77 (décimal 77). Variables
  
Note that expressions such as &o-77 are legal; these are however not negative octals but rather the expression &o (empty octal; zero) less 77 (decimal 77).
+
Les noms de variables doivent commencer par une lettre; tous les caractères du nom de la variable (à l'exception du sigil) doivent être des lettres de A à Z, les chiffres 0-9, ou un point. Seuls les 40 premiers caractères du nom sont significatifs. Un nom de variable ne doit pas être identique à un mot réservé ou un mot réservé, plus sigil. Par conséquent, par exemple, vous ne pouvez pas nommer une variable TO! mais vous pouvez le nommer AS !. Les noms de variables peuvent contenir un mot réservé. Les noms de variables peuvent aussi commencer par un mot réservé, à l'exception de NRS et FN. Ainsi, FNORD% et USRNME $ ne sont pas des noms de variables juridiques alors Tache de rousseur% et LUSR $ sont.
Variables
+
  
Variable names must start with a letter; all characters of the variable name (except the sigil) must be letters A—Z, figures 0—9, or a dot . Only the first 40 characters in the name are significant. A variable name must not be identical to a reserved word or a reserved word plus sigil. Therefore, for example, you cannot name a variable TO! but you can name it AS!. Variable names may contain any reserved word. Variable names may also start with a reserved word, with the exception of USR and FN. Thus, FNORD% and USRNME$ are not legal variable names while FRECKLE% and LUSR$ are.
+
Pour chaque nom, quatre variables différentes peuvent exister correspondant aux quatre types. Autrement dit, vous pouvez avoir un $, A%, A! et A # que différentes variables. Lequel de ceux est également connu sous le nom A dépend des paramètres DEFINT / DEFDBL / DefSng / DEFSTR. Par défaut, A est égal à la simple précision A !.
  
For each name, four different variables may exist corresponding to the four types. That is, you can have A$, A%, A! and A# as different variables. Which one of those is also known as A depends on the settings in DEFINT/DEFDBL/DEFSNG/DEFSTR. By default, A equals the single-precision A!.
+
En outre, les matrices A $ (%), A (A)! (), A # () sont séparés à partir des grandeurs scalaires du même nom. Types et sigils
  
Furthermore, the arrays A$(), A%(), A!(), A#() are separate from the scalar variables of the same name.
+
PC-BASIC reconnaît quatre types de variables, qui se distinguent par leur sigil ou de type caractère, le dernier caractère du nom complet de la variable: sigil Type taille plage de précision $ string 3 octets en plus attribués espace de chaîne 0-255 caractères% entiers 2 octets -32.768 à 32.767 exactes! simple précision float 4 octets ± 2.938726 · 10-39- ± 1.701412 · 1038 ~ 6 chiffres significatifs
Types and sigils
+
  
PC-BASIC recognises four variable types, distinguished by their sigil or type character, the last character of the variable's full name:
+
    double précision float 8 octets ± 2,938735877055719 · 10-39- ± 1,701411834604692 · 1038 ~ 16 chiffres significatifs
sigil type size range precision
+
$ string 3 bytes plus allocated string space 0—255 characters
+
% integer 2 bytes -32768—32767 exact
+
! single-precision float 4 bytes ±2.938726·10-39—±1.701412·1038 ~6 significant figures
+
# double-precision float 8 bytes ±2.938735877055719·10-39—±1.701411834604692·1038 ~16 significant figures
+
  
Note that double-precision floats can hold more decimals than single-precision floats, but not larger or smaller numbers.
+
Notez que les flotteurs double précision peuvent contenir plus de décimales que flotteurs simple précision, mais les numéros pas plus ou moins.
  
While all integers are signed, some statements will interpret negative integers as their two's complement.
+
Alors que tous les entiers sont signés, certains états vont interpréter des nombres entiers négatifs comme complément à leurs deux. Arrays
Arrays
+
  
Arrays are indexed with round or square brackets; even mixing brackets is allowed. The following are all legal array elements: A[0], A(0), A(0], A[0). Multidimensional arrays are specified by separating the indices with commas: A(0, 0), A[0, 0, 0], etc.
+
Les tableaux sont indexés avec ronds ou crochets; même les supports de mélange est autorisé. Voici tous les éléments juridiques du tableau: A [0], A (0), A (0], A [0). Les tableaux multidimensionnels sont spécifiés en séparant les indices avec des virgules: A (0, 0), A [0, 0, 0], etc.
  
By default, arrays are indexed from 0. This can be changed to 1 using OPTION BASE 1.
+
Par défaut, les tableaux sont indexés à partir de 0. Ceci peut être changé à 1 en utilisant OPTION BASE 1.
  
Arrays can be allocated by specifying the largest allowed index using DIM. If all indices of the array are 10 or less, they need not be explicitly allocated. The first access of the array (read or write) will automatically allocate it with a maximum index of 10 and the same number of indices as in the first access. To re-allocate an array, the old array must first be deleted with CLEAR or ERASE.
+
Les tableaux peuvent être attribués en spécifiant le plus grand indice autorisé en utilisant DIM. Si tous les indices du tableau sont 10 ou moins, ils ne doivent pas être explicitement attribués. Le premier accès du réseau (lecture ou écriture) attribue automatiquement avec un indice maximum de 10 et le même nombre d'indices comme dans le premier accès. Pour ré-allouer un tableau, l'ancien tableau doit d'abord être supprimé avec CLEAR ou ERASE. Conversions
Conversions
+
  
PC-BASIC will implicitly convert between the three numerical data types. When a value of one type is assigned to a variable, array element or parameter of another type, it is converted according to the following rules:
+
PC-BASIC va convertir implicitement entre les trois types de données numériques. Lorsqu'une valeur d'un premier type est affecté à une variable, un élément de tableau ou d'un paramètre d'un autre type, il est converti selon les règles suivantes:
  
    Single- and double-precision floats are converted to integer by rounding to the nearest whole number. Halves are rounded away from zero. If the resulting whole number is outside the allowed range for integers, Overflow is raised.
+
  flotteurs simple et double précision sont convertis en entier en arrondissant au nombre entier le plus proche. Demis sont arrondis loin de zéro. Si le nombre entier résultant est en dehors de la plage autorisée pour les entiers, Overflow est élevé.
     Double-precision floats are converted to single-precision floats by Gaussian rounding of the mantissa, where the new least significant bit of the mantissa is rounded up if the clipped-off binary fraction is greater than one-half; halves are rounded to even.
+
     flotteurs double précision sont convertis en des flotteurs par simple précision arrondi gaussienne de la mantisse, où le nouveau bit le moins significatif de la mantisse est arrondie si la fraction binaire écrêté-off est supérieure à une demi-; moitiés sont arrondies au même.
     Integers are converted to their exact representation as single- or double-precision floats.
+
     Entiers sont convertis à leur représentation exacte comme flotteurs simple ou double précision.
     Single-precision floats are converted to their exact representation as double-precision floats.
+
     flotteurs simple précision sont convertis à leur représentation exacte flotteurs double précision.
     There is no implicit conversion between strings and any of the numeric types. Attempting to assign a string value to a numeric variable, array element or parameter (or vice versa) will raise Type mismatch.  
+
     Il n'y a pas de conversion implicite entre les chaînes et tous les types numériques. Tenter d'assigner une valeur de chaîne à une variable numérique, élément de tableau ou d'un paramètre (ou vice versa) augmentera Incompatibilité de type.  
  
Operators
+
Opérateurs Ordre de priorité
Order of precedence
+
  
The order of precedence of operators is as follows, from tightly bound (high precedence) to loosely bound (low precedence):
+
L'ordre de priorité des opérateurs est la suivante, à partir étroitement lié (haute priorité) à faiblement lié (faible priorité):
  
    ^
+
  ^
 
         * /  
 
         * /  
 
     \
 
     \
 
     MOD
 
     MOD
         + - (unary and binary)  
+
         + - (Unaire et binaire)  
         = <> >< < > <= =< >= =>  
+
         = <>> <<> <= = <> = =>  
     NOT (unary)
+
     NOT (unaire)
     AND
+
     ET
     OR
+
     OU
 
     XOR
 
     XOR
 
     EQV
 
     EQV
     IMP
+
     LUTIN
  
Expressions within parentheses () are evaluated first. All binary operators are left-associative: operators of equal precedence are evaluated left to right.
+
Les expressions entre parenthèses () sont évaluées en premier. Tous les opérateurs binaires sont laissés associatif: les opérateurs de même priorité sont évalués de gauche à droite. Exemples
Examples
+
  
    Exponentiation is more tightly bound than negation: -1^2 = -(1^2) = -1 but (-1)^2 = 1.
+
  Exponentiation est plus étroitement lié à la négation: -1 ^ 2 = - (1 ^ 2) = -1, mais (-1) ^ 2 = 1.
     Exponentiation is left-associative: 2^3^4 = (2^3)^4 = 4096.
+
     Exponentiation est gauche associative: 2 ^ 3 ^ 4 = (2 ^ 3) ^ 4 = 4096.
  
Errors
+
les erreurs
  
     If any operator other than +, - or NOT is used without a left operand, Syntax error is raised.
+
     Si un opérateur autre que +, - ou NOT est utilisé sans opérande de gauche, une erreur de syntaxe est soulevée. A la fin d'une instruction, si un opérateur est utilisé sans opérande de droite, opérande manquant est élevé. Si cela se produit ailleurs dans une instruction, comme entre parenthèses, une erreur de syntaxe est soulevée.  
    At the end of a statement, if any operator is used without a right operand, Missing operand is raised. If this occurs elsewhere inside a statement, such as within brackets, Syntax error is raised.
+
  
Mathematical operators
+
opérateurs mathématiques
  
Mathematical operators operate on numeric expressions only. Note however that + can take the role of the string concatenation operator if both operands are strings.
+
Les opérateurs mathématiques fonctionnent sur des expressions numériques seulement. Notez cependant que + peut prendre le rôle de l'opérateur de concaténation si les deux opérandes sont des chaînes. Opération code Résultat x ^ y Exponentiation x élevé à la puissance de yx * y Multiplication des produits de x et yx / y Division Quotient de x et yx \ y Tronqué division entière quotient de x et yx MOD y Modulo Entier reste de x par y ( avec le signe de x) x + y Addition Somme des x et yx - y soustraction Différence de x et y + y unaire valeur plus de y - valeur négative Négation y de y
Code Operation Result
+
x ^ y Exponentiation x raised to the power of y
+
x * y Multiplication Product of x and y
+
x / y Division Quotient of x and y
+
x \ y Truncated division Integer quotient of x and y
+
x MOD y Modulo Integer remainder of x by y (with the sign of x)
+
x + y Addition Sum of x and y
+
x - y Subtraction Difference of x and y
+
+ y Unary Plus Value of y
+
- y Negation Negative value of y
+
  
Where necessary, the result of the operation will be upgraded to a data type able to hold the result. For example, dividing integers 3 by 2 will yield a single-precision 1.5. However, the exponentiation operator ^ will give at most a single-precision result unless the double option is used.
+
Le cas échéant, le résultat de l'opération sera mis à niveau vers un type capable de tenir le résultat des données. Par exemple, diviser des nombres entiers 3 par 2 donnera une simple précision 1,5. Cependant, l'opérateur d'exponentiation ^ donnera au plus un résultat simple précision, sauf si la double option est utilisée. les erreurs
Errors
+
  
    If either operand is a string, Type mismatch will be raised. The exception is + which will only raise Type mismatch if either but not both operands are strings.
+
  Si l'un des opérandes est une chaîne, Incompatibilité de type sera soulevée. L'exception est + qui ne fera que soulever Incompatibilité de type se soit, mais pas les deux opérandes sont des chaînes.
     If y=0, x / y, x MOD y and x \ y will raise Division by zero.
+
     Si y = 0, x / y, x MOD y et x \ y soulèvera la division par zéro.
     If x=0 and y<0, x^y will raise Division by zero.
+
     Si x = 0 et y <0, x ^ y soulèvera la division par zéro.
     If the result of any operation is too large to fit in a floating-point data type, Overflow is raised.
+
     Si le résultat d'une opération est trop grand pour tenir dans un type de données à virgule flottante, Overflow est soulevée.
     If operands or result of \ or MOD are not in [-32768–32767], Overflow is raised.
+
     Si opérandes ou résultat de \ ou MOD ne sont pas dans [-32768-32767], Overflow est soulevée.
     If x<0 and y is a fractional number, x ^ y will raise Illegal function call.
+
     Si x <0 et y est un nombre fractionnaire, x ^ y soulèvera Illegal appel de fonction.
  
Relational operators
+
opérateurs relationnels
  
Relational operators can operate on numeric as well as string operands; however, if one operand is string and the other numeric, Type mismatch is raised.
+
Les opérateurs relationnels peuvent fonctionner sur numérique, ainsi que les opérandes de chaîne; cependant, si un opérande est une chaîne et l'autre numérique, Incompatibilité de type est élevé.
  
Relational operators return either 0 (for false) or -1 for true.
+
Les opérateurs relationnels renvoient soit 0 (pour faux) ou -1 pour vrai. Code d'opération Résultat = Egal Vrai si a est égal à b, sinon false. <>> <Différent False si un est égal à b, vrai autrement. <Moins Vrai si a est inférieur à b, sinon false. > Supérieur Vrai si a est supérieur à b, sinon false. <= = <Inférieur ou égal False si un est supérieur à b, vrai autrement. > = => Supérieur ou égal False si un est inférieur à b, vrai autrement.
Code Operation Result
+
= Equal True if a equals b, false otherwise.
+
<> >< Not equal False if a equals b, true otherwise.
+
< Less than True if a is less than b, false otherwise.
+
> Greater than True if a is greater than b, false otherwise.
+
<= =< Less than or equal False if a is greater than b, true otherwise.
+
>= => Greater than or equal False if a is less than b, true otherwise.
+
  
When operating on numeric operands, both operands are compared as floating-point numbers according to the usual ordering of numbers. The equals operator tests for equality to within machine precision for the highest-precision of the two operator types.
+
En cas d'utilisation sur des opérandes numériques, les deux opérandes sont comparés en tant que nombres à virgule flottante selon l'ordre habituel de nombres. L'égal opérateur teste pour l'égalité à l'intérieur de la précision de la machine pour la plus haute précision des deux types d'opérateurs.
  
When comparing strings, the ordering is as follows.
+
Lorsque l'on compare les chaînes, l'ordre est le suivant.
  
    Two strings are equal only if they are of the same length and every character code of the first string agrees with the corresponding character code of the second. This includes any whitespace or unprintable characters.
+
  Deux chaînes sont égales seulement si elles sont de la même longueur et chaque code de caractère de la première chaîne est d'accord avec le code de caractère correspondant du second. Ceci inclut tout espace ou des caractères non imprimables.
     Each character position of the strings is compared starting with the leftmost character. When a pair of different characters is encountered, the string with the character of lesser code point is less than the string with the character of greater code point.
+
     Chaque position de caractère des cordes est comparée à commencer par le premier caractère. Quand une paire de caractères différents est rencontrée, la chaîne avec le caractère de moindre point de code est inférieure à la chaîne avec le caractère d'une plus grande point de code.
     If the strings are of different length, but equal up to the length of the shorter string, then the shorter string is less than the longer string.
+
     Si les chaînes sont de longueur différente, mais égale à la longueur de la chaîne la plus courte, la chaîne la plus courte est inférieure à la chaîne plus longue.
  
Bitwise operators
+
opérateurs binaires
  
PC-BASIC has no Boolean type and does not implement Boolean operators. It does, however, implement bitwise operators.
+
PC-BASIC n'a pas de type Boolean et ne met pas en œuvre les opérateurs booléens. Il, cependant, mettre en œuvre les opérateurs de bits.
  
Bitwise operators operate on numeric expressions only. Floating-point operands are rounded to integers before being used.
+
Opérateurs binaires fonctionnent sur des expressions numériques seulement. À virgule flottante opérandes sont arrondis à des nombres entiers avant d'être utilisés. Opération code Résultat PAS y Complement -y-1 x ET y Bitwise conjonction Le binaire entre x et yx OU y disjonction Bitwise Le OU binaire de x et yx XOR y Bitwise exclusive ou Le XOR de x et yx EQV y Bitwise équivalence PAS (x XOR y) x implication NOT (x) OU y IMP y Bitwise
Code Operation Result
+
NOT y Complement -y-1
+
x AND y Bitwise conjunction The bitwise AND of x and y
+
x OR y Bitwise disjunction The bitwise OR of x and y
+
x XOR y Bitwise exclusive or The bitwise XOR of x and y
+
x EQV y Bitwise equivalence NOT(x XOR y)
+
x IMP y Bitwise implication NOT(x) OR y
+
  
These operators can be used as Boolean operators only if -1 is used to represent true while 0 represents false. Note that PC-BASIC represents negative integers using the two's complement, so NOT 0 = -1. The Boolean interpretation of bitwise operators is given in the table below.
+
Ces opérateurs peuvent être utilisés comme des opérateurs booléens uniquement si -1 est utilisé pour représenter vrai pendant que 0 représente faux. Notez que PC-BASIC représente des nombres entiers négatifs en utilisant le complément à deux, donc PAS 0 = -1. L'interprétation booléenne opérateurs binaires est donnée dans le tableau ci-dessous. Opération code Résultat PAS y Négation logique Vrai si y est faux et vice versa x ET y Conjonction Seul vrai si x et y sont de véritables x OU y disjonction Seulement false si x et y sont fausses x XOR y Exclusive ou Vrai si la vérité les valeurs de x et y diffèrent x EQV y Equivalence vrai si les valeurs de vérité de x et y sont les mêmes x IMP y Implication vrai si x est faux ou y est vrai
Code Operation Result
+
NOT y Logical negation True if y is false and vice versa
+
x AND y Conjunction Only true if both x and y are true
+
x OR y Disjunction Only false if both x and y are false
+
x XOR y Exclusive or True if the truth values of x and y differ
+
x EQV y Equivalence True if the truth values of x and y are the same
+
x IMP y Implication True if x is false or y is true
+
  
Be aware that when used on integers other than 0 and -1, bitwise operators can not be interpreted as Boolean operators. For example, 2 AND 1 returns 0.
+
Sachez que lorsqu'il est utilisé sur des entiers autres que 0 et -1, les opérateurs binaires ne peuvent pas être interprétées comme des opérateurs booléens. Par exemple, 2 et 1 retourne 0. Erreurs
Errors
+
  
    If either operand is a string, Type mismatch will be raised.
+
  Si l'un des opérandes est une chaîne, Incompatibilité de type sera soulevée.
     If the operands or result are not in [-32768–32767], Overflow is raised.
+
     Si les opérandes ou résultats ne sont pas dans [-32.768 à 32.767], Overflow est soulevée.
  
String operators
+
Opérateurs de chaîne
  
The string concatenation operator is +. It has a binary as well as a unary form. The unary minus may also be used on strings, but has no effect.
+
L'opérateur de concaténation est +. Il dispose d'un binaire ainsi qu'une forme unaire. Le moins unaire peut également être utilisé sur les chaînes, mais n'a aucun effet. Code d'opération Résultat x + y concaténation La chaîne formée par x suivie d'y + y unaire Valeur Plus d'y - y unaire Minus Valeur des erreurs y
Code Operation Result
+
x + y Concatenation The string formed by x followed by y
+
+ y Unary Plus Value of y
+
- y Unary Minus Value of y
+
Errors
+
  
    If either (but not both) operands to a concatenation are numeric, Type mismatch will be raised.
+
  Si l'un (mais pas les deux) opérandes à une concaténation sont numériques, Incompatibilité de type sera soulevée.
     If LEN(x) + LEN(y) > 255, x + y will raise String too long.
+
     Si LEN (x) + LEN (y)> 255, x + y soulèveront cordes trop longtemps.
  
Functions
+
Les fonctions
  
Functions can only be used as part of an expression within a statement; they may take input values between parentheses and produce a return value. For example, in PRINT ABS(-1) the ABS function is used in an expression within a PRINT statement; in Y = SQR(X) + 2 the SQR function is used in an expression within a LET statement.
+
Fonctions ne peuvent être utilisés dans le cadre d'une expression dans une instruction; ils peuvent prendre des valeurs d'entrée entre parenthèses et de produire une valeur de retour. Par exemple, dans PRINT ABS (-1) la fonction ABS est utilisé dans une expression dans une instruction PRINT; dans Y = SQR (X) + 2 la fonction SQR est utilisé dans une expression dans une instruction LET.
  
Some reference works also use terms such as system variable for functions that do not take an input, presumably since in the GW-BASIC syntax such functions have no parentheses, in contrast to the languages in the C family (and indeed some modern BASICs). However, this is simply the GW-BASIC syntax for functions without inputs. For example, one can do DEF FNA=1: PRINT FNA in which no parentheses are allowed.
+
Certains ouvrages de référence utilisent également des termes tels que la variable système pour les fonctions qui ne prennent pas une entrée, probablement parce que dans la syntaxe GW-BASIC ces fonctions ont pas entre parenthèses, à la différence des langues dans la famille C (et même quelques notions de base modernes). Toutefois, cela est tout simplement la syntaxe GW-BASIC pour les fonctions sans entrées. Par exemple, on peut faire DEF FNA = 1: PRINT FNA dans laquelle aucun parenthèses. ABS y = ABS (x)
ABS
+
y = ABS(x)
+
  
Returns the absolute value of x if x is a number and the value of x if x is a string.
+
Renvoie la valeur absolue de x si x est un nombre et la valeur de x si x est une chaîne. Paramètres
Parameters
+
  
    x is an expression.
+
  x est une expression.
  
ASC
+
ASC val = ASC (char)
val = ASC(char)
+
  
Returns the code point (ASCII value) for the first character of char.
+
Renvoie le point de code (valeur ASCII) pour le premier caractère de l'omble. Paramètres
Parameters
+
  
    char is an expression with a string value.
+
  omble est une expression avec une valeur de chaîne.
  
Errors
+
les erreurs
  
    char has a numeric value: Type mismatch.
+
  omble a une valeur numérique: incompatibilité de type.
     char equals "": Illegal function call.
+
     omble est égal à "": Illegal appel de fonction.
  
ATN
+
ATN y = ATN (x)
y = ATN(x)
+
  
Returns the inverse tangent of x.
+
Renvoie la tangente inverse de x. Paramètres
Parameters
+
  
    x is a numeric expression that gives the angle in radians.
+
  x est une expression numérique qui donne l'angle en radians.
  
Notes
+
Remarques
  
    Unless PC-BASIC is run with the double option, this function returns a single-precision value.
+
  Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
     ATN(x) differs in the least significant digit from GW-BASIC.
+
     ATN (x) est différent du chiffre le moins significatif de GW-BASIC.
  
Errors
+
les erreurs
  
    x has a string value: Type mismatch.
+
  x a une valeur de chaîne: Type mismatch.
  
CDBL
+
CDBL y = CDBL (x)
y = CDBL(x)
+
  
Converts the numeric expression x to a double-precision value.
+
Convertit l'expression numérique x à une valeur double précision. les erreurs
Errors
+
  
    x has a string value: Type mismatch.
+
  x a une valeur de chaîne: Type mismatch.
  
CHR$
+
CHR $ omble = CHR $ (x)
char = CHR$(x)
+
  
Returns the character with code point x.
+
Renvoie le caractère avec le point de code x. Paramètres
Parameters
+
  
    x is a numeric expression in the range [0—255].
+
  x est une expression numérique dans l'intervalle [0-255].
  
Errors
+
les erreurs
  
    x has a string value: Type mismatch.
+
  x a une valeur de chaîne: Type mismatch.
     x is not in [-32768—32767]: Overflow.
+
     x est pas dans [-32768 à 32767]: Overflow.
     x is not in [0—255]: Illegal function call.
+
     x est pas dans [0-255]: Illegal appel de fonction.
  
CINT
+
CINT y = CINT (x)
y = CINT(x)
+
  
Converts the numeric expression x to a signed integer.
+
Convertit l'expression numérique x à un entier signé. les erreurs
Errors
+
  
    x has a string value: Type mismatch.
+
  x a une valeur de chaîne: Type mismatch.
     x is not in [-32768—32767]: Overflow.
+
     x est pas dans [-32768 à 32767]: Overflow.
  
COS
+
COS cosinus = COS (angle)
cosine = COS(angle)
+
  
Returns the cosine of angle. Unless PC-BASIC is run with the double option, this function returns a single-precision value.
+
Renvoie le cosinus de l'angle. Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision. Paramètres
Parameters
+
  
    angle is a numeric expression that gives the angle in radians.
+
  angle est une expression numérique qui donne l'angle en radians.
  
Notes
+
Remarques
  
    The return value usually differs from the value returned by GW-BASIC in the least significant figure.
+
  La valeur de retour diffère généralement de la valeur retournée par GW-BASIC dans le chiffre significatif.
  
Errors
+
les erreurs
  
    angle has a string value: Type mismatch.
+
  angle a une valeur de chaîne: Type mismatch.
  
CSNG
+
CSNG y = CSNG (x)
y = CSNG(x)
+
  
Converts the numeric expression x to a single-precision value.
+
Convertit l'expression numérique x à une valeur simple précision. les erreurs
Errors
+
  
    x has a string value: Type mismatch.
+
  x a une valeur de chaîne: Type mismatch.
  
CSRLIN
+
CSRLIN y = CSRLIN
y = CSRLIN
+
  
Returns the screen row of the cursor on the active page. The return value is in the range [1—25].
+
Retourne la ligne d'écran du curseur sur la page active. La valeur de retour est dans la gamme [1-25]. Remarques
Notes
+
  
    This function takes no arguments.
+
  Cette fonction ne prend aucun argument.
  
CVI
+
CVI y = CVI (s)
y = CVI(s)
+
  
Converts a two-byte string to a signed integer.
+
Convertit une chaîne de deux octets à un entier signé. Paramètres
Parameters
+
  
    s is a string expression that represents an integer using little-endian two's complement encoding. Only the first two bytes are used.
+
  s est une expression de chaîne qui représente un entier en utilisant le codage de complément à deux little-endian. Seuls les deux premiers octets sont utilisés.
  
Errors
+
les erreurs
  
    s has a numeric value: Type mismatch.
+
  s a une valeur numérique: incompatibilité de type.
  
CVS
+
CVS y = CVS (s)
y = CVS(s)
+
  
Converts a four-byte string to a single-precision floating-point number.
+
Convertit une chaîne de quatre octets à une simple précision en virgule flottante. Paramètres
Parameters
+
  
    s is a string expression that represents a single-precision number in Microsoft Binary Format. Only the first four bytes are used.
+
  s est une expression de chaîne qui représente un nombre simple précision dans Microsoft Binary Format. Seuls les quatre premiers octets sont utilisés.
  
Errors
+
les erreurs
  
    s has a numeric value: Type mismatch.
+
  s a une valeur numérique: incompatibilité de type.
  
CVD
+
CVD y = CVD (s)
y = CVD(s)
+
  
Converts an eight-byte string to a double-precision floating-point number.
+
Convertit une chaîne de huit octets à un double précision nombre à virgule flottante. Paramètres
Parameters
+
  
    s is a string expression that represents a double-precision number in Microsoft Binary Format. Only the first eight bytes are used.
+
  s est une expression de chaîne qui représente un nombre double précision dans Microsoft Binary Format. Seuls les huit premiers octets sont utilisés.
  
Errors
+
les erreurs
  
    s has a numeric value: Type mismatch.
+
  s a une valeur numérique: incompatibilité de type.
  
DATE$ (function)
+
= DATE de $ de $ DATE (fonction)
s = DATE$
+
  
Returns the system date as a string in the format "mm-dd-yyyy".
+
Renvoie la date du système en tant que chaîne dans le format "mm-dd-yyyy". Remarques
Notes
+
  
    This function takes no arguments.
+
  Cette fonction ne prend aucun argument.
  
ENVIRON$
+
ENVIRON $ valeur = ENVIRON [] $ (x)
value = ENVIRON[ ]$(x)
+
  
Returns an environment variable.
+
Renvoie une variable d'environnement. Paramètres
Parameters
+
  
x is an expression.
+
x est une expression.
  
    If x has a string value, returns the value for the environment variable x or the empty string if no variable with the name x is set in the environment table.
+
  Si x a une valeur de chaîne, renvoie la valeur de la variable d'environnement x ou la chaîne vide si aucune variable avec le nom x est défini dans le tableau de l'environnement.
     If x has a numeric value, it must be in [1—255]. Returns the xth entry in the environment table.
+
     Si x a une valeur numérique, il doit être dans [1-255]. Renvoie l'entrée xième dans le tableau de l'environnement.
  
Errors
+
les erreurs
  
    x is the empty string: Illegal function call.
+
  x est la chaîne vide: Illegal appel de fonction.
     x is a number not in [-32768—32767]: Overflow.
+
     x est un nombre non [-32768 à 32767]: Overflow.
     x is a number not in [1—255]: Illegal function call.
+
     x est un nombre non [1-255]: Illegal appel de fonction.
  
EOF
+
EOF is_at_end = EOF (file_num)
is_at_end = EOF(file_num)
+
  
Returns -1 if file with number file_num has reached end-of-file; 0 otherwise. The file must be open in INPUT or RANDOM mode. EOF(0) returns 0.
+
Renvoie -1 si le fichier avec le numéro file_num a atteint la fin de fichier; 0 autrement. Le fichier doit être ouvert dans le mode INPUT ou RANDOM. EOF (0) renvoie 0. Remarques
Notes
+
  
    If file_num is open to KYBD:, performs a blocking read and returns -1 if CTRL+Z is entered, 0 otherwise. The character entered is then echoed to the console.
+
  Si file_num est ouvert à KYBD :, effectue un blocage lecture et retourne -1 si CTRL + Z est entré, 0 sinon. Le caractère saisi est ensuite fait écho à la console.
  
Errors
+
les erreurs
  
    file_num has a string value: Type mismatch.
+
  file_num a une valeur de chaîne: Type mismatch.
     file_num is a number not in [-32768—32767]: Overflow.
+
     file_num est un nombre pas dans [-32768 à 32767]: Overflow.
     file_num is a number not in [0—255]: Illegal function call.
+
     file_num est un nombre non [0-255]: Illegal appel de fonction.
     file_num is not 0 or the number of an open file: Bad file number.
+
     file_num est pas 0 ou le numéro d'un fichier ouvert: Numéro de fichier incorrect.
     The file with number file_num is in OUTPUT or APPEND mode: Bad file mode.
+
     Le fichier avec le numéro file_num est en SORTIE ou en mode APPEND: le mode de fichier incorrect.
  
ERDEV
+
ERDEV zéro = ERDEV
zero = ERDEV
+
  
Returns 0.
+
Renvoie 0. Remarques
Notes
+
  
    In GW-BASIC, returns the value of a device error.
+
  Dans GW-BASIC, renvoie la valeur d'une erreur de périphérique.
     This function is not implemented in PC-BASIC.
+
     Cette fonction est pas implémentée dans PC-BASIC.
     This function takes no arguments.
+
     Cette fonction ne prend aucun argument.
  
ERDEV$
+
ERDEV $ empty = ERDEV [] $
empty = ERDEV[ ]$
+
  
Returns the empty string.
+
Renvoie la chaîne vide. Remarques
Notes
+
  
    In GW-BASIC, returns the device name of a device error.
+
  Dans GW-BASIC, retourne le nom de l'appareil d'une erreur de périphérique.
     This function is not implemented in PC-BASIC.
+
     Cette fonction est pas implémentée dans PC-BASIC.
     This function takes no arguments.
+
     Cette fonction ne prend aucun argument.
  
ERL
+
ERL ERROR_LINE = ERL
error_line = ERL
+
  
Returns the line number where the last error was raised.
+
Retourne le numéro de ligne où la dernière erreur a été soulevée. Remarques
Notes
+
  
    If the error was raised by a direct statement, returns 65535.
+
  Si l'erreur a été soulevée par une déclaration directe, retourne 65535.
     If no error has been raised, returns 0.
+
     Si aucune erreur n'a été relevée, renvoie 0.
     This function takes no arguments.
+
     Cette fonction ne prend aucun argument.
  
ERR
+
ERR error_code = ERR
error_code = ERR
+
  
Returns the number of the last error.
+
Retourne le numéro de la dernière erreur. Remarques
Notes
+
  
    If no error has been raised, returns 0.
+
  Si aucune erreur n'a été relevée, renvoie 0.
     If the last error was a Syntax error raised by a direct statement, returns 0.
+
     Si la dernière erreur était une erreur de syntaxe soulevée par une déclaration directe, renvoie 0.
     This function takes no arguments.
+
     Cette fonction ne prend aucun argument.
  
EXP
+
EXP y = EXP (x)
y = EXP(x)
+
  
Returns the exponential of x, i.e. e to the power x.
+
Renvoie l'exponentielle de x, soit e à la puissance x. Paramètres
Parameters
+
  
    x is a number- valued expression.
+
  x est une expression de number- valeur.
  
Notes
+
Remarques
  
    Unless PC-BASIC is run with the double option, this function returns a single-precision value.
+
  Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
     The return value sometimes differs in the least significant digit from GW-BASIC. For large values of x, the difference may be 3 digits.
+
     La valeur de retour diffère parfois dans le chiffre le moins significatif de GW-BASIC. Pour de grandes valeurs de x, la différence peut être de 3 chiffres.
  
Errors
+
les erreurs
  
    x has a string value: Type mismatch.
+
  x a une valeur de chaîne: Type mismatch.
     x is larger than the natural logarithm of the maximum single-precision value: Overflow.
+
     x est plus grand que le logarithme naturel de la valeur maximale simple précision: Overflow.
  
EXTERR
+
EXTERR zéro = EXTERR (x)
zero = EXTERR(x)
+
  
Returns 0.
+
Renvoie 0. Paramètres
Parameters
+
  
    x is a numeric expression in [0—3].
+
  x est une expression numérique dans [0-3].
  
Notes
+
Remarques
  
    In GW-BASIC, this function returns extended error information from MS-DOS.
+
  Dans GW-BASIC, cette fonction renvoie des informations sur l'erreur à partir de MS-DOS.
     This function is not implemented in PC-BASIC.
+
     Cette fonction est pas implémentée dans PC-BASIC.
  
Errors
+
les erreurs
  
    x has a string value: Type mismatch.
+
  x a une valeur de chaîne: Type mismatch.
     x is not in [-32768—32767]: Overflow.
+
     x est pas dans [-32768 à 32767]: Overflow.
     x is not in [0—3]: Illegal function call.
+
     x est pas dans [0-3]: Illegal appel de fonction.
  
FIX
+
FIX ensemble = FIX (nombre)
whole = FIX(number)
+
  
Returns number truncated towards zero.
+
Number Renvoie tronquée vers zéro. Paramètres
Parameters
+
  
    number is a numeric expression.
+
  nombre est une expression numérique.
  
Notes
+
Remarques
  
    FIX truncates towards zero: it removes the fractional part. By contrast, INT truncates towards negative infinity. For negative x, FIX(x)-INT(x)=1.
+
  FIX tronque vers zéro: il supprime la partie fractionnaire. En revanche, INT tronque vers l'infini négatif. Pour x négatifs FIX (x) -INT (x) = 1.
  
Errors
+
les erreurs
  
    number is a string expression: Type mismatch.
+
  nombre est une chaîne d'expression: incompatibilité de type.
  
FN
+
résultat FN = FN [] nom [(arg_0 [, Arg_1] ...)]
result = FN[ ]name [(arg_0 [, arg_1] ...)]
+
  
Evaluates the user-defined function previously defined with DEF FN name. Spaces between FN and name are optional.
+
Évalue la fonction définie par l'utilisateur préalablement défini avec le nom DEF FN. Les espaces entre les FN et le nom sont en option. Paramètres
Parameters
+
  
    name is the name of a previously defined function.
+
  est le nom d'une fonction définie précédemment.
     arg_0, arg_1, ... are expressions, given as parameters to the function.
+
     arg_0, Arg_1, ... sont des expressions, étant donné que les paramètres de la fonction.
  
Errors
+
les erreurs
  
    No function named name is defined: Undefined user function.
+
  Aucune fonction nommée nom est défini: la fonction de l'utilisateur non défini.
     The number of parameters differs from the function definition: Syntax error.
+
     Le nombre de paramètres diffère de la définition de la fonction: Erreur de syntaxe.
     The type of one or more parameters differs from the function definition: Type mismatch.
+
     Le type d'un ou plusieurs paramètres diffère de la fonction définition: incompatibilité de type.
     The return type is incompatible with the function name's sigil: Type mismatch.
+
     Le type de retour est incompatible avec sigil du nom de la fonction: Type de décalage.
     The function being called is recursive or mutually recursive: Out of memory.  
+
     La fonction appelée est récursive ou mutuellement récursives: Out of memory.  
  
FRE
+
FRE free_mem = FRE (x)
free_mem = FRE(x)
+
  
Returns the available BASIC memory.
+
Renvoie la mémoire de base disponibles. Paramètres
Parameters
+
  
x is an expression.
+
x est une expression.
  
    If x has a numeric value, it is ignored.
+
  Si x a une valeur numérique, il est ignoré.
     If x has a string value, garbage collection is performed before returning available memory.  
+
     Si x a une valeur de chaîne, la collecte des ordures est effectué avant de retourner la mémoire disponible.  
  
HEX$
+
HEX $ hex_repr = HEX $ (x)
hex_repr = HEX$(x)
+
  
Returns a string with the hexadecimal representation of x.
+
Retourne une chaîne avec la représentation hexadécimale de x. Paramètres
Parameters
+
  
    x is a numeric expression in [-32768—65535]. Values for negative x are shown as two's-complement.
+
  x est une expression numérique dans [-32768 à 65535]. Les valeurs de x négatifs sont présentés comme complément à deux.
  
Errors
+
les erreurs
  
    x is not in [-32768—65535]: Overflow.
+
  x est pas dans [-32768 à 65535]: Overflow.
     x has a string value: Type mismatch.
+
     x a une valeur de chaîne: Type mismatch.
  
INKEY$
+
INKEY $ key = INKEY $
key = INKEY$
+
  
Returns one key-press from the keyboard buffer. If the keyboard buffer is empty, returns the empty string. Otherwise, the return value is a one- or two- character string holding the e-ASCII code of the pressed key.
+
Renvoie une pression de touche de la mémoire tampon du clavier. Si la mémoire tampon du clavier est vide, renvoie la chaîne vide. Dans le cas contraire, la valeur de retour est une chaîne de caractères d'un ou deux contenant le code e-ASCII de la touche enfoncée. Remarques
Notes
+
  
    This function takes no arguments.
+
  Cette fonction ne prend aucun argument.
     When a function key F1–F10 is pressed, INKEY$ will return the letters of the associated macro — unless this macro has been set to empty with the KEY statement, in which case it returns the e-ASCII code for the function key.
+
     Quand une touche F1-F10 de fonction est pressée, INKEY $ renvoie les lettres de la macro associée - à moins que cette macro a été mis à vider la déclaration KEY, auquel cas il renvoie le code e-ASCII pour la touche de fonction.
  
INP
+
Code = INP INP (port)
code = INP(port)
+
  
Returns the value of an emulated machine port.
+
Renvoie la valeur d'un port de la machine émulée. Paramètres
Parameters
+
  
port is a numeric expression in [0—65535].
+
port est une expression numérique dans [0-65535]. Port Effect & h60 Retourne le scancode clavier pour la touche actuelle enfoncée ou la dernière touche relâchée. Les scancodes retournés par INP (& h60) sont ceux qui figurent dans le tableau des scancodes clavier. Si une clé est actuellement vers le bas, la valeur de retour est son scancode. Si aucune touche est enfoncée, la valeur de retour est le scancode de la dernière touche relâchée, incrémenté de 128. & H201 Renvoie la valeur du port de jeu (port joystick). Cette valeur est construite comme suit: Bit Signification 0 joystick 2 x axe 1 joystick 1 y 2 axes joystick 1 axe x 3 joystick 2 y 4 axes joystick 2 bouton 1 5 joystick 1 bouton 2 6 joystick 1 bouton 1 7 joystick 2 bouton 2 les bits de boutons sont 0 lorsque le bouton est tiré, 1 sinon. Les valeurs de l'axe sont normalement 0 mais sont mis à 1 par OUT & H201, x, puis retomber à 0 après un délai. Plus le délai est élevé, plus la valeur de l'axe. d'autres valeurs renvoie zéro. Remarques
port Effect
+
&h60 Returns the keyboard scancode for the current key pressed or the last key released. The scancodes returned by INP(&h60) are those listed in the keyboard scancodes table. If a key is currently down, the return value is its scancode. If no key is down, the return value is the scancode of the last key released, incremented by 128.
+
&h201 Returns the value of the game port (joystick port). This value is constructed as follows:
+
Bit Meaning
+
0 joystick 2 x-axis
+
1 joystick 1 y-axis
+
2 joystick 1 x-axis
+
3 joystick 2 y-axis
+
4 joystick 2 button 1
+
5 joystick 1 button 2
+
6 joystick 1 button 1
+
7 joystick 2 button 2
+
The button bits are 0 when the button is fired, 1 otherwise. The axis values are normally 0 but are set to 1 by OUT &h201, x and then fall back to 0 after a delay. The longer the delay, the higher the axis value.
+
other values Returns zero.
+
Notes
+
  
    Only a limited number of machine ports are emulated in PC-BASIC.
+
  Seul un nombre limité de ports de la machine sont émulés dans PC-BASIC.
  
Errors
+
les erreurs
  
    port is not in [-32768—65535]: Overflow.
+
  port est pas dans [-32768 à 65535]: Overflow.
     port has a string value: Type mismatch.
+
     port a une valeur de chaîne: Type mismatch.
  
INPUT$
+
ENTREE $ CHARS = entrée [] $ (num_chars [[#] file_num])
chars = INPUT[ ]$ (num_chars [, [#] file_num])
+
  
Returns a string of num_chars characters from the keyboard or, if file_num is provided, from a text file.
+
Retourne une chaîne de caractères NUM_CHARS à partir du clavier ou, si file_num est fourni, à partir d'un fichier texte. Paramètres
Parameters
+
  
    num_chars is a numeric expression in [1—255].
+
  num_chars est une expression numérique dans [1-255].
     file_num is a numeric expression that returns the number of a text file opened in INPUT mode. The # is optional and has no effect.
+
     file_num est une expression numérique qui renvoie le numéro d'un fichier texte ouvert en mode INPUT. Le # est facultative et n'a aucun effet.
  
Notes
+
Remarques
  
    This is a blocking read. It will wait for characters if there are none in the buffer.
+
  Ceci est un blocage lu.  Il attendra des caractères s'il n'y en a pas dans la mémoire tampon.
     All control characters except Ctrl+Break, Ctrl+Scroll Lock and Pause are passed to the string by INPUT$. Ctrl+Break and Ctrl+Scroll Lock break execution whereas Pause halts until another key is pressed (and not read).
+
     Tous les caractères de contrôle, à l'exception Ctrl + Pause, Ctrl + Arrêt défil et Pause sont transmis à la chaîne par $ INPUT. Ctrl + Pause et l'exécution de pause Ctrl + Arrêt défil Pause alors que les arrêts jusqu'à ce qu'une autre touche est pressée (et non lu).
     When reading from the keyboard directly or through KYBD:, arrow keys, Del, Home, End, Pg Up, Pg Dn are passed as NUL characters. Function keys are ignored if they are event-trapped, otherwise function-key macro replacement is active as normal.
+
     Lors de la lecture à partir du clavier directement ou par KYBD :, touches fléchées, Del, Début, Fin, Pg Up, Pg Dn sont passés comme des caractères NUL. Les touches de fonction sont ignorées si elles sont les événements piégés, sinon la fonction-clé macro remplacement est actif comme normal.
  
Errors
+
les erreurs
  
    num_chars is not in [-32768—32767]: Overflow.
+
  num_chars est pas dans [-32.768 à 32.767]: Overflow.
     num_chars is not in [1—255]: Illegal function call.
+
     num_chars est pas dans [1-255]: Illegal appel de fonction.
     file_num is not an open file: Bad file number.
+
     file_num est pas un fichier ouvert: Numéro de fichier incorrect.
     file_num is less than zero: Illegal function call.
+
     file_num est inférieur à zéro: Illegal appel de fonction.
     file_num is greater than 32767: Overflow.
+
     file_num est supérieure à 32767: Overflow.
     file_num is not open for INPUT: Bad file mode.
+
     file_num est pas ouvert pour INPUT: mode de fichier incorrect.
     num_chars or file_num are strings: Type mismatch.
+
     num_chars ou file_num sont des chaînes: Incompatibilité de type.
     file_num is open to a COM port and this is the first INPUT, LINE INPUT or INPUT$ call on that port since the buffer has filled up completely (i.e. LOF(file_num) has become zero): Communication buffer overflow.
+
     file_num est ouvert à un port COM et ceci est la première entrée, LINE INPUT ou INPUT $ appel sur ce port depuis le tampon a rempli complètement (c.-à-LOF (file_num) est devenu zéro): débordement de mémoire tampon de communication.
  
INSTR
+
INSTR position = INSTR ([début,] parent, enfant)
position = INSTR([start,] parent, child)
+
  
Returns the location of the first occurrence of the substring child in parent.
+
Renvoie l'emplacement de la première occurrence de l'enfant substring dans parent. Paramètres
Parameters
+
  
    parent and child are string expressions.
+
  parents et enfants sont les expressions de chaîne.
     start is a numeric expression in [1—255], specifying the starting position from where to look; if not specified, the search starts at character 1.
+
     commencer est une expression numérique dans [1-255], en précisant la position à partir de où chercher; si non spécifié, la recherche commence au caractère 1.
  
Notes
+
Remarques
  
    If child is not a substring of parent occurring at or before start, INSTR returns 0.
+
  Si l'enfant ne sont pas une sous-parent se produisant à ou avant le début, INSTR renvoie 0.
  
Errors
+
les erreurs
  
    start has a string value or parent or child have numeric values: Type mismatch.
+
  démarrage a une valeur de chaîne ou d'un parent ou d'un enfant ont des valeurs numériques: incompatibilité de type.
     start is not in [-32768—32767]: Overflow.
+
     début est pas dans [-32768 à 32767]: Overflow.
     start is not in [1—255]: Illegal function call.
+
     début est pas dans [1-255]: Illegal appel de fonction.
  
INT
+
ensemble INT = INT (nombre)
whole = INT(number)
+
  
Returns number truncated towards negative infinity.
+
Retourne le nombre tronqué vers l'infini négatif. Paramètres
Parameters
+
  
    number is a numeric expression.
+
  nombre est une expression numérique.
  
Notes
+
Remarques
  
    FIX truncates towards zero: it removes the fractional part. By contrast, INT truncates towards negative infinity. For negative x, FIX(x)-INT(x)=1.
+
  FIX tronque vers zéro: il supprime la partie fractionnaire. En revanche, INT tronque vers l'infini négatif. Pour x négatifs FIX (x) -INT (x) = 1.
  
Errors
+
les erreurs
  
    number is a string expression, Type mismatch .
+
  nombre est une expression de chaîne, Incompatibilité de type.
  
IOCTL$
+
IOCTL $ result = IOCTL [] $ ([#] file_num)
result = IOCTL[ ]$ ([#] file_num)
+
  
Raises Illegal function call.
+
Déclenche illégale appel de fonction. Remarques
Notes
+
  
    In GW-BASIC, IOCTL$ reads the reply to IOCTL from a device.
+
  Dans GW-BASIC, IOCTL $ lit la réponse à IOCTL à partir d'un appareil.
     This function is not implemented in PC-BASIC.
+
     Cette fonction est pas implémentée dans PC-BASIC.
  
Errors
+
les erreurs
  
    file_num has a string value: Type mismatch.
+
  file_num a une valeur de chaîne: Type mismatch.
     file_num is not in [-32768—32767]: Overflow.
+
     file_num est pas dans [-32.768 à 32.767]: Overflow.
     file_num is not an open file: Bad file number.
+
     file_num est pas un fichier ouvert: Numéro de fichier incorrect.
     Otherwise: Illegal function call
+
     Dans le cas contraire: Illegal appel de fonction
  
LEFT$
+
LEFT $ enfant = LEFT $ (parent, num_chars)
child = LEFT$(parent, num_chars)
+
  
Returns the leftmost num_chars characters of parent.
+
Renvoie les caractères les plus à gauche NUM_CHARS de parent. Paramètres
Parameters
+
  
    parent is a string expression.
+
  parent est une expression de chaîne.
     num_chars is a numeric expression in [0—255].
+
     num_chars est une expression numérique dans [0-255].
  
Notes
+
Remarques
  
    If num_chars is zero or parent is empty, LEFT$ returns an empty string.
+
  Si num_chars est zéro ou parent est vide, LEFT $ retourne une chaîne vide.
     If num_chars is greater than the length of parent, returns parent.
+
     Si num_chars est supérieure à la longueur de la mère, le rendement parent.
  
Errors
+
les erreurs
  
    parent has a numeric value or num_chars has a string value: Type mismatch.
+
  parent a une valeur numérique ou num_chars a une valeur chaîne: Incompatibilité de type.
     num_chars is not in [-32768—32767]: Overflow.
+
     num_chars est pas dans [-32.768 à 32.767]: Overflow.
     num_chars is not in [0—255]: Illegal function call.
+
     num_chars est pas dans [0-255]: Illegal appel de fonction.
  
LEN
+
longueur LEN = LEN (string)
length = LEN(string)
+
  
Returns the number of characters in string.
+
Retourne le nombre de caractères dans la chaîne. Paramètres
Parameters
+
  
    string is a string expression.
+
  chaîne est une expression de chaîne.
  
Errors
+
les erreurs
  
    string has a number value: Type mismatch.
+
  chaîne a une valeur numérique: incompatibilité de type.
  
LOC
+
emplacement LOC = LOC (file_num)
location = LOC(file_num)
+
  
Returns the current location in the file opened under number file_num.
+
Renvoie l'emplacement actuel dans le fichier ouvert sous le numéro file_num.
  
    If the file is opened for INPUT, OUTPUT or APPEND, LOC returns the number of 128-byte blocks read or written since opening the file.
+
  Si le fichier est ouvert pour INPUT, OUTPUT ou APPEND, LOC renvoie le nombre de blocs de 128 octets lus ou écrits depuis l'ouverture du fichier.
     If the file is opened for RANDOM, LOC returns the record number last read or written.
+
     Si le fichier est ouvert pour RANDOM, LOC renvoie le numéro d'enregistrement dernier lu ou écrit.
     If the file is opened to a COM device, LOC returns the number of characters in the input buffer, with a maximum of 255.
+
     Si le fichier est ouvert pour un dispositif COM, LDC renvoie le nombre de caractères dans le tampon d'entrée, avec un maximum de 255.
     If the file is opened to KYBD:, LOC returns 0.
+
     Si le fichier est ouvert à KYBD :, LOC renvoie 0.
  
Parameters
+
Paramètres
  
    file_num is a numeric expression in the range [0—255].
+
  file_num est une expression numérique dans l'intervalle [0-255].
  
Notes
+
Remarques
  
    file_num must not be preceded by a #.
+
  file_num ne doit pas être précédé d'un #.
     In OUTPUT or APPEND mode, before any writes LOC returns 0. After the 128th character is written, LOC returns 1.
+
     Dans SORTIE ou le mode APPEND, avant écrit tout retourne LOC 0. Après le caractère 128e est écrit, LOC renvoie 1.
     In INPUT mode, before any reads LOC returns 1. After the 129th character is read, LOC returns 2.
+
     En mode INPUT, avant toute lit retourne LOC 1. Après le caractère 129e est lu, LOC renvoie 2.
  
Errors
+
les erreurs
  
    file_num has a string value: Type mismatch.
+
  file_num a une valeur de chaîne: Type mismatch.
     file_num is not in [-32768—32767]: Overflow.
+
     file_num est pas dans [-32.768 à 32.767]: Overflow.
     file_num is not in [0—255]: Illegal function call.
+
     file_num est pas dans [0-255]: Illegal appel de fonction.
     file_num is not an open file: Bad file number.
+
     file_num est pas un fichier ouvert: Numéro de fichier incorrect.
     file_num is open to a LPT device: Bad file mode.
+
     file_num est ouvert à un dispositif LPT: mode de fichier incorrect.
  
LOF
+
longueur LOF = LOF (file_num)
length = LOF(file_num)
+
  
Returns the number of bytes in the file open under file_num.
+
Retourne le nombre d'octets dans le fichier ouvert sous file_num. Paramètres
Parameters
+
  
    file_num is a numeric expression in the range [0—255].
+
  file_num est une expression numérique dans l'intervalle [0-255].
  
Notes
+
Remarques
  
    If file_num is open to a COM: device, LOF returns the number of bytes free in the input buffer.
+
  Si file_num est ouvert à un COM: dispositif, LOF renvoie le nombre d'octets libres dans le tampon d'entrée.
  
Errors
+
les erreurs
  
    file_num has a string value: Type mismatch.
+
  file_num a une valeur de chaîne: Type mismatch.
     file_num is not in [-32768—32767]: Overflow.
+
     file_num est pas dans [-32.768 à 32.767]: Overflow.
     file_num is not in [0—255]: Illegal function call.
+
     file_num est pas dans [0-255]: Illegal appel de fonction.
     file_num is not an open file: Bad file number.
+
     file_num est pas un fichier ouvert: Numéro de fichier incorrect.
     file_num is open to a LPT device: Bad file mode.
+
     file_num est ouvert à un dispositif LPT: mode de fichier incorrect.
  
LOG
+
LOG y = LOG (x)
y = LOG(x)
+
  
Returns the natural logarithm of x.
+
Renvoie le logarithme naturel de x. Paramètres
Parameters
+
  
    x is a numeric expression greater than zero.
+
  x est une expression numérique supérieure à zéro.
  
Notes
+
Remarques
  
    Unless PC-BASIC is run with the double option, this function returns a single-precision value.
+
  Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
     LOG(x) can differ from GW-BASIC by 1 in the least significant digit.
+
     LOG (x) peut différer de GW-BASIC par 1 dans le chiffre le moins significatif.
  
Errors
+
les erreurs
  
    x has a string value: Type mismatch.
+
  x a une valeur de chaîne: Type mismatch.
     x is zero or negative: Illegal function call.
+
     x est nul ou négatif: Illegal appel de fonction.
  
LPOS
+
Position LPOS = LPOS (printer_number)
position = LPOS(printer_number)
+
  
Returns the column position for a printer.
+
Renvoie la position de la colonne pour une imprimante. Paramètres
Parameters
+
  
    printer_number is a numeric expression in [0—3]. If it is 0 or 1, the position for LPT1: is returned. If it is 2, LPT2:; 3, LPT3:.
+
  printer_number est une expression numérique dans [0-3]. Si elle est 0 ou 1, la position LPT1 est retournée. Si elle est 2, LTP2 :; 3, LPT3 :.
  
Notes
+
Remarques
  
    In GW-BASIC, when entering direct mode, LPT1: (but not other printers) is flushed and its position is reset to 1. This is not implemented in PC-BASIC.
+
  Dans GW-BASIC, en entrant dans le mode direct, LPT1: (mais pas d'autres imprimantes) est rouge et sa position est remise à 1. Ce ne sont pas mis en œuvre dans PC-BASIC.
  
Errors
+
les erreurs
  
    printer_number has a string value: Type mismatch.
+
  printer_number a une valeur de chaîne: Type mismatch.
     printer_number is not in [-32768—32767]: Overflow.
+
     printer_number est pas dans [-32768 à 32767]: Overflow.
     printer_number is not in [0—3]: Illegal function call.
+
     printer_number est pas dans [0-3]: Illegal appel de fonction.
  
MID$ (function)
+
MID $ (function) substring = MID $ (string, la position [, longueur])
substring = MID$(string, position [, length])
+
  
Returns a substring of string starting at position, counting from 1. The substring has length length if specified, defaulting to 1.
+
Renvoie une sous-chaîne de chaîne commençant à la position, à compter de 1. La chaîne a une longueur de longueur si elle est spécifiée, par défaut 1. Paramètres
Parameters
+
  
    string is a string expression.
+
  chaîne est une expression de chaîne.
     position is a numeric expression between 1 and the string length, inclusive.
+
     position est une expression numérique entre 1 et la longueur de la chaîne, y compris.
     length is a numeric expression in [0—255].
+
     longueur est une expression numérique dans [0-255].
  
Errors
+
les erreurs
  
    string has a number value or position or length have string values: Type mismatch.
+
  chaîne a une valeur de nombre ou la position ou la longueur des valeurs de chaîne: Type mismatch.
     position or length are not in [-32768—32767]: Overflow.
+
     la position ou la longueur ne sont pas dans [-32768 à 32767]: Overflow.
     position is not in [1—255]: Illegal function call.
+
     la position est pas dans [1-255]: Illegal appel de fonction.
     length is not in [0—255]: Illegal function call.
+
     longueur est pas dans [0-255]: Illegal appel de fonction.
  
MKD$
+
MKD $ octets = MKD $ (double)
bytes = MKD$(double)
+
  
Returns the internal 8-byte Microsoft Binary Format representation of a double- precision number.
+
Renvoie l'interne de 8 octets Microsoft Binary Format représentation d'un numéro de double précision. les erreurs
Errors
+
  
    double has a string value: Type mismatch.
+
  double a une valeur de chaîne: Type mismatch.
  
MKI$
+
MKI $ octets = MKI $ (int)
bytes = MKI$(int)
+
  
Returns the internal 2-byte little-endian representation of an integer.
+
Retourne le 2 octets représentation little-endian interne d'un entier. les erreurs
Errors
+
  
    int has a string value: Type mismatch.
+
  int a une valeur de chaîne: Type mismatch.
     int is not in [-32768—32767]: Overflow.
+
     int est pas dans [-32768 à 32767]: Overflow.
  
MKS$
+
MKS $ octets = MKS $ (simple)
bytes = MKS$(single)
+
  
Returns the internal 8-byte Microsoft Binary Format representation of a single- precision number.
+
Renvoie l'interne de 8 octets Microsoft Binary Format représentation d'un nombre de précision unique. les erreurs
Errors
+
  
    single has a string value: Type mismatch.
+
  seule a une valeur de chaîne: Type mismatch.
  
OCT$
+
Octobre $ octal = octobre $ (x)
octal = OCT$(x)
+
  
Returns a string with the octal representation of x.
+
Retourne une chaîne avec la représentation octal de x. Paramètres
Parameters
+
  
    x is a numeric expression in [-32768—65535]. Values for negative x are shown as two's-complement.
+
  x est une expression numérique dans [-32768 à 65535]. Les valeurs de x négatifs sont présentés comme complément à deux.
  
Errors
+
les erreurs
  
    x has a string value: Type mismatch.
+
  x a une valeur de chaîne: Type mismatch.
     x is not in [-32768—65535]: Overflow.
+
     x est pas dans [-32768 à 65535]: Overflow.
  
PEEK
+
valeur PEEK = PEEK (adresse)
value = PEEK(address)
+
  
Returns the value of the memory at segment * 16 + address where segment is the current segment set with DEF SEG.
+
Renvoie la valeur de la mémoire au niveau du segment * 16 + adresse où segment est le segment courant réglé avec DEF SEG. Paramètres
Parameters
+
  
    address is a numeric expression in [-32768—65535]. Negative values are interpreted as their two's complement.
+
  adresse est une expression numérique dans [-32768-65535]. Les valeurs négatives sont interprétées comme complément à leurs deux.
  
Notes
+
Remarques
  
    The memory is only partly emulated in PC-BASIC. See Memory model for supported addresses. Outside emulated areas, PEEK returns 0.
+
  La mémoire est que partiellement émulée dans PC-BASIC. Voir modèle de mémoire pour les adresses prises en charge. En dehors des zones émulé, PEEK retourne 0.
     Values for particular memory address can be preset on the command line using the peek option. This can be used for compatibility with old programs. These values will override video or data segment values, if they are in those locations.
+
     Les valeurs pour adresse particulière de la mémoire peuvent être préréglés sur la ligne de commande en utilisant l'option de coup d'oeil. Ceci peut être utilisé pour assurer la compatibilité avec les anciens programmes. Ces valeurs remplacent les valeurs vidéo ou de segment de données, si elles sont dans ces endroits.
  
Errors
+
les erreurs
  
    address has a string value: Type mismatch.
+
  adresse a une valeur de chaîne: Type mismatch.
     address is not in [-32768—65535]: Overflow.
+
     adresse se trouve pas dans [-32768 à 65535]: Overflow.
  
PEN (function)
+
PEN (fonction) x = PEN (mode)
x = PEN(mode)
+
  
Reads the light pen. What this function returns depends on mode:
+
Lit le crayon optique. Qu'est-ce que cette fonction retourne dépend du mode: Mode Valeur de retour 0 Boolean; si le stylet a été en baisse depuis le dernier sondage. 1 x coordonnée du dernier stylo position 2 coordonnée y de la dernière plume position 3 Boolean; si le stylo est actuellement en baisse de 4 x coordonnée de la position actuelle du stylet 5 coordonnée y de la position actuelle du stylo 6 caractères coordonnée de ligne de la dernière plume position 7 de la colonne de caractères coordonnées de la dernière plume position 8 caractères coordonnée de ligne de la colonne actuelle de 9 caractères de position de plume coordonner des courants Paramètres de position du stylet
mode Return value
+
0 Boolean; whether the light pen has been down since last poll.
+
1 x coordinate of last pen down position
+
2 y coordinate of last pen down position
+
3 Boolean; whether the pen is currently down
+
4 x coordinate of current pen position
+
5 y coordinate of current pen position
+
6 character row coordinate of last pen down position
+
7 character column coordinate of last pen down position
+
8 character row coordinate of current pen position
+
9 character column coordinate of current pen position
+
Parameters
+
  
    mode is a numeric expression in [0—9].
+
  mode est une expression numérique dans [0-9].
  
Notes
+
Remarques
  
    In PC-BASIC, for pen down read mouse button pressed. For pen position read mouse pointer position.
+
  Dans PC-BASIC, pour stylo lu bouton de la souris enfoncé. Pour la position du stylet lire la position du pointeur de la souris.
  
Errors
+
les erreurs
  
    mode has a string value: Type mismatch.
+
  mode a une valeur de chaîne: Type mismatch.
     mode is not in [-32768—32767]: Overflow.
+
     mode est pas dans [-32768-32767]: Overflow.
     mode is not in [0—9]: Illegal function call.
+
     mode est pas dans [0-9]: Illegal appel de fonction.
  
PLAY (function)
+
PLAY (fonction) = longueur PLAY (voix)
length = PLAY(voice)
+
  
Returns the number of notes in the background music queue. The return value is in [0—16].
+
Retourne le nombre de notes dans la file d'attente de musique de fond. La valeur de retour est dans [0-16]. Paramètres
Parameters
+
  
    voice is a numeric expression in [0—255]. If syntax={pcjr|tandy}, indicates for which tone voice channel the number of notes is to be returned. If voice is not in [0—2], the queue for voice 0 is returned. For other choices of syntax, the voice value has no effect.
+
  la voix est une expression numérique dans [0-255]. Si la syntaxe = {PCjr | tandy}, indique pour quel canal ton de voix le nombre de notes doit être retourné. Si la voix est pas dans [0-2], la file d'attente pour la voix 0 est renvoyé. Pour d'autres choix de la syntaxe, la valeur de la voix n'a pas d'effet.
  
Notes
+
Remarques
  
    There are at most 16 notes in the music queue. Some GW-BASIC manuals claim there can be up to 32, but in reality PLAY only returns at the last 16 notes.
+
  Il y a au plus 16 notes dans la file d'attente de la musique. Certains manuels GW-BASIC prétendent qu'il peut y avoir jusqu'à 32, mais seulement dans la réalité lecture revient au cours des 16 dernières notes.
  
Errors
+
les erreurs
  
    voice has a string value: Type mismatch.
+
  voix a une valeur de chaîne: Type mismatch.
     voice is not in [0—255]: Illegal function call.
+
     la voix est pas dans [0-255]: Illegal appel de fonction.
     voice is not in [-32768—32767]: Overflow.
+
     la voix est pas dans [-32768 à 32767]: Overflow.
  
PMAP
+
PPAFM transformed_coord = PPAFM (original_coord, fn)
transformed_coord = PMAP(original_coord, fn)
+
  
Maps between viewport and logical (WINDOW) coordinates. If no VIEW has been set, the viewport coordinates are physical coordinates.
+
Plans entre viewport et logique (WINDOW) coordonne. Si aucune VIEW a été défini, les coordonnées de viewport sont coordonnées physiques.
  
Depending on the value of fn, PMAP transforms from logical to viewport coordinates or vice versa:
+
En fonction de la valeur de fn, PPAFM transforme de logique de coordonnées viewport ou vice versa: fn Valeur de retour 0 retour viewport donné x x 1 retour viewport logique y étant donné y logique 2 retour x logiques viewport donnée x 3 retour logique y viewport donnée y Paramètres
fn Return value
+
0 return viewport x given logical x
+
1 return viewport y given logical y
+
2 return logical x given viewport x
+
3 return logical y given viewport y
+
Parameters
+
  
    fn is a numeric expression in [0—3].
+
  fn est une expression numérique dans [0-3].
  
Notes
+
Remarques
  
    Initially, in text mode, PMAP returns 0.
+
  Dans un premier temps, en mode texte, PPAFM renvoie 0.
     In GW-BASIC, PMAP behaves anomalously on SCREEN changes, where it sometimes returns results as if the last WINDOW setting had persisted. This behaviour is not implemented in PC-BASIC.
+
     Dans GW-BASIC, PPAFM se comporte anormalement sur les changements d'écran, où il renvoie parfois des résultats comme si le dernier réglage de WINDOW avait persisté. Ce comportement n'a pas été mis en œuvre dans PC-BASIC.
  
Errors
+
les erreurs
  
    Any of the parameters has a string value: Type mismatch.
+
  Tout des paramètres a une valeur de chaîne: Type mismatch.
     A physical coordinate is not in [-32768—32767]: Overflow.
+
     Une coordonnée physique est pas dans [-32768 à 32767]: Overflow.
     fn is not in [-32768—32767]: Overflow.
+
     fn est pas dans [-32768 à 32767]: Overflow.
     fn is not in [0—3]: Illegal function call.
+
     fn est pas dans [0-3]: Illegal appel de fonction.
  
POINT (current coordinate)
+
POINT (coordonnées courant) coord = POINT (fn)
coord = POINT(fn)
+
  
Returns a currently active coordinate of the graphics screen. This is usually the last position at which a pixel has been plotted, the second corner given in a LINE command, or the centre of the viewport if nothing has been plotted. fn is a numeric expression in [0—3].
+
Retours une coordonnée active de l'écran graphique. Cela est généralement la dernière position à laquelle un pixel a été tracée, le second coin donné dans une commande LIGNE, ou le centre de la fenêtre si rien n'a été tracée. fn est une expression numérique dans [0-3].
  
The coordinate returned depends on the value of fn:
+
La coordonnée de retour dépend de la valeur de fn: fn Valeur de retour 0 viewport x 1 viewport y 2 x logique 3 Paramètres y logiques
fn Return value
+
0 viewport x
+
1 viewport y
+
2 logical x
+
3 logical y
+
Parameters
+
  
    fn is a numeric expression in [0—3].
+
  fn est une expression numérique dans [0-3].
  
Notes
+
Remarques
  
    In text mode, returns the active coordinate of any previous graphics mode; if no graphics mode has been active, returns 0.
+
  En mode texte, renvoie la coordonnée active de tout mode graphique précédent; si aucun mode graphique est actif, renvoie 0.
  
Errors
+
les erreurs
  
    fn has a string value: Type mismatch.
+
  fn a une valeur de chaîne: Type mismatch.
     fn is not in [-32768—32767]: Overflow.
+
     fn est pas dans [-32768 à 32767]: Overflow.
     fn is not in [0—3]: Illegal function call.
+
     fn est pas dans [0-3]: Illegal appel de fonction.
  
POINT (pixel attribute)
+
POINT (attribut pixel) attrib = POINT (x, y)
attrib = POINT(x, y)
+
  
Returns the attribute of the pixel at logical coordinate x,y.
+
Renvoie l'attribut du pixel à la logique de coordonnées x, y. Paramètres
Parameters
+
  
    x, y are numeric expressions in [-32768—32767].
+
  x, y sont des expressions numériques dans [-32768 à 32767].
  
Notes
+
Remarques
  
    If x,y is outside the screen, returns -1.
+
  Si x, y est en dehors de l'écran, renvoie -1.
  
Errors
+
les erreurs
  
    Function is called in text mode: Illegal function call.
+
  La fonction est appelée en mode texte: Illegal appel de fonction.
     x or y has a string value: Type mismatch.
+
     x ou y a une valeur de chaîne: Type mismatch.
     x or y or the physical coordinates they translate into are not in [-32768—32767]: Overflow.
+
     x ou y ou les coordonnées physiques qu'ils traduisent ne sont pas dans [-32768 à 32767]: Overflow.
  
POS
+
POS pos = POS (fictif)
pos = POS(dummy)
+
  
Returns the current cursor column position, in the range [1—80].
+
Renvoie la position de la colonne actuelle du curseur, dans l'intervalle [1-80]. Paramètres
Parameters
+
  
    dummy is a valid expression of any type; its value has no effect.
+
  dummy est une expression valide de tout type; sa valeur n'a pas d'effet.
  
RIGHT$
+
DROIT $ enfant = RIGHT $ (parent, num_chars)
child = RIGHT$(parent, num_chars)
+
  
Returns the rightmost num_chars characters of parent. If num_chars is zero or parent is empty, RIGHT$ returns an empty string. If num_chars is greater than the length of parent, returns parent.
+
Renvoie les caractères les plus à droite NUM_CHARS de parent. Si num_chars est zéro ou parent est vide, RIGHT $ retourne une chaîne vide. Si num_chars est supérieure à la longueur de la mère, le rendement parent. Paramètres
Parameters
+
  
    parent is a string expression.
+
  parent est une expression de chaîne.
     num_chars is a numeric expression in [0—255].
+
     num_chars est une expression numérique dans [0-255].
  
Errors
+
les erreurs
  
    num_chars has a string value: Type mismatch.
+
  num_chars a une valeur de chaîne: Type mismatch.
     num_chars is not in [-32768—32767]: Overflow.
+
     num_chars est pas dans [-32.768 à 32.767]: Overflow.
     num_chars is not in [0—255]: Illegal function call.
+
     num_chars est pas dans [0-255]: Illegal appel de fonction.
  
RND
+
RND aléatoire = RND [(x)]
random = RND[(x)]
+
  
Returns a pseudorandom number in the interval [0—1). x is a numeric expression. If x is zero, RND repeats the last pseudo-random number. If x is greater than zero, a new pseudorandom number is returned. If x is negative, the value of x is used to generate a new random number seed; after that, a new pseudorandom number is returned. The seed is generated in a different way than by RANDOMIZE.
+
Renvoie un nombre pseudo-aléatoire dans l'intervalle [0-1). x est une expression numérique. Si x est égal à zéro, RND répète le dernier numéro pseudo-aléatoire. Si x est supérieur à zéro, un nouveau nombre pseudo-aléatoire est retournée. Si x est négatif, la valeur de x est utilisée pour générer un nouveau germe de nombre aléatoire; après cela, un nouveau nombre pseudo-aléatoire est retournée. La graine est générée d'une manière différente que par HASARD. Remarques
Notes
+
  
    PC-BASIC's RND function generates pseudo-random numbers through a linear congruential generator with modulo 224, multiplier 214013 and increment 2531011. This exactly reproduces the random numbers of GW-BASIC's RND.
+
  La fonction RND de PC-BASIC génère des nombres pseudo-aléatoires à travers un générateur de congruence linéaire, avec modulo 224, multiplicateur 214.013 et incrémenter 2531011. Ce reproduit exactement les nombres aléatoires de la RND de GW-BASIC.
     It should be noted, however, that this is a very poor random number generator: its parameters imply a recurrence period of 224, meaning that after less than 17 million calls RND will wrap around and start running through the exact same series of numbers all over again. RND should not be used for cryptography, scientific simulations or anything else remotely serious.
+
     Il convient de noter, toutefois, que ce soit un très mauvais générateur de nombres aléatoires: ses paramètres impliquent une période de récurrence de 224, ce qui signifie que, après moins de 17 millions d'appels RND se terminera autour et commencer à courir à travers la même série exacte des nombres partout encore. RND ne doit pas être utilisé pour la cryptographie, les simulations scientifiques ou toute autre chose à distance sérieux.
  
Errors
+
les erreurs
  
    x has a string value: Type mismatch.
+
  x a une valeur de chaîne: Type mismatch.
  
SCREEN (function)
+
ECRAN (fonction) value = SCREEN (ligne, colonne [fn])
value = SCREEN(row, column [, fn])
+
  
Returns the code point or colour attribute for the character at position row, col.
+
Renvoie le point de code ou attribut de couleur pour le caractère à la position rangée, col. Paramètres
Parameters
+
  
    row is a numeric expression in the range [1—25].
+
  ligne est une expression numérique dans la gamme [1-25].
     col is a numeric expression between 1 and the screen width (40 or 80).
+
     col est une expression numérique entre 1 et la largeur de l'écran (40 ou 80).
     fn is a numeric expression in [0—255]. If it is zero or not specified, the code point of the character is returned. If it is non-zero, in text mode the attribute is returned; in other screens, 0 is returned.
+
     fn est une expression numérique dans [0-255]. Si elle est nulle ou non spécifié, le point du caractère de code est retourné. Si elle est non nulle, en mode texte l'attribut est renvoyée; dans d'autres écrans, 0 est renvoyé.
  
Errors
+
les erreurs
  
    Any parameter has a string value: Type mismatch.
+
  Tout paramètre a une valeur de chaîne: Type mismatch.
     fn is not in [0—255]: Illegal function call.
+
     fn est pas dans [0-255]: Illegal appel de fonction.
     fn is not in [-32768—32767]: Overflow.
+
     fn est pas dans [-32768 à 32767]: Overflow.
     row is not inside the current VIEW PRINT area: Illegal function call.
+
     ligne est pas à l'intérieur du courant secteur VIEW PRINT: Illegal appel de fonction.
     KEY ON and row=25: Illegal function call.
+
     KEY ON et rang = 25: Illegal appel de fonction.
     col is not in [1, width]: Illegal function call.
+
     col est pas dans [1, width]: Illegal appel de fonction.
  
SGN
+
signe SGN = SGN (nombre)
sign = SGN(number)
+
  
Returns the sign of number: 1 for positive, 0 for zero and -1 for negative.
+
Renvoie le signe du nombre: 1 pour le positif, 0 pour zéro et -1 pour le négatif. Paramètres
Parameters
+
  
    number is a numeric expression.
+
  nombre est une expression numérique.
  
Errors
+
les erreurs
  
    number has a string value: Type mismatch.
+
  nombre a une valeur de chaîne: Type mismatch.
  
SIN
+
SIN sinus = SIN (angle)
sine = SIN(angle)
+
  
Returns the sine of angle.
+
Retourne le sinus de l'angle. Paramètres
Parameters
+
  
    angle is a numeric expression giving the angle in radians.
+
  angle est une expression numérique donnant l'angle en radians.
  
Notes
+
Remarques
  
    Unless PC-BASIC is run with the double option, this function returns a single-precision value.
+
  Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
     The sine returned usually differs from the value returned by GW-BASIC in the least significant figure.
+
     Le sinus retourné généralement diffère de la valeur retournée par GW-BASIC dans le chiffre significatif.
  
Errors
+
les erreurs
  
    angle has a string value: Type mismatch.
+
  angle a une valeur de chaîne: Type mismatch.
  
SPACE$
+
SPACE $ espaces = SPACE $ (nombre)
spaces = SPACE$(number)
+
  
Returns a string of number spaces.
+
Retourne une chaîne d'espaces numériques. Paramètres
Parameters
+
  
    number is a numeric expression in [0—255].
+
  nombre est une expression numérique dans [0-255].
  
Errors
+
les erreurs
  
    number has a string value: Type mismatch.
+
  nombre a une valeur de chaîne: Type mismatch.
     number is not in [-32768—32767]: Overflow.
+
     nombre est pas dans [-32768 à 32767]: Overflow.
     number is not in [0—255]: Illegal function call.
+
     nombre est pas dans [0-255]: Illegal appel de fonction.
  
SQR
+
SQR root = SQR (nombre)
root = SQR(number)
+
  
Returns the square root of number.
+
Renvoie la racine carrée du nombre. Paramètres
Parameters
+
  
    number is a numeric expression.
+
  nombre est une expression numérique.
  
Notes
+
Remarques
  
    Unless PC-BASIC is run with the double option, this function returns a single-precision value.
+
  Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
  
Errors
+
les erreurs
  
    number has a string value: Type mismatch
+
  nombre a une valeur de chaîne: Incompatibilité de type
  
STICK
+
STICK pos = STICK (axe)
pos = STICK(axis)
+
  
Returns a coordinate of a joystick axis. All coordinates returned are in the range [1—254] with 128 indicating the neutral position.
+
Renvoie une coordonnée d'un axe de joystick. Toutes les coordonnées retournées sont dans l'intervalle [1-254] avec 128 indiquant la position neutre. axe Valeur de retour 0 1er joystick coordonnée x 1 1er joystick coordonnée y 2 2ème manette coordonnée x 3 2ème manette coordonnée y Paramètres
axis Return value
+
0 1st joystick x coordinate
+
1 1st joystick y coordinate
+
2 2nd joystick x coordinate
+
3 2nd joystick y coordinate
+
Parameters
+
  
    axis is a numeric expression in [0—3] and indicates which axis to read.
+
  axe est une expression numérique dans [0-3] et indique quel axe à lire.
  
Errors
+
les erreurs
  
    axis has a string value: Type mismatch
+
  axe a une valeur de chaîne: Incompatibilité de type
     axis is not in [-32768—32767]: Overflow.
+
     axe est à [-32768-32767]: Overflow.
     axis is not in [0—3]: Illegal function call.
+
     axe est à [0-3]: Illegal appel de fonction.
  
STR$
+
STR $ rééd = STR $ (nombre)
repr = STR$(number)
+
  
Returns the string representation of number.
+
Renvoie la représentation de chaîne du nombre. Paramètres
Parameters
+
  
    number is a numeric expression.
+
  nombre est une expression numérique.
  
Errors
+
les erreurs
  
    number has a string value: Type mismatch.
+
  nombre a une valeur de chaîne: Type mismatch.
  
STRIG (function)
+
STRIG (fonction) result = STRIG (mode)
result = STRIG(mode)
+
  
Returns the status of the joystick trigger buttons. STRIG returns the following results, all Boolean values:
+
Renvoie l'état des boutons joystick de déclenchement. STRIG renvoie les résultats suivants, toutes les valeurs booléennes: Mode Valeur de retour 0 1er joystick, 1er déclencheur a été enfoncé depuis le dernier sondage. Une première manette de commande, premier déclencheur est actuellement enfoncée. 2 2e joystick, 1er déclencheur a été enfoncé depuis le dernier sondage. 3 2e joystick, 1er déclencheur est actuellement pressé. 4 1er joystick, 2e déclencheur a été enfoncé depuis le dernier sondage. 5 première manette, deuxième gâchette est actuellement enfoncée. 6 2e joystick, 2e déclencheur a été enfoncé depuis le dernier sondage. 7 deuxième manette, deuxième gâchette est actuellement enfoncée. Paramètres
mode Return value
+
0 1st joystick, 1st trigger has been pressed since last poll.
+
1 1st joystick, 1st trigger is currently pressed.
+
2 2nd joystick, 1st trigger has been pressed since last poll.
+
3 2nd joystick, 1st trigger is currently pressed.
+
4 1st joystick, 2nd trigger has been pressed since last poll.
+
5 1st joystick, 2nd trigger is currently pressed.
+
6 2nd joystick, 2nd trigger has been pressed since last poll.
+
7 2nd joystick, 2nd trigger is currently pressed.
+
Parameters
+
  
    mode is a numeric expression in [0—7].
+
  mode est une expression numérique dans [0-7].
  
Notes
+
Remarques
  
    The STRIG function returns correct results regardless of the STRIG ON status or whether STRIG(0) has been called first.
+
  La fonction STRIG retourne des résultats corrects quel que soit le STRIG ON état ou si STRIG (0) a été appelé en premier.
  
Errors
+
les erreurs
  
    mode has a string value: Type mismatch.
+
  mode a une valeur de chaîne: Type mismatch.
     mode is not in [-32768—32767]: Overflow.
+
     mode est pas dans [-32768-32767]: Overflow.
     mode is not in [0—7]: Illegal function call.
+
     mode est pas dans [0-7]: Illegal appel de fonction.
  
STRING$
+
STRING $ string = STRING $ (longueur, char)
string = STRING$(length, char)
+
  
Returns a string of length times character char.
+
Renvoie une chaîne de longueur fois le caractère de l'omble. Paramètres
Parameters
+
  
    If char is a numeric expression, it must be in [0—255] and is interpreted as the code point of the character.
+
  Si l'omble est une expression numérique, il doit être dans [0-255] et est interprété comme le point le caractère de code.
     If char is a string expression, its first character is used.
+
     Si l'omble est une expression de chaîne, son premier caractère est utilisé.
  
Errors
+
les erreurs
  
    length has a string value: Type mismatch.
+
  longueur a une valeur de chaîne: Type mismatch.
     char is the empty string: Illegal function call.
+
     carbonisation est la chaîne vide: Illegal appel de fonction.
     char or length is not in [-32768—32767]: Overflow.
+
     char ou longueur est pas dans [-32768 à 32767]: Overflow.
     char or length is not in [0—255]: Illegal function call.
+
     char ou longueur est pas dans [0-255]: Illegal appel de fonction.
  
TAN
+
TAN TAN tangente = (angle)
tangent = TAN(angle)
+
  
Returns the tangent of angle.
+
Renvoie la tangente de l'angle. Paramètres
Parameters
+
  
    angle is a numeric expression giving the angle in radians.
+
  angle est une expression numérique donnant l'angle en radians.
  
Notes
+
Remarques
  
    Unless PC-BASIC is run with the double option, this function returns a single-precision value.
+
  Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
     The tangent returned usually differs from the value returned by GW-BASIC in the least significant figure.
+
     La tangente retourné généralement diffère de la valeur retournée par GW-BASIC dans le chiffre significatif.
     For angle close to multiples of π/2, the tangent is divergent or close to zero. The values returned will have very low precision in these cases.
+
     Pour angle proche de multiples de π / 2, la tangente est divergente ou proche de zéro. Les valeurs retournées auront très faible précision dans ces cas.
  
Errors
+
les erreurs
  
    angle has a string value: Type mismatch.
+
  angle a une valeur de chaîne: Type mismatch.
  
TIME$ (function)
+
TIME $ (fonction) temps = TIME $
time = TIME$
+
  
Returns the current BASIC time in the form "HH:mm:ss".
+
Renvoie l'heure actuelle BASIC sous la forme "HH: mm: ss". Remarques
Notes
+
  
    This function takes no arguments.
+
  Cette fonction ne prend aucun argument.
  
TIMER (function)
+
TIMER (fonction) secondes = TIMER
seconds = TIMER
+
  
Returns the number of seconds since midnight on the internal BASIC clock.
+
Retourne le nombre de secondes depuis minuit sur l'horloge de base interne. Remarques
Notes
+
  
    TIMER updates in ticks of 1/20 second.
+
  mises à jour TIMER dans les tiques de 1/20 seconde.
     The least-significant two bytes of TIMER are often used as a seed for the pseudorandom number generator through RANDOMIZE TIMER. Since these bytes only take values from a limited set, that's not in fact a particularly good random seed. However, the pseudorandom number generator included with GW-BASIC and PC-BASIC is so weak that it should not be used for anything serious anyway.
+
     Les deux moins significatifs octets de TIMER sont souvent utilisés comme une graine pour le générateur de nombres pseudo-aléatoires par RANDOMIZE TIMER. Étant donné que ces octets ne prennent des valeurs à partir d'un ensemble limité, qui est en fait pas particulièrement bonne semence aléatoire. Cependant, le générateur de nombres pseudo-aléatoires inclus avec GW-BASIC et PC-BASIC est si faible qu'il ne devrait pas être utilisé pour quelque chose de sérieux de toute façon.
     This function takes no arguments.
+
     Cette fonction ne prend aucun argument.
  
USR
+
valeur = USR USR [n] (expr)
value = USR[n](expr)
+
  
Returns zero.
+
Retourne zéro. Paramètres
Parameters
+
  
    n is a digit [0—9].
+
  n est un chiffre [0-9].
     expr is an expression.
+
     expr est une expression.
  
Notes
+
Remarques
  
    In GW-BASIC, calls a machine-code function and returns its return value.
+
  Dans GW-BASIC, appelle une fonction code machine et renvoie sa valeur de retour.
     This function is not implemented in PC-BASIC.
+
     Cette fonction est pas implémentée dans PC-BASIC.
  
Errors
+
les erreurs
  
    n is not a digit [0—9]: Syntax error.
+
  n est pas un chiffre [0-9]: Erreur de syntaxe.
  
VAL
+
valeur VAL = VAL (string)
value = VAL(string)
+
  
Returns the numeric value of the string expression string. Parsing stops as soon as the first character is encountered that cannot be part of a number. If no characters are parsed, VAL returns zero. See the section on numeric literals for the recognised number formats.
+
Renvoie la valeur numérique de la chaîne d'expression de chaîne. Parsing arrête dès que le premier caractère est rencontré qui ne peut pas faire partie d'un nombre. Si aucun caractère sont analysés, VAL renvoie zéro. Voir la section sur les littéraux numériques pour les formats numériques reconnus. Remarques
Notes
+
  
    Spaces before or even inside a number are ignored: VAL(" 1 0") returns 10.
+
  Les espaces avant ou même à l'intérieur d'un certain nombre sont ignorées: VAL ( "1 0") renvoie 10.
     If string contains one of the ASCII separator characters CHR$(28) (file separator), CHR$(29) (group separator) or CHR$(31) (unit separator), VAL returns zero. This is not the case with CHR$(30) (record separator). This behaviour conforms to GW-BASIC.
+
     Si la chaîne contient un des caractères de séparation ASCII CHR $ (28) (fichier séparateur), CHR $ (29) (séparateur de groupe) ou CHR $ (31) (séparateur d'unité), VAL retourne zéro. Ce n'est pas le cas avec CHR $ (30) (fiche séparateur). Ce comportement est conforme à la GW-BASIC.
  
Errors
+
les erreurs
  
    string has a number value: Type mismatch.
+
  chaîne a une valeur numérique: incompatibilité de type.
  
VARPTR
+
VARPTR pointeur = VARPTR ({nom | #file_num})
pointer = VARPTR({name|#file_num})
+
  
Returns the memory address of variable name or of the File Control Block of file number file_num.
+
Retourne l'adresse mémoire du nom de la variable ou du fichier bloc de contrôle du numéro de dossier file_num. Paramètres
Parameters
+
  
    name is a previously defined variable or fully indexed array element.
+
  nom est une variable définie précédemment ou élément de tableau entièrement indexés.
     file_num is a legal file number.
+
     file_num est un numéro de dossier juridique.
  
Notes
+
Remarques
  
    VARPTR can be used with PEEK to read a variable's internal representation.
+
  VARPTR peut être utilisé avec PEEK pour lire la représentation interne d'une variable.
  
Errors
+
les erreurs
  
    name has not been previously defined: Illegal function call.
+
  nom n'a pas été défini précédemment: Illegal appel de fonction.
     file_num has a string value: Type mismatch.
+
     file_num a une valeur de chaîne: Type mismatch.
     file_num is not in [1, max_files], where max_files is the maximum number of files as set by the max-files option: Bad file number.
+
     file_num est pas dans [1, MAX_FILES], où MAX_FILES est le nombre maximal de fichiers tel que défini par l'option max-fichiers: Numéro de fichier incorrect.
  
VARPTR$
+
VARPTR $ pointeur = VARPTR $ (nom)
pointer = VARPTR$(name)
+
  
Returns the memory address of variable name in the form of a 3-byte string. The first byte is the length of the record the pointer points to:
+
Retourne l'adresse mémoire du nom de la variable sous la forme d'une chaîne de 3 octets. Le premier octet est la longueur de l'enregistrement des points de pointeur à:
  
 
2
 
2
    for integers
+
 
 +
  pour les entiers
 +
 
 
3
 
3
    for strings (length + pointer to string space)
+
 
 +
  pour cordes (longueur + pointeur vers l'espace de chaîne)
 +
 
 
4
 
4
    for single-precision floats
+
 
 +
  pour les flotteurs simple précision
 +
 
 
8
 
8
    for double-precision floats
 
  
The last two bytes are the pointer address (as returned by VARPTR) in little-endian order.
+
  pour les flotteurs double précision
Errors
+
  
    name has not been previously defined: Illegal function call.
+
Les deux derniers octets sont l'adresse de pointeur (comme retourné par VARPTR) pour little-endian. les erreurs
  
Statements
+
  nom n'a pas été défini précédemment: Illegal appel de fonction.
  
A program line is composed of a line number and one or more statements. If multiple statements are put on one line, they must be separated by colons :. Statements may be empty. Each statement has its own idiosyncratic syntax.
+
Déclarations
  
Many reference works on GW-BASIC distinguish commands and statements; this distinction stems from the original Dartmouth design of the BASIC language, in which commands were not part of the language and could not be used in programs, but were rather used to control the interpreter itself. However, in GW-BASIC this distinction is less useful and therefore this reference includes what is traditionally thought of as commands in the category of statements.
+
Une ligne de programme est composé d'un numéro de ligne et un ou plusieurs états. Si plusieurs états sont mis sur une seule ligne, ils doivent être séparés par des virgules. Les déclarations peuvent être vides. Chaque énoncé a sa propre syntaxe idiosyncrasique.
AUTO
+
AUTO [line_number|.] [, [increment]]
+
  
Start automatic line numbering. Line numbers are automatically generated when Enter is pressed. If a program line exists at a generated line number, a * is shown after the line number. To avoid overwriting this line, leave it empty and press Enter. To stop automatic line numbering, press Ctrl+Break or Ctrl+C. The line being edited at that point is not saved. BASIC will return to command mode, even if AUTO was run from a program line.
+
De nombreux ouvrages de référence sur GW-BASIC distinguent les commandes et les déclarations; cette distinction découle de la conception Dartmouth originale du langage BASIC, dans lequel les commandes ne faisaient pas partie de la langue et ne pouvait pas être utilisé dans les programmes, mais ont été plutôt utilisé pour contrôler l'interprète lui-même. Cependant, dans GW-BASIC cette distinction est moins utile et donc cette référence comprend ce qui est traditionnellement considéré comme des commandes dans la catégorie des déclarations. AUTO AUTO [line_number |.] [, [Incrément]]
Parameters
+
  
    Line numbering starts at line_number, if specified. If . is specified, line numbering starts at the last program line that was stored. Otherwise, line numbering starts at 10.
+
Lancer la numérotation automatique des lignes. Les numéros de ligne sont générés automatiquement lorsque vous appuyez sur Entrée. Si une ligne de programme existe à un numéro de ligne généré, a * est affiché après le numéro de la ligne. Pour éviter d'écraser cette ligne, laissez-le vide et appuyez sur Entrée. Pour arrêter la numérotation automatique de la ligne, appuyez sur Ctrl + Pause ou Ctrl + C. La ligne en cours d'édition à ce moment ne sont pas sauvegardées. BASIC sera de retour en mode commande, même si AUTO a été exécuté à partir d'une ligne de programme. Paramètres
    Each next line number is incremented by increment, if specified. If a comma is used without specifying an increment, the last increment specified in an AUTO command is used. If not, increment defaults to 10.
+
  
Errors
+
  La numérotation des lignes commence à line_number, si spécifié.  Si .  est spécifié, la numérotation des lignes commence à la dernière ligne qui a été stocké de programme.  Dans le cas contraire, la numérotation des lignes commence à 10.
 +
    Chaque numéro de la ligne suivante est incrémenté par incrément, si spécifié.  Si une virgule est utilisée sans spécifier un incrément, le dernier incrément spécifié dans une commande AUTO est utilisé.  Sinon, incrémenter par défaut à 10.
  
    line_number is not an unsigned-integer value in [0—65529]: Syntax error.
+
les erreurs
    When automatic line numbering is enabled and Enter is pressed on an empty line with number larger than 65519: Undefined line number.
+
    increment is 0: Illegal function call.
+
  
BEEP
+
  line_number est pas une valeur non signée entier dans [0-65529]: Erreur de syntaxe.
BEEP
+
    Lorsque la numérotation automatique de la ligne est activée et vous appuyez sur Entrée sur une ligne vide avec un nombre plus grand que 65519: numéro de ligne défini.
 +
    incrément est 0: Illegal appel de fonction.
  
Beep the speaker at 800Hz for 0.25s.
+
BIP BIP
Errors
+
  
    If a Syntax error is raised, the beep is still produced.
+
Beep le haut-parleur à 800Hz pour 0,25s. les erreurs
  
BEEP (switch)
+
  Si une erreur de syntaxe est soulevée, le bip est encore produit.
BEEP {ON|OFF}
+
  
This statement has no effect.
+
BEEP (switch) BEEP {ON | OFF}
Notes
+
  
    Only legal with the syntax={pcjr|tandy} option.
+
Cette déclaration n'a aucun effet. Remarques
    On PCjr and Tandy computers, BEEP OFF would turn off the internal speaker. On PC-BASIC, both the internal and the external speaker are emulated through the same sound system.
+
  
BLOAD
+
  Seulement juridique avec le = {PCjr | tandy} syntaxe option.
BLOAD file_spec [, offset]
+
    Sur les ordinateurs PCjr et Tandy, BEEP OFF serait éteindre le haut-parleur interne.  Le PC-BASIC, à la fois interne et haut-parleur externe sont émulées par le même système de sonorisation.
  
Loads a memory image file into memory.
+
BLOAD BLOAD file_spec [, offset]
Parameters
+
  
    The string expression file_spec is a valid file specification indicating the file to read the memory image from.
+
Charge un fichier d'image de mémoire dans la mémoire. Paramètres
    offset is a numeric expression in the range [-32768—65535]. It indicates an offset in the current DEF SEG segment where the file is to be stored. If not specified, the offset stored in the BSAVE file will be used. If negative, its two's complement will be used.
+
  
Errors
+
  Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à lire l'image de la mémoire à partir.
 +
    offset est une expression numérique dans l'intervalle [-32.768 à 65.535].  Il indique un décalage dans le segment actuel DEF SEG où le fichier doit être stocké.  Si non spécifié, le décalage stocké dans le fichier BSAVE sera utilisé.  Si elle est négative, le complément de ses deux sera utilisé.
  
    The loaded file is not in BSAVE format: Bad file mode.
+
les erreurs
    file_spec contains disallowed characters: Bad file number (on CAS1:); Bad file name (on disk devices).
+
    file_spec has a numeric value: Type mismatch.
+
    offset is not in the range [-32768—65535]: Overflow.
+
  
BSAVE
+
  Le fichier chargé est pas au format BSAVE: le mode de fichier incorrect.
BSAVE file_spec, offset, length
+
    file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
 +
    file_spec a une valeur numérique: incompatibilité de type.
 +
    offset est pas dans l'intervalle [-32768 à 65535]: Overflow.
  
Saves a region of memory to an image file.
+
BSAVE BSAVE file_spec, offset, longueur
Parameters
+
  
    The string expression file_spec is a valid file specification indicating the file to write to.
+
Enregistre une région de mémoire dans un fichier image. Paramètres
    offset is a numeric expression in the range [-32768—65535] indicating the offset into the current DEF SEG segment from where to start reading.
+
    length is a numeric expression in the range [-32768—65535] indicating the number of bytes to read.
+
    If offset or length are negative, their two's complement will be used.
+
  
Errors
+
  Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à écrire.
 +
    offset est une expression numérique dans l'intervalle [-32.768 à 65.535] indiquant le décalage dans le segment courant DEF SEG par où commencer la lecture.
 +
    longueur est une expression numérique dans l'intervalle [-32768 à 65535] indiquant le nombre d'octets à lire.
 +
    Si le décalage ou la longueur sont négatives, leur complément à deux sera utilisé.
  
    file_spec has a numeric value: Type mismatch.
+
les erreurs
    file_spec contains disallowed characters: Bad file number (on CAS1:); Bad file name (on disk devices).
+
    offset is not in the range [-32768—65535]: Overflow.
+
    length is not in the range [-32768—65535]: Overflow.
+
  
CALL
+
  file_spec a une valeur numérique: incompatibilité de type.
CALL address_var [( p0 [, p1] ... )]
+
    file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
 +
    offset est pas dans l'intervalle [-32768 à 65535]: Overflow.
 +
    longueur est pas dans l'intervalle [-32768 à 65535]: Overflow.
  
Does nothing.
+
CALL CALL address_var [(p0 [p1] ...)]
Notes
+
  
    In GW-BASIC, CALL executes a machine language subroutine.
+
Ne fait rien. Remarques
    This statement is not implemented in PC-BASIC.
+
  
Parameters
+
  Dans GW-BASIC, CALL exécute un sous-programme en langage machine.
 +
    Cette déclaration n'a pas été mis en œuvre dans PC-BASIC.
  
    address_var is a numeric variable.
+
Paramètres
    p0, p1, ... are variables.
+
  
Errors
+
  address_var est une variable numérique.
 +
    P0, P1, ... sont des variables.
  
    address_var is a string variable: Type mismatch.
+
les erreurs
    address_var is a literal: Syntax error.
+
  
CALLS
+
  address_var est une variable chaîne: Incompatibilité de type.
CALLS address_var [( p0 [, p1] ... )]
+
    address_var est un littéral: Erreur de syntaxe.
  
Does nothing.
+
APPELS APPELS address_var [(p0 [p1] ...)]
Notes
+
  
    In GW-BASIC, CALLS executes a FORTRAN subroutine.
+
Ne fait rien. Remarques
    This statement is not implemented in PC-BASIC.
+
  
Parameters
+
  Dans GW-BASIC, APPELLE exécute un sous-programme FORTRAN.
 +
    Cette déclaration n'a pas été mis en œuvre dans PC-BASIC.
  
    address_var is a numeric variable.
+
Paramètres
    p0, p1, ... are variables.
+
  
Errors
+
  address_var est une variable numérique.
 +
    P0, P1, ... sont des variables.
  
    address_var is a string variable: Type mismatch.
+
les erreurs
    address_var is a literal: Syntax error.
+
  
CHAIN
+
  address_var est une variable chaîne: Incompatibilité de type.
CHAIN [MERGE] file_spec [, [line_number_expr] [, ALL] [, DELETE range [, ign]]]
+
    address_var est un littéral: Erreur de syntaxe.
  
Loads a program from file into memory and runs it, optionally transferring variables.
+
CHAINE [MERGE] file_spec [[line_number_expr] [, ALL] [, DELETE plage [, ign]]]
  
    If ALL is specified, all variables are transferred. If not, the variables specified in a COMMON statement are transferred.
+
Charge un programme à partir du fichier dans la mémoire et l'exécute, le transfert éventuellement des variables.
    If MERGE is specified, the loaded program is merged into the existing program. To be able to use this, the program file indicated by file_spec must be in plain text format.
+
    If DELETE is specified, the range of line numbers is deleted from the existing code before the merge. This is pointless without MERGE.
+
  
Parameters
+
Si All Est specified, Toutes les cessionnaires des variables. Sont  Dans le cas contraire, les variables spécifiées dans une déclaration commune sont transférés.
 +
    Si MERGE est spécifié, le programme chargé est fusionné dans le programme existant.  Pour pouvoir l'utiliser, le fichier de programme indiqué par file_spec doit être au format texte brut.
 +
    Si SUPPR est spécifié, la gamme des numéros de ligne est supprimé du code existant avant la fusion.  Cela est inutile sans MERGE.
  
    The string expression file_spec is a valid file specification indicating the file to read the program from.
+
Paramètres
    line_number_expr is a numeric expression. It will be interpreted as a line number in the new program and execution will start from this line number. If line_number_expr is negative, it will be interpreted as its two's-complement.
+
    range is a line number range of which the closing line number is specified and exists before the merge.
+
    ign is optional and ignored.
+
  
Notes
+
Le file_spec d'expression de chaîne is a spécification de fichier valide indiquant le programme Initiation à lire à partir chier.
 +
    line_number_expr est une expression numérique.  Il sera interprété comme un numéro de ligne dans le nouveau programme et l'exécution va commencer à partir de ce numéro de ligne.  Si line_number_expr est négatif, il sera interprété comme son complément à deux.
 +
    plage est une plage de numéro de ligne dont le numéro de ligne de fermeture est spécifiée et existe avant la fusion.
 +
    ign est optionnel et ignoré.
  
    CHAIN preserves the OPTION BASE setting.
+
Remarques
    COMMON variables remain COMMON for the next CHAIN.
+
    Only if ALL is specified, DEF FN definitions are preserved.
+
    Only if MERGE is specified, DEFINT, DEFSTR, DEFSNG, DEFDBL definitions are preserved.
+
    If specified, ALL must precede DELETE; if unspecified, no comma must be put in its place and only two commas should precede DELETE.
+
  
Errors
+
CHAÎNE conserver le reglage OPTION DE BASE.
 +
    variables communes restent COMMON pour la chaîne suivante.
 +
    Seulement si ALL est spécifié, les définitions DEF FN sont préservés.
 +
    Seulement si MERGE est spécifié, définitions DEFINT, DEFSTR, DefSng, DEFDBL sont préservés.
 +
    Si spécifié, ALL doit précéder SUPPRIMER;  si non spécifié, pas de virgule doit être mis à sa place et que deux virgules doit précéder DELETE.
  
    file_spec has a numeric value: Type mismatch.
+
les erreurs
    file_spec contains disallowed characters: Bad file number (on CAS1:); Bad file name (on disk devices).
+
    The file specified in file_spec cannot be found: File not found.
+
    MERGE is specified and the loaded program was not saved in plain-text mode: Bad file mode.
+
    A line number in range is greater than 65529: Syntax error.
+
    If a Syntax error is raised by CHAIN, no lines are deleted and the new program is not loaded.
+
    The closing line number in range does not exist: Illegal function call
+
    If line_number_expr does not evaluate to an existing line number in the new program, Illegal function call is raised but the load or merge is being performed.
+
  
CHDIR
+
file_spec une Une valeur numérique: incompatibilité de Type.
CHDIR dir_spec
+
    file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
 +
    Le fichier spécifié dans file_spec ne peut pas être trouvé: Fichier non trouvé.
 +
    MERGE est spécifié et le programme chargé n'a pas été enregistré en mode texte clair: le mode de fichier incorrect.
 +
    Un numéro de ligne dans la plage est supérieure à 65529: Erreur de syntaxe.
 +
    Si une erreur de syntaxe est soulevée par CHAIN, pas de lignes sont supprimés et le nouveau programme ne sont pas chargés.
 +
    Le numéro de la ligne de clôture dans la gamme n'existe pas: Illegal appel de fonction
 +
    Si line_number_expr n'évalue pas à un numéro de ligne existante dans le nouveau programme, Illégal appel de fonction est élevée, mais la charge ou de fusion est en cours d'exécution.
  
Change the current directory on a disk device to dir_spec. Each disk device has its own current directory.
+
CHDIR CHDIR dir_spec
Parameters
+
  
    The string expression dir_spec is a valid file specification indicating an existing directory on a disk device.
+
Changer le répertoire courant sur un périphérique de disque à dir_spec. Chaque unité de disque a son propre répertoire en cours. Paramètres
  
Errors
+
Le dir_spec d'expression de chaîne is a spécification de fichier valide indiquant non folder existant Sur un périphérique de disque.
  
    No matching path is found: Path not found.
+
les erreurs
    dir_spec has a numeric value: Type mismatch.
+
    dir_spec is empty: Bad file name.
+
  
CIRCLE
+
Aucun chemin correspondant is found: Chemin d'Accès introuvable.
CIRCLE [STEP] (x, y), radius [, [colour] [, [start] [, [end] [, aspect]]]
+
    dir_spec a une valeur numérique: incompatibilité de type.
 +
    dir_spec est vide: Nom de fichier incorrect.
  
Draw an ellipse or ellipse sector.
+
CIRCLE CIRCLE [STEP] (x, y), le rayon [[color] [, [start] [, [fin] [aspect]]]
Parameters
+
  
    The midpoint of the ellipse is at (x,y). If STEP is specified, the midpoint is (x,y) away from the current position.
+
Dessiner une ellipse ou d'un secteur ellipse. Paramètres
    radius is the radius, in pixels, along the long axis.
+
    colour is the colour attribute.
+
    If start and end are specified, a sector of the ellipse is drawn from start radians to end radians, with zero radians the intersection with the right-hand x axis. If a negative value is specified, the arc sector is connected by a line to the midpoint.
+
    aspect specifies the ratio between the y radius and the x radius. If it is not specified, the standard value for the SCREEN mode is used (see there), so as to make the ellipse appear like a circle on the original hardware.
+
  
Notes
+
Le point de milieu de l'ellipse se SITUE en (x, y).  Si l'étape est indiquée, le point médian est (x, y) à l'écart de la position actuelle.
 +
    le rayon est le rayon, en pixels, le long de l'axe.
 +
    la couleur est l'attribut de couleur.
 +
    Si début et de fin sont spécifiés, un secteur de l'ellipse est tirée de radians de début à la fin radians, avec zéro radians l'intersection avec l'axe des x droite.  Si une valeur négative est spécifiée, le secteur d'arc est reliée par une ligne à mi-chemin.
 +
    aspect indique le rapport entre le rayon y et le rayon x.  Si elle est pas spécifié, la valeur standard pour le mode écran est utilisé (voir là), de manière à rendre l'ellipse apparaît comme un cercle sur le matériel d'origine.
  
    For aspect <> 1, the midpoint algorithm used does not pixel-perfectly reproduce GW-BASIC's ellipses.
+
Remarques
  
Errors
+
Verser aspect <> 1, l'algorithme used milieu n'à pas de pixels Parfaitement Reproduire les ellipses de GW-BASIC.
  
    The statement is executed in text mode: Illegal function call.
+
les erreurs
    start or end is not in [0—2π]: Illegal function call.
+
    The statement ends with a comma: Missing operand.
+
  
CLEAR
+
L'instruction is exécutée en mode de texte: appel illégal de fonction.
CLEAR [expr] [, [mem_limit] [, [stack_size] [, video_memory]]]
+
    début ou la fin est pas dans [0-2π]: Illegal appel de fonction.
 +
    La déclaration se termine par une virgule: Missing opérande.
  
Clears all variables, arrays,DEF FN user functions, DEFtype type definitions, and COMMON declarations. Closes all files. Turns off all sound. Resets PLAY state and sets music to foreground. Clears all ON ERROR traps. Resets ERR and ERL to zero. Disables all events. Turns PEN and STRIG off. Resets the random number generator. Clears the loop stack. Resets the DRAW state and the current graphics position.
+
EFFACER EFFACER [expr] [, [mem_limit] [, [stack_size] [, video_memory]]]
Parameters
+
  
    mem_limit specifies the upper limit of usable memory. Default is previous memory size. Default memory size is 65534.
+
Efface toutes les variables, les tableaux, les fonctions utilisateur DEF FN, les définitions de type DefType, et les déclarations communes. Ferme tous les fichiers. Désactive tous les sons. Remet JOUENT Etat et définit la musique au premier plan. Efface tous les pièges ERROR. Remet ERR et ERL à zéro. Désactive tous les événements. Active PEN et STRIG off. Réinitialise le générateur de nombres aléatoires. Efface la pile de boucle. Remet l'état DRAW et la position graphique actuelle. Paramètres
    stack_size specifies the amount of memory available to the BASIC stack. Default is previous stack size. Default stack size is 512.
+
    video_memory specifies the amount of memory available to the video adapter. This parameter is only legal with one of the options syntax={pcjr, tandy}. Instead of using CLEAR, the option video-memory can also be used to set video memory size.
+
  
Notes
+
mem_limit PRECISES la limite supérieure de mémoire utilisable.  Par défaut est la taille de la mémoire précédente.  taille de la mémoire par défaut est 65534.
 +
    stack_size spécifie la quantité de mémoire disponible pour la pile BASIC.  Par défaut est la taille de la pile précédente.  taille de la pile par défaut est 512.
 +
    video_memory spécifie la quantité de mémoire disponible pour l'adaptateur vidéo.  Ce paramètre est uniquement juridique avec l'une des options de syntaxe = {PCjr, tandy}.  Au lieu d'utiliser CLEAR l'option de mémoire vidéo peut également être utilisé pour définir la taille de la mémoire vidéo.
  
    The purpose of expr is unknown.
+
Remarques
    If called inside a FOR—NEXT or WHILE—WEND loop, an error will be raised at the NEXT or WEND statement, since the loop stacks have been cleared.
+
  
Errors
+
Le mais de expr is inconnue.
 +
    Si elle est appelée dans une boucle FOR-NEXT ou WHILE-WEND, une erreur sera soulevée lors de la déclaration NEXT ou WEND, étant donné que les piles de boucle ont été effacés.
  
    Any of the arguments has a string value: Type mismatch.
+
les erreurs
    mem_limit, stack_size are not in [-32768—65535]: Overflow.
+
    mem_limit or stack_size equal 0: Illegal function call.
+
    mem_limit equals -1 or 65535: Out of memory.
+
    mem_limit or expr are too low: Out of memory.
+
    expr is not in [-32768—32767]: Overflow.
+
    expr is negative: Illegal function call.
+
  
CLOSE
+
Directeur Tous les arguments d'une Une valeur de chaîne: Type mismatch.
CLOSE [[#] file_0 [, [#] file_1] ...]
+
    mem_limit, stack_size ne sont pas dans [-32.768 à 65.535]: Overflow.
 +
    mem_limit ou STACK_SIZE égal à 0: Illegal appel de fonction.
 +
    mem_limit est égal à -1 ou 65535: Out of memory.
 +
    mem_limit ou expr sont trop faibles: Manque de mémoire.
 +
    expr est pas dans [-32768-32767]: Overflow.
 +
    expr est négatif: Illegal appel de fonction.
  
Closes files. If no file numbers are specified, all open files are closed. The hash (#) is optional and has no effect.
+
FERMER FERMER [[#] file_0 [[#] file_1] ...]
Parameters
+
  
    file_1, file_2, ... are numeric expressions yielding file numbers.
+
Ferme les fichiers. Si aucun numéro de fichier sont spécifiés, tous les fichiers ouverts sont fermés. Le dièse (#) est facultative et n'a aucun effet. Paramètres
  
Notes
+
file_1, file_2, ... des expressions are des Numériques Donnant Numéros de fichier.
  
    No error is raised if the specified file numbers were not open.
+
Remarques
  
Errors
+
Aucune erreur is déclenchée si le Nombre de Fichiers Précise ne pas are ouverts.
  
    file_1, file_2, ... are not in [-32768—32767]: Overflow.
+
les erreurs
    file_1, file_2, ... are not in [0—255]: Illegal function call.
+
    file_1, file_2, ... have a string value: Type mismatch.
+
    The statement ends in a comma, Missing operand.
+
    If an error occurs, only the files before the erratic value are closed.
+
  
CLS
+
file_1, file_2, ... ne pas are Dans [-32.768 à 32.767]: Overflow.
CLS [x][,]
+
    file_1, file_2, ... ne sont pas dans [0-255]: Illegal appel de fonction.
 +
    file_1, file_2, ... ont une valeur de chaîne: Type mismatch.
 +
    La déclaration se termine par une virgule, opérande manquant.
 +
    Si une erreur se produit, seuls les fichiers avant la valeur erratique sont fermés.
  
Clears the screen or part of it. If x is not specified, in SCREEN 0 the text view region is cleared; in other screens, the graphics view region is cleared. The comma is optional and has no effect.
+
CLS CLS [x] [,]
Parameters
+
  
x is a numeric valued expression that determines what is cleared:
+
Efface l'écran ou une partie de celui-ci. Si x est pas spécifié, dans SCREEN 0 la vue région de texte est effacé; dans d'autres écrans, les graphiques voir la région est effacée. La virgule est facultative et n'a aucun effet. Paramètres
  
    If x = 0, the whole screen is cleared.
+
x est une expression d'une valeur de numérique qui détermine ce qui est autorisé:
    If x = 1, the graphics view region is cleared.
+
    If x = 2, the text view region is cleared.
+
  
Errors
+
Si x = 0, l'ensemble de l'écran is effacé.
 +
    Si x = 1, la vue graphique région est effacé.
 +
    Si x = 2, la région d'affichage de texte est effacé.
  
    x is has a string value: Type mismatch.
+
les erreurs
    x is not in [-32768—32767]: Overflow .
+
    x is not in [0, 1, 2]: Illegal function call.
+
    No comma is specified but more text follows: Illegal function call.
+
    A comma is specified followed by more: Syntax error.
+
    If an error occurs, the screen is not cleared.
+
  
COLOR (text mode)
+
x is Une valeur de chaîne: Type mismatch.
COLOR [foreground] [, [background] [, border]]
+
    x est pas dans [-32768 à 32767]: Overflow.
 +
    x est pas dans [0, 1, 2]: Illegal appel de fonction.
 +
    Aucune virgule est spécifié, mais plus de texte suit: Illegal appel de fonction.
 +
    Une virgule est spécifié suivie par plus: Erreur de syntaxe.
 +
    Si une erreur se produit, l'écran ne sont pas effacées.
  
Changes the current foreground and background attributes. All new characters printed will take the newly set attributes. Existing characters on the screen are not affected.
+
COLOR (mode texte) COLOR [plan] [, [background] [, frontière]]
Parameters
+
  
    foreground is a numeric expression in [0—31]. This specifies the new foreground attribute. Attributes 16—31 are blinking versions of attributes 0—15.
+
Modifie les attributs de premier plan et d'arrière-plan en cours. Tous les nouveaux caractères imprimés prendront les attributs nouvellement créées. Les caractères existants sur l'écran ne sont pas affectés. Paramètres
    background is a numeric expression in [0—15]. This specifies the new background attribute. It is taken MOD 8: Values 8—15 produce the same colour as 0—7.
+
    border is a numeric expression in [0—15] specifying the border attribute.
+
  
Textmode attributes (colour)
+
premier plan de is a expression numérique Dans [0-31].  Ceci spécifie le nouvel attribut de premier plan.  Attributs 16-31 clignotent versions des attributs 0-15.
Background attribute
+
    arrière-plan est une expression numérique dans [0-15].  Ceci spécifie le nouvel attribut de fond.  Il est pris MOD 8: Les valeurs 8-15 produisent la même couleur que 0-7.
0 1 2 3 4 5 6 7
+
    la frontière est une expression numérique dans [0-15] spécifiant l'attribut border.
FG 0 00 XX 10 XX 20 XX 30 XX 40 XX 50 XX 60 XX 70 XX
+
1 01 XX 11 XX 21 XX 31 XX 41 XX 51 XX 61 XX 71 XX
+
2 02 XX 12 XX 22 XX 32 XX 42 XX 52 XX 62 XX 72 XX
+
3 03 XX 13 XX 23 XX 33 XX 43 XX 53 XX 63 XX 73 XX
+
4 04 XX 14 XX 24 XX 34 XX 44 XX 54 XX 64 XX 74 XX
+
5 05 XX 15 XX 25 XX 35 XX 45 XX 55 XX 65 XX 75 XX
+
6 06 XX 16 XX 26 XX 36 XX 46 XX 56 XX 66 XX 76 XX
+
7 07 XX 17 XX 27 XX 37 XX 47 XX 57 XX 67 XX 77 XX
+
8 08 XX 18 XX 28 XX 38 XX 48 XX 58 XX 68 XX 78 XX
+
9 09 XX 19 XX 29 XX 39 XX 49 XX 59 XX 69 XX 79 XX
+
10 0a XX 1a XX 2a XX 3a XX 4a XX 5a XX 6a XX 7a XX
+
11 0b XX 1b XX 2b XX 3b XX 4b XX 5b XX 6b XX 7b XX
+
12 0c XX 1c XX 2c XX 3c XX 4c XX 5c XX 6c XX 7c XX
+
13 0d XX 1d XX 2d XX 3d XX 4d XX 5d XX 6d XX 7d XX
+
14 0e XX 1e XX 2e XX 3e XX 4e XX 5e XX 6e XX 7e XX
+
15 0f XX 1f XX 2f XX 3f XX 4f XX 5f XX 6f XX 7f XX
+
16 80 XX 90 XX a0 XX b0 XX c0 XX d0 XX e0 XX f0 XX
+
17 81 XX 91 XX a1 XX b1 XX c1 XX d1 XX e1 XX f1 XX
+
18 82 XX 92 XX a2 XX b2 XX c2 XX d2 XX e2 XX f2 XX
+
19 83 XX 93 XX a3 XX b3 XX c3 XX d3 XX e3 XX f3 XX
+
20 84 XX 94 XX a4 XX b4 XX c4 XX d4 XX e4 XX f4 XX
+
21 85 XX 95 XX a5 XX b5 XX c5 XX d5 XX e5 XX f5 XX
+
22 86 XX 96 XX a6 XX b6 XX c6 XX d6 XX e6 XX f6 XX
+
23 87 XX 97 XX a7 XX b7 XX c7 XX d7 XX e7 XX f7 XX
+
24 88 XX 98 XX a8 XX b8 XX c8 XX d8 XX e8 XX f8 XX
+
25 89 XX 99 XX a9 XX b9 XX c9 XX d9 XX e9 XX f9 XX
+
26 8a XX 9a XX aa XX ba XX ca XX da XX ea XX fa XX
+
27 8b XX 9b XX ab XX bb XX cb XX db XX eb XX fb XX
+
28 8c XX 9c XX ac XX bc XX cc XX dc XX ec XX fc XX
+
29 8d XX 9d XX ad XX bd XX cd XX dd XX ed XX fd XX
+
30 8e XX 9e XX ae XX be XX ce XX de XX ee XX fe XX
+
31 8f XX 9f XX af XX bf XX cf XX df XX ef XX ff XX
+
Textmode attributes (monochrome)
+
Background attribute
+
0 1 2 3 4 5 6 7
+
FG 0 00 XX 10 XX 20 XX 30 XX 40 XX 50 XX 60 XX 70 XX
+
1 01 XX 11 XX 21 XX 31 XX 41 XX 51 XX 61 XX 71 XX
+
2 02 XX 12 XX 22 XX 32 XX 42 XX 52 XX 62 XX 72 XX
+
3 03 XX 13 XX 23 XX 33 XX 43 XX 53 XX 63 XX 73 XX
+
4 04 XX 14 XX 24 XX 34 XX 44 XX 54 XX 64 XX 74 XX
+
5 05 XX 15 XX 25 XX 35 XX 45 XX 55 XX 65 XX 75 XX
+
6 06 XX 16 XX 26 XX 36 XX 46 XX 56 XX 66 XX 76 XX
+
7 07 XX 17 XX 27 XX 37 XX 47 XX 57 XX 67 XX 77 XX
+
8 08 XX 18 XX 28 XX 38 XX 48 XX 58 XX 68 XX 78 XX
+
9 09 XX 19 XX 29 XX 39 XX 49 XX 59 XX 69 XX 79 XX
+
10 0a XX 1a XX 2a XX 3a XX 4a XX 5a XX 6a XX 7a XX
+
11 0b XX 1b XX 2b XX 3b XX 4b XX 5b XX 6b XX 7b XX
+
12 0c XX 1c XX 2c XX 3c XX 4c XX 5c XX 6c XX 7c XX
+
13 0d XX 1d XX 2d XX 3d XX 4d XX 5d XX 6d XX 7d XX
+
14 0e XX 1e XX 2e XX 3e XX 4e XX 5e XX 6e XX 7e XX
+
15 0f XX 1f XX 2f XX 3f XX 4f XX 5f XX 6f XX 7f XX
+
16 80 XX 90 XX a0 XX b0 XX c0 XX d0 XX e0 XX f0 XX
+
17 81 XX 91 XX a1 XX b1 XX c1 XX d1 XX e1 XX f1 XX
+
18 82 XX 92 XX a2 XX b2 XX c2 XX d2 XX e2 XX f2 XX
+
19 83 XX 93 XX a3 XX b3 XX c3 XX d3 XX e3 XX f3 XX
+
20 84 XX 94 XX a4 XX b4 XX c4 XX d4 XX e4 XX f4 XX
+
21 85 XX 95 XX a5 XX b5 XX c5 XX d5 XX e5 XX f5 XX
+
22 86 XX 96 XX a6 XX b6 XX c6 XX d6 XX e6 XX f6 XX
+
23 87 XX 97 XX a7 XX b7 XX c7 XX d7 XX e7 XX f7 XX
+
24 88 XX 98 XX a8 XX b8 XX c8 XX d8 XX e8 XX f8 XX
+
25 89 XX 99 XX a9 XX b9 XX c9 XX d9 XX e9 XX f9 XX
+
26 8a XX 9a XX aa XX ba XX ca XX da XX ea XX fa XX
+
27 8b XX 9b XX ab XX bb XX cb XX db XX eb XX fb XX
+
28 8c XX 9c XX ac XX bc XX cc XX dc XX ec XX fc XX
+
29 8d XX 9d XX ad XX bd XX cd XX dd XX ed XX fd XX
+
30 8e XX 9e XX ae XX be XX ce XX de XX ee XX fe XX
+
31 8f XX 9f XX af XX bf XX cf XX df XX ef XX ff XX
+
Notes
+
  
    The syntax and effect of COLOR is different in different SCREEN modes: COLOR (text mode), COLOR (SCREEN 1), (SCREEN 3—9).
+
Textmode attributs attribut (couleur) Contexte 0 1 2 3 4 5 6 7 FG 0 00 XX 10 XX 20 XX 30 XX 40 XX 50 XX 60 XX 70 XX 1 01 XX 11 XX 21 XX 31 XX 41 XX 51 XX 61 XX 71 XX 2 02 XX 12 XX 22 XX 32 XX 42 XX 52 XX 62 XX 72 XX 3 03 XX 13 XX 23 XX 33 XX 43 XX 53 XX 63 XX 73 XX 4 04 XX 14 XX 24 XX 34 XX 44 XX 54 XX 64 XX 74 XX 5 05 XX 15 XX 25 XX 35 XX 45 XX 55 XX 65 XX 75 XX 6 06 XX 16 XX 26 XX 36 XX 46 XX 56 XX 66 XX 76 XX 7 07 XX 17 XX 27 XX 37 XX 47 XX 57 XX 67 XX 77 XX 8 08 XX 18 XX 28 XX 38 XX 48 XX 58 XX 68 XX 78 XX 9 09 XX 19 XX 29 XX 39 XX 49 XX 59 XX 69 XX 79 XX 10 0a XX 1a XX 2a XX 3a XX 4a XX 5a XX 6a XX 7a XX 11 0b XX 1b XX 2b XX 3b XX 4b XX 5b XX 6b XX 7b XX 12 0c XX 1c XX 2c XX 3c XX 4c XX 5c XX 6c XX 7c XX 13 0d XX 1d XX 2d XX 3d XX 4d XX 5d XX 6d XX 7d XX 14 0e XX 1e XX 2e XX 3e XX 4e XX 5e XX 6e XX 7e XX 15 0f XX 1f XX 2f XX 3f XX 4f XX 5f XX 6f XX 7f XX 16 80 XX 90 XX a0 XX b0 XX c0 XX d0 XX e0 XX f0 XX 17 81 XX 91 XX a1 XX b1 XX c1 XX d1 XX e1 XX f1 XX 18 82 XX 92 XX a2 XX b2 XX c2 XX d2 XX e2 XX f2 XX 19 83 XX 93 XX a3 XX b3 XX c3 XX d3 XX e3 XX f3 XX 20 84 XX 94 XX a4 XX b4 XX c4 XX d4 XX e4 XX f4 XX 21 85 XX 95 XX a5 XX b5 XX c5 XX d5 XX e5 XX f5 XX 22 86 XX 96 XX a6 XX b6 XX c6 XX d6 XX e6 XX f6 XX 23 87 XX 97 XX a7 XX b7 XX c7 XX d7 XX e7 XX f7 XX 24 88 XX 98 XX a8 XX b8 XX c8 XX d8 XX e8 XX f8 XX 25 89 XX 99 XX a9 XX b9 XX c9 XX d9 XX e9 XX f9 XX 26 8a XX 9a XX aa XX ba XX ca XX da XX ea XX fa XX 27 8b XX 9b XX ab XX bb XX cb XX db XX eb XX fb XX 28 8c XX 9c XX ac XX bc XX cc XX cc XX ec XX fc XX 29 8d XX 9d XX ad XX bd XX cd XX dd XX ed XX fd XX 30 8e XX 9e XX ae XX être XX CE XX de XX ee XX fe XX 31 8f XX 9f XX af XX bf XX cf XX df XX ef XX ff XX Textmode attributs attribut (monochrome) Contexte 0 1 2 3 4 5 6 7 FG 0 00 XX 10 XX 20 XX 30 XX 40 XX 50 XX 60 XX 70 XX 1 01 XX 11 XX 21 XX 31 XX 41 XX 51 XX 61 XX 71 XX 2 02 XX 12 XX 22 XX 32 XX 42 XX 52 XX 62 XX 72 XX 3 03 XX 13 XX 23 XX 33 XX 43 XX 53 XX 63 XX 73 XX 4 04 XX 14 XX 24 XX 34 XX 44 XX 54 XX 64 XX 74 XX 5 05 XX 15 XX 25 XX 35 XX 45 XX 55 XX 65 XX 75 XX 6 06 XX 16 XX 26 XX 36 XX 46 XX 56 XX 66 XX 76 XX 7 07 XX 17 XX 27 XX 37 XX 47 XX 57 XX 67 XX 77 XX 8 08 XX 18 XX 28 XX 38 XX 48 XX 58 XX 68 XX 78 XX 9 09 XX 19 XX 29 XX 39 XX 49 XX 59 XX 69 XX 79 XX 10 0a XX 1a XX 2a XX 3a XX 4a XX 5a XX 6a XX 7a XX 11 0b XX 1b XX 2b XX 3b XX 4b XX 5b XX 6b XX 7b XX 12 0c XX 1c XX 2c XX 3c XX 4c XX 5c XX 6c XX 7c XX 13 0d XX 1d XX 2d XX 3d XX 4d XX 5d XX 6d XX 7d XX 14 0e XX 1e XX 2e XX 3e XX 4e XX 5e XX 6e XX 7e XX 15 0f XX 1f XX 2f XX 3f XX 4f XX 5f XX 6f XX 7f XX 16 80 XX 90 XX a0 XX b0 XX c0 XX d0 XX e0 XX f0 XX 17 81 XX 91 XX a1 XX b1 XX c1 XX d1 XX e1 XX f1 XX 18 82 XX 92 XX a2 XX b2 XX c2 XX d2 XX e2 XX f2 XX 19 83 XX 93 XX a3 XX b3 XX c3 XX d3 XX e3 XX f3 XX 20 84 XX 94 XX a4 XX b4 XX c4 XX d4 XX e4 XX f4 XX 21 85 XX 95 XX a5 XX b5 XX c5 XX d5 XX e5 XX f5 XX 22 86 XX 96 XX a6 XX b6 XX c6 XX d6 XX e6 XX f6 XX 23 87 XX 97 XX a7 XX b7 XX c7 XX d7 XX e7 XX f7 XX 24 88 XX 98 XX a8 XX b8 XX c8 XX d8 XX e8 XX f8 XX 25 89 XX 99 XX a9 XX b9 XX c9 XX d9 XX e9 XX f9 XX 26 8a XX 9a XX aa XX ba XX ca XX da XX ea XX fa XX 27 8b XX 9b XX ab XX bb XX cb XX db XX eb XX fb XX 28 8c XX 9c XX ac XX bc XX cc XX cc XX ec XX fc XX 29 8d XX 9d XX ad XX bd XX cd XX dd XX ed XX fd XX 30 8e XX 9e XX ae XX être XX CE XX de XX ee XX XX fe 31 8f XX 9f XX XX af bf XX cf XX XX df ef XX ff XX Remarques
    At least one parameter must be provided and the statement must not end in a comma.
+
  
Errors
+
La syntaxe et l'effet de couleur is Différente Dans les modes Différents d'écran: COULEUR (mode texte), COLOR (ECRAN 1), (SCREEN 3-9).
 +
    Au moins un paramètre doit être fourni et la déclaration ne doit pas se terminer par une virgule.
  
    Any of the parameters has a string value: Type mismatch.
+
les erreurs
    Any of the parameters is not in [-32768—32767]: Overflow.
+
    foreground is not in [0—31], background is not in [0—15] or border is not in [0—15]: Illegal function call.
+
    Statement is used in SCREEN 2: Illegal function call.
+
  
COLOR (SCREEN 1)
+
Tout des paramêtres a Une valeur de chaîne: Type mismatch.
COLOR [palette_0] [, palette [, override]]
+
    Tous les paramètres ne figure pas dans [-32.768 à 32.767]: Overflow.
 +
    premier plan est pas dans [0-31], fond se trouve pas dans [0-15] ou à la frontière ne sont pas dans [0-15]: Illegal appel de fonction.
 +
    Déclaration est utilisé dans ECRAN 2: Illegal appel de fonction.
  
Assigns new colours to the palette of attributes.
+
COLOR (ECRAN 1) COLOR [palette_0] [, palette [, override]]
  
    palette_0 is a numeric expression in [0—255]. This sets the palette colour associated with attribute 0; by default, the background has this attribute. All pixels with this attribute will change colour. The palette colour value is taken from the 64-colour set. palette_0 is taken MOD 64.
+
Affecte de nouvelles couleurs à la palette d'attributs.
    palette is a numeric expression in [0—255] that specifies the palette:
+
        palette odd sets the standard CGA palette (cyan, magenta, grey).
+
        palette even sets the alternative palette (green, red, brown).
+
    All pixels with attributes 1,2,3 will change colour to the new palette.
+
    override is a numeric expression in [0—255]. If override is specified, palette is set as above but using override instead of palette. palette is then ignored.
+
  
CGA palettes
+
palette_0 is a expression numérique Dans [0-255].  Ceci définit la couleur de la palette associée à l'attribut 0;  par défaut, l'arrière-plan a cet attribut.  Tous les pixels avec cet attribut changent de couleur.  La valeur de la palette de couleurs est tirée de l'ensemble 64-couleur.  palette_0 est prise MOD 64.
Attribute Palette 0 Palette 1 Alternate palette
+
    palette est une expression numérique dans [0-255] qui spécifie la palette:
Colour Lo Hi Colour Lo Hi Colour Lo Hi
+
        palette ensembles impairs de la palette CGA standard (cyan, magenta, gris).
0 Black Black Black
+
        palette définit même la palette de remplacement (vert, rouge, brun).
1 Green Cyan Cyan
+
    Tous les pixels avec des attributs 1,2,3 changent de couleur à la nouvelle palette.
2 Red Magenta Red
+
    override est une expression numérique dans [0-255].  Si override est spécifié, la palette est définie comme ci-dessus, mais en utilisant override au lieu de palette.  palette est alors ignoré.
3 Brown White White
+
Notes
+
  
    The syntax and effect of COLOR is different in different SCREEN modes: COLOR (text mode), COLOR (SCREEN 1), (SCREEN 3—9).
+
palettes CGA Attribut Palette 0 Palette 1 palette Alternate Couleur Lo Salut Couleur Lo Salut Couleur Lo Salut 0 Noir Noir Noir 1 Vert Cyan Cyan Magenta 2 Rouge Rouge 3 Brun Blanc Blanc Remarques
    At least one parameter must be provided and the statement must not end in a comma.
+
  
Errors
+
La syntaxe et l'effet de couleur is Différente Dans les modes Différents d'écran: COULEUR (mode texte), COLOR (ECRAN 1), (SCREEN 3-9).
 +
    Au moins un paramètre doit être fourni et la déclaration ne doit pas se terminer par une virgule.
  
    Any of the parameters has a string value: Type mismatch.
+
les erreurs
    Any of the parameters is not in [-32768—32767]: Overflow.
+
    Any of the parameters is not in [0—255]: Illegal function call.
+
  
COLOR (SCREEN 3—9)
+
Tout des paramêtres a Une valeur de chaîne: Type mismatch.
COLOR [foreground] [, palette_0 [, dummy]]
+
    Tous les paramètres ne figure pas dans [-32.768 à 32.767]: Overflow.
 +
    Tous les paramètres ne figure pas dans [0-255]: Illegal appel de fonction.
  
Changes the current foreground attribute and the colour for attribute 0.
+
COLOR (SCREEN 3-9) COULEUR [plan] [, palette_0 [, dummy]]
Parameters
+
  
    foreground is a numeric expression in [0—15] This sets the new foreground attribute. This applies only to new characters printed or pixels plotted.
+
Modifie l'attribut de premier plan en cours et la couleur pour l'attribut 0. Paramètres
    palette_0 is a numeric expression in [0—15] This sets the colour associated with attribute 0; by default, the background has this attribute. All pixels with this attribute will change colour. In SCREEN 7 and 8, the palette_0 colour is taken from the first 8 of the 16-colour EGA set. palette_0 is taken MOD 8. IN SCREEN 9, the colour value is taken from the 64-colour set.
+
    dummy is a numeric expression with a value in [0—255] The value of dummy is ignored.
+
  
EGA default palette
+
Plan premier is a expression numérique Dans [0-15] Céci Définit le nouvel plan de premier attribut.  Ceci ne concerne que les nouveaux caractères imprimés ou pixels tracés.
Attribute Colour
+
    palette_0 est une expression numérique dans [0-15] Ceci définit la couleur associée à l'attribut 0;  par défaut, l'arrière-plan a cet attribut.  Tous les pixels avec cet attribut changent de couleur.  Dans ÉCRAN 7 et 8, la couleur palette_0 est tirée de la première 8 de la 16 couleurs EGA set.  palette_0 est prise MOD 8. IN SCREEN 9, la valeur de couleur est tirée de l'ensemble 64-couleur.
0 Black
+
    dummy est une expression numérique avec une valeur de [0-255] La valeur de mannequin est ignoré.
1 Blue
+
2 Green
+
3 Cyan
+
4 Red
+
5 Magenta
+
6 Brown
+
7 Low-intensity white
+
8 Grey
+
9 Light Blue
+
10 Light Green
+
11 Light Cyan
+
12 Light Red
+
13 Light Magenta
+
14 Light Yellow
+
15 High-intensity white
+
EGA colour list
+
0 8 16 24 32 40 48 56
+
1 9 17 25 33 41 49 57
+
2 10 18 26 34 42 50 58
+
3 11 19 27 35 43 51 59
+
4 12 20 28 36 44 52 60
+
5 13 21 29 37 45 53 61
+
6 14 22 30 38 46 54 62
+
7 15 23 31 39 47 55 63
+
Notes
+
  
    The syntax and effect of COLOR is different in different SCREEN modes: COLOR (text mode), COLOR (SCREEN 1), (SCREEN 3—9).
+
palette par défaut EGA Attribut Couleur 0 Black 1 Blue 2 Vert 3 Cyan 4 Red 5 Magenta 6 Brown 7 de faible intensité blanc 8 Gris 9 Light Blue 10 Lumière 11 Green Light Cyan 12 Light 13 Red Light Magenta 14 Jaune clair 15 haute intensité blanche EGA liste couleur 0 8 16 24 32 40 48 56 1 9 17 25 33 41 49 57 2 10 18 26 34 42 50 58 3 11 19 27 35 43 51 59 4 12 20 28 36 44 52 60 5 13 21 29 37 45 53 61 14 22 30 6 38 46 54 62 7 15 23 31 39 47 55 63 notes
    At least one parameter must be provided and the statement must not end in a comma.
+
  
Errors
+
La syntaxe et l'effet de couleur is Différente Dans les modes Différents d'écran: COULEUR (mode texte), COLOR (ECRAN 1), (SCREEN 3-9).
 +
    Au moins un paramètre doit être fourni et la déclaration ne doit pas se terminer par une virgule.
  
    Any of the parameters has a string value: Type mismatch.
+
les erreurs
    Any of the parameters is not in [-32768—32767]: Overflow.
+
    foreground is not in [1—15]; background is not in [0—15]; or dummy is not in [0—255]: Illegal function call.
+
  
COM
+
Tout des paramêtres a Une valeur de chaîne: Type mismatch.
COM(port) {ON|OFF|STOP}
+
    Tous les paramètres ne figure pas dans [-32.768 à 32.767]: Overflow.
 +
    premier plan se trouve pas dans [1-15];  fond est pas dans [0-15];  ou factice est pas dans [0-255]: Illegal appel de fonction.
  
    ON: enables ON COM(port) event trapping of the emulated serial port.
+
COM COM (port) {ON | OFF | STOP}
    OFF: disables trapping.
+
    STOP: halts trapping until COM(port) ON is used. Events that occur while trapping is halted will trigger immediately when trapping is re-enabled.
+
  
Parameters
+
ON: Permet ON COM (port) Événement du port série piégeage Emule.
 +
    OFF: désactive le piégeage.
 +
    STOP: arrête le piégeage jusqu'à COM (port) ON est utilisé.  Les événements qui se produisent pendant le piégeage est arrêté déclenchera immédiatement lorsque le piégeage est réactivé.
  
    port is a numeric expression with a value of 1 or 2. This specifies which serial port (COM1: or COM2:) is trapped.
+
Paramètres
  
COMMON
+
Port is a expression numérique d'Une valeur de 1 ou 2. Céci PRECISES le port de série (COM1: ou COM2 :) is pris au piège.
COMMON [var_0 [, [var_1]] ...]
+
  
Specifies variables to be passed as common variables to the program called with CHAIN. The statement may end with one or more commas.
+
COMMUNE COMMUNE [var_0 [[var_1]] ...]
Parameters
+
  
    var_0, var_1, ... are names of variables or arrays. Array names must be followed by parentheses or square brackets. Brackets may also be mixed: a(] b[).
+
Spécifie les variables à transmettre sous forme de variables communes au programme appelé avec CHAIN. La déclaration peut se terminer par une ou plusieurs virgules. Paramètres
  
CONT
+
var_0, var_1, ... Sont des Noms de Variables OÜ des tableaux.  Les noms de tableau doivent être suivies par des parenthèses ou des crochets.  Les supports peuvent aussi être mélangés: un (] b [).
CONT [anything]
+
  
Resumes execution of a program that has been halted by STOP, END, Ctrl+C, or Ctrl+Break.
+
CONT CONT [rien]
Notes
+
  
    Anything after the CONT keyword is ignored.
+
Reprend l'exécution d'un programme qui a été arrêté par STOP, FIN, Ctrl + C ou Ctrl + Break. Remarques
    This statement can only be used in direct mode.
+
    If a break is encountered in GOSUB routine called from a continuing direct line (e.g. GOSUB 100:PRINT A$), CONT will overwrite the running direct line. As the subroutine RETURNs to the position after the GOSUB in the old direct line, strange things may happen if commands are given after CONT. In GW-BASIC, this can lead to strange errors in non-existing program lines as the parser executes bytes that are not part of a program line. In PC-BASIC, if the new direct line is shorter, execution stops after RETURN; but if the direct line is extended beyond the old return position, the parser tries to resume at that return position, with strange effects.
+
  
Errors
+
Tout Ce costume est qui le mot-clé CONT is ignorée.
 +
    Cette déclaration ne peut être utilisé en mode direct.
 +
    Si une pause est rencontrée dans GOSUB routine appelée à partir d'une ligne directe continue (par exemple GOSUB 100: IMPRIMER A $), CONT remplacera la ligne directe en cours d'exécution.  Comme les déclarations de sous-programme à la position après la GOSUB dans la vieille ligne directe, des choses étranges peuvent se produire si les commandes sont donnés après CONT.  Dans GW-BASIC, cela peut conduire à des erreurs étranges dans les lignes non-existantes programme comme l'analyseur exécute octets qui ne font pas partie d'une ligne de programme.  Dans PC-BASIC, si la nouvelle ligne directe est plus courte, l'exécution s'arrête après le retour;  mais si la ligne directe est prolongée au-delà de l'ancienne position de retour, l'analyseur tente de reprendre à cette position de retour, avec des effets étranges.
  
    No program is loaded, a program has not been run, after a program line has been modified or after CLEAR: Can't continue.
+
les erreurs
    The break occurred in a direct line: Can't continue.
+
    CONT is used in a program: Can't continue.
+
  
DATA
+
Aucun programme chargé, Un pas de programme N'a Ete EXECUTE, après juin ligne de programme was Modifié OÜ après CLEAR: Vous ne can pas continuateur.
DATA [const_0] [, [const_1]] ...
+
    La rupture a eu lieu dans une ligne directe: Vous ne pouvez pas continuer.
 +
    CONT est utilisé dans un programme: Vous ne pouvez pas continuer.
  
Specifies data that can be read by a READ statement.
+
DATA DATA [const_0] [, [const_1]] ...
Parameters
+
  
    const_0, const_1, ... are string and number literals or may be empty. String literals can be given with or without quotation marks. If quotation marks are omitted, leading and trailing whitespace is ignored and commas or colons will terminate the data statement.
+
Indique les données qui peuvent être lues par une instruction READ. Paramètres
  
Errors
+
const_0, const_1, ... et littéraux are cordes ous can be vide.  Les chaînes littérales peuvent être donnés avec ou sans guillemets.  Si les guillemets sont omis, espaces avant et après est ignoré et des virgules ou des colons mettra fin à la déclaration de données.
  
    If the type of the literal does not match that of the corresponding READ statement, a Syntax error occurs on the DATA statement.
+
les erreurs
  
DATE$ (statement)
+
Si le Type du littéral ne correspond pas à l'instruction de Celle READ Correspondante, juin erreur de syntaxe se produit sur l'instruction de Données.
DATE$ = date
+
  
Sets the system date. date is a string expression that represents a date in one of the formats: "mm-dd-yyyy", "mm/dd/yyyy", "mm-dd-yy", "mm/dd/yy".
+
DATE $ (déclaration) DATE $ = date
  
Of these,
+
Définit la date système. date est une expression de chaîne qui représente une date dans l'un des formats: "mm-jj-aaaa", "jj / mm / aaaa", "mm-dd-yy", "mm / jj / aa".
  
    mm must be in [01—12].
+
Parmi ceux-ci,
    dd must be in [01—31].
+
    yyyy must be in [1980—2099].
+
    yy must be in one of the ranges:
+
        [00—77], interpreted as 2000—2077; or
+
        [80—99], interpreted as 1980—1999.
+
  
Notes
+
mm Doit Être dans [01-12].
 +
    dd doit être dans [01-31].
 +
    aaaa doit être dans [1980-2099].
 +
    yy doit être dans l'une des gammes:
 +
        [00-77], interprété comme 2000-2077;  ou
 +
        [80-99], interprété comme 1980 à 1999.
  
    The system date is not actually changed; rather, PC-BASIC remembers the offset from the true system date. This avoids requiring user permission to change the system time.
+
Remarques
    GW-BASIC appears to accept invalid dates such as "02-31-2000". PC-BASIC raises Illegal function call for these.
+
  
Errors
+
La date de system is pas Changé réellement;  plutôt, PC-BASIC se souvient le décalage de la vraie date du système.  Cela évite nécessitant une autorisation utilisateur pour modifier l'heure du système.
 +
    GW-BASIC semble accepter les dates non valides telles que "31/02/2000".  PC-BASIC soulève illégal appel de fonction pour ces derniers.
  
    date has a numeric value: Type mismatch.
+
les erreurs
    date is not in the format specified above: Illegal function call.
+
  
DEF FN
+
la date à laquelle une Une valeur numérique: incompatibilité de Type.
DEF FN[ ]name [(arg_0 [, arg_1] ...)] = expression
+
    la date ne sont pas dans le format spécifié ci-dessus: Illegal appel de fonction.
  
Defines a function called FNname (or FN name: spaces between FN and name are optional). On calling FNname( ... ), expression is evaluated with the supplied parameters substituted. Any variable names used in the function that are not in the argument list refer to the corresponding global variables. The result of the evaluation is the return value of FNname. The type of the return value must be compatible with the type indicated by name.
+
DEF FN DEF FN nom [] [(de arg_0 [, Arg_1] ...)] = expression
Notes
+
  
    This statement may only be used on a program line.
+
Définit une fonction appelée FNname (ou le nom FN: espaces entre les FN et le nom sont en option). En appelant FNname (...), l'expression est évaluée avec les paramètres fournis substitués. Tous les noms de variables utilisés dans la fonction qui ne sont pas dans la liste des arguments se réfèrent aux variables globales correspondantes. Le résultat de l'évaluation est la valeur de retour de FNname. Le type de la valeur de retour doit être compatible avec le type indiqué par son nom. Remarques
    As the function must be a single expression and PC-BASIC does not have a ternary operator, there is no way to define a recursive function that actually terminates.
+
  
Parameters
+
This déclaration ne can be used Sur une ligne de programme.
 +
    Comme la fonction doit être une expression unique et PC-BASIC n'a pas un opérateur ternaire, il n'y a aucun moyen de définir une fonction récursive qui se termine en fait.
  
    name must be a legal variable name.
+
Paramètres
    arg_0, arg_1, ... must be legal variable names. These are the parameters of the function. Variables of the same name may or may not exist in the program; their value is not affected or used by the defined function.
+
    expression must be a legal PC-BASIC expression.
+
  
Errors
+
nom Doit Être nom non de la variable juridique.
 +
    arg_0, Arg_1, ... doit être des noms de variables juridiques.  Ce sont les paramètres de la fonction.  Les variables du même nom peuvent ou peuvent ne pas exister dans le programme;  leur valeur est pas affectée ou utilisée par la fonction définie.
 +
    expression doit être une expression juridique de PC-BASIC.
  
    The statement is executed directly instead of in a program line: Illegal direct.
+
les erreurs
    If the type of the return value is incompatible with the type of name, no error is raised at the DEF FN statement; however, a Type mismatch will be raised at the first call of FNname.
+
  
DEFINT, DEFDBL, DEFSNG, DEFSTR
+
L'instruction is exécutée directement au lieu d'Une ligne de programme: Illegal direct.
{DEFINT|DEFDBL|DEFSNG|DEFSTR} first_0[- last_0] [, first_1[- last_1]] ...
+
    Si le type de la valeur de retour est incompatible avec le type de nom, aucune erreur est soulevée à la déclaration DEF FN;  cependant, une incompatibilité de type sera soulevée lors du premier appel de FNname.
  
Sets the type that is assumed if no sigil is specified when a variable name is used. The statement sets the default type for variables starting with a letter from the ranges specified.
+
DEFINT, DEFDBL, DefSng, DEFSTR {DEFINT | DEFDBL | DefSng | DEFSTR} first_0 [- last_0] [, first_1 [- last_1]] ...
  
The default type is set to:
+
Définit le type qui est supposé si aucun sigil est spécifié quand un nom de variable est utilisée. La déclaration définit le type par défaut pour les variables commençant par une lettre des plages spécifiées.
 +
 
 +
Le type par défaut est réglé sur:
  
 
DEFINT
 
DEFINT
    integer (%)
+
 
 +
ENTIER (%)
 +
 
 
DEFDBL
 
DEFDBL
    double (#)
+
 
DEFSNG
+
double (#)
    single (!)
+
 
 +
DefSng
 +
 
 +
uniques (!)
 +
 
 
DEFSTR
 
DEFSTR
    string ($)
 
  
Parameters
+
string ($)
  
    first_0, last_0, ... are letters of the alphabet. Pairs of letters connected by a dash - indicate inclusive ranges.
+
Paramètres
  
Notes
+
first_0, last_0, ... des are lettres de l'alphabet.  Paires de lettres reliées par un tiret - indiquent des plages inclusives.
  
    DEFSNG A-Z is the default setting.
+
Remarques
  
DEF SEG
+
DefSng AZ is le règlage par défaut.
DEF SEG [= address]
+
  
Sets the memory segment to be used by BLOAD, BSAVE, CALL, PEEK, POKE, and USR.
+
DEF SEG DEF SEG [= adresse]
Parameters
+
  
    address is a numeric expression in [-32768—65535].
+
Définit le segment de mémoire pour être utilisé par BLOAD, BSAVE, CALL, PEEK, POKE et NRS. Paramètres
  
Notes
+
adresse is expression de juin numérique Dans [-32768 à 65535].
  
    If address is negative, it is interpreted as its two's complement.
+
Remarques
    If address is not specified, the segment is set to the GW-BASIC data segment.
+
  
Errors
+
Si l'adresse is négative, Elle Est interprétée Comme complément à des ses deux.
 +
    Si l'adresse est pas spécifié, le segment est défini sur le segment de données GW-BASIC.
  
    address has a string value: Type mismatch.
+
les erreurs
    address is not in [-32768—65535]: Overflow.
+
  
DEF USR
+
une adresse Une valeur de chaîne: Type mismatch.
DEF USR[n] = address
+
    adresse se trouve pas dans [-32768 à 65535]: Overflow.
  
Does nothing.
+
DEF USR DEF USR [n] = adresse
Parameters
+
  
    n is a digit between 0 and 9 inclusive.
+
Ne fait rien. Paramètres
    address is a numeric expression in [-32768—65535].
+
  
Notes
+
n HNE chiffre non compris Entre 0 et 9 inclus.
 +
    adresse est une expression numérique dans [-32768-65535].
  
    In GW-BASIC, this statement sets the starting address of an assembly-language function.
+
Remarques
    This statement is not implemented in PC-BASIC.
+
    If address is negative, it is interpreted as its two's complement.
+
  
Errors
+
Dans GW-BASIC, this déclaration Définit l'adresse de départ d'en juin fonction langage assembleur.
 +
    Cette déclaration n'a pas été mis en œuvre dans PC-BASIC.
 +
    Si l'adresse est négative, elle est interprétée comme complément à ses deux.
  
    n is not a digit in [0—9]: Syntax error.
+
les erreurs
    address has a string value: Type mismatch.
+
    address is not in [-32768—65535]: Overflow.
+
  
DELETE
+
n is pas non chiffre Dans [0-9]: Erreur de syntaxe.
DELETE [line_number_0|.] [-[line_number_1|.] ]
+
    adresse a une valeur de chaîne: Type mismatch.
 +
    adresse se trouve pas dans [-32768 à 65535]: Overflow.
  
Deletes a range of lines from the program. Also stops program execution and returns control to the user.
+
EFFACER EFFACER [line_number_0 |.] [- [Line_number_1 |].]
Parameters
+
  
    line_number_0 and line_number_1 are line numbers in the range [0—65529], specifying the inclusive range of line numbers to delete.
+
Supprime une plage de lignes du programme. arrête également l'exécution du programme et renvoie le contrôle à l'utilisateur. Paramètres
    A . indicates the last line edited.
+
    If the start point is omitted, the range will start at the start of the program.
+
    If the end point is omitted, the range will end at the end of the program.
+
    If no range is specified, the whole program will be deleted.
+
  
Errors
+
line_number_0 et line_number_1 are les Numéros de ligne Dans la gamme [0-65529], en precisant la gamme inclusive des Numéros de ligne à supprimer.
 +
    UNE .  indique la dernière ligne modifiée.
 +
    Si le point de départ est omis, la gamme va commencer au début du programme.
 +
    Si le point final est omis, la gamme se terminera à la fin du programme.
 +
    Si aucune plage est spécifiée, l'ensemble du programme sera supprimé.
  
    line_number_0 or line_number_1 is greater than 65529: Syntax error.
+
les erreurs
    The range specified does not include any program lines stored: Illegal function call.
+
  
DIM
+
line_number_0 ous line_number_1 is supérieur à 65529: Erreur de syntaxe.
DIM name {(|[} limit_0 [, limit_1] ... {)|]}
+
    La plage spécifiée ne comporte pas de lignes de programme stockées: Illegal appel de fonction.
  
Allocates memory for arrays. The DIM statement also fixes the number of indices of the array. An array can only be allocated once; to re-allocate an array, ERASE or CLEAR must be executed first. If an array is first used without a DIM statement, it is automatically allocated with its maximum indices set at 10 for each index position used. If an array's DIM statement specifies no indices, it is allocated with a single index with maximum 10. The least index allowed is determined by OPTION BASE.
+
DIM DIM nom {(| [} limit_0 [, limit_1] ... {) |]}
Parameters
+
  
    name is a legal variable name specifying the array to be allocated.
+
Alloue de la mémoire pour les tableaux. L'instruction DIM fixe également le nombre d'indices du tableau. Un tableau ne peut être attribuée qu'une fois; de ré-allouer un tableau, ERASE ou EFFACER doit être exécuté en premier. Si un tableau est utilisé pour la première sans instruction DIM, il est automatiquement attribué avec ses indices maximum fixé à 10 pour chaque position de l'index utilisé. Si la déclaration de DIM un tableau spécifie pas d'indices, il est attribué un indice unique avec un maximum 10. Le moins indice autorisé est déterminé par OPTION BASE. Paramètres
    limit_0, limit_1, ... are numeric expressions that specify the greatest index allowed at that position.
+
  
Notes
+
  nom est un nom de variable juridique spécifiant le tableau à allouer.
 +
    limit_0, limit_1, ... sont des expressions numériques qui spécifient le plus grand indice permis à cette position.
  
    Mixed brackets are allowed.
+
Remarques
    The size of arrays is limited by the available BASIC memory.
+
    The maximum number of indices is, theoretically, 255. In practice, it is limited by the 255-byte limit on the length of program lines.
+
  
Errors
+
  supports mixtes sont autorisés.
 +
    La taille des réseaux est limitée par la mémoire de base disponibles.
 +
    Le nombre maximum d'indices est, théoriquement, 255. Dans la pratique, il est limité par la limite de 255 octets sur la longueur des lignes de programme.
  
    name has already been dimensioned: Duplicate definition.
+
les erreurs
    An index is empty: Syntax error.
+
    An index is missing at the end: Missing operand.
+
    limit_0, limit_1, ... have a string value: Type mismatch.
+
    limit_0, limit_1, ... are not within [-32768—32767]: Overflow.
+
    limit_0, limit_1, ... are negative: Illegal function call.
+
    The array exceeds the size of available variable space: Out of memory.
+
  
DRAW
+
  nom a déjà été dimensionné: définition en double.
DRAW gml_string
+
    Un index est vide: Erreur de syntaxe.
 +
    Un index est manquant à la fin: opérande manquant.
 +
    limit_0, limit_1, ... ont une valeur de chaîne: Type mismatch.
 +
    limit_0, limit_1, ... ne sont pas dans [-32.768 à 32.767]: Overflow.
 +
    limit_0, limit_1, ... sont négatifs: Illegal appel de fonction.
 +
    Le réseau dépasse la taille de l'espace disponible variables: Out of memory.
  
Draws the shape specified by gml_string, a string expression in Graphics Macro Language (GML).
+
TIRAGE TIRAGE gml_string
Graphics Macro Language reference
+
  
Movement commands
+
Dessine la forme spécifiée par gml_string, une expression de chaîne dans Graphics Macro Language (GML). Graphics Macro référence Langue
    [B][N] movement
+
    where the default is to move and draw; the optional prefixes mean:
+
    B move but do not plot
+
    N return to original point after move
+
    and movement is one of:
+
    U[n] up n steps
+
    L[n] left n steps
+
    D[n] down n steps
+
    R[n] right n steps
+
    E[n] up and right n steps
+
    F[n] down and right n steps
+
    G[n] down and left n steps
+
    H[n] up and left n steps
+
    M{+|-}x,[+|-]y move (x,y) steps
+
    Mx,y move to view region coordinate (x,y)
+
  
    where n is an integer in [-32768—32767] and x, y are integers in [0—9999]. Where optional, n defaults to 1.
+
commandes de mouvement
Scale commands
+
    Sn set the step size to n/4. The default step size is 1 pixel. n is an integer in [1—255]
+
    TAn set the angle to n degrees. The default angle is 0 degrees. n is an integer in [-360—360]
+
    An set the angle to 0 for n=0, 90 for n=1, 180 for n=2, 270 for n=3. n is an integer in [0—3]
+
Colour commands
+
    Cn set the foreground attribute to n, where n is an integer in [-32768—32767] See COLOR.
+
    Pn,b flood fill with attribute n and boundary attribute b, where n, b are integers in [0—9999] See PAINT.
+
Subroutine command
+
    Xs execute a substring
+
  
     s is one of the following:
+
  [B] [N] mouvement
 +
     où la valeur par défaut est de se déplacer et d'en tirer;  les préfixes optionnels signifient:
 +
    B déménagement, mais ne pas tracer
 +
    N retour à un point d'origine après déménagement
 +
    et le mouvement est l'un des:
 +
    U [n] jusqu'à n étapes
 +
    L [n] à gauche n étapes
 +
    D [n] vers le bas n étapes
 +
    R [n] à droite n étapes
 +
    E [n] et n étapes droite
 +
    F [n] vers le bas et n étapes droite
 +
    G [n] vers le bas et n pas gauche
 +
    H [n] et à gauche n étapes
 +
    M {+ | -} x, [+ | -] y déplacer (x, y) étapes
 +
    Mx, y déplacer pour voir la région de coordonnées (x, y)
  
        a string variable name followed by semicolon (;)
+
  où n est un entier dans [-32.768-32767] et x, y sont des nombres entiers [0-9999].  Où en option, n 1 par défaut.
        the result of VARPTR$() on a string variable
+
  
Numeric variables n, x, y, b in the commands above can be:
+
les commandes d'échelle
  
     an integer literal, e.g. DRAW "U100"
+
  Sn régler la taille de pas à n / 4.  La taille de l'étape par défaut est 1 pixel.  n est un entier dans [1-255]
     a numeric variable name or array element var preceded by = and followed by ;. For example, DRAW "U=VAR;" or DRAW "U=A(1);"
+
     TAn définir l'angle à n degrés. L'angle par défaut est de 0 degrés. n est un entier dans [-360 à 360]
    the result of VARPTR$(var) preceded by =. For example, DRAW "U=" + VARPTR$(VAR)
+
     Un ensemble à l'angle 0 pour n = 0, 90 pour n = 1, 180 pour n = 2, 270 pour n = 3.  n est un entier dans [0-3]
  
Notes
+
commandes de couleur
  
    The CLS statement resets the step size to 1 pixel, angle to 0 degrees and position to the centre of the view region.
+
  Cn définir l'attribut de premier plan à n, n est un entier dans [-32768 à 32767] Voir COLOR.
    The value n in the TA, A and C command can be left out but only if the command is terminated by a semicolon. n defaults to 0.
+
     Pn, b inondation remplir avec l'attribut n et limite attribut b, n, b sont des nombres entiers dans [0-9999] Voir PAINT.
     In GW-BASIC, the numeric arguments of U, L, D, R, E, F, G, H, and C can be in the range [-99999—99999]; however, results for large numbers are unpredictable. This is not implemented in PC-BASIC.
+
  
Errors
+
commande Subroutine
  
    gml_string has a numeric value: Type mismatch.
+
  Xs exécuter une sous-chaîne
    gml_string has errors in the GML: Illegal function call.
+
    A variable referenced in the GML string is of incorrect type: Type mismatch.
+
  
EDIT
+
  s est l'un des éléments suivants:
EDIT {line_number|.}
+
  
Displays the specified program line with the cursor positioned for editing. line_number must be a line that exists in the program, or a period (.) to indicate the last line stored.
+
  un nom variable de chaîne suivie par un point virgule (;)
Errors
+
        le résultat de VARPTR $ () sur une variable de chaîne
  
    No line_number is specified: Undefined line number.
+
Les variables numériques n, x, y, b dans les commandes ci-dessus peuvent être:
    More characters are written after the line number: Illegal function call.
+
    line_number is not in [0—65529]: Illegal function call.
+
    The specified line number does not exist: Undefined line number.
+
  
ELSE
+
  un littéral entier, par exemple TIRAGE "U100"
ELSE [anything]
+
    une variable numérique nom ou élément de tableau var précédé de = et suivie;.  Par exemple, DESSINER "U = VAR;"  ou TIRAGE "U = A (1);"
 +
    le résultat de VARPTR $ (var) précédé de =.  Par exemple, DESSINER "U =" + VARPTR $ (VAR)
  
Unless part of an IF statement on the same line, anything after ELSE is ignored in the same way as after ' or :REM. No colon : preceding the ELSE statement is necessary. See IF for normal usage.
+
Remarques
END
+
END
+
  
Closes all files, stops program execution and returns control to the user. No message is printed. It is possible to resume execution at the next statement using CONT.
+
  L'instruction CLS réinitialise la taille de pas de 1 pixel, un angle de 0 ° et la position du centre de la région d'affichage.
ENVIRON
+
    La valeur n dans la commande TA, A et C peut être laissé de côté, mais seulement si la commande se termine par un point-virgule. n 0 par défaut.
ENVIRON command_string
+
    Dans GW-BASIC, les arguments numériques de U, L, D, R, E, F, G, H et C peuvent être dans l'intervalle [-99999 à 99.999];  cependant, les résultats pour un grand nombre sont imprévisibles.  Ce ne sont pas mis en œuvre dans PC-BASIC.
  
Sets a shell environment variable.
+
les erreurs
Parameters
+
  
command_string is a string expression of one of the following forms:
+
  gml_string a une valeur numérique: incompatibilité de type.
 +
    gml_string a des erreurs dans le GML: Illegal appel de fonction.
 +
    Une variable référencée dans la chaîne GML est de type incorrect: incompatibilité de type.
  
"VARIABLE=VALUE"
+
EDIT EDIT {line_number |.}
    to set VARIABLE to VALUE;
+
"VARIABLE="
+
    to unset VARIABLE.  
+
  
Errors
+
Affiche la ligne de programme spécifié avec le curseur positionné pour l'édition. line_number doit être une ligne qui existe dans le programme, ou un point (.) pour indiquer la dernière ligne stockée. les erreurs
  
     command_string has a numeric value: Type mismatch.
+
  Non line_number est spécifié: numéro de ligne défini.
     command_string is not of the required form: Illegal function call.
+
     Plus de caractères sont écrits après le numéro de ligne: Illegal appel de fonction.
 +
     line_number est pas dans [0-65529]: Illegal appel de fonction.
 +
    n'existe pas Le numéro de ligne spécifié: numéro de ligne défini.
  
ERASE
+
AUTRE AUTRE [quelque chose]
ERASE array_0 [, array_1] ...
+
  
De-allocates arrays. The data stored in the arrays is lost.
+
Sauf partie d'une instruction IF sur la même ligne, rien après ELSE est ignoré de la même manière que, après 'ou: REM. Aucun colon: précédant l'instruction ELSE est nécessaire. Voir SI pour une utilisation normale. FIN FIN
Parameters
+
  
    array_0, array_1 ... are names of existing arrays. The names must be specified without brackets.
+
Ferme tous les fichiers, arrête l'exécution du programme et renvoie le contrôle à l'utilisateur. Aucun message est imprimé. Il est possible de reprendre l'exécution à l'instruction suivante en utilisant CONT. ENVIRON ENVIRON command_string
  
Errors
+
Définit une variable d'environnement shell. Paramètres
  
    No array names are given: Syntax error.
+
command_string est une expression de chaîne de l'une des formes suivantes:
    array_0, array_1 ... do not exist: Illegal function call.
+
    If an error occurs, the arrays named before the error occurred are erased.
+
  
ERROR
+
"VARIABLE = VALEUR"
ERROR error_number
+
  
Raises the error with number error_number.
+
  pour définir VARIABLE à VALUE;
Parameters
+
  
    error_number is an expression with a numeric value.
+
"VARIABLE ="
  
Errors
+
  à VARIABLE unset.
  
    error_number has a string value: Type mismatch.
+
les erreurs
    error_number is not in [-32768—32767]: Overflow.
+
    error_number is not in [1—255]: Illegal function call.
+
  
FIELD
+
  command_string a une valeur numérique: incompatibilité de type.
FIELD [#] file_number [, width_0 AS name_0 [, width_1 AS name_1] ...]
+
    command_string n'a pas la forme requise: Illegal appel de fonction.
  
Assigns variables to the random-access record buffer. The record buffer is a region of memory of length defined by the OPEN statement; the default record length is 128 bytes. The FIELD statement assigns a portion of this region to one or more fixed-length string variables, so that the value of these strings is whatever happens to be in the record buffer at that location.
+
ERASE ERASE array_0 [, array_1] ...
Notes
+
  
    A FIELD statement without any variables specified has no effect.
+
De-alloue des tableaux. Les données stockées dans les tableaux sont perdues. Paramètres
    Another FIELD statement on the same file will specify an alternative mapping of the same file buffer; all mappings will be in effect simultaneously.
+
    A subsequent assignment or LET or MID$ statement on name_0 , name_1 ... will dis- associate the string variable from the field buffer.
+
    Use LSET, RSET or MID$ to copy values into a FIELD buffer.
+
    Use GET to read values from the file into the field buffer, changing the variables.
+
    Use PUT to write the field buffer to the file.
+
  
Parameters
+
  array_0, array_1 ... sont des noms de réseaux existants.  Les noms doivent être spécifiés sans crochets.
  
    file_number is a numeric expression that yields the number of an open random-access file. The # is optional and has no effect.
+
les erreurs
    width_0, width_1, ... are numeric expressions giving the length of the string variables
+
    name_0 , name_1 ... are string variables.
+
  
Errors
+
  Aucun nom de tableau sont données: Erreur de syntaxe.
 +
    array_0, array_1 ... n'existent pas: Illegal appel de fonction.
 +
    Si une erreur se produit, les tableaux nommés avant l'erreur sont effacées.
  
    file_number is not in [0—255]: Illegal function call.
+
ERROR ERROR numéro_erreur
    file_number is not the number of an open file: Bad file number.
+
    file_number is open under a mode other than RANDOM: Bad file mode.
+
    The statement ends in a comma: Missing operand.
+
    No file number is specified: Missing operand.
+
    The lengths in a FIELD statement add up to a number larger than the record length of the field buffer: Field overflow.
+
    name_0 , name_1 ... specify a non-string variable: Type mismatch.
+
  
FILES
+
Déclenche l'erreur avec le numéro numéro_erreur. Paramètres
FILES [filter_spec]
+
  
Displays the files fitting the specified filter in the specified directory on a disk device. If filter_spec is not specified, displays all files in the current working directory.
+
  numéro_erreur est une expression avec une valeur numérique.
Parameters
+
  
    filter_spec is a string expression that is much like a file specification, but optionally allows the file name part to contain wildcards.
+
les erreurs
  
Notes
+
  numéro_erreur a une valeur de chaîne: Type mismatch.
 +
    numéro_erreur est pas dans [-32768-32767]: Overflow.
 +
    numéro_erreur est pas dans [1-255]: Illegal appel de fonction.
  
    The filename filter may contain the following wildcards:
+
FIELD FIELD [#] file_number [, width_0 AS NAME_0 [, width_1 AS name_1] ...]
    ? Matches any legal file name character.
+
    * Matches any series of legal file name characters.
+
    The filter will only match MS-DOS style filenames.
+
    Matched character series do not stretch across directory separators \ or extension separators .. To match all files with all extensions, use *.*.
+
    Alternatively, if all files in a specified directory are required, end the directory name with a backslash \.
+
  
Errors
+
Affecte variables dans le tampon d'enregistrement à accès aléatoire. Le tampon d'enregistrement est une région de mémoire de longueur définie par l'instruction OPEN; la longueur d'enregistrement par défaut est de 128 octets. L'instruction FIELD attribue une partie de cette région à une ou plusieurs variables de chaîne de longueur fixe, de sorte que la valeur de ces chaînes est tout ce qui arrive à être dans le tampon d'enregistrement à cet endroit. Remarques
  
    filter_spec has a numeric value: Type mismatch.
+
  Une instruction FIELD sans variables spécifiées n'a pas d'effet.
     filter_spec is the empty string: Bad file name.
+
    Une autre instruction FIELD sur le même fichier spécifiera une alternative cartographie du même tampon de fichier;  toutes les applications seront en vigueur simultanément.
     The specified filter does not match any files: File not found.
+
    Une affectation subséquente ou louer ou MID $ déclaration sur NAME_0, name_1 ... seront dis- associer la variable de chaîne de la mémoire tampon de champ.
 +
    Utilisez LSET, RSET ou MID $ pour copier les valeurs dans un tampon de FIELD.
 +
     Utilisez GET pour lire les valeurs du fichier dans la mémoire tampon de champ, en changeant les variables.
 +
     Utilisez PUT pour écrire le tampon de champ dans le fichier.
  
FOR
+
Paramètres
FOR loop_var = start TO stop [STEP step]
+
  
Initiates a FOR—NEXT loop.
+
  file_number est une expression numérique qui donne le nombre d'un fichier à accès aléatoire ouvert.  Le # est facultative et n'a aucun effet.
 +
    width_0, width_1, ... sont des expressions numériques donnant la longueur des variables de chaîne
 +
    NAME_0, name_1 ... sont des variables de chaîne.
  
Initially, loop_var is set to start. Then, the statements between the FOR statement and the NEXT statement are executed and loop_var is incremented by step (if step is not specified, by 1). This is repeated until loop_var has become greater than stop. Execution then continues at the statement following NEXT. The value of loop_var equals stop+step after the loop.
+
les erreurs
Parameters
+
  
     loop_var is a numeric variable.
+
  file_number est pas dans [0-255]: Illegal appel de fonction.
     start, stop and step are numeric expressions.
+
     file_number est pas le nombre d'un fichier ouvert: Numéro de fichier incorrect.
 +
     file_number est ouvert sous un autre mode que RANDOM: Mode de fichier incorrect.
 +
    La déclaration se termine par une virgule: Missing opérande.
 +
    Aucun numéro de fichier est spécifié: opérande manquant.
 +
    Les longueurs dans une instruction FIELD ajouter jusqu'à un nombre plus grand que la longueur d'enregistrement de la mémoire tampon de champ: débordement de terrain.
 +
    NAME_0, name_1 ... spécifier un non-variable chaîne: Incompatibilité de type.
  
Errors
+
FICHIERS FILES [filter_spec]
  
    No NEXT statement is found to match the FOR statement: FOR without NEXT occurs at the FOR statement.
+
Affiche les fichiers adaptant le filtre spécifié dans le répertoire spécifié sur un périphérique de disque. Si filter_spec est pas spécifié, affiche tous les fichiers dans le répertoire de travail courant. Paramètres
    loop_var is a string variable or start, stop, or end has a string value: Type mismatch.
+
    loop_var is an array element: Syntax error .
+
    loop_var is an integer variable and a start, stop or step is outside the range [-32768, 32767]: Overflow .
+
  
GET (files)
+
  filter_spec est une expression de chaîne qui est un peu comme une spécification de fichier, mais permet éventuellement le nom du fichier partie pour contenir des caractères génériques.
GET [#] file_number [, record_number]
+
  
Read a record from the random-access file file_number at position record_number. The record can be accessed through the FIELD variables or through INPUT$, INPUT or LINE INPUT.
+
Remarques
Parameters
+
  
     file_number is a numeric expression that yields the number of an open random-access file. The # is optional and has no effect.
+
  Le filtre de nom de fichier peut contenir les caractères génériques suivants:
     record_number is a numeric expression in [1—33554432] (2^25), and is interpreted as the record number.
+
  ?  Correspond à tout caractère légal de nom de fichier.
 +
     * Correspond une série de noms de fichiers caractères juridiques.
 +
    Le filtre ne correspond MS-DOS noms de style.
 +
    série de caractères appariés ne pas étirer à travers des séparateurs répertoire \ ou séparateurs d'extension .. Pour faire correspondre tous les fichiers avec toutes les extensions, utilisez *. *.
 +
     Par ailleurs, si tous les fichiers dans un répertoire spécifié sont nécessaires, mettre fin au nom du répertoire avec un backslash \.
  
Notes
+
les erreurs
  
     If the record number is beyond the end of the file, the file buffer is filled with null bytes.
+
  filter_spec a une valeur numérique: incompatibilité de type.
     The record number is stored as single-precision; this precision is not high enough to distinguish single records near the maximum value of 2^25.
+
     filter_spec est la chaîne vide: Nom de fichier incorrect.
 +
     Le filtre spécifié ne correspond pas à tous les fichiers: Fichier non trouvé.
  
Errors
+
POUR POUR loop_var = commencer à arrêter [étape de STEP]
  
    record_number is not in [1—33554432]: Bad record number.
+
Lance une boucle FOR-NEXT.
    file_number is not in [0—255]: Illegal function call.
+
    file_number is not the number of an open file: Bad file number.
+
    file_number is open under a mode other than RANDOM: Bad file mode.
+
    file_number is not specified: Missing operand.
+
  
GET (communications)
+
Dans un premier temps, loop_var est configuré pour démarrer. Ensuite, les déclarations entre la déclaration FOR et l'instruction NEXT sont exécutées et loop_var est incrémenté par l'étape (si l'étape est pas spécifiée, par 1). Cette opération est répétée jusqu'à ce que loop_var est devenue supérieure à l'arrêt. L'exécution se poursuit alors à l'instruction suivante NEXT. La valeur de loop_var égale arrêt + étape après la boucle. Paramètres
GET [#] com_file_number [, number_bytes]
+
  
Read number_bytes bytes from the communications buffer opened under file number com_file_number. The record can be accessed through the FIELD variables or through INPUT$, INPUT or LINE INPUT.
+
  loop_var est une variable numérique.
Parameters
+
    démarrage, l'arrêt et l'étape sont des expressions numériques.
  
    file_number is a numeric expression that yields the number of a file open to a COM device. The # is optional and has no effect.
+
les erreurs
    number_bytes is a numeric expression between 1 and the COM buffer length, inclusive.
+
  
Notes
+
  Aucune instruction NEXT se trouve pour correspondre à l'instruction FOR: POUR LA PROCHAINE sans se produit à l'instruction FOR.
 +
    loop_var est une variable de chaîne ou de démarrer, arrêter, ou à la fin a une valeur chaîne: Incompatibilité de type.
 +
    loop_var est un élément de tableau: Erreur de syntaxe.
 +
    loop_var est une variable entière et un démarrage, l'arrêt ou l'étape est en dehors de l'intervalle [-32768, 32767]: Overflow.
  
    If bytes is 32768 or greater, GW-BASIC hangs. This functionality is not implemented in PC-BASIC.
+
GET (fichiers) GET [#] file_number [, record_number]
    In GW-BASIC, Device I/O error is raised for overrun error, framing error, and break interrupt. Device fault is raised if DSR is lost during I/O. Parity error is raised if parity is enabled and incorrect parity is encountered. This is according to the manual; it is untested.
+
  
Errors
+
Lire un enregistrement du fichier file_number à accès aléatoire à la position record_number. Le dossier peut être consulté par les variables de champ ou par le biais $ INPUT, INPUT ou LINE INPUT. Paramètres
  
    bytes is less than 1: Bad record number
+
  file_number est une expression numérique qui donne le nombre d'un fichier à accès aléatoire ouvert. Le # est facultative et n'a aucun effet.
    bytes is less than 32768 and greater than the COM buffer length: Illegal function call.
+
     record_number est une expression numérique dans [1-33554432] (2 ^ 25), et est interprété comme le numéro d'enregistrement.
    com_file_number is not specified: Missing operand.
+
     com_file_number is not in [0—255]: Illegal function call.
+
    com_file_number is not the number of an open file: Bad file number.
+
    If the serial input buffer is full, i.e. LOF(com_file_number) = 0, and LOC(com_file_number) = 255: Communication buffer overflow
+
    If the carrier drops during GET, hangs until the Ctrl+Break key is pressed.
+
  
GET (graphics)
+
Remarques
GET (x0, y0) - [STEP] (x1, y1), array_name
+
  
Stores a rectangular area of the graphics screen in an array. The area stored is a rectangle parallel to the screen edges, bounded by the top-left and bottom-right coordinates x0,y0 and x1,y1. If STEP is specified, x1,y1 is an offset from x0,y0. The area is such that these corner points are inside it.
+
  Si le numéro d'enregistrement est au-delà de la fin du fichier, le tampon de fichier est rempli d'octets nuls.
 +
    Le numéro d'enregistrement est stocké sous forme de simple précision;  cette précision est pas assez élevé pour distinguer des enregistrements uniques à proximité de la valeur maximale de 2 ^ 25.
  
The image stored in the array can then be put on the screen using PUT. For the purposes of GET, any array is considered a string of bytes. The byte size of an array can be calculated as number_elements * byte_size with byte_size equal to 2 for integers (%), 4 for single (!) and 8 for double (#). Array byte size for string is 3, but string arrays are not allowed in GET. For calculating the number of elements, keep in mind that OPTION BASE 0 is the default; in which case an array with maximum index 10 has 11 elements. This works through in multidimensional arrays.
+
les erreurs
  
The array format is as follows:
+
  record_number est pas dans [1-33554432]: Numéro d'enregistrement Bad.
Byte Contains
+
    file_number est pas dans [0-255]: Illegal appel de fonction.
0, 1 Number of x pixels, unsigned int. In SCREEN 1, this value is doubled.
+
    file_number est pas le nombre d'un fichier ouvert: Numéro de fichier incorrect.
2, 3 Number of y pixels, unsigned int.
+
    file_number est ouvert sous un autre mode que RANDOM: Mode de fichier incorrect.
4— Pixel data. Data is arranged in 2-byte words. The first 16-bit word holds the bit 0 of the first 16 pixels on the top row. The second word holds the second bit, etc. Data is word-aligned at the end of each row. Thus, in a screen mode with 4 bits per pixel, the first row takes at least 8 bytes (4 words), even if it consists of only one pixel. The number of bits per pixel depends on the SCREEN mode.
+
    file_number est pas spécifié: opérande manquant.
Parameters
+
  
    array_name is the name of a numeric array dimensioned with enough space to store the area.
+
GET (communications) GET [#] com_file_number [, nombre_octets]
    x0, y0, x1, y1 are numeric expressions.
+
  
Notes
+
Lire nombre_octets octets de la mémoire tampon de communication ouvert sous le numéro de fichier com_file_number. Le dossier peut être consulté par les variables de champ ou par le biais $ INPUT, INPUT ou LINE INPUT. Paramètres
  
     In PCjr/Tandy mode, in SCREEN 6, GET stores an area of twice the width of the specified rectangle.
+
  file_number est une expression numérique qui donne le nombre d'un fichier ouvert à un dispositif de COM.  Le # est facultative et n'a aucun effet.
 +
     nombre_octets est une expression numérique entre 1 et la longueur du tampon de COM, inclus.
  
Errors
+
Remarques
  
    The array does not exist: Illegal function call.
+
  Si octets est 32768 ou plus, se bloque GW-BASIC. Cette fonctionnalité est pas implémentée dans PC-BASIC.
    array_name refers to a string array: Type mismatch.
+
     Dans GW-BASIC, Dispositif d'erreur d'E / S est élevé pour erreur de dépassement, le cadrage d'erreur, et de briser interruption. Erreur appareil est déclenchée si DSR est perdue au cours d'E / S. Erreur de parité est déclenchée si la parité est activé et la parité incorrecte est rencontrée. Ceci est indiqué dans le manuel;  il n'a pas été testé.
    The area is too large for the array: Illegal function call.
+
    x0, ... y1 are string expressions: Type mismatch.
+
     x0, ... y1 are not in [-32768—32767]: Overflow.
+
    x0, ... y1 are outside the current VIEW or WINDOW: Illegal function call
+
  
GOSUB
+
les erreurs
GO[ ]SUB line_number [anything]
+
  
Jumps to a subroutine at line_number. The next RETURN statement jumps back to the statement after GOSUB. Anything after line_number until the end of the statement is ignored. If executed from a direct line, GOSUB runs the subroutine and the following RETURN returns execution to the direct line.
+
  octets est inférieur à 1: Numéro d'enregistrement Bad
Parameters
+
    octets est inférieur à 32768 et supérieure à la longueur de la mémoire tampon de COM: Illegal appel de fonction.
 +
    com_file_number est pas spécifié: opérande manquant.
 +
    com_file_number est pas dans [0-255]: Illegal appel de fonction.
 +
    com_file_number est pas le nombre d'un fichier ouvert: Numéro de fichier incorrect.
 +
    Si le tampon d'entrée série est complète, à savoir LOF (com_file_number) = 0, et LOC (com_file_number) = 255: débordement de mémoire tampon de communication
 +
    Si le transporteur baisse pendant GET, se bloque jusqu'à ce que la touche Ctrl + Pause est enfoncée.
  
    line_number is an existing line number literal.
+
GET (graphiques) GET (x0, y0) - [STEP] (x1, y1), array_name
    Further characters on the line are ignored until end of statement.
+
  
Notes
+
Enregistre une zone rectangulaire de l'écran graphique dans un tableau. La zone stockée est un rectangle parallèle aux bords de l'écran, délimitée par le haut-gauche et les coordonnées en bas à droite x0, y0 et x1, y1. Si STEP est spécifié, x1, y1 est un décalage de x0, y0. La zone est telle que ces points d'angle sont à l'intérieur.
  
    If no RETURN is encountered, no problem.
+
L'image stockée dans le réseau peut alors être mis sur l'écran en utilisant PUT. Aux fins de l'EEG, tout tableau est considéré comme une chaîne d'octets. La taille en octets d'un tableau peut être calculée comme number_elements * byte_size avec byte_size égal à 2 pour les entiers (%), 4 pour unique (!) Et 8 pour le double (#). Tableau taille en octets pour la chaîne est 3, mais des tableaux de chaînes ne sont pas autorisés dans GET. Pour calculer le nombre d'éléments, gardez à l'esprit que OPTION BASE 0 est la valeur par défaut; auquel cas un tableau avec indice maximum 10 a 11 éléments. Cela fonctionne par le biais de tableaux multidimensionnels.
    One optional space is allowed between GO and SUB; it will not be retained in the program.
+
  
Errors
+
Le format de tableau est la suivante: Octet Contient 0, 1 x Nombre de pixels, unsigned int. Dans ECRAN 1, cette valeur est doublée. 2, 3 Nombre de pixels y, unsigned int. 4- Des données de pixels. Les données sont disposées dans des mots de 2 octets. Le premier mot de 16 bits contient le bit 0 des 16 premiers pixels de la rangée supérieure. Le deuxième mot tient le second bit, etc. Les données sont mot-alignés à la fin de chaque ligne. Ainsi, dans un mode écran avec 4 bits par pixel, la première ligne prend au moins 8 octets (4 mots), même si elle est constituée d'un seul pixel. Le nombre de bits par pixel dépend du mode ECRAN. Paramètres
  
    If line_number does not exist: Undefined line number.
+
  array_name est le nom d'un tableau numérique dimensionné avec suffisamment d'espace pour stocker la zone.
     If line_number is greater than 65529, only the first 4 characters are read (e.g. 6553)
+
     x0, y0, x1, y1 sont des expressions numériques.
  
GOTO
+
Remarques
GO[ ]TO line_number [anything]
+
  
Jumps to line_number. Anything after line_number until the end of the statement is ignored. If executed from a direct line, GOTO starts execution of the program at the specified line.
+
  En mode PCjr / Tandy, dans l'écran 6, GET magasins une superficie de deux fois la largeur du rectangle spécifié.
Parameters
+
  
    line_number is an existing line number literal.
+
les erreurs
    Further characters on the line are ignored until end of statement.
+
  
Notes
+
  Le tableau n'existe pas: Illegal appel de fonction.
 +
    array_name fait référence à un tableau de chaînes: Incompatibilité de type.
 +
    La zone est trop grande pour le tableau: Illegal appel de fonction.
 +
    x0, ... y1 sont des expressions de chaîne: Type mismatch.
 +
    X0, ... y1 ne sont pas dans [-32768 à 32767]: Overflow.
 +
    X0, ... y1 sont en dehors de la vue ou la fenêtre courante: Illegal appel de fonction
  
    Any number of optional spaces is allowed between GO and TO, but they will not be retained in the program.
+
GOSUB GO [] SUB line_number [quelque chose]
    If line_number is greater than 65529, only the first 4 characters are read (e.g. GOTO 65530 is executed as GOTO 6553)
+
  
Errors
+
Saute à un sous-programme à line_number. La prochaine instruction RETURN revient à la déclaration après GOSUB. Tout ce qui suit line_number jusqu'à la fin de l'instruction est ignorée. Si elle est exécutée à partir d'une ligne directe, GOSUB exécute le sous-programme et le retour suivant renvoie l'exécution à la ligne directe. Paramètres
  
    line_number does not exist: Undefined line number.
+
  line_number est un numéro de ligne existante littérale.
 +
    D'autres caractères sur la ligne sont ignorées jusqu'à la fin de la déclaration.
  
IF
+
Remarques
IF truth_value [,] {THEN|GOTO} [compound_statement_true|line_number_true [anything]] [ELSE [compound_statement_false|line_number_false [anything]]]
+
  
If truth_value is non-zero, executes compound_statement_true or jumps to line_number_true . If it is zero, executes compound_statement_false or jumps to line_number_false .
+
  Si aucun RETURN est rencontrée, pas de problème.
Parameters
+
    Un espace optionnel est autorisé entre GO et SUB;  il ne sera pas retenu dans le programme.
  
    truth_value is a numeric expression.
+
les erreurs
    line_number_false and line_number_true are existing line numbers.
+
    compound_statement_false and compound_statement_true are compound statements, consisting of at least one statement, optionally followed by further statements separated by colons :. The compound statements may contain nested IF—THEN—ELSE statements.
+
  
Notes
+
  Si line_number n'existe pas: Undefined numéro de ligne.
 +
    Si line_number est supérieur à 65529, seuls les 4 premiers caractères sont lus (par exemple 6553)
  
    The comma is optional and ignored.
+
GOTO GO [] À LINE_NUMBER [quelque chose]
    ELSE clauses are optional; they are bound to the innermost free IF statement if nested. Additional ELSE clauses that have no matching IF are ignored.
+
    All clauses must be on the same program line.
+
    THEN and GOTO are interchangeable; which one is chosen is independent of whether a statement or a line number is given. GOTO PRINT 1 is fine.
+
    As in GOTO, anything after the line number is ignored.
+
  
Errors
+
Saute à LINE_NUMBER. Tout ce qui suit line_number jusqu'à la fin de l'instruction est ignorée. Si elle est exécutée à partir d'une ligne directe, GOTO commence l'exécution du programme à la ligne spécifiée. Paramètres
  
    If truth_value has a string value: Type mismatch.
+
  line_number est un numéro de ligne existante littérale.
     truth_value equals 0 and line_number_false is a non-existing line number, or truth_value is nonzero and line_number_true is a non-existing line number: Undefined line number.
+
     D'autres caractères sur la ligne sont ignorées jusqu'à la fin de la déclaration.
  
INPUT (console)
+
Remarques
INPUT [;] [prompt {;|,}] var_0 [, var_1] ...
+
  
Prints prompt to the screen and waits for the user to input values for the specified variables. The semicolon before the prompt, if present, stops a newline from being printed after the values have been entered. If the prompt is followed by a semicolon, it is printed with a trailing ?. If the prompt is followed by a comma, no question mark is added.
+
  Tout nombre de places en option est autorisée entre GO et TO, mais ils ne seront pas conservées dans le programme.
Parameters
+
    Si line_number est supérieur à 65529, seuls les 4 premiers caractères sont lus (par exemple GOTO 65530 est exécuté comme GOTO 6553)
  
    prompt is a string literal.
+
les erreurs
    var_0, var_1, ... are variable names or fully indexed array elements.
+
  
Notes
+
  line_number n'existe pas: numéro de ligne défini.
  
    Values entered must be separated by commas. Leading and trailing whitespace is discarded.
+
SI SI truth_value [,] {THEN | GOTO} [compound_statement_true | line_number_true [rien]] [AUTRE [compound_statement_false | line_number_false [quelque chose]]]
    String values can be entered with or without double quotes (").
+
    If a string with a comma, leading or trailing whitespace is needed, quotes are the only way to enter it.
+
    Between a closing quote and the comma at the end of the entry, only white- space is allowed.
+
    If quotes are needed in the string itself, the first character must be neither a quote nor whitespace. It is not possible to enter a string that starts with a quote through INPUT.
+
    If a given var_n is a numeric variable, the value entered must be number literal.
+
    Characters beyond the 255th character of the screen line are discarded.
+
    If user input is interrupted by Ctrl+Break, CONT will re-execute the INPUT statement.
+
  
Errors
+
Si truth_value est non nul, exécute des sauts de compound_statement_true ou line_number_true. Si elle est nulle, exécute compound_statement_false ou saute à line_number_false. Paramètres
  
     If the value entered for a numeric variable is not a valid numeric literal, or the number of values entered does not match the number of variables in the statement, ?Redo from start is printed and all values must be entered again.
+
  truth_value est une expression numérique.
     A Syntax error that is caused after the prompt is printed is only raised after the value shave been entered. No values are stored.
+
     line_number_false et line_number_true sont les numéros de ligne existants.
 +
     compound_statement_false et compound_statement_true sont des instructions composées, composé d'au moins une déclaration, suivie éventuellement d'autres déclarations séparées par des virgules. Les états composés peuvent contenir des déclarations imbriquées IF-THEN-ELSE.
  
INPUT (files)
+
Remarques
INPUT # file_num, var_0 [, var_1] ...
+
  
Reads string or numeric variables from a text file or the FIELD buffer of a random access file.
+
  La virgule est optionnel et ignoré.
Parameters
+
    clauses AUTRE sont facultatifs;  ils sont liés à la déclaration la plus intérieure libre IF si imbriqué.  clauses ELSE supplémentaires qui ont pas de correspondance IF sont ignorées.
 +
    Toutes les clauses doivent être sur la même ligne de programme.
 +
    THEN et GOTO sont interchangeables;  dont l'un est choisi est indépendant si l'on indique une déclaration ou un numéro de ligne.  GOTO PRINT 1 est très bien.
 +
    Comme dans GOTO, quoi que ce soit après le numéro de ligne est ignoré.
  
    file_num is the number of a file open in INPUT mode or a random-access file open in RANDOM mode.
+
les erreurs
    var_0, var_1, ... are variable names or fully indexed array elements.
+
  
Notes
+
  Si truth_value a une valeur de chaîne: Type mismatch.
 +
    truth_value est égal à 0 et line_number_false est un numéro de ligne non-existante, ou truth_value est non nul et line_number_true est un numéro de ligne non-existante: numéro de ligne défini.
  
    The # is mandatory. There may or may not be whitespace between INPUT and #.
+
INPUT (console) INPUT [;] [invite {; |,}] var_0 [, var_1] ...
    String values can be entered with or without double quotes (").
+
    Numeric values are terminated by  , LF, CR, ,.
+
    Unquoted strings are terminated by LF, CR, ,.
+
    Quoted strings are terminated by the closing quote.
+
    Any entry is terminated by EOF character or its 255th character.
+
    Leading and trailing whitespace is discarded.
+
    If the entry cannot be converted to the requested type, a zero value is returned.
+
    If file_num is open to KYBD:, INPUT# reads from the keyboard until a return or comma is encountered (as in a file). Arrow keys and delete are passed as their control characters (not scancodes!) preceded by CHR$(&hFF).
+
  
Errors
+
Prints invitent à l'écran et attend pour l'utilisateur de valeurs d'entrée pour les variables spécifiées. Le point-virgule avant l'invite, le cas échéant, arrête une nouvelle ligne d'être imprimé après les valeurs ont été saisies. Si l'invite est suivie par un point-virgule, il est imprimé avec une fuite?. Si l'invite est suivi d'une virgule, pas de point d'interrogation est ajouté. Paramètres
  
    Input is requested after the end of a text file has been reached or an EOF character has been encountered: Input past end.
+
  invite est une chaîne littérale.
     The last character of the field buffer is read: Field overflow.
+
     var_0, var_1, ... sont des noms de variables ou éléments du tableau entièrement indexés.
    file_num has a string value: Type mismatch.
+
    file_num is greater than 32767: Overflow.
+
    file_num is less than zero: Illegal function call.
+
    file_num is not an open file: Bad file number.
+
    file_num is not open for INPUT or RANDOM: Bad file mode.
+
    file_num is open to a COM port and this is the first INPUT, LINE INPUT or INPUT$ call on that port since the buffer has filled up completely (i.e. LOF(file_num) has become zero): Communication buffer overflow.
+
  
IOCTL
+
Remarques
IOCTL [#] file_num, control_string
+
  
Raises Illegal function call.
+
  Les valeurs entrées doivent être séparées par des virgules.  Espaces avant et après est jeté.
Notes
+
    Les valeurs de chaîne peuvent être saisies avec ou sans guillemets doubles ( ").
 +
    Si une chaîne avec une virgule, avant ou arrière des espaces est nécessaire, les citations sont la seule façon d'y entrer.
 +
    Entre une citation de clôture et la virgule à la fin de l'entrée, seul espace blanc- est autorisé.
 +
    Si les guillemets sont nécessaires dans la chaîne elle-même, le premier caractère ne doit être ni un devis ni des espaces.  Il est impossible d'entrer dans une chaîne qui commence avec une citation par INPUT.
 +
    Si un var_n donné est une variable numérique, la valeur saisie doit être littéral.
 +
    Les personnages au-delà du 255e caractère de la ligne de l'écran sont jetés.
 +
    Si l'entrée de l'utilisateur est interrompu par Ctrl + Break, CONT sera ré-exécuter l'instruction INPUT.
  
    In GW-BASIC, IOCTL sends a control string to a device.
+
les erreurs
    This statement is not implemented in PC-BASIC.
+
  
Errors
+
  Si la valeur saisie pour une variable numérique est un littéral numérique valide, ou le nombre de valeurs entrées ne correspond pas au nombre de variables dans la déclaration,? Refaire du début est imprimé et toutes les valeurs doit être saisi à nouveau.
 +
    Une erreur de syntaxe qui est causée après l'invite est imprimée est uniquement soulevée après que la valeur shave été saisie.  Aucune valeur sont stockées.
  
    file_num has a string value: Type mismatch.
+
INPUT (fichiers) ENTRÉE # file_num, var_0 [, var_1] ...
    file_num is not in [-32768—32767]: Overflow.
+
    file_num is not an open file: Bad file number.
+
    Otherwise: Illegal function call
+
  
KEY (macro list)
+
Lit chaîne ou variables numériques à partir d'un fichier texte ou le tampon de champ d'un fichier d'accès aléatoire. Paramètres
KEY {ON|OFF|LIST}
+
  
Turns the list of function-key macros on the bottom of the screen ON or OFF. If LIST is specified, prints a list of the 10 (or 12 with syntax=tandy) function keys with the function-key macros defined for those keys to the console.
+
  file_num est le numéro d'un fichier ouvert en mode INPUT ou un fichier à accès aléatoire ouvert en mode RANDOM.
 +
    var_0, var_1, ... sont des noms de variables ou éléments du tableau entièrement indexés.
  
Most characters are represented by their symbol equivalent in the current codepage. However, some characters get a different representation, which is a symbolic representation of their effect as control characters on the screen.
+
Remarques
Code point Replacement Usual glyph
+
&h07 &h0E ♫
+
&h08 &hFE ■
+
&h09 &h1A →
+
&h0A &h1B ←
+
&h0B &h7F ⌂
+
&h0C &h16 ▬
+
&h0D &h1B ←
+
&h1C &h10 ►
+
&h1D &h11 ◄
+
&h1E &h18 ↑
+
&h1F &h19 ↓
+
KEY (macro definition)
+
KEY key_id, string_value
+
  
Defines the string macro for function key key_id. Only the first 15 characters of string_value are stored.
+
  Le # est obligatoire. Il peut ou peut ne pas être d'espace entre INPUT et #.
Parameters
+
    Les valeurs de chaîne peuvent être saisies avec ou sans guillemets doubles ( ").
 +
    Les valeurs numériques sont terminées par, LF, CR,.
 +
    cordes Unquoted sont terminées par LF, CR,.
 +
    Les chaînes entre guillemets sont terminés par la citation de clôture.
 +
    Toute inscription se termine par le caractère EOF ou son caractère 255e.
 +
    Espaces avant et après est jeté.
 +
    Si l'entrée ne peut pas être converti en le type demandé, une valeur zéro est retourné.
 +
    Si file_num est ouvert à INPUT N ° KYBD lit à partir du clavier jusqu'à ce qu'un retour ou une virgule est rencontré (comme dans un fichier).  Les touches fléchées et supprimer sont transmis leurs caractères de contrôle (non scancodes!) Précédés de CHR $ (& HFF).
  
    key_id is a numeric expression in the range [1—10] (or [1—12] when syntax=tandy).
+
les erreurs
    string_value is a string expression.
+
  
Notes
+
  L'entrée est demandée après la fin d'un fichier texte a été atteint ou un caractère EOF a été rencontrée: Entrée passé fin.
 +
    Le dernier caractère de la mémoire tampon de champ est en lecture: débordement de terrain.
 +
    file_num a une valeur de chaîne: Type mismatch.
 +
    file_num est supérieure à 32767: Overflow.
 +
    file_num est inférieur à zéro: Illegal appel de fonction.
 +
    file_num est pas un fichier ouvert: Numéro de fichier incorrect.
 +
    file_num est pas ouvert pour INPUT ou RANDOM: Mode de fichier incorrect.
 +
    file_num est ouvert à un port COM et ceci est la première entrée, LINE INPUT ou INPUT $ appel sur ce port depuis le tampon a rempli complètement (c.-à-LOF (file_num) est devenu zéro): débordement de mémoire tampon de communication.
  
    If key_id is not in the prescribed range, the statement is interpreted as an event-trapping KEY statement.
+
IOCTL IOCTL [#] file_num, control_string
    If string_value is the empty string or the first character of string_value is CHR$(0), the function key macro is switched off and subsequent catching of the associated function key with INKEY$ is enabled.
+
  
Errors
+
Déclenche illégale appel de fonction. Remarques
  
    key_id is not in [-32768—32767]: Overflow.
+
  Dans GW-BASIC, IOCTL envoie une chaîne de commande à un dispositif.
     key_id is not in [1—255]: Illegal function call.
+
     Cette déclaration n'a pas été mis en œuvre dans PC-BASIC.
    key_id has a string value: Type mismatch.
+
  
KEY (event switch)
+
les erreurs
KEY (key_id) {ON|OFF|STOP}
+
  
Controls event trapping of the key with identifier key_id. Event trapping is switched ON or OFF. STOP suspends event trapping until a KEY() ON is executed. Up to one event can be triggered during suspension, provided that event handling was switched on prior to suspension. The event triggered during suspension is handled immediately after the next KEY() ON statement.
+
  file_num a une valeur de chaîne: Type mismatch.
Parameters
+
    file_num est pas dans [-32.768 à 32.767]: Overflow.
 +
    file_num est pas un fichier ouvert: Numéro de fichier incorrect.
 +
    Dans le cas contraire: Illegal appel de fonction
  
key_id is a numeric expression in [1—20]. Keys are:
+
KEY (macro liste) KEY {ON | OFF | LIST}
1 F1
+
2 F2
+
3 F3
+
4 F4
+
5 F5
+
6 F6
+
7 F7
+
8 F8
+
9 F9
+
10 F10
+
11 ↑
+
12 ←
+
13 →
+
14 ↓
+
  
Keys 15 to 20 are defined using the event trapping KEY definition statement.
+
Active la liste des macros de touches de fonction sur le bas de l'écran ON ou OFF. Si LISTE est spécifié, affiche une liste des 10 (ou 12 avec syntaxe = tandy) touches de fonction avec les macros de touches de fonction définies pour les clés de la console.
Notes
+
  
    With syntax=tandy, key 11 is F11 and key 12 is F12. Pre-defined keys 11—14 shift to 13—16.
+
La plupart des personnages sont représentés par leur symbole équivalent dans le codepage actuel. Cependant, certains caractères obtiennent une représentation différente, qui est une représentation symbolique de leur effet que les caractères de contrôle sur l'écran. Code de point de remplacement glyphe Usual & h07 & H0e ♫ & H08 & hFE ■ & h09 & H1A → & H0A & H1B ← & H0B & H7F ⌂ & h0C & h16 ▬ & h0D & H1B ← & h1C & h10 ► & h1d & h11 ◄ & H1E & h18 ↑ & H1F & h19 ↓ KEY (macro définition) key_id KEY, STRING_VALUE
  
Errors
+
Définit la macro de chaîne pour la touche de fonction key_id. Seuls les 15 premiers caractères du STRING_VALUE sont stockés. Paramètres
  
    key_id is not in [-32768—32767]: Overflow.
+
  key_id est une expression numérique dans l'intervalle [1-10] (ou [1-12] lorsque la syntaxe = tandy).
    key_id is not in [0—20]: Illegal function call.
+
     STRING_VALUE est une expression de chaîne.
     key_id has a string value: Type mismatch.
+
  
KEY (event definition)
+
Remarques
KEY key_id, two_char_string
+
  
Defines the key to trap for key_id.
+
  Si key_id est pas dans la plage prescrite, la déclaration est interprétée comme une déclaration KEY événement de piégeage.
Parameters
+
    Si STRING_VALUE est la chaîne vide ou le premier caractère de STRING_VALUE est CHR $ (0), la macro touche de fonction est désactivée et la capture ultérieure de la touche de fonction associée à INKEY $ est activée.
  
    key_id is a numeric expression in [15—20] (or [17—20] when syntax=tandy).
+
les erreurs
    two_char_string is a string expression of length 2. The first character is interpreted as a modifier while the second character is interpreted as a scancode. The modifier character is a bitwise OR combination of the following flags:
+
    CHR$(&h80) Extended
+
    CHR$(&h40) Caps Lock
+
    CHR$(&h20) Num Lock
+
    CHR$(&h08) Alt
+
    CHR$(&h04) Ctrl
+
    CHR$(&h02) Shift (either side)
+
    CHR$(&h01) Shift (either side)
+
    For the unmodified key, the modifier character is CHR$(0).
+
  
Notes
+
  key_id est pas dans [-32768 à 32767]: Overflow.
 +
    key_id est pas dans [1-255]: Illegal appel de fonction.
 +
    key_id a une valeur de chaîne: Type mismatch.
  
    If key_id is not in the prescribed range, no error is raised; such values are ignored. In GW-BASIC strange things can happen in this case: screen anomalies and crashes suggestive of unintended memory access.
+
KEY (commutateur d'événement) KEY (key_id) {ON | OFF | STOP}
    If key_id is in [1—10] (or [1—12] when syntax=tandy), the statement is interpreted as a function-key macro definition.
+
  
Errors
+
Contrôles événement piégeage de la clé avec identifiant key_id. le piégeage de l'événement est allumé ou éteint. ARRÊT suspend événement piégeage jusqu'à ce qu'une touche () ON est exécutée. Jusqu'à un événement peut être déclenché pendant la suspension, à condition que la gestion des événements a été activée avant la suspension. L'événement déclenché pendant la suspension est traitée immédiatement après la prochaine KEY () ON déclaration. Paramètres
  
    key_id is not in [-32768—32767]: Overflow.
+
key_id est une expression numérique dans [1-20]. Les clés sont: 1 F1 2 F2 F3 3 4 F4 F5 5 6 F6 7 F7 8 F8 9 F9 10 F10 11 ↑ 12 ← 13 → 14 ↓
    key_id is not in [1—255]: Illegal function call.
+
    key_id has a string value: Type mismatch.
+
    two_char_string is longer than two: Illegal function call.
+
    two_char_string has a numeric value: Type mismatch.
+
  
KILL
+
Touches 15 à 20 sont définies en utilisant l'événement de piégeage énoncé de définition KEY. Remarques
KILL file_spec
+
  
Deletes a file on a disk device.
+
  Avec la syntaxe = tandy, la clé 11 est F11 et la clé 12 est F12.  Prédéfinis clés 11-14 passage à 13-16.
Parameters
+
  
    The string expression file_spec is a valid file specification indicating the file to delete. It must point to an existing file on a disk device.
+
les erreurs
  
Errors
+
  key_id est pas dans [-32768 à 32767]: Overflow.
 +
    key_id est pas dans [0-20]: Illegal appel de fonction.
 +
    key_id a une valeur de chaîne: Type mismatch.
  
    file_spec has a number value: Type mismatch.
+
KEY (définition d'événement) de key_id KEY, two_char_string
    The file file_spec is open: File already open
+
    The file or path file_spec does not exist: File not found
+
    The user has no write permission: Permission denied
+
    If a syntax error occurs after the closing quote, the file is removed anyway.
+
  
LCOPY
+
Définit la clé de piège pour key_id. Paramètres
LCOPY [num]
+
  
Does nothing.
+
  key_id est une expression numérique dans [15-20] (ou [17-20] lorsque la syntaxe = tandy).
Parameters
+
    two_char_string est une expression de chaîne de longueur 2. Le premier caractère est interprété comme un modificateur tandis que le second caractère est interprété comme un scancode.  Le caractère modificateur est un OU binaire combinaison des drapeaux suivants:
 +
    CHR $ (& h80) Extended
 +
    CHR $ (& h40) Caps Lock
 +
    CHR $ (& h20) Num Lock
 +
    CHR $ (& H08) Alt
 +
    CHR $ (& h04) Ctrl
 +
    CHR $ (& H02) Maj (de chaque côté)
 +
    CHR $ (& h01) Maj (de chaque côté)
 +
    Pour la clé non modifié, le caractère modificateur est CHR $ (0).
  
    num is a numeric expression in [0—255].
+
Remarques
  
Notes
+
  Si key_id est pas dans la plage prescrite, aucune erreur est soulevée;  ces valeurs sont ignorées.  Dans GW-BASIC choses étranges peuvent se produire dans ce cas: anomalies de l'écran et les accidents évocateurs d'accès à la mémoire involontaire.
 +
    Si key_id est en [1-10] (ou [1-12] lorsque la syntaxe = tandy), la déclaration est interprétée comme une macro définition de la fonction-clé.
  
    This statement does nothing in GW-BASIC. Presumably, it is left over from a statement in older versions of MS Basic that would copy the screen to the printer.
+
les erreurs
  
Errors
+
  key_id est pas dans [-32768 à 32767]: Overflow.
 +
    key_id est pas dans [1-255]: Illegal appel de fonction.
 +
    key_id a une valeur de chaîne: Type mismatch.
 +
    two_char_string est plus longue que deux: Illegal appel de fonction.
 +
    two_char_string a une valeur numérique: incompatibilité de type.
  
    num is not in [-32768—32767]: Overflow.
+
KILL KILL file_spec
    num is not in [0—255]: Illegal function call.
+
    num has a string value: Type mismatch.
+
  
LET
+
Supprime un fichier sur un périphérique de disque. Paramètres
[LET] name = expression
+
  
Assigns the value of expression to the variable or array element name.
+
  Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à supprimer.  Il doit pointer vers un fichier existant sur un périphérique de disque.
Parameters
+
  
    name is a variable that may or may not already exist.
+
les erreurs
    The type of expression matches that of name: that is, all numeric types can be assigned to each other but strings can only be assigned to strings.
+
  
Errors
+
  file_spec a une valeur numérique: incompatibilité de type.
 +
    Le file_spec de fichier est ouvert: Fichier déjà ouvert
 +
    Le fichier ou le chemin file_spec n'existe pas: Fichier introuvable
 +
    L'utilisateur n'a pas l'autorisation d'écriture: Autorisation refusée
 +
    Si une erreur de syntaxe se produit après le cours de clôture, le fichier est supprimé de toute façon.
  
    name and expression are not of matching types: Type mismatch.
+
LCOPY LCOPY [num]
  
LINE
+
Ne fait rien. Paramètres
LINE [[STEP] (x0, y0)] - [STEP] (x1, y1) [, [attr] [, [B [F]] [, pattern]]]
+
  
Draws a line or a box in graphics mode. If B is not specified, a line is drawn from (x0, y0) to (x1, y1), endpoints inclusive. If B is specified, a rectangle is drawn with sides parallel to the screen and two opposing corners specified by (x0, y0) and (x1, y1). If the starting point is not given, the current graphics position is used as a staring point. If STEP is specified, (x0, y0) is an offset from the current position and (x1, y1) is an offset from (x0, y0). LINE moves the current graphics position to the last given endpoint. If F is specified with B, the rectangle is filled with the specified attribute. F and B may be separated by zero or more spaces.
+
  num est une expression numérique dans [0-255].
Parameters
+
  
    attr is a numeric expression in [0—255], which specifies the colour attribute of the line. If it is not given, the current attribute is used.
+
Remarques
    pattern is a numeric expression in [-32768—32767]. This is interpreted as a 16-bit binary pattern mask applied to consecutive pixels in the line: a 1 bit indicates a pixel plotted; a 0 bit indicates a pixel left untouched. The pattern starts at the most significant bit, which is applied to the topmost endpoint. If a box is drawn, the pattern is applied in the following counter-intuitive sequence: (x1, y1)—(x0, y1), (x1, y0)—(x0, y0), then (x1, y0)—(x1, y1), (x0, y0)—(x0, y1) if y0<y1 and y0, y1 reversed if y1<y0. When drawing a filled box, LINE ignores the pattern.
+
  
Notes
+
  Cette déclaration ne fait rien en GW-BASIC.  Vraisemblablement, il est laissé plus d'une déclaration dans les anciennes versions de MS Basic qui copie l'écran à l'imprimante.
  
    If a coordinate is outside the screen boundary, it is replaced with -1 (if less than 0) or the screen dimension (if larger than the screen dimension).
+
les erreurs
  
Errors
+
  num est pas dans [-32768 à 32767]: Overflow.
 +
    num est pas dans [0-255]: Illegal appel de fonction.
 +
    num a une valeur de chaîne: Type mismatch.
  
    The statement ends in a comma and it is the first or third: Missing operand. If it is the second: Syntax error.
+
LET [LET] name = expression
    Any of the coordinates is not in [-32768—32767]: Overflow.
+
    Any of the parameters has a string value: Type mismatch.
+
  
LINE INPUT (console)
+
Affecte la valeur d'expression au nom de l'élément variable ou un tableau. Paramètres
LINE INPUT [;] [prompt_literal {;|,}] string_name
+
  
Displays the prompt given in prompt_literal and reads user input from the keyboard, storing it into the variable string_name. All input is read until Enter is pressed; the first 255 characters are stored. If the ; is given right after LINE INPUT, the Enter ending user input is not echoed to the screen.
+
  nom est une variable qui peut ou peut ne pas exister déjà.
Parameters
+
    Le type d'expression correspond à celle du nom: qui est, tous les types numériques peuvent être affectés à l'autre, mais les chaînes ne peuvent être affectées à des chaînes.
  
    prompt_literal is a string literal. It makes no difference whether it is followed by a comma or a semicolon.
+
les erreurs
    string_name is a string variable or array element.
+
  
Notes
+
  le nom et l'expression ne sont pas des types correspondant: incompatibilité de type.
  
    If user input is interrupted by Ctrl+Break, CONT will re-execute the LINE INPUT statement.
+
LINE LINE [[STEP] (x0, y0)] - [STEP] (x1, y1) [[attr] [, [B [F]] [, motif]]]
    Unlike INPUT, LINE INPUT does not end the prompt with ?.
+
  
LINE INPUT (files)
+
Dessine une ligne ou une boîte en mode graphique. Si B est pas spécifié, une ligne est tracée à partir de (x0, y0) à (x1, y1), les paramètres inclus. Si B est spécifié, un rectangle est dessiné avec des côtés parallèles à l'écran et deux angles opposés définis par (x0, y0) et (x1, y1). Si le point de départ est pas donné, la position graphique actuelle est utilisée comme point de regard fixe. Si STEP est spécifié, (x0, y0) est un décalage par rapport à la position actuelle et (x1, y1) est un décalage de (x0, y0). LINE déplace la position graphique actuelle à la dernière extrémité donnée. Si F est défini par B, le rectangle est rempli avec l'attribut spécifié. F et B peuvent être séparés par zéro, un ou plusieurs espaces. Paramètres
LINE INPUT # file_num, string_name
+
  
Reads string or numeric variables from a text file or the FIELD buffer of a random access file. All input is read until Enter is pressed; the first 255 characters are stored. file_num must be the number of a file open in INPUT mode or a random-access file open in RANDOM mode.
+
  attr est une expression numérique dans [0-255], qui spécifie l'attribut de couleur de la ligne. Si elle ne reçoit pas, l'attribut courant est utilisé.
Parameters
+
    motif est une expression numérique dans [-32768 à 32767].  Cela est interprété comme un 16-bit masque de motif binaire appliqué aux pixels consécutifs dans la ligne: un bit 1 indique un pixel tracé; un bit 0 indique un pixel laissé intact. Le schéma commence par le bit le plus significatif qui est appliqué au point d'extrémité le plus haut.  Si une zone est tirée, le motif est appliqué dans la séquence de contre-intuitive suivante: (x1, y1) - (x0, y1), (x1, y0) - (x0, y0), puis (x1, y0) - ( x1, y1), (x0, y0) - (x0, y1), si Y0 <y1 et y0, y1 y1 inversées si <y0.  Lors de l'élaboration d'une boîte remplie, LINE ignore le motif.
  
    string_name is a string variable or array element.
+
Remarques
  
Notes
+
  Si une coordonnée est en dehors des limites de l'écran, il est remplacé par -1 (si moins de 0) ou la dimension de l'écran (si elle est supérieure à la dimension de l'écran).
  
    The # is mandatory. There may or may not be whitespace between INPUT and #.
+
les erreurs
    Input is only terminated by a CR.
+
    If file_num is open to KYBD:, LINE INPUT# reads from the keyboard until a return or comma is encountered (as in a file). Arrow keys and delete are passed as their control characters (not scancodes!) preceded by CHR$(&hFF).
+
  
Errors
+
  La déclaration se termine par une virgule et il est le premier ou le troisième: Missing opérande.  Si elle est la deuxième: Erreur de syntaxe.
 +
    Tout des coordonnées est pas dans [-32768 à 32767]: Overflow.
 +
    Tout des paramètres a une valeur de chaîne: Type mismatch.
  
    Input is requested after the end of a text file has been reached or an EOF char has been encountered: Input past end.
+
LINE INPUT (console) LINE INPUT [;] [prompt_literal {; |,}] string_name
    The last character of the field buffer is read: Field overflow.
+
    file_num is not an open file: Bad file number.
+
    file_num is less than zero: Illegal function call.
+
    file_num is not in [-32768—32767]: Overflow.
+
    file_num is not open for INPUT or RANDOM: Bad file mode.
+
    file_num has a string value: Type mismatch.
+
    file_num is open to a COM port and this is the first INPUT, LINE INPUT or INPUT$ call on that port since the buffer has filled up completely (i.e. LOF(file_num) has become zero): Communication buffer overflow.
+
  
LIST
+
Affiche l'invite donnée dans prompt_literal et lit l'entrée d'utilisateur à partir du clavier, le stockage dans le string_name variable. Toutes les entrées sont lues jusqu'à ce que vous appuyez sur Entrée; les 255 premiers caractères sont stockés. Si la ; est donnée juste après LINE INPUT, l'entrée utilisateur Entrez fin est pas fait écho à l'écran. Paramètres
LIST [line_number_0|.] [-[line_number_1|.]] [, file_spec [anything]]
+
  
Prints the program to the screen or a file, starting with line_number_0 up to and including line_number_1. Also stops program execution and returns control to the user. If the LIST statement ends with a file specification, anything further is ignored. In all cases, any further statements in a compound after LIST will be ignored, both in a program and in direct mode.
+
  prompt_literal est une chaîne littérale. Il ne fait aucune différence si elle est suivie par une virgule ou un point-virgule.
 +
    string_name est un élément variable ou tableau chaîne.
  
When listing to the screen, the same control characters are recognised as in the PRINT statement.
+
Remarques
Notes
+
  
    In GW-BASIC 3.23, LIST will not show line numbers 65531—65535 inclusive. By default, PC-BASIC's LIST does show these lines. However, showing them can be disabled with the option strict-hidden-lines.
+
  Si l'entrée de l'utilisateur est interrompu par Ctrl + Break, CONT sera ré-exécuter l'instruction LINE INPUT.
 +
    Contrairement INPUT, LINE INPUT ne se termine pas l'invite avec?.
  
Parameters
+
LINE INPUT (fichiers) LINE INPUT # file_num, string_name
  
    line_number_0 and line_number_1 are line numbers in the range [0—65529] or a . to indicate the last line edited. The line numbers do not need to exist; they specify a range. If the range is empty, nothing is printed.
+
Lit chaîne ou variables numériques à partir d'un fichier texte ou le tampon de champ d'un fichier d'accès aléatoire. Toutes les entrées sont lues jusqu'à ce que vous appuyez sur Entrée; les 255 premiers caractères sont stockés. file_num doit être le numéro d'un fichier ouvert en mode INPUT ou un fichier à accès aléatoire ouvert en mode RANDOM. Paramètres
    The string expression file_spec is a valid file specification indicating the file to list to. If this file already exists, it will be overwritten.
+
  
Errors
+
  string_name est un élément variable ou tableau chaîne.
  
    A line number is greater than 65529: Syntax error.
+
Remarques
    file_spec has a numeric value: Type mismatch.
+
    file_spec ends in a colon but is not a device name or drive letter: Bad file number.
+
    file_spec contains disallowed characters: Bad file number (on CAS1:); Bad file name (on disk devices).
+
  
LLIST
+
  Le # est obligatoire.  Il peut ou peut ne pas être d'espace entre INPUT et #.
LLIST [line_number_0|.] [-[line_number_1|.]]
+
    L'entrée est seulement terminée par un CR.
 +
    Si file_num est ouvert à LINE INPUT N ° KYBD lit à partir du clavier jusqu'à ce qu'un retour ou une virgule est rencontré (comme dans un fichier). Les touches fléchées et supprimer sont transmis leurs caractères de contrôle (non scancodes!) Précédés de CHR $ (& HFF).
  
Prints the program to the screen, starting with line_number_0 up to and including line_number_1. Also stops program execution and returns control to the user. Any further statements on a line after LLIST will be ignored, both in a program and in direct mode.
+
les erreurs
Notes
+
  
     In GW-BASIC 3.23, LLIST will not show line numbers 65531—65535 inclusive. By default, PC-BASIC's LLIST does show these lines. However, showing them can be disabled with the option strict-hidden-lines.
+
  L'entrée est demandée après la fin d'un fichier texte a été atteint ou un char EOF a été rencontrée: Entrée passé fin.
 +
     Le dernier caractère de la mémoire tampon de champ est en lecture: débordement de terrain.
 +
    file_num est pas un fichier ouvert: Numéro de fichier incorrect.
 +
    file_num est inférieur à zéro: Illegal appel de fonction.
 +
    file_num est pas dans [-32.768 à 32.767]: Overflow.
 +
    file_num est pas ouvert pour INPUT ou RANDOM: Mode de fichier incorrect.
 +
    file_num a une valeur de chaîne: Type mismatch.
 +
    file_num est ouvert à un port COM et ceci est la première entrée, LINE INPUT ou INPUT $ appel sur ce port depuis le tampon a rempli complètement (c.-à-LOF (file_num) est devenu zéro): débordement de mémoire tampon de communication.
  
Parameters
+
LISTE LISTE [line_number_0 |.] [- [Line_number_1 |.]] [, File_spec [rien]]
  
    line_number_0 and line_number_1 are line numbers in the range [0—65529]. or a . to indicate the last line edited. The line numbers do not need to exist; they specify a range. If the range is empty, nothing is printed.
+
Imprime le programme à l'écran ou un fichier, en commençant par line_number_0 jusqu'au line_number_1. arrête également l'exécution du programme et renvoie le contrôle à l'utilisateur. Si l'instruction LIST se termine par une spécification de fichier, autre chose est ignoré. Dans tous les cas, d'autres déclarations dans un composé après LIST seront ignorés, à la fois dans un programme et en mode direct.
  
Errors
+
Lorsque la liste à l'écran, les mêmes caractères de contrôle sont reconnus comme dans l'instruction PRINT. Remarques
  
    A line number is greater than 65529: Syntax error.
+
  Dans GW-BASIC 3.23, LIST ne montrera pas les numéros de ligne 65531-65535 inclus.  Par défaut, la liste de PC-BASIC fait apparaître ces lignes.  Cependant, leur montrant peut être désactivé avec l'option stricte-lignes cachées.
  
LOAD
+
Paramètres
LOAD file_spec [, R]
+
  
Loads the program stored in a file into memory. Existing variables will be cleared and any program in memory will be erased. LOAD implies a CLEAR.
+
  line_number_0 et line_number_1 sont les numéros de ligne dans la gamme [0-65529] ou a. pour indiquer la dernière ligne modifiée. Les numéros de ligne ne doivent pas exister;  ils spécifient une plage.  Si la plage est vide, rien n'est imprimé.
 +
    Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à la liste à.  Si ce fichier existe déjà, il sera écrasé.
  
If ,R is specified, keeps all data files open and runs the specified file.
+
les erreurs
Parameters
+
  
     The string expression file_spec is a valid file specification indicating the file to read the program from.
+
  Un numéro de ligne est supérieure à 65529: Erreur de syntaxe.
 +
     file_spec a une valeur numérique: incompatibilité de type.
 +
    file_spec se termine par un colon, mais est pas un nom de périphérique ou lettre de lecteur: Numéro de fichier incorrect.
 +
    file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
  
Notes
+
LLIST LLIST [line_number_0 |.] [- [Line_number_1 |].]
  
    Refer to
+
Le programme imprime à l'écran, en commençant par line_number_0 jusqu'à et y compris line_number_1. arrête également l'exécution du programme et renvoie le contrôle à l'utilisateur. Les autres déclarations sur une ligne après LLIST seront ignorés, à la fois dans un programme et en mode direct. Remarques
  
Errors
+
  Dans GW-BASIC 3.23, LLIST ne montrera pas les numéros de ligne 65531-65535 inclus.  Par défaut, le LLIST de PC-BASIC fait apparaître ces lignes.  Cependant, leur montrant peut être désactivé avec l'option stricte-lignes cachées.
  
    file_spec has a numeric value: Type mismatch.
+
Paramètres
    file_spec contains disallowed characters: Bad file number (on CAS1:); Bad file name (on disk devices).
+
    The file specified in file_spec cannot be found: File not found.
+
    A loaded text file contains lines without line numbers: Direct statement in file.
+
  
LOCATE
+
  line_number_0 et line_number_1 sont les numéros de ligne dans la gamme [0-65529].  ou a.  pour indiquer la dernière ligne modifiée.  Les numéros de ligne ne doivent pas exister;  ils spécifient une plage.  Si la plage est vide, rien n'est imprimé.
LOCATE [row] [, [col] [, [cursor_visible] [, [start_line] [, [stop_line] [,]]]]]
+
  
Positions the cursor at row, col on the screen and changes the cursor shape and visibility. cursor_visible may be 0 or 1. If cursor_visible is 0, it makes the cursor invisible; if it is 1, makes the cursor visible. This works only while a program is running. The cursor shape is adjusted within a character cell to start from start_line and end on end_line where start_line and end_line are in [0—31]. If start_line or end_line is greater than the character cell height (15), substitute 15.
+
les erreurs
Notes
+
  
    On emulated VGA cards, the cursor shape parameters are interpreted in a complicated way that is intended to maintain functional compatibility with CGA.
+
  Un numéro de ligne est supérieure à 65529: Erreur de syntaxe.
    In GW-BASIC, cursor shape is preserved after pressing Ins twice. The insert-mode cursor is different from the usual half-block. In PC-BASIC, insert mode resets the cursor shape to default.
+
    Cursor shape and visibility options have no effect in graphics mode.
+
    Locate accepts a 5th comma at the end, which is ignored.
+
  
Errors
+
CHARGE CHARGE file_spec [R]
  
    Any parameter has a string value: Type mismatch.
+
Charge le programme stocké dans un fichier dans la mémoire. les variables existantes seront effacées et tout programme en mémoire seront effacées. LOAD implique une CLEAR.
    Any parameter is not in [-32768—32767]: Overflow.
+
    row is outside the current view area: Illegal function call.
+
    col is greater than the current width: Illegal function call.
+
    cursor_visible is not in [0, 1] ([0—255] on Tandy/PCjr): Illegal function call.
+
  
LOCK
+
Si, R est spécifié, conserve les fichiers toutes les données ouvertes et exécute le fichier spécifié. Paramètres
LOCK [#] file_number [, record_0]
+
LOCK [#] file_number, [record_0] TO record_1
+
  
Locks a file or part of a file against access by other users. On a RANDOM file, record_0 is the first record locked and record_1 is the last record locked. On any other kind of file record_0 and record_1 have no effect. If record_0 is not specified, it is assumed to be 1. If no records are specified, the whole file is locked.
+
  Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à lire le programme à partir.
Parameters
+
  
    file_number is a numeric expression in [0—255].
+
Remarques
    record_0 and record_1 are numeric expressions in [1—2^25-2].
+
  
Notes
+
  Faire référence à
  
    In GW-BASIC under MS-DOS, the LOCK command requires SHARE.EXE to be loaded. The maximum number of locks is specified in the MS-DOS SHARE command. If SHARE has not been activated or all locks are used, LOCK raises Permission denied. PC-BASIC behaves as if SHARE has been activated with unlimited locks.
+
les erreurs
    If file_number is open for RANDOM, LOCK and UNLOCK statements must match in terms of record_0 and record_1. An non-matching UNLOCK will raise Permission denied.
+
  
Errors
+
  file_spec a une valeur numérique: incompatibilité de type.
 +
    file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
 +
    Le fichier spécifié dans file_spec ne peut pas être trouvé: Fichier non trouvé.
 +
    Un fichier texte chargé contient des lignes sans numéros de ligne: déclaration directe dans le fichier.
  
     Any parameter has a string value: Type mismatch.
+
Localiser Situer [suite] [, [col] [, [cursor_visible] [, [start_line] [, [stop_line] [,]]]]]
     file_num is not in [-32768—32767]: Overflow.
+
 
     file_num is not in [0—255]: Illegal function call.
+
Amène le curseur à la ligne, col sur l'écran et change la forme du curseur et de la visibilité. cursor_visible peut être 0 ou 1. Si cursor_visible est 0, il rend le curseur invisible; si elle est de 1, rend le curseur visible. Cela ne fonctionne que si un programme est en cours d'exécution. La forme du curseur est réglé dans une cellule de caractère à partir de start_line et se termine le end_line où start_line et end_line sont dans [0-31]. Si start_line ou end_line est supérieure à la hauteur de cellule de caractère (15), remplacer 15. Note
     file_num is not an open file: Bad file number.
+
 
     LOCK (part of) a file already locked: Permission denied.
+
  Sur les cartes VGA émulés, les paramètres de forme du curseur sont interprétées d'une manière compliquée qui est destiné à maintenir la compatibilité fonctionnelle avec CGA.
     record_0 or record_1 is not in [1—2^25-2]: Bad record number.
+
     Dans GW-BASIC, la forme du curseur est conservé après avoir appuyé deux fois Ins.  Le curseur insert mode est différent du demi-bloc habituel.  Dans PC-BASIC, le mode d'insertion réinitialise la forme du curseur par défaut.
 +
    forme du curseur et les options de visibilité sont sans effet en mode graphique.
 +
    Repérez accepte une 5ème virgule à la fin, qui est ignoré.
 +
 
 +
les erreurs
 +
 
 +
  Tout paramètre a une valeur de chaîne: Type mismatch.
 +
    Tout paramètre est pas dans [-32768 à 32767]: Overflow.
 +
    ligne est en dehors de la vue actuelle zone: Illegal appel de fonction.
 +
    col est supérieure à la largeur actuelle: Illegal appel de fonction.
 +
    cursor_visible est pas dans [0, 1] ([0-255] sur Tandy / PCjr): Illegal appel de fonction.
 +
 
 +
LOCK LOCK [#] file_number [, record_0] BLOCAGE [#] file_number, [record_0] À record_1
 +
 
 +
Verrouille un fichier ou d'une partie d'un fichier contre l'accès par d'autres utilisateurs. Sur un fichier RANDOM, record_0 est le premier enregistrement verrouillé et record_1 est le dernier enregistrement verrouillé. Sur tout autre type de fichier record_0 et record_1 n'a aucun effet. Si record_0 est pas spécifié, il est supposé être 1. Si aucun enregistrement sont spécifiés, le fichier entier est verrouillé. Paramètres
 +
 
 +
  file_number est une expression numérique dans [0-255].
 +
    record_0 et record_1 sont des expressions numériques dans [1-2 ^ 25-2].
 +
 
 +
Remarques
 +
 
 +
  Dans GW-BASIC sous MS-DOS, la commande LOCK requiert SHARE.EXE à charger.  Le nombre maximum de verrous est spécifié dans la commande SHARE MS-DOS.  Si SHARE n'a pas été activé ou tous les verrous sont utilisés, BLOCAGE soulève Permission denied.  PC-BASIC se comporte comme si SHARE a été activé avec des serrures illimitées.
 +
    Si file_number est ouvert pour RANDOM, verrouiller et déverrouiller les états doivent correspondre en termes de record_0 et record_1.  Un UNLOCK non-appariement augmentera Permission denied.
 +
 
 +
les erreurs
 +
 
 +
  Tout paramètre a une valeur de chaîne: Type mismatch.
 +
     file_num est pas dans [-32.768 à 32.767]: Overflow.
 +
     file_num est pas dans [0-255]: Illegal appel de fonction.
 +
     file_num est pas un fichier ouvert: Numéro de fichier incorrect.
 +
     LOCK (partie) d'un fichier déjà verrouillé: Autorisation refusée.
 +
     record_0 ou record_1 est pas dans [1-2 ^ 25-2]: Numéro d'enregistrement Bad.
  
 
LPRINT
 
LPRINT
  
See PRINT.
+
Voir PRINT. LSET LSET string_name = expression
LSET
+
LSET string_name = expression
+
  
Copies a string value into an existing string variable or array element. The value will be left-justified and any remaining characters are replaced by spaces.
+
Copie une valeur de chaîne dans une chaîne élément variable ou tableau existant. La valeur sera justifiée à gauche et tous les caractères restants sont remplacés par des espaces. Paramètres
Parameters
+
  
    string_name is a string variable or array element.
+
  string_name est un élément variable ou tableau chaîne.
     expression is a string expression.
+
     expression est une expression de chaîne.
  
Notes
+
Remarques
  
    If expression has a value that is longer than the length of the target variable, it is truncated at the tail to the length of the target variable.
+
  Si l'expression a une valeur qui est supérieure à la longueur de la variable cible, elle est tronquée à la queue de la longueur de la variable cible.
     If string_name has not been allocated before, this statement has no effect.
+
     Si string_name n'a pas été alloué avant, cette déclaration n'a aucun effet.
     Use LSET, RSET or MID$ to copy values into a FIELD buffer.
+
     Utilisez LSET, RSET ou MID $ pour copier les valeurs dans un tampon de FIELD.
     If LET is used on a FIELD variable instead of L|RSET, the variable is detached from the field and a new, normal string variable is allocated.
+
     Si LET est utilisé sur une variable au lieu de L FIELD | RSET, la variable est détaché du terrain et une nouvelle variable de chaîne normale est attribuée.
  
Errors
+
les erreurs
  
    string_name is not a string variable: Type mismatch.
+
  string_name est pas une variable chaîne: Incompatibilité de type.
     expression does not have a string value: Type mismatch.
+
     expression n'a pas de valeur de chaîne: Type mismatch.
  
MERGE
+
Merge Merge file_spec
MERGE file_spec
+
  
Overlays the lines of a program from a plain-text program file into the existing program. The loaded lines overwrite existing lines if they have the same line number.
+
Superpose les lignes d'un programme à partir d'un fichier de programme en texte clair dans le programme existant. Les lignes chargées d'écraser les lignes existantes si elles ont le même numéro de ligne. Paramètres
Parameters
+
  
    The string expression file_spec is a valid file specification indicating the file to read the program from.
+
  Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à lire le programme à partir.
  
Errors
+
les erreurs
  
    file_spec cannot be found: File not found.
+
  file_spec ne peut pas être trouvé: Fichier non trouvé.
     file_spec contains disallowed characters: Bad file number (on CAS1:); Bad file name (on disk devices).
+
     file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :); Nom de fichier incorrect (sur les unités de disque).
     file_spec was not saved as plain text: Bad file mode.
+
     file_spec n'a pas été enregistré en tant que texte brut: le mode de fichier incorrect.
     A loaded text file contains lines without line numbers: Direct statement in file.
+
     Un fichier texte chargé contient des lignes sans numéros de ligne: déclaration directe dans le fichier.
  
MID$ (statement)
+
MID $ (déclaration) MID $ (string_name position [, longueur]) = substring
MID$(string_name, position [, length]) = substring
+
  
Replaces part of string_name with substring.
+
Remplace une partie de string_name avec substring. Paramètres
Parameters
+
  
    string_name is a valid string variable name.
+
  string_name est une chaîne nom de variable valide.
     position is a numeric expression between 1 and the string length, inclusive.
+
     position est une expression numérique entre 1 et la longueur de la chaîne, y compris.
     length is a numeric expression in [0—255].
+
     longueur est une expression numérique dans [0-255].
  
Notes
+
Remarques
  
    No whitespace is allowed between MID$ and (.
+
  Aucun espace est autorisé entre MID $ et (.
     If substring is longer than length, only the first length characters are used.
+
     Si substring est plus longue que la longueur, seuls les premiers caractères de longueur sont utilisés.
     If substring is shorter than length, only LEN(substring) characters are replaced.
+
     Si substring est plus courte que la longueur, seulement LEN (substring) caractères sont remplacés.
  
Errors
+
les erreurs
  
    position is greater than the length of string_name: Illegal function call, except if length is specified as 0.
+
  position est supérieure à la longueur de string_name: Illegal appel de fonction, sauf si la longueur est spécifiée comme 0.
     position is not in [1—255]: Illegal function call.
+
     la position est pas dans [1-255]: Illegal appel de fonction.
     length is not in [0—255]: Illegal function call.
+
     longueur est pas dans [0-255]: Illegal appel de fonction.
     position or length are not in [-32768—32767]: Overflow.
+
     la position ou la longueur ne sont pas dans [-32768 à 32767]: Overflow.
  
MKDIR
+
MKDIR MKDIR dir_spec
MKDIR dir_spec
+
  
Creates a new directory on a disk device.
+
Crée un nouveau répertoire sur un périphérique de disque. Paramètres
Parameters
+
  
    The string expression dir_spec is a valid file specification that specifies the path of the new directory on a disk device.
+
  Le dir_spec d'expression de chaîne est une spécification de fichier valide qui spécifie le chemin du nouveau répertoire sur un périphérique de disque.
  
Errors
+
les erreurs
  
    dir_spec is not a string: Type mismatch.
+
  dir_spec est pas une chaîne: Incompatibilité de type.
     The parent directory does not exist: Path not found.
+
     Le répertoire parent n'existe pas: Chemin d'accès introuvable.
     The directory name already exists on that path: Path/File access error.
+
     Le nom du répertoire existe déjà sur ce chemin: Erreur d'accès Chemin / Fichier.
     The user has no write permission: Permission denied.
+
     L'utilisateur n'a pas l'autorisation d'écriture: Autorisation refusée.
  
MOTOR
+
MOTOR MOTOR [num]
MOTOR [num]
+
  
Does nothing.
+
Ne fait rien. Paramètres
Parameters
+
  
    num is a numeric expression in [0—255].
+
  num est une expression numérique dans [0-255].
  
Notes
+
Remarques
  
    In GW-BASIC, this statement turns on the cassette motor if num is nonzero or omitted, and turns it off if num is zero. This is not implemented in PC-BASIC.
+
  Dans GW-BASIC, cette déclaration met en marche le moteur de la cassette si num est différent de zéro ou omis, et l'éteint si num est nul. Ce ne sont pas mis en œuvre dans PC-BASIC.
  
Errors
+
les erreurs
  
    num has a string value: Type mismatch.
+
  num a une valeur de chaîne: Type mismatch.
     num is not in [-32768—32767]: Overflow.
+
     num est pas dans [-32768 à 32767]: Overflow.
     num is not in [0—255]: Illegal function call.
+
     num est pas dans [0-255]: Illegal appel de fonction.
  
NAME
+
NOM NOM OLD_NAME AS new_name
NAME old_name AS new_name
+
  
Renames the disk file old_name into new_name.
+
Renomme le fichier de disque OLD_NAME en new_name. Paramètres
Parameters
+
  
    The string expressions old_name and new_name are valid file specifications giving the path on a disk device to the old and new filenames, respectively.
+
  Les expressions de chaîne OLD_NAME et new_name sont des spécifications de fichiers valides donnant le chemin sur un dispositif de disque pour les anciens et les nouveaux noms de fichiers, respectivement.
  
Notes
+
Remarques
  
    new_name will be modified into all-uppercase 8.3 format.
+
  new_name sera modifié en un format tout-en majuscules 8.3.
  
Errors
+
les erreurs
  
    old_name or new_name have number values: Type mismatch.
+
  old_name ou new_name ont des valeurs numériques: incompatibilité de type.
     old_name does not exist: File not found.
+
     old_name n'existe pas: Fichier non trouvé.
     old_name is open: File already open.
+
     old_name est ouvert: Fichier déjà ouvert.
     new_name exists: File already exists.
+
     new_name existe: Le fichier existe déjà.
  
NEW
+
NOUVEAU NOUVEAU
NEW
+
  
Stops execution of a program, deletes the program in memory, executes CLEAR and RESTORE and returns control to the user.
+
Arrête l'exécution d'un programme, supprime le programme en mémoire, exécute CLEAR et RESTORE et renvoie le contrôle à l'utilisateur. SUIVANT SUIVANT [var_0 [, var_1] ...]
NEXT
+
NEXT [var_0 [, var_1] ...]
+
  
Iterates a FOR—NEXT loop: increments the loop variable and jumps to the FOR statement. If no variables are specified, next matches the most recent FOR statement. Several nested NEXT statements can be consolidated into one by using the variable list. If one or more variables are specified, their order must match the order of earlier FOR statements.
+
Itère une boucle FOR-NEXT: incrémente la variable de boucle et saute à l'instruction FOR. Si aucune variables sont spécifiées, correspond à côté de la plus récente instruction FOR. Plusieurs déclarations PROCHAINES imbriqués peuvent être regroupés en un seul en utilisant la liste des variables. Si une ou plusieurs variables sont spécifiées, leur ordre doit correspondre à l'ordre de l'heure pour les états. Paramètres
Parameters
+
  
    var_0, var_1, ... are numeric variables which are loop counters in a FOR statement.
+
  var_0, var_1, ... sont des variables numériques qui sont des compteurs de boucle dans une instruction FOR.
  
Errors
+
les erreurs
  
    No FOR statement is found to match the NEXT statement and variables: NEXT without FOR.
+
  Aucune instruction FOR est trouvée pour correspondre à l'instruction NEXT et les variables: SUIVANTE sans POUR.
     var_0, var_1, ... are string variables: NEXT without FOR.
+
     var_0, var_1, ... sont des variables de chaîne: NEXT sans FOR.
     The (implicit or explicit) loop variable is an integer variable and is taken outside the range [-32768, 32767] when incremented after the final iteration: Overflow .
+
     La variable (implicite ou explicite) boucle est une variable entière et est pris en dehors de la gamme [-32768, 32767] lorsque incrémenté après la dernière itération: Overflow.
  
NOISE
+
source BRUIT BRUIT, le volume, la durée
NOISE source, volume, duration
+
  
Generates various kinds of noise.
+
Génère divers types de bruit. Paramètres
Parameters
+
  
    source is a numeric expression in [0—7]. It indicates the type of noise:
+
  source est une expression numérique dans [0-7]. Il indique le type de bruit:
     source type top of frequency band (Hz)
+
     type de source supérieure de la bande de fréquence (Hz)
     0 periodic 6991
+
     0 périodique 6991
     1 periodic 3495
+
     1 périodique 3495
     2 periodic 1747
+
     2 périodiques 1747
     3 periodic last tone played on voice 2
+
     3 dernière tonalité périodique joué sur la voix 2
     0 white noise 6991
+
     0 bruit blanc 6991
     1 white noise 3495
+
     1 bruit blanc 3495
     2 white noise 1747
+
     2 bruit blanc 1747
     3 white noise last tone played on voice 2
+
     3 blanc dernier ton de bruit joué sur la voix 2
     volume is a numeric expression in [0—15].
+
     volume est une expression numérique dans [0-15].
     duration is a numeric expression.
+
     la durée est une expression numérique.
  
Volume and duration are determined in the same way as for the SOUND statement; see there.
+
Volume et la durée sont déterminés de la même manière que pour l'instruction SOUND; voir là. Remarques
Notes
+
  
    This statement is only available if syntax={pcjr|tandy} is set.
+
  Cette déclaration est disponible uniquement si la syntaxe = {PCjr | tandy} est réglé.
  
Errors
+
les erreurs
  
    SOUND ON has not been executed: Illegal function call.
+
  SOUND ON n'a pas été exécuté: Illegal appel de fonction.
     duration is not in [-65535—65535]: Illegal function call.
+
     durée est pas dans [-65535 à 65535]: Illegal appel de fonction.
     volume is not in [0—15]: Illegal function call.
+
     volume est pas dans [0-15]: Illegal appel de fonction.
     source is not in [0—7]: Illegal function call.
+
     source est pas dans [0-7]: Illegal appel de fonction.
  
ON (calculated jump)
+
ON (saut calculé) ON n {GOTO | GOSUB} line_number_0 [, line_number_1] ...
ON n {GOTO|GOSUB} line_number_0 [, line_number_1] ...
+
  
Jumps to the nth line number specified in the list. If n is 0 or greater than the number of line numbers in the list, no jump is performed. If GOTO is specified, the jump is unconditional; if GOSUB is specified, jumps to a subroutine.
+
Passe au numéro de ligne nième spécifié dans la liste. Si n est égal à 0 ou supérieur au nombre de numéros de lignes dans la liste, aucun saut est effectué. Si GOTO est spécifié, le saut est inconditionnel; si GOSUB est spécifié, des sauts à un sous-programme. Paramètres
Parameters
+
  
    n is a numeric expression in [0—255]. The expression must not start with the STRIG, PEN, PLAY or TIMER function keywords; if you need these functions, the expression must be bracketed.
+
  n est une expression numérique dans [0-255]. L'expression ne doit pas commencer par les STRIG, PEN, PLAY ou la fonction TIMER mots-clés; si vous avez besoin de ces fonctions, l'expression doit être placé entre crochets.
     line_number_0, line_number_1, ... are existing line numbers in the program.
+
     line_number_0, line_number_1, ... sont les numéros de ligne existante dans le programme.
  
Errors
+
les erreurs
  
    n has a string value: Type mismatch.
+
  n a une valeur de chaîne: Type mismatch.
     n is not in [-32768—32767], Overflow .
+
     n est pas dans [-32768 à 32767], Overflow.
     n is not in [0—255]: Illegal function call.
+
     n est pas dans [0-255]: Illegal appel de fonction.
     The line number jumped to does not exist: Undefined line number.
+
     n'existe pas La ligne nombre a bondi à: numéro de ligne non définie.
  
ON (event trapping)
+
ON (événement piégeage) ON {COM (n) | KEY (n) | STRIG (n) | PEN | PLAY (n) | TIMER (x)} GOSUB line_number
ON {COM(n)|KEY(n)|STRIG(n)|PEN|PLAY(n)|TIMER(x)} GOSUB line_number
+
  
Defines an event trapping subroutine. The type of event is given by one of the following keywords:
+
Définit un événement de piégeage sous-programme. Le type d'événement est donné par l'un des mots clés suivants: COM (n), l'événement est déclenché si des données sont présentes dans la mémoire tampon d'entrée du COMn :. n est le numéro de port dans [1,2]. KEY (n) L'événement est déclenché si la clé n est pressée. n est le numéro de la clé [1-10] défini dans la déclaration KEY. STRIG (n) Ils événement est déclenché si le bouton de feu n est pressé. n dans [0,2,4,6] se réfèrent aux deux incendies déclenche sur deux joysticks. PEN L'événement est déclenché si le stylet sur l'écran. (Dans PC-BASIC, le stylet est émulé par défaut par le bouton droit de la souris). PLAY (n) L'événement est déclenché s'il y a exactement n notes laissées sur la file d'attente de la musique de fond. n est une expression numérique dans [1-32]. TIMER (x) L'événement est déclenché toutes les x secondes après la TIMER ON déclaration. x est une expression numérique dans [1-86400]. Remarques
COM(n) The event is triggered if data is present in the input buffer of the COMn:. n is the port number in [1,2].
+
KEY(n) The event is triggered if key n is pressed. n is the key number [1—10] defined in the KEY statement.
+
STRIG(n) They event is triggered if fire button n is pressed. n in [0,2,4,6] refer to the two fire triggers on two joysticks.
+
PEN The event is triggered if the light pen is on the screen. (In PC-BASIC, the light pen is emulated by default by the right mouse button).
+
PLAY(n) The event is triggered if there are exactly n notes left on the music background queue. n is a numeric expression in [1—32].
+
TIMER(x) The event is triggered every x seconds after the TIMER ON statement. x is a numeric expression in [1—86400].
+
Notes
+
  
    Event trapping for your chosen event first needs to be enabled using one of the statements: COM(n) ON, KEY(n) ON, STRIG(n) ON, PEN ON, PLAY ON, TIMER ON
+
  piégeage pour votre événement choisi premier événement doit être activé en utilisant l'une des déclarations: COM (n) ON, KEY (n) ON, STRIG (n) ON, PEN ON, jouer, TIMER ON
     Events are only trapped when a program is running.
+
     Les événements ne sont piégés lorsqu'un programme est en cours d'exécution.
  
Errors
+
les erreurs
  
    n or x has a string value: Type mismatch.
+
  n ou x a une valeur de chaîne: Type mismatch.
     n is not in [-32768—32767]: Overflow.
+
     n est pas dans [-32768 à 32767]: Overflow.
     n or x is outside the specified range: Illegal function call.
+
     n ou x est en dehors de la plage spécifiée: Illegal appel de fonction.
  
ON ERROR
+
ON ERROR ON ERROR GOTO {line_number | 0}
ON ERROR GOTO {line_number|0}
+
  
Turns error trapping on or off. When line_number is set, any error causes the error handling routine starting at that line number to be called; no message is printed and program execution is not stopped. The error handling routine is ended by a RESUME statement. While in an error handling routine, events are paused and error trapping is disabled. After the RESUME statement, any triggered events are picked up in the following order: KEY, TIMER, PLAY - the order of the others is unknown. Unlike event trapping, error trapping remains active when no program is running. ON ERROR GOTO 0 turns off error trapping.
+
Active le piégeage ou désactiver erreur. Lorsque line_number est réglé, toute erreur provoque la manipulation de routine à partir de ce numéro de ligne à être appelé erreur; aucun message est imprimé et l'exécution du programme ne soit pas arrêté. La routine de gestion des erreurs se termine par une déclaration de REPRENDRE. Alors que dans une routine de gestion des erreurs, des événements sont mis en pause et la récupération d'erreur est désactivé. Après la déclaration de REPRENDRE, tout les événements déclenchés sont ramassés dans l'ordre suivant: KEY, TIMER, PLAY - l'ordre des autres est inconnu. Contrairement à l'événement le piégeage, la récupération d'erreur reste active quand aucun programme est en cours. ON ERROR GOTO 0 désactive la récupération d'erreur. Paramètres
Parameters
+
  
    line_number is an existing line number in the program.
+
  line_number est un numéro de ligne existante dans le programme.
  
Notes
+
Remarques
  
    It is not possible to start the error handler at line number 0.
+
  Il est impossible de démarrer le gestionnaire d'erreur au numéro de la ligne 0.
  
Errors
+
les erreurs
  
    line_number does not exist: Undefined line number.
+
  line_number n'existe pas: numéro de ligne défini.
  
OPEN
+
OPEN OPEN mode_char, [#] file_num, file_spec [, rec_len] OUVRIR file_spec [POUR {ENTREE | SORTIE | APPEND | RANDOM}] [ACCESS {LIRE | ECRITURE | WRITE LIRE}] [PARTAGÉE | BLOCAGE {LIRE | ECRITURE | WRITE LIRE }] AS [#] file_num [LEN = rec_len]
OPEN mode_char, [#] file_num, file_spec [, rec_len]
+
OPEN file_spec [FOR {INPUT|OUTPUT|APPEND|RANDOM}] [ACCESS {READ|WRITE|READ WRITE}] [SHARED|LOCK {READ|WRITE|READ WRITE}] AS [#] file_num [LEN = rec_len]
+
  
Opens a data file on a device.
+
Ouvre un fichier de données sur un périphérique. Paramètres
Parameters
+
  
    The string expression file_spec is a valid file specification.
+
  Le file_spec d'expression de chaîne est une spécification de fichier valide.
     file_num is a numeric expression in [1—max_files], where max_files is the maximum file number (default 3).
+
     file_num est une expression numérique dans [1-MAX_FILES], où MAX_FILES est le nombre maximum de fichier (par défaut 3).
     rec_len is a numeric expression in [1—128]: the record length.
+
     rec_len est une expression numérique dans [1-128]: la longueur d'enregistrement.
     mode_char is a string expression of which the first character is one of ["I", "O", "A", "R"].
+
     mode_char est une expression de chaîne dont le premier caractère est un [ "I", "O", "A", "R"].
  
Access modes
+
Les modes d'accès
  
The FOR modes or mode_char are as follows:
+
Le FOR modes ou mode_char sont les suivants: mode_char POUR Effect "I" INPUT Ouvre un fichier texte pour la lecture et positionne le pointeur de fichier au début. "O" SORTIE tronque un fichier texte au début et à l'ouvre pour l'écriture. Toutes les données précédemment présentes dans le fichier seront supprimés. "A" APPEND Ouvre un fichier texte pour écrire à la fin de toutes les données existantes. "R" RANDOM Ouvre un fichier pour un accès aléatoire; le fichier est divisé en enregistrements de longueur rec_len. Si LEN est pas spécifié, la longueur d'enregistrement par défaut 128. Le contenu du fichier sont accessibles en utilisant GET et PUT du tampon FIELD; le tampon de champ peut être accessible par le biais de variables FIELD ou par PRINT # et INPUT # déclarations.
mode_char FOR Effect
+
"I" INPUT Opens a text file for reading and positions the file pointer at the start.
+
"O" OUTPUT Truncates a text file at the start and opens it for writing. Any data previously present in the file will be deleted.
+
"A" APPEND Opens a text file for writing at the end of any existing data.
+
"R" RANDOM Opens a file for random access; the file is divided in records of length rec_len. If LEN is not specified, the record length defaults to 128. The file contents can be accessed using GET and PUT of the FIELD buffer; the FIELD buffer can be accessed through FIELD variables or through PRINT# and INPUT# statements.
+
  
If no FOR mode or mode_char is specified, the file is opened for RANDOM.
+
Si aucun pour le mode ou mode_char est spécifié, le fichier est ouvert pour RANDOM.
  
If both FOR and ACCESS are specified, any ACCESS mode is allowed for RANDOM but for the other modes the access must match as follows:
+
Si les deux et l'accès sont spécifiés, tout mode d'accès est autorisé pour RANDOM mais pour les autres modes d'accès doit correspondre à la manière suivante: pour l'accès par défaut autorisé ACCÈS ENTREE READ LECTURE ECRITURE DE SORTIE WRITE APPEND Lecture Ecriture Lecture Ecriture RANDOM LIRE ECRIRE tous Partage et serrures
FOR default ACCESS allowed ACCESS
+
INPUT READ READ
+
OUTPUT WRITE WRITE
+
APPEND READ WRITE READ WRITE
+
RANDOM READ WRITE all
+
Sharing and locks
+
  
If neither SHARED nor LOCK are specified. Inside this process, a file may be opened multiple times for INPUT or RANDOM but only once for OUTPUT or APPEND, as long as it is again opened in default mode. It may not be opened in SHARED or any LOCK modes.
+
Si ni PARTAGÉE ni BLOCAGE sont spécifiés. A l'intérieur de ce processus, un fichier peut être ouvert plusieurs fois pour INPUT ou RANDOM mais seulement une fois pour OUTPUT ou APPEND, tant qu'il est ouvert à nouveau en mode par défaut. Il ne peut pas être ouvert en PARTAGÉ ou des modes LOCK.
  
If SHARED, LOCK READ, LOCK WRITE or LOCK READ WRITE is specified, whether two OPEN statements may access the same file depends on one's LOCK status and the other's ACCESS status and vice versa. For two OPEN statements as follows:
+
Si PARTAGÉE, BLOCAGE READ, WRITE LOCK ou LOCK READ WRITE est spécifié, si deux états OPEN peuvent accéder au même fichier dépend de son statut LOCK et le statut de l'autre ACCESS et vice versa. Pour deux déclarations OUVERTES comme suit: "fichier" OPEN lock_1 AS 1 OPEN "fichier" acc_2 ACCESS AS 2, les combinaisons suivantes sont autorisées: Accès autorisé acc_2 LECTURE ECRITURE LECTURE ECRITURE lock_1 PARTAGÉE oui oui oui BLOCAGE READ non oui non BLOCAGE ECRITURE oui non non BLOCAGE READ pas ECRIRE no no
OPEN "file" lock_1 AS 1
+
OPEN "file" ACCESS acc_2 AS 2
+
the following combinations are allowed:
+
Access allowed acc_2
+
READ WRITE READ WRITE
+
lock_1 SHARED yes yes yes
+
LOCK READ no yes no
+
LOCK WRITE yes no no
+
LOCK READ WRITE no no no
+
  
In GW-BASIC under MS-DOS with SHARE.EXE active, these locks should be enforced across a network as well as inside a single BASIC process. Without SHARED and LOCK, the file is locked exclusively for use by the GW-BASIC process. By contrast, in PC-BASIC, the locks are only implemented internally. Whether other processes may access the file will depend on the host OS.
+
Dans GW-BASIC sous MS-DOS avec SHARE.EXE actif, ces verrous doivent être appliquées à travers un réseau, ainsi que l'intérieur d'un processus de base unique. Sans PARTAGÉ et LOCK, le fichier est verrouillé exclusivement pour une utilisation par le processus GW-BASIC. En revanche, dans PC-BASIC, les verrous ne sont mises en œuvre en interne. Que d'autres processus peuvent accéder au fichier dépendent du système d'exploitation hôte. Spécifications des fichiers
File specifications
+
  
A file specification file_spec is a non-empty string expression of the form "[device:]parameters", where device is a PC-BASIC device and the form of the parameters is specific to the type of device. If device is omitted, the current device (one of the disk devices or CAS1:) is used.
+
Une spécification de fichier file_spec est une chaîne d'expression non vide de la forme "[device:] paramètres", device est un dispositif de PC-BASIC et la forme des paramètres est spécifique au type de dispositif. Si le dispositif est omis, le dispositif actuel (une des unités de disque ou CAS1 :) est utilisé.
  
Disk devices A:—Z: and @:
+
dispositifs de disque A: -Z: et @:
  
    parameters must specify a valid file path of the form [\][dirname\] ... filename.
+
  paramètres doivent spécifier un chemin de fichier valide de la forme [\] [dirname \] ... filename.
  
    PC-BASIC follows DOS file system conventions. Directory names are separated with backslashes \ (even if the host OS separates paths with forward slashes). File and directory names consist of a 8-character name and 3-character extension. Names are case insensitive. Permissible characters for both filename and extension are the printable ASCII characters in the range &h20–&h7E excluding the characters " * + . , / : ; < = > ? \ [ ] |. Spaces are allowed but leading and trailing spaces are ignored. The names AUX, CON, PRN and NUL are reserved as device aliases and are not legal names for files or directories on a disk device.
+
  PC-BASIC suit DOS conventions du système de fichiers. Les noms de répertoires sont séparés par des antislashs \ (même si le système d'exploitation hôte sépare les chemins avec des barres obliques). Les noms de fichiers et de répertoires sont constitués d'un nom de 8 caractères et extension de 3 caractères. Les noms sont insensibles à la casse. Les caractères autorisés pour les deux nom et l'extension sont les caractères ASCII imprimables dans la gamme & h20- & H7E excluant les caractères "* +, /:; <=> \ [] | Les espaces sont autorisés, mais avant et arrière espaces sont ignorés Le.?.. noms AUX, CON, PRN et NUL sont réservés comme alias de périphériques et ne sont pas des noms juridiques pour des fichiers ou des répertoires sur un périphérique de disque.
  
    A path starting with a backslash is interpreted as an absolute path, starting at the root of the specified disk device. Otherwise, the path is interpreted as relative to the current directory on the specified device. The special directory name .. refers to the parent directory of a preceding path, or the parent directory of the current directory if no path is given. The special directory name . refers to the same directory as given by the preceding path, or the current directory if no preceding path is given.
+
  Un chemin commençant par une barre oblique inverse est interprété comme un chemin absolu, à partir de la racine du périphérique de disque spécifié. Sinon, le chemin est interprété par rapport au répertoire courant sur le périphérique spécifié. Le nom du répertoire spécial .. se réfère au répertoire parent d'un chemin précédent, ou le répertoire parent du répertoire courant si aucun chemin est donné. Le nom du répertoire spécial. se réfère au même répertoire que donné par le chemin précédent, ou le répertoire courant si aucun chemin précédent est donné.
  
    The LOAD, SAVE, BLOAD, BSAVE, CHAIN, MERGE, RUN, and LIST statements (but not OPEN) implicitly add a default extension .BAS if no extension is specified. To refer to a file name without an extension, the file specification should end in a dot ..
+
  Le LOAD, SAVE, BLOAD, BSAVE, CHAIN, merge, RUN, et les déclarations de LISTE (mais pas OUVRIR) implicitement ajouter une extension par défaut .BAS si aucune extension est spécifiée. Pour faire référence à un nom de fichier sans extension, la spécification du fichier doit se terminer par un point ..
     Compatibility notes
+
     notes de compatibilité
  
    Unlike PC-BASIC, some versions of MS-DOS allow certain characters in the range &h7F–&hFF. However, their permissibility and interpretation depends on the console code page, which may be different from the display code page that affects GW-BASIC. Depending on its console code page, MS-DOS will replace accented letters by their unaccented uppercase variant. Some DOS implementations will remove spaces from filenames; notably, this is the case on DOSBox.
+
  Contrairement à PC-BASIC, certaines versions de MS-DOS permettent à certains caractères de la plage et h7F- & hFF. Cependant, leur licéité et l'interprétation dépend de la page de code de la console, qui peut être différente de la page de code d'affichage qui affecte GW-BASIC. En fonction de sa page de code de la console, MS-DOS remplace les lettres accentuées par leur variante en majuscules non accentuées. Certaines implémentations DOS va supprimer les espaces de noms; notamment, cela est le cas sur DOSBox.
  
    Since disk devices are mapped onto directories on the host system, DOS style names need to be mapped onto file names following the host system's (usually much less restrictive) standards. To allow access to files whose name on the host system does not conform to DOS standards, the following matching procedures are observed.
+
  Depuis les unités de disque sont mappés sur les répertoires sur le système hôte, les noms de style DOS doivent être mappés sur les noms de fichiers en suivant les normes (généralement beaucoup moins restrictive) du système hôte. Pour autoriser l'accès à des fichiers dont le nom sur le système hôte ne sont pas conformes aux normes DOS, les procédures d'appariement suivantes sont respectées.
  
    OPEN, KILL, NAME, CHDIR, MKDIR, RMDIR
+
  OUVERT, KILL, NOM, CHDIR, MKDIR, RMDIR
         PC-BASIC will first look for a file with the name exactly as provided. This can be a long name and will be case sensitive if your file system is. If such a file is not found, it will truncate the name provided to 8.3 format and convert to all uppercase. If that exact name is not found, it will look for 8.3 names in mixed case which match the name provided in a case-insensitive way. Such files are searched in lexicographic order. Files names longer than 8.3 will not be matched, unless their name is entered exactly. On Windows, the name matched can be a short filename as well as a long filename provided it is of 8.3 length — it may, for example, contain spaces and thus not be a valid Windows short file name.  
+
         PC-BASIC va d'abord chercher un fichier avec le nom exactement comme prévu. Cela peut être un nom long et sera sensible cas si votre système de fichiers est. Si un tel fichier est introuvable, il tronque le nom fourni au format 8.3 et convertir en majuscules. Si ce nom exact ne se trouve pas, il va chercher 8.3 noms dans le cas mixte qui correspondent au nom fourni de manière insensible à la casse. Ces fichiers sont recherchés dans l'ordre lexicographique. Fichiers noms plus que 8.3 ne seront pas jumelés, à moins que leur nom est entré exactement. Sous Windows, le nom correspondant peut être un nom de fichier court ainsi qu'un nom de fichier long à condition qu'il soit de 8,3 longueur - il peut, par exemple, contient des espaces et donc ne pas être un nom valide de Windows de fichier court.  
     LOAD, SAVE, BLOAD, BSAVE, CHAIN, MERGE, RUN, LIST
+
     LOAD, SAVE, BLOAD, BSAVE, CHAIN, merge, RUN, LIST
         No attempt is made to find an exact match. Instead, the search will first match the all-caps 8.3 version of the name and continue in lexicographic order as above. If no extension is specified, the extension .BAS will be implicitly added. To load a program with no extension, end the filename in a dot. On file systems without short filenames, it is not possible to load a program if its filename is longer than 8.3, contains non-permissible characters or ends in a dot.  
+
         On n'a pas tenté de trouver une correspondance exacte. Au lieu de cela, la recherche va d'abord faire correspondre les tous-caps version 8.3 du nom et de continuer dans l'ordre lexicographique comme ci-dessus. Si aucune extension est spécifiée, les .BAS d'extension seront ajoutés implicitement. Pour charger un programme sans extension, fin du nom de fichier dans un point. Sur les systèmes de fichiers sans noms de fichiers courts, il est impossible de charger un programme si son nom est plus long que 8.3, contient des caractères non-autorisés ou se termine par un point.  
  
    If no matching file is found for an output file name, a new file will be created with an all-caps 8.3 file name.
+
  Si aucun fichier correspondant est trouvé pour un nom de fichier de sortie, un nouveau fichier sera créé avec un tout en majuscules 8.3 nom de fichier.
Cassette device CAS1:
+
    parameters can be a file name of up to eight characters. Cassette file names are case sensitive, have no path or extension, may be empty and do not need to be unique. They may contain any character in the range &h20–&hFF. On the cassette device, when called in direct mode, OPEN, CHAIN, MERGE, LOAD and BLOAD will print a message to the console for each file found while winding the tape. The message consists of the filename followed by a dot and the file type and concluded with a status message. The file type is one of the following:
+
  
    A
+
Cassette dispositif CAS1:
         Program file in text format
+
 
 +
  paramètres peuvent être un nom de fichier de huit caractères maximum.  les noms de fichiers de cassette sont sensibles à la casse, ont aucun chemin ou d'extension, peut être vide et ne pas besoin d'être unique.  Ils peuvent contenir des caractères dans la gamme & h20- & hFF.  Sur le dispositif de cassette, lorsqu'il est appelé en mode direct, OUVERT, CHAIN, merge, LOAD et BLOAD imprime un message à la console pour chaque fichier trouvé lors de l'enroulement de la bande.  Le message se compose du nom du fichier suivi d'un point et le type de fichier et conclu avec un message d'état.  Le type de fichier est l'un des éléments suivants:
 +
 
 +
  UNE
 +
         Fichier de programme en format texte
 
     B
 
     B
         Program file in tokenised format
+
         Fichier de programme au format tokenised
     D
+
    
         Data file
+
         Fichier de données
 
     M
 
     M
         BSAVE memory image
+
         image mémoire BSAVE
 
     P
 
     P
         Program file in protected format
+
         Fichier de programme en format protégé
  
    If the file does not match the file specification and required file type, the status is Skipped; if the file matches, the status is Found. When called from a program, these statements do not print messages to the console. If the device was specified explicitly, parameters may also be empty. In this case the first file of the appropriate type is opened.
+
  Si le fichier ne correspond pas à la spécification de fichier et le type de fichier requis, le statut est arrêté; si le fichier correspond, l'état est trouvé. Lorsqu'il est appelé à partir d'un programme, ces déclarations n'impriment des messages à la console. Si le dispositif a été explicitement spécifié, les paramètres peuvent également être vide. Dans ce cas, le premier fichier du type approprié est ouvert.  
Console and parallel devices SCRN:, KYBD:, and LPTn:
+
    These devices do not allow further device parameters.  
+
Serial devices COMn:
+
  
    When opening a COM port, the file_spec has the form
+
dispositifs de console et parallèles SCRN :, Kybd :, et LPTn:
    "COMn:[speed[,parity[,data[,stop[,RS][,CS[n]][,DS[n]][,CD[n]][,LF][,PE]]]]]"
+
    The first four parameters after the device colon must be given in the order specified but the named parameters can be given in any order. The meaning of the parameters is:
+
    Parameter Default Meaning
+
    speed 300 Baud (bps) rate for the connection. speed is one of [75, 110, 150, 300, 600, 1200, 1800, 2400, 4800, 9600].
+
    parity E Parity bit convention. parity is one of [S, M, O, E, N].
+
    parity Meaning Effect
+
    S SPACE Parity bit always set to 0.
+
    M MARK Parity bit always set to 1.
+
    O ODD Parity bit set so that character parity is odd.
+
    E EVEN Parity bit set so that character parity is even.
+
    N NONE No parity bit transmitted or received.
+
    data 7 Data bits per byte. data must be one of [4, 5, 6, 7, 8]. A byte consists of the data bits plus parity bit, if any. Byte size must be in the range [5—8]: if data is 4, parity must not be N; if data is 8, parity must be N.
+
    stop 1 The number of stop bits. stop must be 1 or 2. Default is 2 if speed is 75 or 110; 1 otherwise.
+
    RS no Suppress Request To Send.
+
    CS[n] CS1000 Set Clear To Send timeout to n milliseconds. If n is 0 or not given, disable CTS check. Default is CS0 if RS is set; CS1000 otherwise.
+
    DS[n] DS1000 Set Data Set Ready timeout to n milliseconds. If n is 0 or not given, disable DSR check.
+
    CD[n] CD0 Set Carrier Detect timeout to n milliseconds. If n is 0 or not given, disable CD check.
+
    LF no Send a line feed after each carriage return.
+
    PE no Enable parity checking (This setting is ignored by PC-BASIC).
+
  
Notes
+
  Ces dispositifs ne permettent pas d'autres paramètres de l'appareil.
  
    If a COM port is opened for RANDOM, access is byte-for-byte rather than through FIELD records; PRINT# and INPUT# access the port directly. rec_len sets the number of bytes read by the GET and PUT statements.
+
Les périphériques série COMn:
    For INPUT, OUTPUT and APPEND modes, LEN may be specified but is ignored.
+
    If I/O is attempted contravening the FOR mode specified, the PRINT or INPUT statement will raise Bad file mode.
+
    If RANDOM I/O is attempted contravening the ACCESS mode specified, the PUT or GET statement will raise Path/File access error.
+
    The # is optional and has no effect.
+
  
Errors
+
  Lors de l'ouverture d'un port COM, le file_spec a la forme
 +
    "COMn: [vitesse [, la parité [, données [, arrêtez [RS] [, CS [n]] [, DS [n]] [, CD [n]] [, LF] [, PE]]]] ] "
 +
    Les quatre premiers paramètres après le côlon de l'appareil doivent être donnés dans l'ordre spécifié mais les paramètres nommés peuvent être donnés dans un ordre quelconque.  La signification des paramètres est:
 +
    Paramètre Valeur par défaut Signification
 +
    vitesse 300 bauds (bps) Taux pour la connexion.  la vitesse est l'un [75, 110, 150, 300, 600, 1200, 1800, 2400, 4800, 9600].
 +
    parité E convention de bit de parité.  la parité est l'une des [S, M, O, E, N].
 +
    parité Signification Effet
 +
    S bit SPACE de parité toujours réglé sur 0.
 +
    M MARK bit de parité toujours réglé sur 1.
 +
    O bit de parité impaire réglé de telle sorte que la parité de caractères est impair.
 +
    E bit de parité pair réglé de telle sorte que la parité de caractère est encore.
 +
    N NONE Pas de bit de parité transmis ou reçu.
 +
    données 7 bits de données par octet.  les données doivent être l'un de [4, 5, 6, 7, 8].  Un octet est constitué de bits de données ainsi que le bit de parité, le cas échéant.  la taille de l'octet doit être dans l'intervalle [5-8]: si les données sont 4, la parité ne doit pas être N;  si les données sont 8, la parité doit être N.
 +
    stop 1 Le nombre de bits d'arrêt.  arrêt doit être 1 ou 2. Par défaut est 2 si la vitesse est de 75 ou 110;  1 sinon.
 +
    RS ne Suppress demande d'envoi.
 +
    CS [n] CS1000 Set Clear To Send timeout n millisecondes.  Si n est 0 ou non donné, désactiver l'enregistrement CTS.  Par défaut est CS0 si RS est réglé;  CS1000 autrement.
 +
    DS [n] DS1000 Data Set Ready Set timeout n millisecondes.  Si n est 0 ou non donné, désactiver l'enregistrement DSR.
 +
    CD [n] CD0 Set Carrier Detect timeout n millisecondes.  Si n est 0 ou non donné, désactiver l'enregistrement de CD.
 +
    LF pas Envoyer un saut de ligne après chaque retour chariot.
 +
    PE n'Activer contrôle de parité (Ce paramètre est ignoré par PC-BASIC).
  
    file_spec is empty or a non-existent device: Bad file number.
+
Remarques
    FOR APPEND ACCESS WRITE is specified: Path/File access error.
+
    FOR and ACCESS mismatch in other ways: Syntax error.
+
    The COM: file_spec parameters do not follow the specification: Bad file name.
+
    The CAS1: file_spec contains disallowed characters: Bad file number.
+
    A file is already open for OUTPUT or APPEND: File already open. This is only raised for COMn:, CASn: and disk devices.
+
    rec_len or file_num have string values: Type mismatch.
+
    file_spec or mode_char have number values: Type mismatch.
+
    file_num is not in [-32768—32767]: Overflow.
+
    file_num is not in [0—255]: Illegal function call.
+
    file_num is not in [1—max_files]: Bad file number.
+
    rec_len is not in [-32768—32767]: Overflow.
+
    rec_len is not in [1—128]: Illegal function call.
+
    mode_char is empty or the first character is not in ["I", "O", "A", "R"]: Bad file mode.
+
  
OPTION BASE
+
  Si un port COM est ouvert pour RANDOM, l'accès est octet par octet plutôt que par des enregistrements sur le terrain;  PRINT # et INPUT # accès au port directement.  rec_len définit le nombre d'octets lus par les déclarations GET et PUT.
OPTION BASE n
+
    Pour l'entrée, la sortie et les modes APPEND, LEN peut être spécifié, mais est ignoré.
 +
    Si I / O est tenté de contrevenir à la FOR mode spécifié, l'instruction PRINT ou INPUT soulèvera le mode de fichier incorrect.
 +
    Si RANDOM I / O est tenté de contrevenir à la mode d'accès spécifié, la PUT ou GET déclaration soulèvera erreur d'accès Chemin / Fichier.
 +
    Le # est facultative et n'a aucun effet.
  
Sets the starting index of all arrays to n.
+
les erreurs
Parameters
+
  
     n is a literal digit 0 or 1. Expressions are not allowed.
+
  file_spec est vide ou un dispositif non-existant: Numéro de fichier incorrect.
 +
     POUR APPEND ACCESS WRITE est spécifié: Erreur d'accès Chemin / Fichier.
 +
    Et l'accès non-concordance d'autres manières: Erreur de syntaxe.
 +
    Les COM: paramètres file_spec ne suivent pas la spécification: nom de fichier incorrect.
 +
    Le CAS1: file_spec contient des caractères non autorisés: Numéro de fichier incorrect.
 +
    Un fichier est déjà ouvert pour OUTPUT ou APPEND: Fichier déjà ouvert.  Ceci est soulevé seulement pour COMn :, ACESI: et les unités de disque.
 +
    rec_len ou file_num ont des valeurs de chaîne: Type mismatch.
 +
    file_spec ou mode_char ont des valeurs numériques: incompatibilité de type.
 +
    file_num est pas dans [-32.768 à 32.767]: Overflow.
 +
    file_num est pas dans [0-255]: Illegal appel de fonction.
 +
    file_num est pas dans [1-MAX_FILES]: Numéro de fichier incorrect.
 +
    rec_len est pas dans [-32.768 à 32.767]: Overflow.
 +
    rec_len est pas dans [1-128]: Illegal appel de fonction.
 +
    mode_char est vide ou le premier caractère est pas dans [ "I", "O", "A", "R"]: le mode de fichier incorrect.
  
Notes
+
OPTION BASE OPTION BASE n
  
    If OPTION BASE has not been called, the first array allocation defaults to starting index 0.
+
Définit l'indice de départ de tous les tableaux à n. Paramètres
  
Errors
+
  n est un chiffre littérale 0 ou 1. Les expressions ne sont pas autorisés.
  
    n is not a digit 0 or 1: Syntax error.
+
Remarques
    OPTION BASE 1 is called but an array has already been allocated before: Duplicate definition.
+
    OPTION BASE is called more than once with different starting index: Duplicate definition.
+
  
OUT
+
  Si OPTION BASE n'a pas été appelé, les premiers défauts de répartition de tableau à partir index 0.
OUT port, value
+
  
Sends a byte to an emulated machine port.
+
les erreurs
  
The following machine ports are emulated in PC-BASIC:
+
  n est pas un chiffre 0 ou 1: Erreur de syntaxe.
port Effect
+
    OPTION BASE 1 est appelé, mais un tableau a déjà été allouée avant: définition en double.
&h201 resets the game port (joystick port)
+
    OPTION BASE est appelé plus d'une fois avec différents index de départ: Dupliquer définition.
&h3C5 sets the write bitmask for SCREEN 7, 8, 9 colour planes. bitmask = 2 ^ value.
+
&h3CF sets the read colour plane to value.
+
&h3D8 if value = &h1A, enable composite colorburst.
+
if value = &h1E, disable composite colorburst.
+
Requires video={cga, tandy, pcjr}.
+
Notes
+
  
    Only a limited number of machine ports are emulated.
+
OUT OUT port, la valeur
    In GW-BASIC under MS-DOS, the sequence needed to set the colour plane mask is:
+
    OUT &h3C4, 2
+
    OUT &h3C5, 2 ^ plane
+
    The sequence needed to set the colour plane is:
+
    OUT &h3CE, 4
+
    OUT &h3CF, plane
+
    The initial OUT statements currently have no effect in PC-BASIC.
+
  
Parameters
+
Envoie un octet à un port de la machine émulé.
  
    port is a numeric expression in [-32768—65535].
+
Les ports de machine suivants sont émulés dans PC-BASIC: port Effect & H201 réinitialise le port de jeu (port joystick) et h3C5 définit le bitmask d'écriture pour ECRAN 7, 8, 9 plans de couleur. bitmask = 2 ^ valeur. & H3CF définit le plan de couleur de lecture à la valeur. & H3D8 si la valeur = & H1A, activez colorburst composite. si la valeur = & H1E, désactivez colorburst composite. Requiert video = {cga, tandy, PCjr}. Remarques
    value is a numeric expression in [0—255].
+
  
Errors
+
  Seul un nombre limité de ports de la machine sont émulés.
 +
    Dans GW-BASIC sous MS-DOS, la séquence nécessaire pour définir le masque de plan de couleur est:
 +
    OUT & H3C4, 2
 +
    OUT & h3C5, 2 ^ plan
 +
    La séquence nécessaire pour définir le plan de couleur est:
 +
    OUT & h3CE, 4
 +
    OUT & h3CF, avion
 +
    Les déclarations initiales OUT ont actuellement aucun effet dans PC-BASIC.
  
    port or value has a string value: Type mismatch.
+
Paramètres
    port is not in [-32768—65535]: Overflow.
+
    value is not in [-32768—32767]: Overflow.
+
    value is not in [0—255]: Illegal function call.
+
  
PAINT
+
  port est une expression numérique dans [-32768 à 65535].
PAINT [STEP] (x, y) [, attrib [, border [, background]]]
+
    La valeur est une expression numérique dans [0-255].
  
Flood-fills the screen with a colour or pattern, starting from the given seed point.
+
les erreurs
Parameters
+
  
     x, y are numeric expressions in the range [-32768—32767] If STEP is specified, x y are offsets from the current position. If the seed point is outside the visible screen area, no flood fill is performed.
+
  le port ou la valeur a une valeur de chaîne: Type mismatch.
     attrib is an expression that specifies the fill attribute or pattern. If not specified, the current foreground attribute is used.
+
     port est pas dans [-32768 à 65535]: Overflow.
    If attrib has a number value, it must be in [0—255]; it specifies the colour attribute used to fill.
+
     valeur est pas dans [-32768 à 32767]: Overflow.
     If attrib has a string value, it specifies a tile pattern (see below).
+
     valeur est pas dans [0-255]: Illegal appel de fonction.
    border is a numeric expression in [0—255]. It specifies the attribute of the fill boundary (see below).
+
    background is a string expression that represents a background tile pattern to ignore when determining boundaries (see below).
+
  
Tile patterns
+
PAINT PAINT [STEP] (x, y) [, attrib [, frontière [, fond]]]
  
A tile pattern can be specified by a string of up to 255 characters. The interpretation of the string depends on the number of bits per pixel and on the current screen mode.
+
Flood-remplit l'écran avec une couleur ou un motif, à partir du point de semences donné. Paramètres
  
1 bit per pixel (e.g. SCREEN 2)
+
     x, y sont des expressions numériques dans l'intervalle [-32768 à 32767] Si STEP est spécifié, xy sont des décalages de la position actuelle. Si le point de semences est en dehors de la zone d'écran visible, pas de remplissage d'inondation est effectuée. attrib est une expression qui spécifie l'attribut de remplissage ou d'un motif. Si non spécifié, l'attribut de premier plan en cours est utilisé. Si attrib a une valeur numérique, il doit être dans [0-255]; il spécifie l'attribut de couleur utilisée pour remplir. Si attrib a une valeur de chaîne, il spécifie un motif de carreaux (voir ci-dessous). la frontière est une expression numérique dans [0-255]. Elle spécifie l'attribut de la limite de remplissage (voir ci-dessous). arrière-plan est une expression de chaîne qui représente un motif de carreaux de fond à ignorer lors de la détermination des limites (voir ci-dessous).  
     Here is an example:
+
    76543210 Byte value
+
    *....... &h80
+
    .*...... &h40
+
    ..*..... &h20
+
    ...*.... &h10
+
    ....*... &h08
+
    .....*.. &h04
+
    ......*. &h02
+
    This diagonal stripe pattern can thus be produced with
+
    PAINT (0, 0), CHR$(128)+CHR$(64)+CHR$(32)+CHR$(16)+CHR$(8)+CHR$(4)+CHR$(2)
+
SCREEN 7, 8, 9
+
    The tile pattern is always 8 pixels wide. The first character in the pattern string contains the first bit of each of these 8 pixels, the second character contains the second bits, etc. For example, in a 2-bits-per-pixel mode, four colour attributes can be used in the pattern. To create a diagonal stripe pattern of the same shape, in attribute &h03, we now need a tile string that is twice as long:
+
    Attribute bit 76543210 Byte value
+
    0 *....... &h80
+
    1 *....... &h80
+
    0 .*...... &h40
+
    1 .*...... &h40
+
    0 ..*..... &h20
+
    1 ..*..... &h20
+
    0 ...*.... &h10
+
    1 ...*.... &h10
+
    0 ....*... &h08
+
    1 ....*... &h08
+
    0 .....*.. &h04
+
    1 .....*.. &h04
+
    0 ......*. &h02
+
    1 ......*. &h02
+
    If the pattern string is truncated before all bits of the last line have been defined, the remaining bits will be zero.  
+
SCREEN 1, 3, 4, 5 , 6
+
    Each row of the tile pattern represents a screen row. Colours are encoded in consecutive bits; the more bits per pixel, the narrower the pattern is. For 2 bits per pixel, the pattern is 4 pixels wide; for 4 bits per pixel it is 2 pixels wide. The following pattern string encodes a diagonal dotted stripe in two colours:
+
    3210 76543210 Byte value
+
    2000 *....... &h80
+
    1000 .*...... &h40
+
    0200 ..*..... &h20
+
    0100 ...*.... &h10
+
    0020 ....*... &h08
+
    0010 .....*.. &h04
+
    0002 ......*. &h02
+
  
The tile pattern is anchored to the screen; imagine a grid starting at (0,0) and covering the screen. Whenever an area is tile-filled, the tiles are put into this grid. In this way, adjacent areas will have continuous tiling even if they were filled from different seed points.
+
motifs de carreaux
Boundaries
+
  
A solid flood fill stops at pixels that have the same attribute as the fill or that have the specified border attribute, if specified. A tiling flood fill stops at the specified border attribute; if no border attribute is specified, it stops at the current foreground attribute. A tiling flood fill also stops at scan line intervals that are the same as the tiling pattern for that line, unless a background pattern is specified and the interval also equals the background pattern for that line.
+
Un motif de tuile peut être spécifié par une chaîne de 255 caractères. L'interprétation de la chaîne dépend du nombre de bits par pixel et sur le mode d'écran actuel.
Errors
+
  
    In SCREEN 7, 8, 9, if background equals attrib up to the length of attrib: Illegal function call.
+
1 bit par pixel (par exemple ECRAN 2)
    background has a number value: Illegal function call.
+
    border,x, or y have a string value: Type mismatch.
+
    border,x, or y are not in [-32768—32767]: Overflow.
+
    border is not in [0—255]: Illegal function call.
+
    attrib is numeric and not in [-32768—32767]: Overflow.
+
    attrib is numeric and not in [0—255]: Illegal function call.
+
  
PALETTE
+
  Voici un exemple:
PALETTE [attrib, colour]
+
    valeur 76543210 Byte
 +
    * ....... & H80
 +
    . * ...... & H40
 +
    .. * ..... & H20
 +
    ... * .... & H10
 +
    .... * ... Et H08
 +
    ..... * .. & H04
 +
    ...... *.  & H02
 +
    Ce modèle de bande diagonale peut donc être produit avec
 +
    PEINTURE (0, 0), CHR $ (128) + CHR $ (64) + CHR $ (32) + CHR $ (16) + CHR $ (8) + CHR $ (4) + CHR $ (2)
  
Assigns a colour to an attribute. All pixels with that attribute will change colour immediately. If no parameters are specified, PALETTE resets to the initial setting.
+
Ecran 7, 8, 9
Parameters
+
  
     attrib is a numeric expression between 0 and the current palette size, less one.
+
  Le motif de tuile est toujours de 8 pixels de large.  Le premier caractère de la chaîne de configuration contient le deuxième caractère du premier bit de chacun des 8 pixels, contient les seconds bits, etc. Par exemple, dans un mode de 2 bits par pixel, les quatre attributs de couleur peuvent être utilisés dans la modèle.  Pour créer un motif de rayure diagonale de la même forme, dans l'attribut & h03, nous avons maintenant besoin d'une chaîne de tuile qui est deux fois plus long:
     colour is a numeric expression between -1 and the maximum number of colours for the current screen mode, less one. If colour equals -1, the palette remains unchanged.
+
    Attribut bit valeur 76543210 Byte
 +
     0 * ....... & h80
 +
     1 * ....... & h80
 +
    0. * ...... & H40
 +
    1. * ...... & H40
 +
    0 .. * ..... & h20
 +
    1 .. * ..... & h20
 +
    0 ... * .... & h10
 +
    1 ... * .... & h10
 +
    0 .... * ... et H08
 +
    1 .... * ... et H08
 +
    0 ..... * .. & h04
 +
    1 ..... * .. & h04
 +
    0 ...... *.  & H02
 +
    1 ......*.  & H02
 +
    Si la chaîne de motif est tronqué avant que tous les bits de la dernière ligne ont été définis, les bits restants seront nuls.  
  
Errors
+
ÉCRAN 1, 3, 4, 5, 6
  
    attrib or colour has a string value: Type mismatch.
+
  Chaque ligne du motif de carreaux représente une ligne d'écran.  Les couleurs sont codées en bits consécutifs;  les plus de bits par pixel, plus la tendance est.  Pour 2 bits par pixel, le motif est de 4 pixels de large;  4 bits par pixel, il est de 2 pixels de large.  La chaîne de modèle suivant code une bande diagonale en pointillés en deux couleurs:
     attrib or colour is not in [-32768—32767]: Overflow
+
    3210 valeur 76543210 Byte
     attrib or colour is not in range: Illegal function call
+
    2000 * ....... & h80
 +
     1000. * ...... & H40
 +
     0200 .. * ..... & h20
 +
    0100 ... * .... & h10
 +
    0020 .... * ... et H08
 +
    0010 ..... * .. & h04
 +
    0002 ...... *.  & H02
  
PALETTE USING
+
Le motif de carreaux est ancré à l'écran; Imaginez une grille à partir de (0,0) et couvrant l'écran. Chaque fois qu'une zone est remplie de tuiles, les carreaux sont mis dans cette grille. De cette façon, les zones adjacentes auront carrelage continu, même si elles étaient remplies de différents points de semences. Limites
PALETTE USING int_array_name {(|[} start_index {)|]}
+
  
Assigns new colours to all attributes.
+
Un remplissage d'inondation solide arrête à des pixels qui ont le même attribut que le remplissage ou qui ont l'attribut border spécifié, si spécifié. Un remplissage de carrelage d'inondation arrête à l'attribut border spécifié; si aucun attribut border est spécifié, il arrête à l'attribut de premier plan en cours. Un remplissage de carrelage d'inondation empêche également à des intervalles de lignes de balayage qui sont les mêmes que le motif de carrelage pour cette ligne, à moins d'un motif d'arrière-plan est spécifiée, et l'intervalle est aussi égale le motif de fond pour cette ligne. les erreurs
Parameters
+
  
    int_array_name is an array of integers (%) that will supply the new values for the palette.
+
  Dans ÉCRAN 7, 8, 9, si le fond est égale à attrib jusqu'à la longueur du attrib: Illegal appel de fonction.
     start_index is a numeric expression that indicates at which index in the array to start mapping to the palette.
+
     arrière-plan a une valeur numérique: Illegal appel de fonction.
 +
    frontière, x ou y ont une valeur de chaîne: Type mismatch.
 +
    frontière, x ou y ne sont pas dans [-32.768 à 32.767]: Overflow.
 +
    la frontière est pas dans [0-255]: Illegal appel de fonction.
 +
    attrib est numérique et non pas dans [-32768 à 32767]: Overflow.
 +
    attrib est numérique et non pas dans [0-255]: Illegal appel de fonction.
  
If an array entry has value -1, the matching attribute is left unchanged.
+
PALETTE PALETTE [attrib, color]
Errors
+
  
    int_array_name has not been allocated: Illegal function call. The array will not be automatically allocated.
+
Affecte une couleur à un attribut. Tous les pixels avec cet attribut changeront de couleur immédiatement. Si aucun paramètres sont spécifiés, PALETTE réinitialise au réglage initial. Paramètres
    int_array_name is not an integer array: Type mismatch.
+
    int_array_name is too short: Illegal function call.
+
    start_index has a string value: Type mismatch.
+
    start_index is not in [-32768—32767]: Overflow
+
    start_index is outside array dimensions: Subscript out of range
+
  
PCOPY
+
  attrib est une expression numérique entre 0 et la taille de la palette actuelle, moins un.
PCOPY src, dst
+
    la couleur est une expression numérique entre -1 et le nombre maximum de couleurs pour le mode d'écran actuel, moins un.  Si la couleur est égal à -1, la palette reste inchangée.
  
Copies the screen page src to dst. All text and graphics on dst is replaced by those of src.
+
les erreurs
Parameters
+
  
    src and dst are numeric expressions between 0 and the current video mode's number of pages, less one.
+
  attrib ou de couleur a une valeur de chaîne: Type mismatch.
 +
    attrib ou de couleur ne sont pas dans [-32768 à 32767]: Overflow
 +
    attrib ou de couleur ne sont pas dans la plage: Illegal appel de fonction
  
Errors
+
PALETTE UTILISATION PALETTE UTILISATION int_array_name {(| [} {start_index) |]}
  
    src or dst has a string value: Type mismatch.
+
Affecte de nouvelles couleurs à tous les attributs. Paramètres
    src or dst is not in [-32768—32767]: Overflow.
+
    src or dst is out of range: Illegal function call.
+
  
PEN (statement)
+
  int_array_name est un tableau de nombres entiers (%) qui fournira les nouvelles valeurs pour la palette.
PEN {ON|OFF|STOP}
+
    start_index est une expression numérique qui indique à quel index dans le tableau pour commencer la cartographie à la palette.
  
Controls event trapping and read access of the light pen (emulated through the mouse in PC-BASIC). PEN ON switches pen reading and trapping on. PEN OFF switches it off. PEN STOP suspends PEN event trapping until PEN ON is executed. Up to one event can be triggered during suspension, provided that event handling was switched on prior to suspension. The event triggered during suspension is handled immediately after the next PEN ON statement.
+
Si une entrée de gamme a une valeur -1, l'attribut correspondant est laissé inchangé. les erreurs
PLAY (event switch)
+
PLAY {ON|OFF|STOP}
+
  
     ON: enables ON PLAY event trapping of the music queue.
+
  int_array_name n'a pas été affectée: Illegal appel de fonction.  Le tableau ne sera pas automatiquement attribué.
     OFF: disables trapping.
+
     int_array_name est pas un entier tableau: Incompatibilité de type.
     STOP: halts trapping until PLAY ON is used. Events that occur while trapping is halted will trigger immediately when trapping is re-enabled.
+
     int_array_name est trop court: Illegal appel de fonction.
 +
     start_index a une valeur de chaîne: Type mismatch.
 +
    start_index est pas dans [-32.768 à 32.767]: Overflow
 +
    start_index est dimensions du tableau à l'extérieur: Indice hors de portée
  
PLAY (music statement)
+
PCOPY PCOPY src, dst
PLAY [mml_string_0] [, [mml_string_1] [, mml_string_2]]
+
  
Plays the tune defined by the Music Macro Language strings mml_string_0, ....
+
Copie la page d'écran src dst. Tous les textes et graphiques sur dst est remplacé par ceux de src. Paramètres
  
Unless syntax={tandy | pcjr} is set, only the single-voice syntax is available. The three separate MML strings correspond to the three voices of the PCjr/Tandy sound adapter. The notes in these strings are played synchronously.
+
  src et dst sont des expressions numériques entre 0 et le numéro du mode vidéo actuel de pages, moins un.
Parameters
+
  
    mml_string_0, mml_string_1, mml_string_2 are string expressions in MML.
+
les erreurs
    At least one parameter must be provided and the statement must not end in a comma.
+
  
Music Macro Language reference
+
  src ou dst a une valeur de chaîne: Type mismatch.
Notes and Pauses
+
    src ou dst est pas dans [-32.768 à 32.767]: Overflow.
Command Effect
+
    src ou dst est hors de portée: Illegal appel de fonction.
{A|B|C|D|E|F|G}[#|+|-][m] Play a note.
+
+ or # indicates sharp.
+
- indicates flat.
+
m is a numeric literal and indicates duration of an mth note. m is in the range [0—64]. If m=0 or omitted, use the default length.
+
Nn Play note n, in the range [0—84] (7 octaves).
+
n = 0 means rest.
+
On Set the current octave to n, in the range [0—6]. Default is 4.
+
> Increase the current octave by 1, with a maximum of 6.
+
< Decrease the current octave by 1, with a minimum of 0.
+
Pn Pause for the duration of an nth note. n is in the range [0—64]. If n=0, this has no effect.
+
Timing commands
+
Command Effect
+
. Increase the duration of the preceding note by 1/2 times its normal duration. Periods can be repeated to increase duration further.
+
Ln Set the duration of following note to an nth note. (n=4 is a quarter note, etc.) n is in the range [1—64].
+
MN Normal: 7/8 of the duration is sound, with 1/8 silence. Default mode.
+
ML Legato: full duration is sound.
+
MS Staccato: 3/4 of the duration is sound, with 1/4 silence.
+
Tn Sets the tempo to n L4s per minute. n is in the range [32—255]. Default is 120.
+
Background-mode commands
+
  
These commands affect SOUND, PLAY and BEEP
+
PEN (déclaration) PEN {ON | OFF | STOP}
Command Effect
+
MB Turns on background mode; sound commands exit without waiting for the music to finish. The music keeps playing while other commands are executed. There can be up to 16 notes in the background music queue; if more notes are played, PLAY will block until there are only 16 left.
+
MF Turns off background mode; sound commands block. Default mode.
+
Subroutine command
+
Command Effect
+
Xs Execute substring. s is one of the following:
+
  
    a string variable name followed by a;
+
Contrôles événement piégeage et l'accès en lecture de la plume de lumière (émulé par la souris dans PC-BASIC). PEN ON commute la lecture de stylo et de piégeage sur. PEN OFF l'éteint. PEN arrêt suspend événement PEN piégeant jusqu'à PEN ON est exécutée. Jusqu'à un événement peut être déclenché pendant la suspension, à condition que la gestion des événements a été activée avant la suspension. L'événement déclenché pendant la suspension est traitée immédiatement après l'instruction suivante PEN ON. PLAY (commutateur d'événement) PLAY {ON | OFF | STOP}
    the result of VARPTR$() on a string variable
+
  
Volume control
+
  ON: permet ON événement PLAY piégeage de la file d'attente de la musique.
 +
    OFF: désactive le piégeage.
 +
    STOP: arrête le piégeage jusqu'à JOUER ON est utilisé.  Les événements qui se produisent pendant le piégeage est arrêté déclenchera immédiatement lorsque le piégeage est réactivé.
  
Volume control is available on syntax={tandy | pcjr} only:
+
PLAY (déclaration de la musique) PLAY [mml_string_0] [, [mml_string_1] [, mml_string_2]]
Command Effect
+
Vn Set the volume to n, in the range [0—15]. On syntax=pcjr, if SOUND ON has not been executed, this has no effect. On syntax=tandy it does have.
+
MML Parameters
+
  
Numeric variables n in the commands above can be:
+
Joue la mélodie définie par les chaînes de musique Langue Macro mml_string_0, ....
  
    an integer literal, e.g. PLAY "L4G"
+
Sauf si la syntaxe = {tandy | PCjr} est définie, seule la syntaxe simple vocale est disponible. Les trois chaînes MML distinctes correspondent aux trois voix de la carte son PCjr / Tandy. Les notes de ces cordes sont jouées de manière synchrone. Paramètres
    a numeric variable name or array element var preceded by = and followed by ;. For example, PLAY "L=VAR;G" or PLAY "L=A(1);G"
+
    the result of VARPTR$(var) preceded by =. For example, PLAY "L=" + VARPTR$(VAR) + "G"
+
  
Note that only number literals may follow named notes and dereferencing variables or arrays is not allowed there. It is an error to write PLAY "G=VAR;" or PLAY "G=" + VARPTR$(VAR). Use PLAY "G4" or PLAY "L=VAR;G" or PLAY "L=" + VARPTR$(VAR) + "G" instead.
+
  mml_string_0, mml_string_1, mml_string_2 sont des expressions de chaîne dans MML.
Errors
+
    Au moins un paramètre doit être fourni et la déclaration ne doit pas se terminer par une virgule.
  
    mml_string has a numeric value: Type mismatch.
+
Musique macro notes de référence du langage et Pauses Effet Commande {A | B | C | D | E | F | G} [# | + | -] [m] Jouez une note. + Ou # indique forte. - Indique plat. m est un littéral numérique et indique la durée d'une note d'mth. m est dans la gamme [0-64]. Si m = 0 ou omis, utilisez la longueur par défaut. Nn Jouer la note n, dans la gamme [0-84] (7 octaves). n = 0 signifie repos. Sur Réglez l'octave en cours à n, dans l'intervalle [0-6]. Par défaut est 4.> Augmenter l'octave courant de 1, avec un maximum de 6. <Diminution de l'octave courant de 1, avec un minimum de 0. Pn Pause pour la durée d'une note nième. n est dans la gamme [0-64]. Si n = 0, cela n'a aucun effet. Timing commandes Commande Effet. Augmenter la durée de la note précédente de 1/2 fois la durée normale. Les périodes peuvent être répétées pour augmenter la durée plus loin. Ln Régler la durée de la note suivante à une note nième. (N = 4 est un quart de note, etc.) n est dans la gamme [1-64]. MN normal: 7/8 de la durée est saine, avec 1/8 silence. Mode par défaut. ML Legato: toute la durée est saine. MS Staccato: 3/4 de la durée est solide, avec 1/4 silence. Tn Définit le tempo n L4s par minute. n est dans la gamme [32-255]. Par défaut est 120. commandes Contexte mode
    mml_string has errors in the MML: Illegal function call.
+
    A variable in an MML string is of incorrect type: Type mismatch.
+
    No MML string is specified: Missing operand.
+
    On PCjr, if SOUND ON has not been executed, using the three-voice syntax will raise Syntax error. This is not the case on Tandy.
+
  
POKE
+
Ces commandes affectent SOUND, PLAY et BEEP Commande Effet MB Active le mode d'arrière-plan; son commandes sortie sans attendre la musique pour terminer. La musique continue à jouer alors que d'autres commandes sont exécutées. Il peut y avoir jusqu'à 16 notes dans la file d'attente de musique de fond; si plusieurs notes sont jouées, PLAY bloquera jusqu'à ce que il y a seulement 16 gauche. MF Met le mode d'arrière-plan; commandes sonores bloquent. Mode par défaut. commande Subroutine Commande Effet Xs Execute substring. s est l'un des éléments suivants:
POKE address, value
+
  
Sets the value of the memory byte at segment * 16 + address to value, where segment is the current segment set with DEF SEG.
+
  un nom variable de chaîne suivie par un;
Parameters
+
    le résultat de VARPTR $ () sur une variable de chaîne
  
    address is a numeric expression in [-32768—65535]. Negative values are interpreted as their two's complement.
+
Contrôle du volume
    value is a numeric expression in [0—255].
+
  
Notes
+
Contrôle du volume est disponible sur la syntaxe = {tandy | PCjr} uniquement: Commande Effet Vn Réglez le volume à n, dans la gamme [0-15]. Sur la syntaxe = PCjr, si SOUND ON n'a pas été exécutée, cela n'a aucun effet. Sur la syntaxe = tandy ne possède. Paramètres MML
  
    The memory is only partly emulated in PC-BASIC. See Memory model for supported addresses. Outside emulated areas of memory, this statement has no effect.
+
Les variables numériques n dans les commandes ci-dessus peuvent être:
  
Errors
+
  un littéral entier, par exemple PLAY "L4G"
 +
    une variable numérique nom ou élément de tableau var précédé de = et suivie;.  Par exemple, PLAY "L = VAR; G" ou PLAY "L = A (1); G"
 +
    le résultat de VARPTR $ (var) précédé de =.  Par exemple, PLAY "L =" + VARPTR $ (VAR) + "G"
  
    address or value has a string value: Type mismatch.
+
Notez que le numéro seulement littéraux peuvent suivre les notes et les variables nommées déréférencement ou tableaux ne sont pas autorisés là. Il est une erreur d'écrire PLAY "G = VAR;" ou PLAY "G =" + VARPTR $ (VAR). Utilisez PLAY "G4" ou PLAY "L = VAR; G" ou PLAY "L =" + VARPTR $ (VAR) + "G" à la place. les erreurs
    address is not in [-32768—65535]: Overflow.
+
    value is not in [-32768—32767]: Overflow.
+
    value is not in [0—255]: Illegal function call.
+
  
PSET and PRESET
+
  mml_string a une valeur numérique: incompatibilité de type.
{ PSET | PRESET } [STEP] (x, y) [, attrib]
+
    mml_string a des erreurs dans le MML: Illegal appel de fonction.
 +
    Une variable dans une chaîne MML est de type incorrect: incompatibilité de type.
 +
    Aucune chaîne de MML est spécifié: opérande manquant.
 +
    Sur PCjr, si SOUND ON n'a pas été exécuté, en utilisant la syntaxe à trois voix soulèvera une erreur de syntaxe.  Ce n'est pas le cas sur Tandy.
  
Change the attribute of a pixel on the screen at position (x, y). If STEP is specified, (x, y) is an offset from the current position.
+
POKE POKE adresse, valeur
  
If attrib is between 0 and the screen mode's palette size, the pixel is changed to attribute attrib. If attrib is larger than the palette size, the pixel's attribute is changed to the highest legal attribute value. If attrib is not specified, PSET changes the attribute to the current foreground attribute while PRESET changes it to zero.
+
Définit la valeur de l'octet de mémoire au niveau du segment * 16 + adresse à la valeur, où le segment est le segment courant réglé avec DEF SEG. Paramètres
Parameters
+
  
    x, y are numeric expressions in [-32768—32767].
+
  adresse est une expression numérique dans [-32768-65535].  Les valeurs négatives sont interprétées comme complément à leurs deux.
     attrib is a numeric expression in [0—255].
+
     La valeur est une expression numérique dans [0-255].
  
Errors
+
Remarques
  
    x or y has a string value: Type mismatch.
+
  La mémoire est que partiellement émulée dans PC-BASIC. Voir modèle de mémoire pour les adresses prises en charge.  En dehors des zones émulés de mémoire, cette déclaration n'a aucun effet.
    attrib, x or y or the physical coordinates they translate into are not in [-32768—32767]: Overflow.
+
    attrib is not in [0—255]: Illegal function call.
+
  
PRINT and LPRINT
+
les erreurs
{LPRINT|{PRINT|?} [# file_num,]} [expr_0|;|,|SPC(n)|TAB(n)] ... [USING format; uexpr_0 [{;|,} uexpr_1] ... [;|,]]
+
  
Writes expressions to the screen, printer, or file. If LPRINT is used, output goes to LPT1:. If file_num is specified, output goes to the file open under that number. ? is a shorthand for PRINT.
+
  adresse ou valeur a une valeur de chaîne: Type mismatch.
 +
    adresse se trouve pas dans [-32768 à 65535]: Overflow.
 +
    valeur est pas dans [-32768 à 32767]: Overflow.
 +
    valeur est pas dans [0-255]: Illegal appel de fonction.
  
When writing a string expression to the screen, the following control characters have special meaning. Other characters are shown as their corresponding glyph in the current codepage.
+
PSET et PRESET {PSET | PRESET} [STEP] (x, y) [, attrib]
Code point Control character Effect
+
&h07 BEL Beep the speaker.
+
&h08 BS Erase the character in the previous column and move the cursor back.
+
&h09 HT Jump to the next 8-cell tab stop.
+
&h0A LF Go to the leftmost column in the next row; connect the rows to one logical line.
+
&h0B VT Move the cursor to the top left of the screen.
+
&h0C FF Clear the screen.
+
&h0D CR Go to the leftmost column in the next row.
+
&h1C FS Move the cursor one column to the right.
+
&h1D GS Move the cursor one column to the left.
+
&h1E RS Move the cursor one row up.
+
&h1F US Move the cursor one row down.
+
  
Expressions can optionally be separated by one or more of the following keywords:
+
Modifiez l'attribut d'un pixel sur l'écran à la position (x, y). Si l'étape est spécifiée, (x, y) est décalée par rapport à la position actuelle.
Keyword Effect
+
; Attaches two expressions tight together; strings will be printed without any space in between, numbers will have one space separating them, in addition to the space or minus sign that indicate the sign of the number.
+
, The expression after will be positioned at the next available zone. The output file is divided in 14-character zones; if the width of the file is not a multiple of 14, the remaining spaces are unused and the first zone of the next line is used instead. If the file has a width of less than 14 characters, the zones are determined as if the file were wrapping continuously.
+
SPC(n) Produces n spaces, where n is a numeric expression. if n is less than zero, it defaults to zero. If n is greater than the file width, it is taken modulo the file width.
+
TAB(n) Moves to column n, where n is a numeric expression. if n is less than zero, it defaults to zero. If n is greater than the file width, it is taken modulo the file width. If the current column is greater than n, TAB moves to column n on the next line.
+
  
If the print statement does not end in one of these four separation tokens, a newline is printed after the last expression. String expressions can be separated by one or more spaces, which has the same effect as separating by semicolons.
+
Si attrib est entre 0 et la taille de la palette du mode d'écran, le pixel est modifié pour attribuer attrib. Si attrib est plus grande que la taille de la palette, l'attribut du pixel est modifiée à la valeur la plus élevée de l'attribut juridique. Si attrib est pas spécifié, PSET modifie l'attribut à l'attribut de premier plan en cours tandis que PRESET il change à zéro. Paramètres
Format string syntax
+
  
A USING declaration occurs at the end of an [L]PRINT[#] statement and writes a formatted string to the screen, printer or file. The following tables list the format tokens that can be used inside the format string.
+
  x, y sont des expressions numériques dans [-32768 à 32767].
_ Escape character; causes the next character in the format string to be printed as is rather than interpreted as a format token.
+
    attrib est une expression numérique dans [0-255].
  
For string expressions:
+
les erreurs
! Prints the first character of a string.
+
\\ Prints 2 or more characters of a string. A greater number of characters is selected by separating the \s by spaces.
+
& Prints the whole string.
+
  
For numeric expressions, the format string specifies a width and alignment.
+
  x ou y a une valeur de chaîne: Type mismatch.
# Indicate a position for a digit.
+
    attrib, x ou y ou les coordonnées physiques qu'ils traduisent ne sont pas dans [-32768-32767]: Overflow.
. Indicate the decimal point.
+
    attrib est pas dans [0-255]: Illegal appel de fonction.
, Before the decimal point: cause digits to be grouped in threes separated by commas. After the decimal point it is not a token. Provides one digit position.
+
  
The number of characters in the field must not exceed 24.
+
PRINT et LPRINT {LPRINT | {PRINT |} [# file_num,]?} [Expr_0 |; |, | SPC (n) | TAB (n)] ... [en utilisant le format; uexpr_0 [{; |,} uexpr_1] ... [; |]]
  
Tokens preceding the number field:
+
Ecrit expressions à l'écran, une imprimante ou un fichier. Si LPRINT est utilisé, la sortie va vers LPT1 :. Si file_num est spécifié, la sortie va vers le fichier ouvert sous ce numéro. ? est un raccourci pour PRINT.
+ Cause the sign to be printed for positive as well as negative numbers. The sign is to be printed to the left of the number.
+
** Cause any leading spaces to be replaced with *s. Provides two digit positions.
+
$$ Cause a $ to be printed to the left of the number. Provides one digit position.
+
  
Tokens trailing the number field:
+
Lors de l'écriture d'une expression de chaîne à l'écran, les caractères de contrôle suivants ont une signification spéciale. D'autres personnages sont présentés comme leur glyphe correspondant dans le codepage actuel. caractère point de contrôle de code Effet & h07 BEL Beep le haut-parleur. & H08 BS Effacer le caractère dans la colonne précédente et déplacer le curseur. & H09 HT Aller à la prochaine étape de l'onglet 8 cellules. & H0A LF Aller à la colonne de gauche dans la rangée suivante; connecter les lignes à une ligne logique. & H0B VT Déplacez le curseur sur la partie supérieure gauche de l'écran. & H0C FF Effacer l'écran. & H0D CR Aller à la colonne de gauche dans la rangée suivante. & H1C FS Déplacer le curseur d'une colonne à droite. & H1d GS Déplacer le curseur d'une colonne vers la gauche. & H1E RS Déplacer le curseur d'une ligne vers le haut. & H1F US déplacer le curseur d'une ligne vers le bas.
+ Cause the sign to be printed for positive as well as negative numbers. The sign will be printed to the right of the number.
+
- Cause the sign for negative numbers to be printed to the right of the number. Note that - preceding the field is not a token but printed literally.
+
^^^^ Specify that scientific notation E+00 is to be used.
+
  
Numeric expressions are always fully printed, even if they do not fit in the positions specified. If the number does not fit in the allowed space, a % is printed preceding it.
+
Les expressions peuvent être éventuellement séparés par un ou plusieurs des mots-clés suivants: Mot-clé Effet
  
    If there are more expressions than format fields, the format string is wrapped around.
+
Attaches deux expressions serrées ensemble; chaînes seront imprimées sans espace entre les deux, les numéros auront un espace qui les sépare, en plus de l'espace ou signe moins qui indiquent le signe du nombre.
    Expressions may be separated with semicolons or commas; the effect is the same.
+
    If the USING declaration ends in a comma or semicolon, no newline is printed at the end.
+
    After a USING declaration, other elements of the PRINT syntax such as SPC( and TAB( can not be used.
+
  
Parameters
+
, L'expression sera après être positionné à la prochaine zone disponible. Le fichier de sortie est divisé en zones de 14 caractères; si la largeur du fichier est pas un multiple de 14, les espaces restants sont inutilisés et la première zone de la ligne suivante est utilisée à la place. Si le fichier a une largeur de moins de 14 caractères, les zones sont déterminées comme si le fichier a été enveloppait en continu. SPC (n) Produit n espaces, où n est une expression numérique. si n est inférieur à zéro, il est par défaut à zéro. Si n est supérieure à la largeur de fichier, il est pris modulo la largeur du fichier. TAB (n) Déplace à la colonne n, où n est une expression numérique. si n est inférieur à zéro, il est par défaut à zéro. Si n est supérieure à la largeur de fichier, il est pris modulo la largeur du fichier. Si la colonne courante est supérieure à n, TAB se déplace à la colonne n de la ligne suivante.
  
    expr_0, expr_1, ... are expressions of any type.
+
Si l'instruction d'impression ne se termine pas dans l'une de ces quatre jetons de séparation, une nouvelle ligne est imprimée après la dernière expression. Les expressions de chaîne peuvent être séparés par un ou plusieurs espaces, ce qui a le même effet que la séparation par des points-virgules. Format syntaxe de chaîne
    format is a string expression that specifies the output format.
+
    uexpr_0, uexpr_1, ... are expressions matching a token in the format string.
+
  
Notes
+
Une déclaration UTILISATION se produit à la fin d'un [L] PRINT [#] déclaration et écrit une chaîne formatée à l'écran, une imprimante ou un fichier. Les tableaux suivants présentent les jetons de format qui peuvent être utilisés dans la chaîne de format. _ Caractère d'échappement; provoque le caractère suivant dans la chaîne de format pour être imprimé tel quel plutôt que interprété comme un signe de format.
  
    If an error is raised, the output before the error was encountered is printed as normal.
+
Pour les expressions de chaîne: Imprime le premier caractère d'une chaîne. \\ Prints 2 ou plusieurs caractères d'une chaîne. Un plus grand nombre de caractères est sélectionné en séparant le \ s par des espaces. & Imprime la chaîne entière.
  
Errors
+
Pour les expressions numériques, la chaîne de format spécifie une largeur et d'alignement.
  
     n has a string value: Type mismatch.
+
     Indiquez une position pour un chiffre.  
    n is not in [-32768—65535]: Overflow.
+
    The format string contains no tokens: Illegal function call.
+
    An expression doesn't match the corresponding format token type: Type mismatch.
+
    A number field in the format string exceeds 24 characters: Illegal function call.
+
    A number field in the format string contains no # characters: Illegal function call.
+
  
PUT (files)
+
. Indiquez le point décimal. , Avant la virgule: la cause chiffres à être groupés par trois séparés par des virgules. Après la virgule, il est pas un jeton. Fournit une position de chiffres.
PUT [#] file_number [, record_number]
+
  
Writes a record to the random-access file file_number at position record_number.
+
Le nombre de caractères dans le champ ne doit pas dépasser 24.
Parameters
+
  
    file_number is a numeric expression that yields the number of an open random-access file. The # is optional and has no effect.
+
Tokens précédant le champ de numéro: + Parce que le signe à imprimer pour les nombres positifs et négatifs. Le signe doit être imprimé à la gauche du numéro.
    record_number is a numeric expression in [1—33554432] (2^25) and is interpreted as the record number.
+
  
Notes
+
        Causer des espaces menant à être remplacés par des * s. Fournit deux positions de chiffres.
  
    The record number is stored as single-precision; this precision is not high enough to distinguish single records near the maximum value of 2^25.
+
$$ Cause a $ à imprimer à la gauche du numéro. Fournit une position de chiffres.
  
Errors
+
Tokens suivi le champ du numéro: + Parce que le signe à imprimer pour les nombres positifs et négatifs. Le signe sera imprimé à la droite du numéro. - Parce que le signe pour les nombres négatifs à imprimer à la droite du numéro. Notez que - précédant le champ est un jeton, mais imprimé littéralement. ^^^^ Spécifiez que la notation scientifique E + 00 doit être utilisé.
  
    record_number is not in [1—33554432]: Bad record number.
+
Les expressions numériques sont toujours entièrement imprimées, même si elles ne rentrent pas dans les positions indiquées. Si le nombre ne tient pas dans l'espace alloué, un% est imprimé qui le précède.
    file_number is not in [0—255]: Illegal function call.
+
    file_number is not the number of an open file: Bad file number.
+
    file_number is open under a mode other than RANDOM: Bad file mode.
+
    file_number is not specified: Missing operand.
+
  
PUT (communications)
+
  S'il y a plus d'expressions que les champs de format, la chaîne de format est enroulé autour.
PUT [#] com_file_number [, number_bytes]
+
    Les expressions peuvent être séparés par des virgules ou des virgules;  l'effet est le même.
 +
    Si la déclaration UTILISATION se termine par une virgule ou point-virgule, aucune nouvelle ligne est imprimé à la fin.
 +
    Après une déclaration UTILISATION, d'autres éléments de la syntaxe PRINT telles que la CPS (et TAB (ne peuvent pas être utilisés.
  
Writes number_bytes bytes to the communications buffer opened under file number com_file_number. number_bytes is a numeric expression between 1 and the COM buffer length, inclusive.
+
Paramètres
Notes
+
  
    In GW-BASIC, Device I/O error is raised for overrun error, framing error, and break interrupt. Device fault is raised if DSR is lost during I/O. A Parity error is raised if parity is enabled and incorrect parity is encountered. This is according to the manual; it is untested.
+
  expr_0, expr_1, ... sont des expressions de tout type.
 +
    format est une expression de chaîne qui spécifie le format de sortie.
 +
    uexpr_0, uexpr_1, ... sont des expressions correspondant à un jeton dans la chaîne de format.
  
Errors
+
Remarques
  
    bytes is less than 1: Bad record number.
+
  Si une erreur est déclenchée, la sortie avant que l'erreur a été rencontrée est imprimé comme normal.
    bytes is less than 32768 and greater than the COM buffer length: Illegal function call.
+
    com_file_number is not specified: Missing operand.
+
    com_file_number is not in [0—255]: Illegal function call.
+
    com_file_number is not the number of an open file: Bad file number.
+
    The serial input buffer is full, i.e. LOF(com_file_number) = 0 and LOC(com_file_number)=255: Communication buffer overflow.
+
  
PUT (graphics)
+
les erreurs
PUT (x0, y0), array_name [, {PSET|PRESET|AND|OR|XOR}]
+
  
Displays an array to a rectangular area of the graphics screen. Usually, PUT is used with arrays that have been stored using GET. See GET for the format of the array.
+
  n a une valeur de chaîne: Type mismatch.
 +
    n est pas dans [-32768 à 65535]: Overflow.
 +
    La chaîne de format ne contient pas de jetons: Illegal appel de fonction.
 +
    Une expression ne correspond pas au type de jeton de format correspondant: incompatibilité de type.
 +
    Un champ de numéro dans la chaîne de format dépasse 24 caractères: Illegal appel de fonction.
 +
    Un champ de numéro dans la chaîne de format ne contient pas de caractères #: Illegal appel de fonction.
  
The keywords have the following effect:
+
PUT (fichiers) PUT [#] file_number [, record_number]
PSET Overwrite the screen location with the new image
+
PRESET Overwrite the screen location with the inverse image
+
AND Combines the old and new attributes with bitwise AND
+
OR Combines the old and new attributes with bitwise OR
+
XOR Combines the old and new attributes with bitwise XOR
+
Parameters
+
  
    array_name is a numeric array.
+
Ecrit un enregistrement dans le fichier file_number à accès aléatoire à la position record_number. Paramètres
    x0, y0 are numeric expressions.
+
  
Errors
+
  file_number est une expression numérique qui donne le nombre d'un fichier à accès aléatoire ouvert.  Le # est facultative et n'a aucun effet.
 +
    record_number est une expression numérique dans [1-33554432] (2 ^ 25) et est interprété comme le numéro d'enregistrement.
  
    The array does not exist: Illegal function call.
+
Remarques
    array_name refers to a string array: Type mismatch.
+
    x0, y0 are string expressions: Type mismatch.
+
    x0, y0 are not in [-32768—32767]: Overflow.
+
    x0, y0 is outside the current VIEW or WINDOW: Illegal function call
+
  
RANDOMIZE
+
  Le numéro d'enregistrement est stocké sous forme de simple précision;  cette précision est pas assez élevé pour distinguer des enregistrements uniques à proximité de la valeur maximale de 2 ^ 25.
RANDOMIZE [expr]
+
  
Seeds the random number generator with expr. If no seed is specified, RANDOMIZE will prompt the user to enter a random seed. The user-provided value is rounded to an integer. The random seed is formed of the last two bytes of that integer or expr. If expr is a float (4 or 8 bytes), these are XORed with the preceding 2. The first 4 bytes of a double are ignored. The same random seed will lead to the same sequence of pseudorandom numbers being generated by the RND function.
+
les erreurs
Parameters
+
  
     expr is a numeric expression.
+
  record_number est pas dans [1-33554432]: Numéro d'enregistrement Bad.
 +
     file_number est pas dans [0-255]: Illegal appel de fonction.
 +
    file_number est pas le nombre d'un fichier ouvert: Numéro de fichier incorrect.
 +
    file_number est ouvert sous un autre mode que RANDOM: Mode de fichier incorrect.
 +
    file_number est pas spécifié: opérande manquant.
  
Notes
+
PUT (communications) PUT [#] com_file_number [, nombre_octets]
  
    For the same seed, PC-BASIC produces the same pseudorandom numbers as GW-BASIC 3.23.
+
Ecrit nombre_octets octets dans la mémoire tampon de communication ouvert sous le numéro de fichier com_file_number. nombre_octets est une expression numérique entre 1 et la longueur du tampon de COM, inclus. Remarques
    The random number generator is very poor and should not be used for serious purposes. See RND for details.
+
  
Errors
+
  Dans GW-BASIC, Dispositif d'erreur d'E / S est élevé pour erreur de dépassement, le cadrage d'erreur, et de briser interruption.  Erreur appareil est déclenchée si DSR est perdue au cours d'E / S.  Une erreur de parité est déclenchée si la parité est activé et la parité incorrecte est rencontrée.  Ceci est indiqué dans le manuel;  il n'a pas été testé.
  
    expr has a string value: Illegal function call.
+
les erreurs
    The user provides a seed outside [-32768—32767] at the prompt: Overflow.
+
  
READ
+
  octets est inférieur à 1: Numéro d'enregistrement Bad.
READ var_0 [, var_1] ...
+
    octets est inférieur à 32768 et supérieure à la longueur de la mémoire tampon de COM: Illegal appel de fonction.
 +
    com_file_number est pas spécifié: opérande manquant.
 +
    com_file_number est pas dans [0-255]: Illegal appel de fonction.
 +
    com_file_number est pas le nombre d'un fichier ouvert: Numéro de fichier incorrect.
 +
    Le tampon d'entrée série est complète, à savoir LOF (com_file_number) = 0 et LOC (com_file_number) = 255: débordement de mémoire tampon de communication.
  
Assigns data from a DATA statement to variables. Reading starts at the current DATA position, which is the DATA entry immediately after the last one read by previous READ statements. The DATA position is reset to the start by the RUN and RESTORE statements.
+
PUT (graphiques) PUT (x0, y0), Nom_groupe [, {PSET | PRESET | ET | OU | XOR}]
Parameters
+
  
    var_0, var_1 are variables or array elements.
+
Affiche un tableau à une zone rectangulaire de l'écran graphique. Habituellement, PUT est utilisé avec des tableaux qui ont été stockés en utilisant GET. Voir GET pour le format du tableau.
  
Errors
+
Les mots-clés ont l'effet suivant: PSET Ecraser l'emplacement de l'écran avec la nouvelle image PRESET Ecraser l'emplacement de l'écran avec l'image inverse et combine les anciens et les nouveaux attributs avec bitwise ET OU Combine les anciens et les nouveaux attributs avec un OU binaire XOR Combine l'ancien et nouveaux attributs avec des paramètres au niveau du bit XOR
  
    Not enough data is present in DATA statements: Out of DATA.
+
  array_name est un tableau numérique.
     The type of the variable is not compatible with that of the data entry being read: a Syntax error occurs on the DATA line.
+
     x0, y0 sont des expressions numériques.
  
REM
+
les erreurs
{REM|'} [anything]
+
  
Ignores everything until the end of the line. The REM statement is intended for comments. Everything after REM will be stored in the program unaltered and uninterpreted. ' (apostrophe) is an alias for :REM'; it can be placed at any point in the program line and will ensure that the rest of the line is ignored.
+
  Le tableau n'existe pas: Illegal appel de fonction.
 +
    array_name fait référence à un tableau de chaînes: Incompatibilité de type.
 +
    x0, y0 sont les expressions de chaîne: Type mismatch.
 +
    x0, y0 ne sont pas dans [-32768 à 32767]: Overflow.
 +
    x0, y0 est en dehors de la vue actuelle ou WINDOW: Illegal appel de fonction
  
Note that a colon : does not terminate the REM statement; the colon and everything after it will be treated as part of the comment.
+
HASARD HASARD [expr]
RENUM
+
RENUM [new|.] [, [old|.] [, increment]]
+
  
Replaces the line numbers in the program by a systematic enumeration starting from new and increasing by increment. If old is specified, line numbers less than old remain unchanged. new, old are line numbers; the dot . signifies the last line edited. increment is a line number but must not be a dot or zero.
+
Semences du générateur de nombres aléatoires avec expr. Si aucune graine est spécifié, RANDOMIZE demandera à l'utilisateur d'entrer une graine aléatoire. La valeur fournie par l'utilisateur est arrondi à un nombre entier. La graine aléatoire est formé des deux derniers octets de cet entier ou expr. Si expr est un flotteur (4 ou 8 octets), ceux-ci sont XORés avec le 2. précédent Les 4 premiers octets d'une double sont ignorées. La même graine aléatoire va conduire à la même séquence de nombres pseudo-aléatoires étant généré par la fonction RND. Paramètres
Notes
+
  
    The following keywords can reference line numbers, which will be renumbered by RENUM: AUTO, EDIT, ELSE, ERL, DELETE, GOSUB, GOTO, LIST, LLIST, RENUM, RESTORE, RESUME, RETURN, RUN, THEN.
+
  expr est une expression numérique.
    One keyword contains line numbers in a different program, which will not be renumbered: CHAIN. However, a line number in a RUN statement that opens a new file will be renumbered, and incorrectly so. Furthermore, any RENUM or AUTO statements in a program will have all their arguments 'renumbered', including any line number offsets or increments. However silly, this agrees with GW-BASIC's behaviour.
+
    A zero line number following the keywords ERROR GOTO will not be renumbered.
+
    If a referenced line number does not exist in the program, the statement prints a message (not an error) Undefined line ref in old_line where old_line is the line number prior to renumbering. The referenced line number will be left unchanged, but the line's old line number will be renumbered.
+
  
Errors
+
Remarques
  
    Any of the parameters is not in [0—65529]: Syntax error.
+
  Pour la même semence, PC-BASIC produit les mêmes nombres pseudo-aléatoires que GW-BASIC 3.23.
    Any of the newly generated line numbers is greater than 65529: Illegal function call. The line numbers up to the error have not been changed.
+
     Le générateur de nombres aléatoires est très pauvre et ne doit pas être utilisé à des fins graves. Voir ROND pour plus de détails.
     increment is empty or zero: Illegal function call.
+
    old is specified and new is less than or equal to an existing line number less than old: Illegal function call.
+
  
RESET
+
les erreurs
RESET
+
  
Closes all open files.
+
  expr a une valeur de chaîne: Illegal appel de fonction.
Notes
+
    L'utilisateur fournit une graine à l'extérieur [-32.768 à 32.767] à l'invite: Overflow.
  
    Official GW-BASIC documentation and many other sources state that RESET closes all files on disk devices. However, in reality GW-BASIC 3.23 also closes files on tape and any other device, making this statement identical to CLOSE with no arguments. PC-BASIC follows this behaviour.
+
LIRE LIRE var_0 [, var_1] ...
  
RESTORE
+
Affecte les données d'une instruction de données variables. La lecture commence à la position de données en cours, qui est l'entrée immédiatement après la dernière lecture par les déclarations READ précédents DATA. La position DATA est réinitialisé au début par le RUN et RESTORE déclarations. Paramètres
RESTORE [line]
+
  
Resets the DATA pointer. line is a line number. If line is not specified, the DATA pointer is reset to the first DATA entry in the program. If it is specified, the DATA pointer is reset to the first DATA entry in or after line.
+
  var_0, var_1 sont variables ou éléments du tableau.
Errors
+
  
    line is not an existing line number: Undefined line number.
+
les erreurs
  
RESUME
+
  Pas assez de données est présent dans les états DATA: Out of DATA.
RESUME [0|NEXT|line]
+
    Le type de la variable est pas compatible avec celle de l'entrée de données en cours de lecture: une erreur de syntaxe se produit sur la ligne DATA.
  
Continues normal execution after an error handling routine. If 0 or no option is specified, re-executes the statement that caused the error. If NEXT is specified, executes the statement following the one that caused the error. If line is specified, it must be a valid line number.
+
REM {REM | '} [quelque chose]
Errors
+
  
    RESUME is encountered outside of an error trapping routine: RESUME without error.
+
Ignore tout jusqu'à la fin de la ligne. L'instruction REM est destiné aux commentaires. Tout ce qui suit REM sera stocké dans le programme inchangé et non interprété. '(Apostrophe) est un alias pour: REM'; il peut être placé à tout moment dans la ligne de programme et veillera à ce que le reste de la ligne est ignoré.
    The program ends inside an error trapping routine without a RESUME or END statement: No RESUME.
+
    line is not an existing line number: Undefined line number.
+
  
RETURN
+
Notez que deux points: ne termine pas l'instruction REM; le côlon et tout après seront considérés comme faisant partie du commentaire. RENUM RENUM [nouvelle |.] [[Old |.] [, Incrément]]
RETURN [line]
+
  
Returns from a GOSUB subroutine. If line is not specified, RETURN jumps back to the statement after the GOSUB that jumped into the subroutine. If line is specified, it must be a valid line number. RETURN jumps to that line (and pops the GOSUB stack). When returning from an error trapping routine, RETURN re-enables the event trapping which was stopped on entering the trap routine.
+
Remplace les numéros de ligne dans le programme par une énumération systématique à partir de nouvelles et de plus en plus par incrément. Si vieux est spécifié, le nombre de moins de ligne restent inchangés. nouveau, vieux sont les numéros de ligne; le point . signifie la dernière ligne modifiée. incrément est un numéro de ligne, mais ne doit pas être un point ou zéro. Remarques
Errors
+
  
     line is not an existing line number: Undefined line number.
+
  Les mots-clés suivants peuvent référencer les numéros de ligne, qui sera renuméroté par RENUM: AUTO, EDIT, AUTRE, ERL, DELETE, GOSUB, GOTO, LIST, LLIST, RENUM, RESTORE, REPRENDRE, RETURN, RUN, ALORS.
 +
     Un mot-clé contient les numéros de ligne dans un autre programme, qui ne sera pas renuméroté: CHAINE.  Toutefois, un numéro de ligne dans une instruction RUN qui ouvre un nouveau fichier sera renuméroté, et de manière incorrecte.  En outre, les déclarations de RENUM ou AUTO dans un programme auront tous leurs arguments 'renumérotés', y compris les décalages de numéro de ligne ou incréments.  Cependant idiot, cela concorde avec le comportement de GW-BASIC.
 +
    Un numéro de ligne zéro suite à la GOTO mots-clés d'erreur ne sera pas renumérotés.
 +
    Si un numéro de ligne référencé n'existe pas dans le programme, la déclaration affiche un message (pas d'erreur) Undefined ligne ref dans old_line où old_line est le numéro de la ligne avant renumérotation.  Le numéro de ligne référencé sera laissé inchangé, mais le vieux numéro de ligne de la ligne sera renuméroté.
  
RMDIR
+
les erreurs
RMDIR dir_spec
+
  
Removes an empty directory on a disk device.
+
  Tous les paramètres ne figure pas dans [0-65529]: Erreur de syntaxe.
Parameters
+
    Tous les numéros de ligne nouvellement générées est supérieure à 65529: Illegal appel de fonction.  Les numéros de ligne jusqu'à l'erreur n'a pas été modifié.
 +
    incrément est vide ou nul: Illegal appel de fonction.
 +
    ancienne est spécifiée et nouvelle est inférieure ou égale à un nombre de ligne existante de moins de: Illegal appel de fonction.
  
    The string expression dir_spec is a valid file specification that specifies the path and name of the directory.
+
RAZ RAZ
  
Errors
+
Ferme tous les fichiers ouverts. Remarques
  
    dir_spec has a numeric value: Type mismatch.
+
  Officiel documentation GW-BASIC et de nombreuses autres sources indiquent que RAZ ferme tous les fichiers sur les unités de disque. Cependant, en réalité GW-BASIC 3,23 ferme également les fichiers sur bande et tout autre appareil, ce qui rend cette déclaration identique à FERMEZ sans arguments. PC-BASIC suit ce comportement.
    dir_spec is an empty string: Bad file name .
+
    No matching path is found: Path not found .
+
  
RSET
+
RESTORE RESTORE [en ligne]
RSET string_name = expression
+
  
Copies a string value into an existing string variable or array element. The value will be right-justified and any remaining characters are replaced by spaces.
+
Remet le pointeur DATA. ligne est un numéro de ligne. Si la ligne est pas spécifié, le pointeur de données est remise à la première entrée de données dans le programme. Si elle est spécifiée, le pointeur de données est remise à la première entrée de données dans ou après la ligne. les erreurs
Parameters
+
  
    string_name is a string variable or array element.
+
  la ligne est pas un numéro de ligne existante: numéro de ligne défini.
    expression is a string expression.
+
  
Notes
+
REPRENDRE REPRENDRE [0 | SUIVANT | ligne]
  
    If expression has a value that is longer than the length of the target variable, it is truncated at the tail to the length of the target variable.
+
Poursuit l'exécution normale après une routine de traitement des erreurs. Si 0 ou aucune option est spécifiée, re-exécute l'instruction qui a provoqué l'erreur. Si NEXT est spécifié, exécute l'instruction qui suit celle qui a causé l'erreur. Si la ligne est spécifié, il doit être un numéro de ligne valide. les erreurs
    If string_name has not been allocated before, this statement has no effect.
+
    Use LSET, RSET or MID$ to copy values into a FIELD buffer.
+
    If LET is used on a FIELD variable instead of L|RSET, the variable is detached from the field and a new, normal string variable is allocated.
+
  
Errors
+
  REPRENDRE est rencontré en dehors d'une erreur de piégeage de routine: REPRENDRE sans erreur.
 +
    Le programme se termine à l'intérieur d'un piégeage de routine d'erreur sans instruction REPRENDRE ou END: Non REPRENDRE.
 +
    la ligne est pas un numéro de ligne existante: numéro de ligne défini.
  
    string_name is not a string variable: Type mismatch.
+
RETURN RETURN [en ligne]
    expression does not have a string value: Type mismatch.
+
  
RUN
+
Retours à partir d'un sous-programme GOSUB. Si la ligne est pas spécifié, RETURN revient à la déclaration après la GOSUB qui a sauté dans le sous-programme. Si la ligne est spécifié, il doit être un numéro de ligne valide. RETURN saute à cette ligne (et saute la pile GOSUB). Lors du retour à partir d'une routine de piégeage d'erreur, RETURN re-permet le piégeage de l'événement qui a été arrêté en entrant dans la routine d'interruption. les erreurs
RUN [line_number [anything]|file_spec [, R]]
+
  
Executes a program. Existing variables will be cleared and any program in memory will be erased. RUN implies a CLEAR If ,R is specified after file_spec, files are kept open; if not, all files are closed.
+
  la ligne est pas un numéro de ligne existante: numéro de ligne défini.
Parameters
+
  
    line_number is a valid line number in the current program. If specified, execution starts from this line number. The rest of the RUN statement is ignored in this case.
+
RMDIR RMDIR dir_spec
    The string expression file_spec, if specified, is a valid file specification indicating the file to read the program from.
+
  
Errors
+
Supprime un répertoire vide sur un périphérique de disque. Paramètres
  
    line_number is not a line number in the current program: Undefined line number.
+
  Le dir_spec d'expression de chaîne est une spécification de fichier valide qui spécifie le chemin et le nom du répertoire.
    file_spec cannot be found: File not found.
+
    file_spec is an empty string: Bad file number.
+
    A loaded text file contains lines without line numbers: Direct statement in file.
+
  
SAVE
+
les erreurs
SAVE file_spec [, {A|P}]
+
  
Stores the current program in a file.
+
  dir_spec a une valeur numérique: incompatibilité de type.
 +
    dir_spec est une chaîne vide: nom de fichier incorrect.
 +
    Aucun chemin correspondant est trouvé: Chemin d'accès introuvable.
  
    If ,A is specified, the program will be saved in plain text format.
+
RSET RSET string_name = expression
    If ,P is specified, the program will be saved in protected format. When a protected program is loaded in GW-BASIC, it cannot be LISTed or SAVEd in non-protected format.
+
    If neither is specified, the program will be saved in tokenised format.
+
  
Parameters
+
Copie une valeur de chaîne dans une chaîne élément variable ou tableau existant. La valeur sera justifié à droite et tous les caractères restants sont remplacés par des espaces. Paramètres
  
     The string expression file_spec is a valid file specification indicating the file to store to.
+
  string_name est un élément variable ou tableau chaîne.
 +
     expression est une expression de chaîne.
  
Errors
+
Remarques
  
    file_spec has a number value: Type mismatch.
+
  Si l'expression a une valeur qui est supérieure à la longueur de la variable cible, elle est tronquée à la queue de la longueur de la variable cible.
     file_spec is an empty string: Bad file number.
+
     Si string_name n'a pas été alloué avant, cette déclaration n'a aucun effet.
     file_spec contains disallowed characters: Bad file number (on CAS1:); Bad file name (on disk devices).
+
     Utilisez LSET, RSET ou MID $ pour copier les valeurs dans un tampon de FIELD.
     strict-protect is enabled, the current program is protected and ,P is not specified: Illegal function call.
+
     Si LET est utilisé sur une variable au lieu de L FIELD | RSET, la variable est détaché du terrain et une nouvelle variable de chaîne normale est attribuée.
  
SCREEN (statement)
+
les erreurs
SCREEN [mode] [, [colorburst] [, [apage] [, [vpage] [, erase]]]]
+
  
Change the video mode, composite colorburst, active page and visible page. Video modes are described in the Video Modes section.
+
  string_name est pas une variable chaîne: Incompatibilité de type.
Parameters
+
    expression n'a pas de valeur de chaîne: Type mismatch.
  
    mode is a numeric expression that sets the screen mode.
+
RUN RUN [line_number [rien] | file_spec [R]]
    colorburst is a numeric expression. See notes below.
+
    apage is a numeric expression that sets the active page.
+
    vpage is a numeric expression that sets the visible page.
+
    erase is a numeric expression in the range [0, 1, 2]. It is only legal with syntax={pcjr, tandy}. See notes below.
+
  
Video modes
+
Exécute un programme. les variables existantes seront effacées et tout programme en mémoire seront effacées. RUN implique une EFFACER Si, R est spécifié après file_spec, les dossiers sont conservés ouverts; sinon, tous les fichiers sont fermés. Paramètres
  
The video modes are as follows:
+
  line_number est un numéro de ligne valide dans le programme actuel.  Si spécifié, l'exécution commence à partir de ce numéro de ligne.  Le reste de l'instruction RUN est ignorée dans ce cas.
 +
    Le file_spec d'expression de chaîne, si spécifié, est une spécification de fichier valide indiquant le fichier à lire le programme à partir.
  
SCREEN 0 Text mode
+
les erreurs
     80x25 or 40x25 characters of 8x16 pixels
+
 
     16 attributes picked from 64 colours
+
  line_number est pas un numéro de ligne dans le programme actuel: numéro de ligne défini.
     Attributes 16-31 are blinking versions of 0-15
+
    file_spec ne peut pas être trouvé: Fichier non trouvé.
 +
    file_spec est une chaîne vide: Numéro de fichier incorrect.
 +
    Un fichier texte chargé contient des lignes sans numéros de ligne: déclaration directe dans le fichier.
 +
 
 +
SAUVER SAUVER file_spec [, {A | P}]
 +
 
 +
Enregistre le programme en cours dans un fichier.
 +
 
 +
  Si, A est spécifié, le programme sera enregistré au format texte brut.
 +
    Si, P est spécifié, le programme sera enregistré au format protégé.  Quand un programme protégé est chargé dans GW-BASIC, il ne peut pas être inscrits ou enregistrés au format non protégé.
 +
    Si ni est spécifié, le programme sera enregistré au format tokenised.
 +
 
 +
Paramètres
 +
 
 +
  Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à stocker à.
 +
 
 +
les erreurs
 +
 
 +
  file_spec a une valeur numérique: incompatibilité de type.
 +
    file_spec est une chaîne vide: Numéro de fichier incorrect.
 +
    file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
 +
    strict protection est activé, le programme actuel est protégé et, P est pas spécifié: Illegal appel de fonction.
 +
 
 +
ECRAN (déclaration) ÉCRAN [Mode] [, [colorburst] [, [apage] [, [vpage] [, effacer]]]]
 +
 
 +
Changer le mode vidéo, colorburst composite, page active et page visible. Les modes vidéo sont décrits dans la section Modes vidéo. Paramètres
 +
 
 +
  mode est une expression numérique qui définit le mode d'écran.
 +
     colorburst est une expression numérique.  Voir les notes ci-dessous.
 +
    apage est une expression numérique qui définit la page active.
 +
    vpage est une expression numérique qui définit la page visible.
 +
    effacer est une expression numérique dans l'intervalle [0, 1, 2].  Il est seulement légal avec la syntaxe = {PCjr, tandy}.  Voir les notes ci-dessous.
 +
 
 +
Modes vidéo
 +
 
 +
Les modes vidéo sont les suivantes:
 +
 
 +
ECRAN mode 0 texte
 +
 
 +
  80x25 ou 40x25 caractères de 8x16 pixels
 +
     16 attributs cueillis dans 64 couleurs
 +
     Attributs 16-31 sont des versions clignotantes de 0-15
 
     4 pages ega  
 
     4 pages ega  
SCREEN 1 CGA colour
+
 
    320x200 pixels
+
ECRAN 1 couleur CGA
     40x25 characters of 8x8 pixels
+
 
     4 attributes picked from 16 colours; 2 bits per pixel
+
  320x200 pixels
     1 page ega 2 pages pcjr tandy
+
     caractères 40x25 de 8x8 pixels
SCREEN 2 CGA monochrome
+
     4 attributs cueillis dans 16 couleurs; 2 bits par pixel,
    640x200 pixels
+
     1 page EGA 2 pages PCjr tandy
     80x25 characters of 8x8 pixels
+
 
     2 attributes picked from 16 colours; 1 bit per pixel
+
ECRAN 2 CGA monochrome
     1 page ega 2 pages pcjr tandy
+
 
SCREEN 3 Low-res 16-colour pcjr tandy
+
  640x200 pixels
    160x200 pixels
+
     caractères 80x25 de 8x8 pixels
     20x25 characters of 8x8 pixels
+
     2 attributs cueillis dans 16 couleurs; 1 bit par pixel
     16 attributes picked from 16 colours; 4 bits per pixel
+
     1 page EGA 2 pages PCjr tandy
 +
 
 +
ECRAN 3 Basse résolution 16 couleurs PCjr tandy
 +
 
 +
  160x200 pixels
 +
     caractères 20x25 de 8x8 pixels
 +
     16 attributs cueillis dans 16 couleurs; 4 bits par pixel,
 
     2 pages
 
     2 pages
SCREEN 3 Hercules monochrome hercules
+
 
    720x348 pixels
+
ÉCRAN 3 Hercules hercules monochromes
     80x25 characters of 9x14 pixels (with bottom line truncated by 2 px)
+
 
     2 attributes; 1 bit per pixel
+
  720x348 pixels
 +
     caractères 80x25 de 9x14 pixels (avec ligne de fond tronqué par 2 px)
 +
     2 attributs; 1 bit par pixel
 
     2 pages
 
     2 pages
SCREEN 3—255 Altissima risoluzione olivetti
+
 
    640x400 pixels
+
ECRAN 3-255 Altissima Risoluzione olivetti
     80x25 characters of 8x16 pixels
+
 
     2 attributes of which one picked from 16 colours; 2 bits per pixel
+
  640x400 pixels
 +
     caractères 80x25 de 8x16 pixels
 +
     2 attributs dont une cueillies dans 16 couleurs; 2 bits par pixel,
 
     1 page
 
     1 page
SCREEN 4 Med-res 4-colour pcjr tandy
+
 
    320x200 pixels
+
ECRAN 4 Med-res 4 couleurs PCjr tandy
     40x25 characters of 8x8 pixels
+
 
     4 attributes picked from 16 colours; 2 bits per pixel
+
  320x200 pixels
 +
     caractères 40x25 de 8x8 pixels
 +
     4 attributs cueillis dans 16 couleurs; 2 bits par pixel,
 
     2 pages
 
     2 pages
SCREEN 5 Med-res 16-colour pcjr tandy
+
 
    320x200 pixels
+
ECRAN 5 Med-res 16 couleurs PCjr tandy
     40x25 characters of 8x8 pixels
+
 
     16 attributes picked from 16 colours; 4 bits per pixel
+
  320x200 pixels
 +
     caractères 40x25 de 8x8 pixels
 +
     16 attributs cueillis dans 16 couleurs; 4 bits par pixel,
 
     1 page
 
     1 page
  
    Note: a minimum of 32768 bytes of video memory must be reserved to use this video mode. Use the statement CLEAR ,,,32768! or the option video-memory=32768.
+
  Note: un minimum de 32768 octets de mémoire vidéo doit être réservé à utiliser ce mode vidéo. Utilisez l'instruction EFFACER ,,, 32768! ou l'option de mémoire vidéo = 32768.
SCREEN 6 High-res 4-colour pcjr tandy
+
 
    640x200 pixels
+
ECRAN 6 haut-rés 4 couleurs PCjr tandy
     80x25 characters of 8x8 pixels
+
 
     4 attributes picked from 16 colours; 2 bits per pixel
+
  640x200 pixels
 +
     caractères 80x25 de 8x8 pixels
 +
     4 attributs cueillis dans 16 couleurs; 2 bits par pixel,
 
     1 page
 
     1 page
  
    Note: a minimum of 32768 bytes of video memory must be reserved to use this video mode. Use the statement CLEAR ,,,32768! or the option video-memory=32768.
+
  Note: un minimum de 32768 octets de mémoire vidéo doit être réservé à utiliser ce mode vidéo. Utilisez l'instruction EFFACER ,,, 32768! ou l'option de mémoire vidéo = 32768.
SCREEN 7 EGA colour ega
+
 
    320x200 pixels
+
ECRAN 7 EGA couleur ega
     40x25 characters of 8x8 pixels
+
 
     16 attributes picked from 16 colours; 4 bits per pixel
+
  320x200 pixels
 +
     caractères 40x25 de 8x8 pixels
 +
     16 attributs cueillis dans 16 couleurs; 4 bits par pixel,
 
     8 pages
 
     8 pages
SCREEN 8 EGA colour ega
+
 
    640x200 pixels
+
ECRAN 8 EGA couleur ega
     80x25 characters of 8x8 pixels
+
 
     16 attributes picked from 16 colours; 4 bits per pixel
+
  640x200 pixels
 +
     caractères 80x25 de 8x8 pixels
 +
     16 attributs cueillis dans 16 couleurs; 4 bits par pixel,
 
     4 pages
 
     4 pages
SCREEN 9 EGA colour ega
+
 
    640x350 pixels
+
ECRAN 9 EGA couleur ega
     80x25 characters of 8x14 pixels
+
 
     16 attributes picked from 64 colours; 4 bits per pixel
+
  640x350 pixels
 +
     caractères 80x25 de 8x14 pixels
 +
     16 attributs cueillis dans 64 couleurs; 4 bits par pixel,
 
     2 pages
 
     2 pages
SCREEN 10 EGA monochrome ega monitor=mono
+
 
    640x350 pixels
+
ECRAN 10 EGA moniteur monochrome EGA = mono
     80x25 characters of 8x14 pixels
+
 
     4 attributes picked from 9 pseudocolours; 2 bits per pixel
+
  640x350 pixels
 +
     caractères 80x25 de 8x14 pixels
 +
     4 attributs cueillies à partir de 9 pseudocolours; 2 bits par pixel,
 
     2 pages
 
     2 pages
  
 
NTSC Composite Colorburst
 
NTSC Composite Colorburst
  
On CGA, Tandy and PCjr, colorburst has the following effects, depending on the type of monitor - RGB (default) or composite:
+
Le CGA, Tandy et PCjr, colorburst a les effets suivants, en fonction du type de moniteur - RGB (par défaut) ou composite: Mode colorburst CGA en mode Effet (composite) Effet (RVB) 0 0 0, 2 greyscale palette par défaut 0 1 1 , 3 palette de couleurs par défaut 1 0 4 palette couleur par défaut 1 1 5 greyscale palette suppléant
mode colorburst CGA mode Effect (composite) Effect (RGB)
+
0 0 0, 2 greyscale default palette
+
0 1 1, 3 colour default palette
+
1 0 4 colour default palette
+
1 1 5 greyscale alternate palette
+
  
On SCREEN 2, colorburst has no effect; on a composite monitor, colour artifacts can be enabled on this screen through OUT (see there). On SCREEN 3 and up, colorburst has no effect.
+
Sur l'écran 2, colorburst n'a aucun effet; sur un moniteur composite, des artefacts de couleur peuvent être activés sur cet écran par OUT (voir là). Sur l'écran 3 et plus, colorburst n'a aucun effet. Effacer
Erase
+
  
By default, if the mode changes or the colorburst changes between zero and non-zero, the old page and the new page of the screen are cleared. On syntax={pcjr, tandy}, the erase parameter can be used to change this behaviour. Its values are as follows:
+
Par défaut, si les changements de mode ou les changements Colorburst entre zéro et non nul, l'ancienne page et la nouvelle page de l'écran sont effacés. Sur la syntaxe = {PCjr, tandy}, le paramètre d'effacement peut être utilisé pour modifier ce comportement. Ses valeurs sont les suivantes: effacer Effet 0 Ne pas effacer tout écran page 1 (par défaut) Si les changements de mode ou les changements Colorburst entre zéro et non nul, l'ancienne page et la nouvelle page de l'écran sont effacés. 2 Si les changements de mode ou les changements Colorburst entre zéro et non-zéro, toutes les pages de l'écran sont effacées. Remarques
erase Effect
+
0 Do not erase any screen page
+
1 (default) If the mode changes or the colorburst changes between zero and non-zero, the old page and the new page of the screen are cleared.
+
2 If the mode changes or the colorburst changes between zero and non-zero, all pages of the screen are cleared.
+
Notes
+
  
    At least one parameter must be specified.
+
  Au moins un paramètre doit être spécifié.
     Composite colour artifacts are emulated only crudely in PC-BASIC, and not at all in SCREEN 1.  
+
     artefacts de couleur composites sont émulées seulement grossièrement dans PC-BASIC, et pas du tout dans l'écran 1.  
  
Errors
+
les erreurs
  
    No parameters are specified: Missing operand.
+
  Aucun paramètres sont spécifiés: opérande manquant.
     Any parameter has a string value: Type mismatch.
+
     Tout paramètre a une valeur de chaîne: Type mismatch.
     Any parameter is not in [-32768—32767]: Overflow.
+
     Tout paramètre est pas dans [-32768 à 32767]: Overflow.
     mode is not an available video mode number for your video card setting: Illegal function call.
+
     mode est pas un numéro de mode vidéo disponible pour le réglage de la carte vidéo: Illegal appel de fonction.
     vpage, apage are not between 0 and the number of pages for the chosen video mode, less one: Illegal function call.
+
     vpage, apage ne sont pas entre 0 et le nombre de pages pour le mode vidéo choisi, moins un: Illegal appel de fonction.
     colorburst is not in [0—255]: Illegal function call.
+
     colorburst est pas dans [0-255]: Illegal appel de fonction.
     erase is not in [0, 1, 2]: Illegal function call.
+
     effacer est pas dans [0, 1, 2]: Illegal appel de fonction.
  
SHELL
+
SHELL SHELL [commande]
SHELL [command]
+
  
Starts a subshell on the console. The type of shell is determined by your OS. On Unix systems, an sh shell is started. On Windows systems, a CMD.EXE shell is started. If command is specified, the command is executed on the shell and execution returns to the program.
+
Démarre une sous-couche sur la console. Le type d'enveloppe est déterminée par votre système d'exploitation. Sur les systèmes Unix, un shell sh est démarré. Sur les systèmes Windows, un shell cmd.exe est démarré. Si la commande est spécifié, la commande est exécutée sur la coque et d'exécution revient au programme. Paramètres
Parameters
+
  
    command is a string expression.
+
  commande est une expression de chaîne.
  
Notes
+
Remarques
  
    If the shell=native option is not specified, this statement does nothing.
+
  Si le shell = l'option native est pas spécifié, cette déclaration ne fait rien.
     Be careful when enabling this command, as it allows the running BASIC program full access to your files and operating system.
+
     Soyez prudent lors de l'activation de cette commande, car il permet au programme BASIC accès complet à vos fichiers et système d'exploitation en cours d'exécution.
  
Errors
+
les erreurs
  
    command has a number value: Type mismatch.
+
  commande a une valeur numérique: incompatibilité de type.
     All output from the operating system subshell, including error messages, is displayed on the PC-BASIC screen.
+
     Toutes les sorties de la sous-couche du système d'exploitation, y compris les messages d'erreur, est affiché sur l'écran du PC-BASIC.
  
SOUND (tone)
+
SOUND (tonalité) de fréquence SOUND, la durée [volume [voix]]
SOUND frequency, duration [, volume [, voice]]
+
  
Produces a sound at frequency Hz for duration/18.2 seconds. On PCjr and Tandy, the volume and voice channel can additionally be specified.
+
Produit un son à la fréquence Hz pour la durée / 18.2 secondes. Sur PCjr et Tandy, le volume et le canal vocal peuvent en outre être spécifiés.
  
If PLAY "MB" has been executed, SOUND plays in the background. If PLAY "MF" has been executed, sound plays in the foreground and the interpreter blocks until the sound is finished. Foreground mode is default. Unlike PLAY, the sound played by the most recent SOUND statement always plays in the background, even if PLAY "MF" has been entered. In background mode, each SOUND statement counts as 1 toward the length of the queue reported by the PLAY function.
+
Si PLAY "Mo" a été exécuté, SOUND joue en arrière-plan. Si PLAY "MF" a été exécuté, son joue au premier plan et les blocs d'interprètes jusqu'à ce que le son est terminé. le mode de premier plan est par défaut. Contrairement PLAY, le son joué par la plus récente déclaration de SOUND joue toujours en arrière-plan, même si PLAY "MF" a été saisi. En mode d'arrière-plan, chaque instruction SOUND compte comme 1 vers la longueur de la file d'attente déclarés par la fonction PLAY. Paramètres
Parameters
+
  
    frequency is a numeric expression in [37—32767] or 0 (for syntax={advanced | pcjr}) or in [-32768—32767] (for syntax=tandy).
+
  la fréquence est une expression numérique dans [37-32767] ou 0 (pour la syntaxe = {avancée | PCjr}) ou [-32768 à 32767] (pour la syntaxe = tandy).
     duration is a numeric expression in [0—65535].
+
     la durée est une expression numérique dans [0-65535].
     volume is a numeric expression in [0, 15]. 0 is silent, 15 is full volume; every step less reduces the volume by 2 dB. (For syntax={pcjr | tandy})
+
     volume est une expression numérique dans [0, 15]. 0 est silencieux, 15 est plein volume; chaque pas moins réduit le volume de 2 dB. (Pour la syntaxe = {PCjr | tandy})
     voice is a numeric expression in [0, 2], indicating which of the three tone voice channels is used for this sound. (For syntax={pcjr | tandy})
+
     la voix est une expression numérique dans [0, 2], ce qui indique que des canaux vocaux trois tons est utilisé pour ce son. (Pour la syntaxe = {PCjr | tandy})
  
Notes
+
Remarques
  
    On PCjr and Tandy, Frequencies below 110 Hz are played as 110 Hz.
+
  Sur PCjr et Tandy, fréquences inférieures à 110 Hz sont joués en 110 Hz.
     If duration is zero, any active background sound is stopped and the sound queue is emptied.
+
     Si la durée est égale à zéro, aucun bruit de fond actif est arrêté et que la file d'attente est vidée de son.
     If duration is zero, volume and voice must not be specified.
+
     Si la durée est égale à zéro, le volume et la voix ne doivent pas être spécifiés.
     If duration is less than .022 but nonzero, the sound will be played in background and continue indefinitely until another sound statement is executed. This is also the behaviour for negative duration.
+
     Si la durée est inférieure à .022, mais non nulle, le son sera joué en arrière-plan et continuer indéfiniment jusqu'à une autre déclaration sonore est exécutée. Ceci est également le comportement pour une durée négative.
     If frequency equals 32767 or 0, a silence of length duration is queued.
+
     Si la fréquence est égale à 32767 ou 0, un silence d'une durée de longueur est en file d'attente.
  
Errors
+
les erreurs
  
    Any argument has a string value: Type mismatch.
+
  Tout argument a une valeur de chaîne: Type mismatch.
     frequency is not in its allowed range, and duration is not zero: Illegal function call.
+
     fréquence est pas dans sa plage autorisée, et la durée est non nul: Illegal appel de fonction.
     duration is zero and more than two arguments are specified: Syntax error.
+
     la durée est égale à zéro et plus de deux arguments sont spécifiés: Erreur de syntaxe.
     syntax={ pcjr | tandy } is not set and more than two arguments are specified: Syntax error.
+
     syntaxe = {PCjr | tandy} est pas définie et plus de deux arguments sont spécifiés: Erreur de syntaxe.
     frequency is not in [-32768—32767]: Overflow.
+
     fréquence est pas dans [-32.768 à 32.767]: Overflow.
     duration is not in [-65535—65535]: Illegal function call.
+
     durée est pas dans [-65535 à 65535]: Illegal appel de fonction.
     volume is not in [0—15]: Illegal function call.
+
     volume est pas dans [0-15]: Illegal appel de fonction.
     voice is not in [0—2]: Illegal function call.
+
     la voix est pas dans [0-2]: Illegal appel de fonction.
  
SOUND (switch)
+
SOUND (switch) SOUND {ON | OFF}
SOUND {ON|OFF}
+
  
Toggles the availability of advanced sound capabilities on PCjr and Tandy. This includes 3-voice sound, noise generation and volume control.
+
Alterne la disponibilité des capacités audio avancées sur PCjr et Tandy. Cela comprend son 3-voix, la génération de bruit et de contrôle du volume. Remarques
Notes
+
  
    Only available with syntax={pcjr | tandy}.
+
  Uniquement disponible avec la syntaxe = {PCjr | tandy}.
     On PCjr and Tandy computers, SOUND ON would turn on the external speaker as well as make advanced sound capabilities available. On PC-BASIC, both the internal and the external speaker are emulated through the same sound system.
+
     Sur les ordinateurs PCjr et Tandy, SOUND ON tournerait sur le haut-parleur externe, ainsi que faire des capacités sonores avancées disponibles. Le PC-BASIC, à la fois interne et haut-parleur externe sont émulées par le même système de sonorisation.
  
Errors
+
les erreurs
  
    This statement is used and syntax={ pcjr | tandy } is not set: Syntax error.
+
  Cette instruction est utilisée et la syntaxe = {PCjr | tandy} est pas défini: Erreur de syntaxe.
  
STOP
+
STOP STOP
STOP
+
  
Breaks program execution, prints a Break message on the console and returns control to the user. Files are not closed. It is possible to resume program execution at the next statement using CONT.
+
Breaks l'exécution du programme, imprime un message de rupture sur la console et renvoie le contrôle à l'utilisateur. Fichiers ne sont pas fermés. Il est possible de reprendre l'exécution du programme à l'instruction suivante en utilisant CONT. STRIG (switch) STRIG {ON | OFF}
STRIG (switch)
+
STRIG {ON|OFF}
+
  
Has no effect.
+
N'a aucun effet. STRIG (interrupteur d'événement) STRIG [] (bouton) {ON | OFF | STOP}
STRIG (event switch)
+
STRIG[ ](button) {ON|OFF|STOP}
+
  
Switches event trapping of the joystick trigger button ON or OFF. STRIG (button) STOP suspends event trapping until STRIG (button) ON is executed. Up to one event can be triggered during suspension, provided that event handling was switched on prior to suspension. The event triggered during suspension is handled immediately after the next STRIG (button) ON statement.
+
Commutateurs événement piégeage du bouton joystick déclencheur ON ou OFF. STRIG (bouton) ARRET suspend événement piégeage jusqu'à STRIG (bouton) ON est exécutée. Jusqu'à un événement peut être déclenché pendant la suspension, à condition que la gestion des événements a été activée avant la suspension. L'événement déclenché pendant la suspension est traitée immédiatement après la STRIG suivante (bouton) ON déclaration. bouton valeur de retour 0 1er joystick 1er déclenchement 2 2e joystick 1er déclenchement 4 1er joystick 2e déclenchement 6 2e joystick 2e déclenchement Paramètres
button return value
+
0 1st joystick 1st trigger
+
2 2nd joystick 1st trigger
+
4 1st joystick 2nd trigger
+
6 2nd joystick 2nd trigger
+
Parameters
+
  
    button is a numeric expression in [0, 2, 4, 6].
+
  bouton est une expression numérique dans [0, 2, 4, 6].
  
Errors
+
les erreurs
  
    button has a string value: Type mismatch.
+
  bouton a une valeur de chaîne: Type mismatch.
     button is not in [-32768—32767]: Overflow.
+
     bouton est pas dans [-32768 à 32767]: Overflow.
     button is not in [0, 2, 4, 6]: Illegal function call.
+
     bouton est pas dans [0, 2, 4, 6]: Illegal appel de fonction.
  
SWAP
+
SWAP SWAP var_0, var_1
SWAP var_0, var_1
+
  
Exchanges variables var_0 and var_1.
+
Echanges de variables var_0 et Var_1. Remarques
Notes
+
  
    The variables are exchanged by reference. If, for example, var_0 is a FIELD variable and var_1 is not, then SWAP will reverse those roles.
+
  Les variables sont échangés par référence. Si, par exemple, var_0 est une variable FIELD et var_1 est pas, alors SWAP inverse les rôles.
  
Parameters
+
Paramètres
  
    var_0 and var_1 are previously defined variables of the same type.
+
  var_0 et var_1 sont préalablement variables du même type définis.
  
Errors
+
les erreurs
  
    var_0 or var_1 is undefined: Illegal function call.
+
  var_0 ou var_1 est indéfini: Illegal appel de fonction.
     The types of var_0 and var_1 are not the same: Type mismatch.
+
     Les types de var_0 et var_1 ne sont pas les mêmes: Incompatibilité de type.
  
SYSTEM
+
SYSTÈME DE SYSTÈME
SYSTEM
+
  
Exits the interpreter.
+
Quitte l'interpréteur. Remarques
Notes
+
  
    SYSTEM quits the PC-BASIC interpreter immediately without further interaction. Any unsaved program or data will be lost.
+
  SYSTÈME quitte immédiatement l'interpréteur de PC-BASIC sans autre interaction. Tout programme ou des données non enregistrées seront perdues.
  
TERM
+
TERME TERME
TERM
+
  
Load and run the program defined by the pcjr-term option. By default, as on the IBM PCjr, this is a built-in serial terminal emulator application. This statement is only available with syntax={pcjr|tandy}.
+
Charger et exécuter le programme défini par l'option PCjr terme. Par défaut, comme sur l'IBM PCjr, ceci est une application d'émulation de terminal série intégré. Cette déclaration est disponible uniquement avec la syntaxe = {PCjr | tandy}. les erreurs
Errors
+
  
    If pcjr-term is not set, this statement raises Internal error.
+
  Si PCjr terme est pas définie, cette déclaration soulève une erreur interne.
     If syntax is not set to pcjr or tandy, this keyword is not present. Calling TERM will raise Syntax error.
+
     Si la syntaxe est pas réglé sur PCjr ou tandy, ce mot-clé est pas présent. Calling TERME soulèvera une erreur de syntaxe.
  
TIME$ (statement)
+
TIME $ (déclaration) TIME $ = temps
TIME$ = time
+
  
Sets the current BASIC time to time.
+
Définit l'heure actuelle BASIC en temps. Paramètres
Parameters
+
  
    Time is a string expression of the form "HH:mm:ss" where 00<=HH<24, 00<=mm<60 and 00<=ss<60.
+
  Le temps est une expression de chaîne de la forme "HH: mm: ss" 00 <= HH <24, 00 <= mm <60 et 00 <= ss <60.
  
Notes
+
Remarques
  
    PC-BASIC stores an offset to the system time and uses this for future calls to TIME$ and DATE$ functions in the same interpreter session. The system time is not changed, unlike GW-BASIC under MS-DOS.
+
  magasins PC-BASIC un décalage à l'heure du système et utilise cela pour les appels futurs à TIME $ et fonctions $ DATE dans la même session d'interprète. L'heure du système ne change pas, contrairement à GW-BASIC sous MS-DOS.
  
Errors
+
les erreurs
  
    time has a numeric value: Type mismatch.
+
  le temps a une valeur numérique: incompatibilité de type.
     time is not of the correct form: Illegal function call.
+
     Il est non pas de la forme correcte: Illegal appel de fonction.
  
TIMER (statement)
+
TIMER (déclaration) TIMER {ON | OFF | STOP}
TIMER {ON|OFF|STOP}
+
  
    ON: enables ON TIMER event trapping of the timer clock.
+
  ON: permet ON TIMER événement piégeage de l'horloge de la minuterie.
     OFF: disables trapping.
+
     OFF: désactive le piégeage.
     STOP: halts trapping until TIMER ON is used. Events that occur while trapping is halted will trigger immediately when trapping is re-enabled.
+
     STOP: arrête le piégeage jusqu'à ce que TIMER ON est utilisé. Les événements qui se produisent pendant le piégeage est arrêté déclenchera immédiatement lorsque le piégeage est réactivé.
  
TRON and TROFF
+
TRON et TROFF {TRON | TROFF}
{TRON|TROFF}
+
  
Turns line number tracing on or off. If line number tracing is on, BASIC prints a tag [100] to the console when program line 100 is executed, and so forth.
+
Met le numéro de ligne de traçage ou hors tension. Si le numéro de ligne est tracé sur, BASIC imprime une étiquette [100] à la console lorsque la ligne de programme 100 est exécuté, et ainsi de suite. Remarques
Notes
+
  
    Tracing is turned off by the NEW and LOAD statements.
+
  Le traçage est désactivé par les états NEW et LOAD.
  
UNLOCK
+
UNLOCK UNLOCK [#] file_number [, record_0] UNLOCK [#] file_number, [record_0] À record_1
UNLOCK [#] file_number [, record_0]
+
UNLOCK [#] file_number, [record_0] TO record_1
+
  
Unlocks a file or part of it that has previously been locked with LOCK.
+
Débloque un fichier ou une partie de celui-ci qui a déjà été verrouillé avec LOCK. Paramètres
Parameters
+
  
    file_number is a numeric expression in [0—255].
+
  file_number est une expression numérique dans [0-255].
     record_0 and record_1 are numeric expressions in [1—2^25-2].
+
     record_0 et record_1 sont des expressions numériques dans [1-2 ^ 25-2].
  
Errors
+
les erreurs
  
    Any parameter has a string value: Type mismatch.
+
  Tout paramètre a une valeur de chaîne: Type mismatch.
     file_number is not in [-32768—32767]: Overflow.
+
     file_number est pas dans [-32.768 à 32.767]: Overflow.
     file_number is not in [0—255]: Illegal function call.
+
     file_number est pas dans [0-255]: Illegal appel de fonction.
     file_number is not an open file: Bad file number.
+
     file_number est pas un fichier ouvert: Numéro de fichier incorrect.
     If file_number is open for RANDOM, LOCK and UNLOCK statements must match in terms of record_0 and record_1. An non-matching UNLOCK will raise Permission denied.
+
     Si file_number est ouvert pour RANDOM, verrouiller et déverrouiller les états doivent correspondre en termes de record_0 et record_1. Un UNLOCK non-appariement augmentera Permission denied.
     record_0 or record_1 is not in [1—2^25-2]: Bad record number.
+
     record_0 ou record_1 est pas dans [1-2 ^ 25-2]: Numéro d'enregistrement Bad.
  
VIEW
+
VIEW VIEW [[ECRAN] (x0, y0) - (x1, y1) [[remplir] [, frontière]]]
VIEW [[SCREEN] (x0, y0)-(x1, y1) [, [fill] [, border]]]
+
  
Defines a graphics viewport. Graphics drawn outside the viewport will not be shown. (x0, y0), (x1, y1) are absolute screen coordinates of two opposing corners of the area.
+
Définit une fenêtre graphique. Graphics établis en dehors de la fenêtre ne seront pas affichées. (X0, y0), (x1, y1) sont des coordonnées absolues de l'écran de deux coins opposés de la zone.
  
Unless SCREEN is specified, after a VIEW statement the coordinate system is shifted such that (0, 0) becomes the top left coordinate of the viewport. If VIEW is called without arguments, the viewport is reset to the whole screen.
+
Sauf SCREEN est spécifié, après une instruction VIEW le système de coordonnées est déplacé de telle sorte que (0, 0) devient la partie supérieure gauche de la fenêtre de coordonnées. Si VIEW est appelé sans arguments, la fenêtre est remise à l'ensemble de l'écran. Paramètres
Parameters
+
  
    fill is an attribute. The viewport will be filled with this attribute.
+
  remplir est un attribut. Le viewport sera rempli avec cet attribut.
     border is an attribute. A border will be drawn just outside the viewport with this attribute.
+
     la frontière est un attribut. Une frontière sera tiré juste à l'extérieur de la fenêtre avec cet attribut.
  
Errors
+
les erreurs
  
    Any of the parameters has a string value: Type mismatch.
+
  Tout des paramètres a une valeur de chaîne: Type mismatch.
     Any of the coordinates is not in [-32768—32767]: Overflow.
+
     Tout des coordonnées est pas dans [-32768 à 32767]: Overflow.
     Any of the coordinate pairs is outside the physical screen: Illegal function call.
+
     Chacune des paires de coordonnées est en dehors de l'écran physique: Illegal appel de fonction.
  
VIEW PRINT
+
VIEW PRINT VIEW PRINT top_row À bottom_row
VIEW PRINT top_row TO bottom_row
+
  
Defines the text scrolling area of the screen. LOCATE statements, cursor movement and scrolling will be limited to the scrolling area.
+
Définit la zone de défilement de texte de l'écran. LOCATE déclarations, le mouvement du curseur et le défilement seront limités à la zone de défilement. Paramètres
Parameters
+
  
    top_row and bottom_row are numeric expressions in [1—24].
+
  top_row et bottom_row sont des expressions numériques dans [1-24].
  
Notes
+
Remarques
  
    If syntax={pcjr | tandy} and KEY OFF is set, bottom_row may be 25. Otherwise, screen row 25 cannot be part of the scrolling area.
+
  Si la syntaxe = {PCjr | tandy} et KEY OFF est réglé, bottom_row peuvent être 25. Sinon, l'écran ligne 25 ne peut pas faire partie de la zone de défilement.
  
Errors
+
les erreurs
  
    top_row or bottom_row is not in [1—24]: Illegal function call.
+
  top_row ou bottom_row est pas dans [1-24]: Illegal appel de fonction.
  
WAIT
+
ATTENDRE port ATTENDRE, and_mask [, xor_mask]
WAIT port, and_mask [, xor_mask]
+
  
Waits for the value of (INP(port) XOR xor_mask) AND and_mask to become nonzero. Event handling is suspended until WAIT returns. If xor_mask is not specified, it defaults to 0.
+
Attend la valeur de (INP (port) XOR xor_mask) ET and_mask à devenir non nulle. La gestion des événements est suspendue jusqu'à ce que les retours d'attente. Si xor_mask est pas spécifié, la valeur par défaut 0. Remarques
Notes
+
  
    A limited number of machine ports are emulated in PC-BASIC. See INP.
+
  Un nombre limité de ports de la machine sont émulés dans PC-BASIC. Voir INP.
  
Errors
+
les erreurs
  
    Any parameter has a string value: Type mismatch.
+
  Tout paramètre a une valeur de chaîne: Type mismatch.
     port is not in [-32768—65535]: Overflow.
+
     port est pas dans [-32768 à 65535]: Overflow.
     and_mask or xor_mask are not in [0—255]: Type mismatch.
+
     and_mask ou xor_mask ne sont pas dans [0-255]: incompatibilité de type.
  
WEND
+
WEND WEND
WEND
+
  
Iterates a WHILE—WEND loop: jumps to the matching WHILE statement, where its condition can be checked.
+
Itère une boucle WHILE-WEND: saute à l'instruction correspondante WHILE, où son état peut être vérifié. Remarques
Notes
+
  
    WHILE—WEND loops can be nested. WEND jumps to the most recent WHILE statement that has not been closed by another WEND.
+
  boucles WHILE-WEND peuvent être imbriquées. WEND saute à la dernière instruction WHILE qui n'a pas été fermée par un autre WEND.
  
Errors
+
les erreurs
  
    All previous WHILE statements have been closed by another WEND or no WHILE statement has been executed before: WEND without WHILE.
+
  Tous les énoncés WHILE précédents ont été fermées par un autre WEND ou aucune déclaration while a été exécutée avant: WEND sans WHILE.
  
WHILE
+
PENDANT TOUT expr
WHILE expr
+
  
Initiates a WHILE—WEND loop. If expr evaluates to zero, WHILE jumps to the statement immediately after the matching WEND. If not, execution continues.
+
Lance une boucle WHILE-WEND. Si expr est évaluée à zéro, alors que passe à l'instruction immédiatement après la WEND correspondant. Sinon, l'exécution se poursuit. Paramètres
Parameters
+
  
    expr is a numeric expression.
+
  expr est une expression numérique.
  
Errors
+
les erreurs
  
    No matching WEND is found: WHILE without WEND.
+
  Aucune correspondance WEND se trouve: WHILE sans WEND.
     expr has a string value: Type mismatch.
+
     expr a une valeur de chaîne: Type mismatch.
  
WIDTH (console)
+
WIDTH (console) num_columns WIDTH [[num_rows] [,]]
WIDTH num_columns [, [num_rows] [,]]
+
  
Sets the screen width to 20, 40 or 80 columns.
+
Définit la largeur de l'écran 20, 40 ou 80 colonnes. Remarques
Notes
+
  
    When changing screen width in graphics mode, the video mode is changed. The following changes occur:
+
  Lors du changement de largeur de l'écran en mode graphique, le mode vidéo est modifié. Les changements suivants se produisent:
     SCREEN 1 (40) ↔ SCREEN 2 (80)
+
     ECRAN 1 (40) ↔ ECRAN 2 (80)
     SCREEN 7 (40) ↔ SCREEN 8 (80)
+
     ÉCRAN 7 (40) ↔ ÉCRAN 8 (80)
     SCREEN 7 (40) ← SCREEN 9 (80)
+
     ÉCRAN 7 (40) ← ÉCRAN 9 (80)
     Screen width value 20 is only allowed on Tandy and PCjr. Changing to this width changes to SCREEN 3. Additionally, the following changes occur:
+
     Écran valeur de largeur 20 est permise uniquement sur Tandy et PCjr. Le passage à cette largeur des modifications à l'écran 3. En outre, les changements suivants se produisent:
     SCREEN 3 (20) → SCREEN 1 (40)
+
     SCREEN 3 (20) → ECRAN 1 (40)
     SCREEN 3 (20) → SCREEN 2 (80)
+
     SCREEN 3 (20) → ECRAN 2 (80)
     SCREEN 4 (40) → SCREEN 2 (80)
+
     ECRAN 4 (40) → ECRAN 2 (80)
     SCREEN 5 (40) ↔ SCREEN 6 (80)
+
     ECRAN 5 (40) ↔ ÉCRAN 6 (80)
  
Parameters
+
Paramètres
  
    num_columns is either a literal 20, 40 or 80 or a numeric expression in parentheses. The trailing comma is optional and has no effect.
+
  num_columns est soit un littéral 20, 40 ou 80 ou une expression numérique entre parenthèses. La virgule arrière est facultative et n'a aucun effet.
     num_rows is optional and must equal 25. If syntax={pcjr | tandy} is set, num_rows may be in [0—25] but its value is ignored.
+
     num_rows est facultative et doit être égale à 25. Si la syntaxe = {PCjr | tandy} est réglé, num_rows peut être [0-25], mais sa valeur est ignorée.
  
Errors
+
les erreurs
  
    num_columns is a string expression: Type mismatch.
+
  num_columns est une chaîne d'expression: incompatibilité de type.
     num_columns is not in [-32768—32767]: Overflow.
+
     num_columns est pas dans [-32.768 à 32.767]: Overflow.
     num_columns is not in [0—255]: Illegal function call.
+
     num_columns est pas dans [0-255]: Illegal appel de fonction.
     num_columns is not a literal and not bracketed: Illegal function call.
+
     num_columns est pas un littéral et non entre crochets: appel de fonction illégale.
     num_rows is not in its accepted range: Illegal function call.
+
     num_rows est pas dans sa gamme acceptée: Illegal appel de fonction.
  
WIDTH (devices and files)
+
WIDTH (périphériques et fichiers) WIDTH {#file_num, | nom_appareil, | LPRINT} num_columns
WIDTH {#file_num,|device_name,|LPRINT} num_columns
+
  
Sets the line width for a file or a device. When a write operation passes beyond the column width, a CR LF sequence is inserted.
+
Définit la largeur de la ligne pour un fichier ou un périphérique. Lorsqu'une opération d'écriture passe au-delà de la largeur de colonne, une séquence CR LF est insérée.
  
If a device is specified, it does not need to have a file open to it; the width setting will be the default width next time a file is opened to that device.
+
Si un périphérique est spécifié, il n'a pas besoin d'avoir un fichier ouvert à elle; le réglage de largeur sera la largeur par défaut la prochaine fois qu'un fichier est ouvert à ce dispositif.
  
If device_name is "LPT1:" or LPRINT is specified, the device width setting affects LPRINT and LLIST.
+
Si device_name est "LPT1:" ou LPRINT est spécifié, le réglage de la largeur de l'appareil affecte LPRINT et LLIST.
  
If device_name is "SCRN:", "KYBD:", or omitted, the screen width is changed. In this case, num_columns must be one of 20, 40 or 80. See the notes at WIDTH (console) for side effects.
+
Si device_name est "SCRN:", "KYBD:", ou omis, la largeur de l'écran est modifiée. Dans ce cas, num_columns doit être l'un des 20, 40 ou 80. Voir les notes à WIDTH (console) pour les effets secondaires. Paramètres
Parameters
+
  
    file_num is a numeric expression which is the number of an open file.
+
  file_num est une expression numérique qui est le numéro d'un fichier ouvert.
     device_name is a string expression that is one of "KYBD:", "SCRN:", "LPT1:", "LPT2:", "LPT3:", "COM1:", "COM2:", "CAS1:"
+
     device_name est une expression de chaîne qui est l'un des "KYBD:", "SCRN:", "LPT1:", "LPT2:", "LPT3:", "COM1:", "COM2:", "CAS1:"
     num_columns is a numeric expression.
+
     num_columns est une expression numérique.
  
Errors
+
les erreurs
  
    device_name is not one of the allowed devices: Bad file name.
+
  device_name est pas un des périphériques autorisés: Nom de fichier incorrect.
     device_name is "SCRN:", "KYBD:" and num_columns is not 20, 40 or 80: Illegal function call.
+
     device_name est "SCRN:", "KYBD:" et num_columns ne sont pas 20, 40 ou 80: Illegal appel de fonction.
     file_num or num_columns are strings: Type mismatch.
+
     file_num ou num_columns sont des chaînes: Incompatibilité de type.
     file_num or num_columns are not in [-32768—32767]: Overflow.
+
     file_num ou num_columns ne sont pas dans [-32.768 à 32.767]: Overflow.
     file_num or num_columns are not in [0—255]: Illegal function call.
+
     file_num ou num_columns ne sont pas dans [0-255]: Illegal appel de fonction.
     file_num is not an open file: Bad file mode.
+
     file_num est pas un fichier ouvert: le mode de fichier incorrect.
  
WINDOW
+
Fenêtre [[ECRAN] (x0, y0) - (x1, y1)]
WINDOW [[SCREEN] (x0, y0)-(x1, y1)]
+
  
Define logical coordinates for the viewport. If SCREEN is not specified, the bottom left of the screen is mapped to the lower coordinates; the top right of the screen is mapped to the higher coordinates. If SCREEN is specified, the top left of the screen is mapped to the lower coordinates; the bottom right of the screen is mapped to the higher coordinates.
+
Définir les coordonnées logiques pour la fenêtre. Si l'écran est pas spécifié, en bas à gauche de l'écran est mappé vers les coordonnées inférieures; en haut à droite de l'écran est mappé sur les coordonnées supérieures. Si l'écran est spécifié, en haut à gauche de l'écran est mappé vers les coordonnées inférieures; la partie inférieure droite de l'écran est mappé sur les coordonnées supérieures.
  
If WINDOW is called without arguments, the logical coordinates are reset to the viewport coordinates.
+
Si la fenêtre est appelée sans arguments, les coordonnées logiques sont réinitialisés aux coordonnées de viewport. Paramètres
Parameters
+
  
    x0, y0, x1, y1 are numeric expressions.
+
  x0, y0, x1, y1 sont des expressions numériques.
  
Errors
+
les erreurs
  
    Any of the coordinates have a string value: Type mismatch.
+
  Tous les coordonnées ont une valeur de chaîne: Type mismatch.
     x0 = x1 or y0 = y1: Illegal function call.
+
     x0 = x1 ou y0 = y1: Illegal appel de fonction.
  
WRITE
+
WRITE WRITE [# file_num,] expr_0 [{, |;} expr_1] ...
WRITE [# file_num,] expr_0 [{,|;} expr_1] ...
+
  
Writes values to a file or the screen in machine-readable form. Values are separated by commas and the line is ended with a CR LF sequence. Strings are delimited by double quotes ". No padding spaces are inserted.
+
Ecrit des valeurs dans un fichier ou l'écran sous forme lisible par machine. Les valeurs sont séparées par des virgules et la ligne est terminée par une séquence CR LF. Les chaînes sont délimités par des guillemets ". Pas d'espace de remplissage sont insérés.
  
When writing to the screen, the same control characters are recognised as for the PRINT statement.
+
Lors de l'écriture à l'écran, les mêmes caractères de contrôle sont reconnus comme pour l'instruction PRINT. Paramètres
Parameters
+
  
    expr_0, expr_1, ... are expressions whose value is to be printed.
+
  expr_0, expr_1, ... sont des expressions dont la valeur doit être imprimée.
  
Errors
+
les erreurs
  
    file_num has a string value: Type mismatch.
+
  file_num a une valeur de chaîne: Type mismatch.
     file_num is open for INPUT: Bad file mode.
+
     file_num est ouvert pour INPUT: mode de fichier incorrect.
  
Errors and Messages
+
Erreurs et Messages Erreurs 1 PROCHAINES sans POUR
Errors
+
1 NEXT without FOR
+
  
A NEXT statement has been encountered for which no matching FOR can be found.
+
Une instruction NEXT a été rencontré pour lesquels aucune correspondance ne peut être relevée. 2 Erreur de syntaxe
2 Syntax error
+
  
The BASIC syntax is incorrect. A statement or expression has been mistyped or called in one of many incorrect ways. This error is also raised on a DATA line if a READ statement encounters a data entry of an incorrect format.
+
La syntaxe de base est incorrecte. Une déclaration ou l'expression a été mal orthographié ou appelé dans l'une des nombreuses façons incorrectes. Cette erreur est également élevé sur une ligne de données si une instruction READ rencontre une entrée de données d'un format incorrect. 3 RETOUR sans GOSUB
3 RETURN without GOSUB
+
  
A RETURN statement has been encountered for which no GOSUB call has been made.
+
Une instruction RETURN a été rencontré pour lesquels aucun appel GOSUB a été faite. 4 Sur DATA
4 Out of DATA
+
  
A READ statement is attempting to read more data entries than can be found from the current DATA location onward.
+
Une instruction READ tente de lire plusieurs entrées de données que l'on peut trouver à l'emplacement actuel de données en avant. 5 Illegal appel de fonction
5 Illegal function call
+
  
A statement, function or operator has been called with parameters outside the accepted range. This error is also raised for a large variety of other conditions – check the reference for the statement or function called.
+
Une déclaration, la fonction ou l'opérateur a été appelé avec des paramètres en dehors de la plage acceptée. Cette erreur est également soulevée pour une grande variété d'autres conditions - vérifier la référence pour l'instruction ou de la fonction appelée. 6 Overflow
6 Overflow
+
  
A numeric expression result or intermediate value is too large for the required number format.
+
Résultat Une expression numérique ou une valeur intermédiaire est trop grande pour le format de nombre requis. 7 Out of memory
7 Out of memory
+
  
There is not enough free BASIC memory to complete the operation. Too much memory is consumed by the program; variables, arrays and strings, or execution stacks for loops, subroutines or user-defined functions.
+
Il n'y a pas assez de mémoire de base gratuite pour terminer l'opération. Trop mémoire est consommée par le programme; variables, les tableaux et les chaînes, ou des piles d'exécution pour les boucles, sous-routines ou fonctions définies par l'utilisateur. 8 numéro de ligne Undefined
8 Undefined line number
+
  
A reference is made to a line number that does not exist in the program.
+
Il est fait référence à un numéro de ligne qui n'existe pas dans le programme. 9 Indice hors de portée
9 Subscript out of range
+
  
An array index (subscript) is used that is outside the range reserved for that array by the DIM statement.
+
Un indice de tableau (en indice) est utilisé qui est hors de la plage réservée à ce tableau par l'instruction DIM. 10 Définition Duplicate
10 Duplicate Definition
+
  
A DIM statement is used on an array that has been dimensioned before (either implicitly or explicitly) or OPTION BASE is called in a way that conflicts with an earlier implicit or explicit definition of the starting index.
+
Une déclaration est DIM utilisé sur un tableau qui a été dimensionné avant (implicitement ou explicitement) ou OPTION BASE est appelé d'une manière qui est en conflit avec une définition antérieure implicite ou explicite de l'indice de départ. 11 Division par zéro
11 Division by zero
+
  
An attempt is made to divide a number by zero or by a number that is too small to distinguish from zero within the number format's precision.
+
Une tentative est faite pour diviser un nombre par zéro ou par un nombre trop petit pour établir une distinction entre zéro à l'intérieur de la précision du format numérique. 12 Illegal directe
12 Illegal direct
+
  
A DEF FN statement is being used in direct mode.
+
Une déclaration DEF FN est utilisé en mode direct. 13 Type mismatch
13 Type mismatch
+
  
The expression used is of a type that cannot be converted to the required type for the function or statement. Most commonly, this is raised if a string argument is supplied to a statement or function that expects a number, or vice versa.
+
L'expression utilisée est d'un type qui ne peut pas être converti dans le type requis pour la fonction ou de la déclaration. Le plus souvent, cela est déclenché si un argument de chaîne est fournie à une déclaration ou une fonction qui attend un nombre, ou vice versa. 14 Sur l'espace de chaîne
14 Out of string space
+
  
There is not enough free BASIC memory to store the string variable.
+
Il n'y a pas assez de mémoire BASIC libre pour stocker la variable de chaîne. 15 cordes trop longtemps
15 String too long
+
  
A string expression result or intermediate value is longer than 255 characters.
+
Un résultat de l'expression de chaîne ou une valeur intermédiaire est supérieure à 255 caractères. 16 formule cordes trop complexe 17 ne peut pas continuer
16 String formula too complex
+
17 Can't continue
+
  
The CONT statement is used in circumstances where continuing program execution is not possible.
+
L'instruction CONT est utilisée dans les cas où la poursuite exécution du programme est impossible. 18 fonction utilisateur Undefined
18 Undefined user function
+
  
The FN function is called with a function name for which no definition was made by a DEF FN statement.
+
La fonction FN est appelée avec un nom de fonction pour laquelle aucune définition a été faite par une déclaration DEF FN. 19 No REPRENDRE
19 No RESUME
+
  
The program terminates inside an error trapping routine that has not been closed with RESUME or END.
+
Le programme se termine à l'intérieur d'une routine de piégeage d'erreur qui n'a pas été fermée avec REPRENDRE ou END. 20 REPRENDRE sans erreur
20 RESUME without error
+
  
A RESUME statement is encountered while the program is not executing an error trapping routine.
+
Une déclaration de REPRENDRE est rencontrée alors que le programme n'exécute une routine d'erreur de piégeage. 21 utilisé 22 opérande manquant
21 unused
+
22 Missing operand
+
  
An operator expression misses an operand or a function or statement is not supplied with sufficient parameters.
+
Une expression de l'opérateur manque un opérande ou d'une fonction ou de la déclaration ne soit pas fournie avec des paramètres suffisants. 23 buffer overflow ligne
23 Line buffer overflow
+
  
An INPUT or LINE INPUT statement encountered an input string longer than 255 characters or the plain-text program file being loaded contains a line with more than 255 characters.
+
Une instruction INPUT ou LINE INPUT rencontré une chaîne d'entrée plus de 255 caractères ou le fichier de programme en texte brut en cours de chargement contient une ligne avec plus de 255 caractères. 24 Dispositif Timeout
24 Device Timeout
+
  
The handshake has failed on a serial device or a tape device has reached the end of tape.
+
La poignée de main a échoué sur un périphérique série ou un périphérique de bande a atteint la fin de la bande. 25 Dispositif Fault 26 POUR LA PROCHAINE sans
25 Device Fault
+
26 FOR without NEXT
+
  
A FOR statement has been encountered for which no matching NEXT statement can be found.
+
Une instruction FOR a été rencontrée pour laquelle aucune instruction NEXT correspondante peut être trouvée. 27 Sur papier
27 Out of paper
+
  
An attempt is made to write to a printer which is out of paper or to another parallel device which has raised an out-of-paper condition.
+
Une tentative est faite pour écrire à une imprimante qui est hors de papier ou à un autre périphérique parallèle qui a soulevé une condition out-of-papier. 28 utilisé 29 TANDIS sans WEND
28 unused
+
29 WHILE without WEND
+
  
A WHILE statement has been encountered for which no matching WEND statement can be found.
+
Une instruction WHILE a été rencontrée pour laquelle aucune déclaration de WEND correspondant peut être trouvé. 30 WEND sans TANDIS
30 WEND without WHILE
+
  
A WEND statement has been encountered for which no matching WHILE statement can be found.
+
Une déclaration de WEND a été rencontré pour lesquelles aucune instruction WHILE correspondant peut être trouvé. 31-49 utilisé overflow 50 CHAMP
31—49 unused
+
50 FIELD overflow
+
  
An attempt is made to read, write, or define a FIELD variable beyond the length of the random-access file buffer.
+
Une tentative est faite pour lire, écrire, ou définir une variable de champ au-delà de la longueur de la mémoire tampon de fichier à accès aléatoire. 51 Erreur interne
51 Internal error
+
  
The TERM statement is executed but no terminal manager program has been defined.
+
La déclaration de TERM est exécuté, mais aucun programme de gestionnaire du terminal a été défini. 52 Numéro de fichier incorrect
52 Bad file number
+
  
A file number is accessed to which no file is open, or the file number used in an OPEN statement is outside the range of allowable file numbers, or (confusingly) the file specification is empty, malformed or contains illegal characters.
+
Un numéro de fichier est accessible auquel aucun fichier est ouvert, ou le numéro de fichier utilisé dans une instruction OPEN est en dehors de la plage de numéros de fichiers autorisés, ou (confusion) la spécification de fichier est vide, malformés ou contient des caractères illégaux. 53 Fichier non trouvé
53 File not found
+
  
A named file on a disk device cannot be found.
+
Un fichier nommé sur un périphérique de disque ne peut pas être trouvé. 54 Mode de fichier incorrect
54 Bad file mode
+
  
The requested file mode in an OPEN statement does not exist or is unsupported for the given device, or the file function called is not supported for this device, or the function or statement called requires a file opened for RANDOM and the file is not.
+
existe Le mode de fichier demandé dans une instruction OPEN pas ou est pris en charge pour le périphérique donné, ou la fonction de fichier appelé est pas pris en charge pour cet appareil, ou la fonction ou la déclaration appelée requiert un fichier ouvert pour RANDOM et le fichier est pas. 55 Fichier déjà ouvert
55 File already open
+
  
An attempt is made to open a file to a file number that is already in use; or an attempt is made to open a file for OUTPUT or APPEND on a serial, disk or cassette device when a file is already open for OUTPUT or APPEND on that device; or a KILL or NAME statement is executed on an open disk file.
+
Une tentative est faite pour ouvrir un fichier à un numéro de dossier qui est déjà en cours d'utilisation; ou une tentative est faite pour ouvrir un fichier pour OUTPUT ou APPEND sur un périphérique série, le disque ou la cassette quand un fichier est déjà ouvert pour OUTPUT ou APPEND sur ce dispositif; ou d'une instruction KILL ou NAME est exécuté sur un fichier de disque ouvert. 56 utilisé 57 Erreur de périphérique d'E / S
56 unused
+
57 Device I/O error
+
  
An I/O error has occured during input/output to a device. This includes faming errors, CRC check failures and unexpected end-of-tape on cassette devices.
+
Une erreur d'E / S est survenue lors de l'entrée / sortie à un dispositif. Ceci inclut les erreurs de Faming, les défaillances de contrôle CRC et de fin de bande inattendue sur les appareils à cassettes. 58 Le fichier existe déjà
58 File already exists
+
  
The proposed new name of a disk file in a NAME statement is already in use.
+
Le nouveau nom proposé d'un fichier de disque dans une instruction NAME est déjà en cours d'utilisation. 59-60 utilisé 61 Disque plein
59—60 unused
+
61 Disk full
+
  
There is insufficient free space on the disk device to complete the operation.
+
Il y a suffisamment d'espace libre sur le périphérique de disque pour terminer l'opération. 62 fin dernière entrée
62 Input past end
+
  
An attempt is made to retrieve input from a file that has passed its end of file.
+
Une tentative est faite pour récupérer l'entrée d'un fichier qui a passé sa fin de fichier. 63 Numéro d'enregistrement Bad
63 Bad record number
+
  
A random-access file record number is referenced that is outside the permitted range.
+
Un nombre record de fichiers d'accès aléatoire est référencé qui est en dehors de la plage autorisée. 64 Nom de fichier incorrect
64 Bad file name
+
  
The file name or other device parameter string in a file specification is malformed or contains illegal characters.
+
Le nom de fichier ou d'une autre chaîne de paramètres de l'appareil dans une spécification de fichier est malformé ou contient des caractères illégaux. 65 utilisé 66 déclaration directe dans le fichier
65 unused
+
66 Direct statement in file
+
  
A line with no line number is encountered in a plain-text program file.
+
Une ligne sans numéro de ligne est rencontrée dans un fichier de programme en texte brut. 67 Trop de fichiers 68 périphériques Non disponible
67 Too many files
+
68 Device Unavailable
+
  
An attempt is made to access a device that does not exist or is not enabled.
+
Une tentative est faite pour accéder à un dispositif qui n'existe pas ou est pas activé. 69 buffer overflow Communication
69 Communication buffer overflow
+
  
A serial device is receiving more data than fits in its buffer.
+
Un périphérique série reçoit plus de données que ne peut en son tampon. 70 Autorisation refusée
70 Permission Denied
+
  
The requested access to a file is not granted due to LOCK restrictions, operating system locking, or insufficient operating system file permissions.
+
L'accès demandé à un fichier n'est pas accordée en raison de restrictions LOCK, verrouillage du système d'exploitation ou les permissions de fichiers du système d'exploitation insuffisante. 71 Disk not Ready
71 Disk not Ready
+
  
The disk device is not ready for access. For example, there is no diskette in a floppy drive or the drive lock is open.
+
Le dispositif de disque est prêt pour l'accès. Par exemple, il n'y a aucune disquette dans un lecteur de disquette ou le verrou d'entraînement est ouvert. 72 médias de disque d'erreur 73 Feature avancée 74 Renommer sur les disques
72 Disk media error
+
73 Advanced Feature
+
74 Rename across disks
+
  
An attempt is made to use the NAME statement to move a file from one disk device to another.
+
Une tentative est faite d'utiliser l'instruction NAME pour déplacer un fichier d'un périphérique de disque à l'autre. 75 Chemin erreur d'accès / Fichier
75 Path/File access error
+
  
An attempt is made to create a directory that already exists or to remove a directory that is not empty.
+
Une tentative est faite pour créer un répertoire qui existe déjà ou pour supprimer un répertoire qui ne soit pas vide. 76 Chemin d'accès introuvable
76 Path not found
+
  
An OPEN, MKDIR, RMDIR, or CHDIR statement is executed referring to a (parent) path that does not exist on the disk device.
+
Une instruction OPEN, MKDIR, RMDIR ou CHDIR est exécuté faisant référence à un chemin (parent) qui n'existe pas sur le périphérique de disque. 77 Deadlock
77 Deadlock
+
  
Any error code that does not have a message associated to it will generate the message Unprintable error.
+
Un code d'erreur qui n'a pas un message qui lui est associé génère le message d'erreur non imprimable.
  
If an error occurs in direct mode, the error message is printed as above. If the error occurs in a program, the message is supplemented with the line number in which the error occurred. For example,
+
Si une erreur se produit en mode direct, le message d'erreur est affiché comme ci-dessus. Si l'erreur se produit dans un programme, le message est complété par le numéro de ligne dans lequel l'erreur est survenue. Par exemple, Illégal appel de fonction 100 indique que l'appel de fonction illégale a eu lieu dans le numéro de la ligne 100.
Illegal function call in 100
+
indicates that the illegal function call took place in line number 100.
+
  
If a Syntax error occurs during program execution, the error message is followed by a listing of the program line in which the error occurred, wth the cursor positioned at the location where the error was raised.
+
Si une erreur de syntaxe se produit lors de l'exécution du programme, le message d'erreur est suivi d'une liste de la ligne de programme dans lequel l'erreur est survenue, wth le curseur positionné à l'endroit où l'erreur a été soulevée.
  
A Division by zero error or, in a floating point calculation, an Overflow, will not interrupt execution unless it occurs within an error handling routine. The error message will be printed on the console and the result of the offending calculation will be taken to be the maximum value that fits in the appropriate floating-point variable. Overflow in an integer calculation will always interrupt execution like other errors.
+
Une division par zéro erreur ou, dans un calcul en virgule flottante, un débordement, ne sera pas interrompre l'exécution, sauf si elle se produit au sein d'une routine de gestion d'erreur. Le message d'erreur sera imprimé sur la console et le résultat du calcul de la délinquance sera considérée comme étant la valeur maximale qui correspond à la variable à virgule flottante appropriée. Débordement dans un calcul entier sera toujours interrompre l'exécution comme d'autres erreurs. Autres messages
Other messages
+
  
Break
+
Pause
    Execution of a compound statement or program has been interrupted by a CONT statement or by a user keyboard interrupt (such as Ctrl+Break). If the interrupt happens in a program, the Break message will be supplemented with the line number in which the interrupt occurred.
+
?Redo from start
+
    The input provided on the console for an INPUT statement does not match the expected format. The number or type of inputs is not correct. Re-enter all inputs.
+
Undefined line ref_num in line_num
+
    The RENUM statement encountered a reference to the line number ref_num which is not defined in the program. The reference occurs on line number line_num. The undefined line number reference will not be renumbered.
+
filename Found.
+
    A file matching the requested specification has been found on the cassette device. This message only occurs in direct mode.
+
filename Skipped.
+
    A file not matching the requested specification has been encountered on the cassette device. This message only occurs in direct mode.
+
  
Technical reference
+
  Exécution d'une déclaration ou d'un programme composé a été interrompue par une instruction CONT ou par une interruption du clavier de l'utilisateur (comme Ctrl + Break).  Si l'interruption se produit dans un programme, le message Break sera complété par le numéro de ligne dans laquelle l'interruption a eu lieu.
Tokenised file format
+
  
A tokenised program file on a disk device has the following format.
+
? Refaire du début
  
Magic byte
+
  L'entrée prévue sur la console pour une instruction INPUT ne correspond pas au format attendu.  Le nombre ou le type d'entrées ne sont pas correctes.  Entrez à nouveau toutes les entrées.
    FF  
+
 
Program lines
+
ref_num ligne défini dans LINE_NUM
    Each line is stored as follows:
+
 
     Bytes Format Meaning
+
  L'instruction RENUM rencontré une référence au numéro de ligne ref_num qui ne sont pas définis dans le programme.  La référence se produit sur le numéro de ligne LINE_NUM.  La undefined référence numéro de ligne ne sera pas renumérotés.
     2 Unsigned 16-bit little-endian integer. Memory location of the line following the current one. This is used internally by GW-BASIC but ignored when a program is loaded.
+
 
     2 Unsigned 16-bit little-endian integer. The line number.
+
filename Trouvé.
     Variable Tokenised BASIC, see below. The contents of the line.
+
 
     1 00 (NUL byte) End of line marker.
+
  Un fichier correspondant à la spécification demandée a été trouvé sur le périphérique de la cassette.  Ce message se produit uniquement en mode direct.
End of file marker
+
 
    An 1A is written to mark the end of file. This is optional; the file will be read without problems if it is omitted.  
+
filename Ignoré.
 +
 
 +
  Un fichier ne correspond pas à la spécification demandée a été rencontrée sur le dispositif de cassette.  Ce message se produit uniquement en mode direct.
 +
 
 +
format de fichier Tokenised de référence technique
 +
 
 +
Un fichier de programme tokenised sur un périphérique de disque a le format suivant.
 +
 
 +
octet magique
 +
 
 +
  FF  
 +
 
 +
lignes du programme
 +
 
 +
  Chaque ligne est stocké comme suit:
 +
     Octets Format Signification
 +
     2 Unsigned 16-bit entier little-endian. Lieu de mémoire de la ligne qui suit le courant. Il est utilisé en interne par GW-BASIC, mais ignoré quand un programme est chargé.
 +
     2 Unsigned 16-bit entier little-endian. Le numéro de ligne.
 +
     Variable Tokenised BASIC, voir ci-dessous. Le contenu de la ligne.
 +
     1 00 (NUL byte) Marqueur de fin de ligne.
 +
 
 +
Marqueur de fin de fichier
 +
 
 +
  Un 1A est écrit pour marquer la fin du fichier. Cette option est facultative; le fichier sera lu sans problème si elle est omise.  
  
 
Tokenised BASIC
 
Tokenised BASIC
  
The printable ASCII characters in the range 20—7E are used for string literals, comments, variable names, and elements of statement syntax that are not reserved words. Reserved words are represented by their reserved word tokens and numeric literals are represented by numeric token sequences.
+
Les caractères ASCII imprimables dans la gamme 20-7E sont utilisés pour les chaînes littérales, des commentaires, des noms de variables, et des éléments de syntaxe de l'instruction qui ne sont pas des mots réservés. Les mots réservés sont représentés par leurs mots jetons réservés et littéraux numériques sont représentées par des séquences de jetons numériques. séquences de jetons numériques
Numeric token sequences
+
  
Numeric literals are stored in tokenised programs according to the following representation. All numbers are positive; negative numbers are stored simply by preceding the number with EA, the token for -.
+
littéraux numériques sont stockés dans les programmes tokenised selon la représentation suivante. Tous les chiffres sont positifs; les nombres négatifs sont stockés simplement en précédant le numéro avec EA, le jeton pour -. Classe Octets Format des numéros de ligne indirecte 3 0E suivies d'un 16-bit entier little-endian non signé. entiers Octal 3 0B suivi d'un entier 16 bits little-endian non signé. entiers hexadécimaux 3 0C suivi d'un entier 16 bits little-endian non signé. décimales positif entiers moins de 11 1 Tokens 11-1B représentent 0-10. entiers décimaux positifs moins de 256 2 0F suivi d'un entier non signé 8 bits. Autres entiers décimaux 3 1C suivie d'un complément à deux signé 16-bit entier little-endian. GW-BASIC reconnaîtra un nombre négatif rencontré cette façon, mais il ne sera pas stocker les nombres négatifs s'utilisant le complément à deux, mais plutôt en faisant précéder le nombre positif avec EA. simple précision en virgule flottante numéro 5 1D suivi par un seul de quatre octets dans Microsoft Binary Format. Double précision nombre à virgule flottante 9 1F suivi d'un huit double octet dans Microsoft Binary Format. jetons de mots-clés
Class Bytes Format
+
Indirect line numbers 3 0E followed by an unsigned 16-bit little-endian integer.
+
Octal integers 3 0B followed by an unsigned 16-bit little-endian integer.
+
Hexadecimal integers 3 0C followed by an unsigned 16-bit little-endian integer.
+
Positive decimal integers less than 11 1 Tokens 11—1B represent 0—10.
+
Positive decimal integers less than 256 2 0F followed by an unsigned 8-bit integer.
+
Other decimal integers 3 1C followed by a two's complement signed 16-bit little-endian integer. GW-BASIC will recognise a negative number encountered this way but it will not store negative numbers itself using the two's complement, but rather by preceding the positive number with EA.
+
Single precision floating-point number 5 1D followed by a four-byte single in Microsoft Binary Format.
+
Double precision floating-point number 9 1F followed by an eight-byte double in Microsoft Binary Format.
+
Keyword tokens
+
  
Most keywords in PC-BASIC are reserved words. Reserved words are represented in a tokenised program by a single- or double-byte token. The complete list is below.
+
La plupart des mots-clés dans PC-BASIC sont des mots réservés. Les mots réservés sont représentés dans un programme tokenised par un jeton simple ou double-octet. La liste complète est ci-dessous.
  
All function names and operators are reserved words and all statements start with a reserved word (which in the case of LET is optional). However, the converse is not true: not all reserved words are statements, functions, or operators. For example, TO and SPC( only occur as part of a statement syntax. Furthermore, some keywords that form part of statement syntax are not reserved words: examples are AS, BASE, and ACCESS.
+
Tous les noms de fonction et les opérateurs sont des mots réservés et toutes les déclarations commencent par un mot réservé (qui, dans le cas de LET est facultative). Cependant, l'inverse est pas vrai: tous les mots réservés sont des déclarations, des fonctions ou des opérateurs. Par exemple, TO et la CPS (ne se produisent dans le cadre d'une syntaxe de l'instruction mots En outre, certains mots-clés qui font partie de la syntaxe de déclaration ne sont pas réservés. Exemples sont AS, BASE, et ACCESS.
  
Keywords that are not reserved words are spelt out in full text in the tokenised source.
+
Mots-clés qui ne sont pas réservés mots sont écrits en texte intégral dans la source tokenised.
  
A variable or user-defined function name must not be identical to a reserved word. The list below is an exhaustive list of reserved words that can be used to determine whether a name is legal.
+
Un nom de fonction variable ou définie par l'utilisateur ne doit pas être identique à un mot réservé. La liste ci-dessous est une liste exhaustive des mots réservés qui peuvent être utilisés pour déterminer si un nom est légal.
  
     81 END 82 FOR 83 NEXT 84 DATA 85 INPUT 86 DIM 87 READ 88 LET 89 GOTO 8A RUN 8B IF 8C RESTORE 8D GOSUB 8E RETURN 8F REM 90 STOP 91 PRINT 92 CLEAR 93 LIST 94 NEW 95 ON 96 WAIT 97 DEF 98 POKE 99 CONT 9C OUT 9D LPRINT 9E LLIST A0 WIDTH A1 ELSE A2 TRON A3 TROFF A4 SWAP A5 ERASE A6 EDIT A7 ERROR A8 RESUME A9 DELETE AA AUTO AB RENUM AC DEFSTR AD DEFINT AE DEFSNG AF DEFDBL B0 LINE B1 WHILE B2 WEND B3 CALL B7 WRITE B8 OPTION B9 RANDOMIZE BA OPEN BB CLOSE BC LOAD BD MERGE BE SAVE BF COLOR C0 CLS C1 MOTOR C2 BSAVE C3 BLOAD C4 SOUND C5 BEEP C6 PSET C7 PRESET C8 SCREEN C9 KEY CA LOCATE CC TO CD THEN CE TAB( CF STEP D0 USR D1 FN D2 SPC( D3 NOT D4 ERL D5 ERR D6 STRING$ D7 USING D8 INSTR D9 ' DA VARPTR DB CSRLIN DC POINT DD OFF DE INKEY$ E6 > E7 = E8 < E9 + EA - EB * EC / ED ^ EE AND EF OR F0 XOR F1 EQV F2 IMP F3 MOD F4 \ FD81 CVI FD82 CVS FD83 CVD FD84 MKI$ FD85 MKS$ FD86 MKD$ FD8B EXTERR FE81 FILES FE82 FIELD FE83 SYSTEM FE84 NAME FE85 LSET FE86 RSET FE87 KILL FE88 PUT FE89 GET FE8A RESET FE8B COMMON FE8C CHAIN FE8D DATE$ FE8E TIME$ FE8F PAINT FE90 COM FE91 CIRCLE FE92 DRAW FE93 PLAY FE94 TIMER FE95 ERDEV FE96 IOCTL FE97 CHDIR FE98 MKDIR FE99 RMDIR FE9A SHELL FE9B ENVIRON FE9C VIEW FE9D WINDOW FE9E PMAP FE9F PALETTE FEA0 LCOPY FEA1 CALLS FEA5 PCOPY FEA7 LOCK FEA8 UNLOCK FF81 LEFT$ FF82 RIGHT$ FF83 MID$ FF84 SGN FF85 INT FF86 ABS FF87 SQR FF88 RND FF89 SIN FF8A LOG FF8B EXP FF8C COS FF8D TAN FF8E ATN FF8F FRE FF90 INP FF91 POS FF92 LEN FF93 STR$ FF94 VAL FF95 ASC FF96 CHR$ FF97 PEEK FF98 SPACE$ FF99 OCT$ FF9A HEX$ FF9B LPOS FF9C CINT FF9D CSNG FF9E CDBL FF9F FIX FFA0 PEN FFA1 STICK FFA2 STRIG FFA3 EOF FFA4 LOC FFA5 LOF  
+
     81 FIN 82 POUR 83 SUIVANT 84 DONNÉES 85 ENTREE 86 DIM 87 LIRE 88 LET 89 GOTO 8A RUN 8B IF 8C RESTORE 8D GOSUB 8E RETURN 8F REM 90 ARRÊT 91 PRINT 92 EFFACER 93 LISTE 94 NOUVEAU 95 SUR 96 ATTENDRE 97 DEF 98 POKE 99 CONT 9C OUT 9D LPRINT 9E LLIST A0 WIDTH A1 AUTRE A2 TRON A3 TROFF A4 SWAP A5 ERASE A6 EDIT A7 ERROR A8 REPRENDRE A9 SUPPRIMER AA AUTO AB RENUM AC DEFSTR AD DEFINT AE DefSng AF DEFDBL B0 LINE B1 TANDIS B2 WEND B3 CALL B7 WRITE B8 OPTION B9 RANDOMIZE BA OUVERT BB FERMER BC LOAD BD MERGE ÊTRE SAUVER BF COLOR C0 CLS C1 MOTOR C2 BSAVE C3 BLOAD C4 SOUND C5 BEEP C6 PSET C7 PRESET C8 ECRAN C9 KEY CA LOCATE CC TO CD ALORS CE TAB (STEP CF D0 USR D1 FN D2 SPC (D3 PAS D4 ERL D5 ERR D6 STRING $ D7 UTILISATION J8 INSTR D9 'DA VARPTR DB CSRLIN DC POINT DD OFF DE INKEY $ E6> E7 = E8 <E9 + EA - EB * EC / ED ^ EE ET EF OU F0 XOR F1 EQV F2 IMP F3 MOD F4 \ FD81 CVI FD82 CVS FD83 CVD FD84 MKI $ FD85 MKS $ FD86 MKD $ FD8B EXTERR FE81 FICHIERS FE82 FIELD FE83 SYSTÈME FE84 NOM FE85 LSET FE86 RSET FE87 KILL FE88 PUT FE89 GET FE8A RAZ CHAÎNE FE8B COMMUNE FE8C FE8D DATE $ FE8E TIME $ FE8F PAINT FE90 COM FE91 CIRCLE FE92 TIRAGE FE93 JEU FE94 TIMER FE95 ERDEV FE96 IOCTL FE97 CHDIR FE98 MKDIR FE99 RMDIR FE9A SHELL FE9B ENVIRON FE9C VIEW FE9D WINDOW FE9E PPAFM FE9F PALETTE FEA0 LCOPY AEED 1 APPELS AEED 5 PCOPY FEA7 BLOCAGE FEA8 UNLOCK FF81 LEFT $ FF82 DROIT $ Ff83 MID $ FF84 SGN FF85 INT FF86 ABS FF87 SQR FF88 ROND FF89 SIN FF8A LOG FF8B EXP FF8C COS FF8D TAN FF8E ATN FF8F FRE FF90 INP FF91 POS FF92 LEN FF93 STR $ FF94 VAL FF95 ASC FF96 CHR $ FF97 PEEK FF98 SPACE $ FF99 octobre $ FF9A HEX $ FF9B LPOS FF9C CINT FF9D CSNG FF9E CDBL FF9F FIX FFA0 PEN FFA1 STICK FFA2 STRIG FFA3 EOF FFA4 LOC FFA5 LOF  
  
The following additional reserved words are activated by the option syntax={pcjr|tandy}.
+
Les mots réservés supplémentaires suivants sont activés par l'option syntax = {PCjr | tandy}.
  
    FEA4 NOISE FEA6 TERM
+
  BRUIT AEED 4 FEA6 TERME
  
The following additional reserved word is activated by the debug option. It is specific to PC-BASIC and not present in GW-BASIC.
+
Le mot réservé supplémentaire suivant est activé par l'option de débogage. Il est spécifique au PC-BASIC et non présent dans GW-BASIC.
  
    FFFF DEBUG  
+
  FFFF DEBUG  
  
Internal use tokens
+
utiliser des jetons internes
  
The tokens 10, 1E and 0D are known to be used internally by GW-BASIC. They should not appear in a correctly stored tokenised program file.
+
Les jetons 10, 1E et 0D sont connus pour être utilisés en interne par GW-BASIC. Ils ne doivent pas apparaître dans un fichier de programme tokenised correctement stocké. Microsoft Binary Format
Microsoft Binary Format
+
 
 +
nombres à virgule flottante dans GW-BASIC et PC-BASIC sont représentés dans Microsoft Binary Format (MBF), qui diffère de la norme IEEE 754 utilisé par la quasi-totalité des logiciels modernes et de matériel. Par conséquent, les fichiers binaires générés soit par BASIC sont entièrement compatibles les uns avec les autres et avec certaines applications modernes pour GW-BASIC, mais pas facilement interchangeables avec d'autres logiciels. QBASIC, par exemple, utilise des flotteurs IEEE.
 +
 
 +
MBF diffère de l'IEEE dans la position du bit de signe et en utilisant seulement 8 bits pour l'exposant, à la fois en simple et en double précision. Cela rend la gamme des nombres admissibles dans un nombre double précision MBF plus petit, mais leur plus grande précision, que pour un IEEE double: une seule MBF a 23 bits de précision, tandis qu'un double-MBF a 55 bits de précision. Tous les deux ont la même gamme.
  
Floating point numbers in GW-BASIC and PC-BASIC are represented in Microsoft Binary Format (MBF), which differs from the IEEE 754 standard used by practically all modern software and hardware. Consequently, binary files generated by either BASIC are fully compatible with each other and with some applications contemporary to GW-BASIC, but not easily interchanged with other software. QBASIC, for example, uses IEEE floats.
+
Contrairement à l'IEEE, le format Microsoft binaire ne supporte pas les zéros signés, numéros subnormales, infinités ou valeurs non-a-nombre.
  
MBF differs from IEEE in the position of the sign bit and in using only 8 bits for the exponent, both in single- and in double-precision. This makes the range of allowable numbers in an MBF double-precision number smaller, but their precision higher, than for an IEEE double: an MBF single has 23 bits of precision, while an MBF double has 55 bits of precision. Both have the same range.
+
MBF nombres à virgule flottante sont représentés en octets comme suit:
  
Unlike IEEE, the Microsoft Binary Format does not support signed zeroes, subnormal numbers, infinities or not-a-number values.
+
Unique
  
MBF floating point numbers are represented in bytes as follows:
+
  E0 M3 M2 M1
  
Single
 
    M3 M2 M1 E0
 
 
Double
 
Double
    M7 M6 M5 M4 M3 M2 M1 E0
 
  
Here, E0 is the exponent byte and the other bytes form the mantissa, in little-endian order so that M1 is the most significant byte. The most significant bit of M1 is the sign bit, followed by the most significant bits of the mantissa: M1 = s0 f1 f2 f3 f4 f5 f6 f7. The other bytes contain the less-significant mantissa bits: M2 = f8 f9 fA fB fC fD fE fF, and so on.
+
  E0 M7 M6 M5 M4 M3 M2 M1  
  
The value of the floating-point number is v = 0 if E0 = 0 and v = (-1) s0 × mantissa × 2 E0 - 128 otherwise, where the mantissa is formed as a binary fraction mantissa = 0 . 1 f1 f2 f3 ...
+
Ici, E0 est l'octet d'exposant et les autres octets forment la mantisse, pour petit-boutiste de telle sorte que M1 est l'octet le plus significatif. Le bit le plus significatif de M1 est le bit de signe, suivi par les bits les plus significatifs de la mantisse: M1 = s0 F1 F2 F3 F4 F5 F6 F7. Les autres octets contiennent les bits moins significatifs mantisse: M2 = f8 f9 fA fB fC fD fE fF, et ainsi de suite.
Protected file format
+
  
The protected format is an encrypted form of the tokenised format. GW-BASIC would refuse to show the source code of such files. This protection scheme could easily be circumvented by changing a flag in memory. Deprotection programs have circulated widely for decades and the decryption algorithm and keys were published in a mathematical magazine.
+
La valeur du nombre à virgule flottante est v = 0 si E0 = 0 et v = (-1) s0 × mantisse × 2 E0 - 128 autrement, où la mantisse est formée comme une fraction mantisse binaire = 0. 1 f1 f2 f3 ... format de fichier protégé
  
A protected program file on a disk device has the following format.
+
Le format protégé est une forme cryptée du format tokenised. GW-BASIC refuserait de montrer le code source de ces fichiers. Ce système de protection pourrait être facilement contournée en changeant un drapeau dans la mémoire. programmes de déprotection ont largement circulé depuis des décennies et l'algorithme de déchiffrement et les clés ont été publiées dans un magazine mathématique.
  
Magic byte
+
Un fichier de programme protégé sur un périphérique de disque a le format suivant.
    FE
+
Payload
+
    Encrypted content of a tokenised program file, including its end of file marker but excluding its magic byte. The encription cipher rotates through an 11-byte and a 13-byte key so that the resulting transformation is the same after 143 bytes. For each byte,
+
  
        Subtract the corresponding byte from the 11-byte sequence
+
octet magique
 +
 
 +
  FE
 +
 
 +
Charge utile
 +
 
 +
  Encrypted contenu d'un fichier de programme tokenised, y compris son marqueur de fin de fichier, mais à l'exclusion de son octet magique.  Le chiffrement encription tourne d'un 11-octet et une clé de 13 octets de sorte que la transformation résultante est la même après 143 octets.  Pour chaque octet,
 +
 
 +
  Soustraire l'octet correspondant de la séquence de 11 octets,
 
         0B 0A 09 08 07 06 05 04 03 02 01
 
         0B 0A 09 08 07 06 05 04 03 02 01
         Exclusive-or with the corresponding byte from the 11-byte key
+
         Exclusive ou avec l'octet correspondant de la clé de 11 octets
         1E 1D C4 77 26 97 E0 74 59 88 7C
+
         1D 1E C4 77 26 97 74 59 88 E0 7C
         Exclusive-or with the corresponding byte from the 13-byte key
+
         Exclusive ou avec l'octet correspondant de la clé de 13 octets
 
         A9 84 8D CD 75 83 43 63 24 83 19 F7 9A
 
         A9 84 8D CD 75 83 43 63 24 83 19 F7 9A
         Add the corresponding byte from the 13-byte sequence
+
         Ajouter l'octet correspondant de la séquence de 13 octets,
 
         0D 0C 0B 0A 09 08 07 06 05 04 03 02 01
 
         0D 0C 0B 0A 09 08 07 06 05 04 03 02 01
  
End of file marker
+
Marqueur de fin de fichier
    An 1A is written to mark the end of file. This is optional; the file will be read without problems if it is omitted. Since the end-of-file marker of the tokenised program is included in the encrypted content, a protected file is usually one byte longer than its unprotected equivalent.
+
  
BSAVE file format
+
  Un 1A est écrit pour marquer la fin du fichier.  Cette option est facultative;  le fichier sera lu sans problème si elle est omise.  Depuis le marqueur du programme tokenised de fin de fichier est inclus dans le contenu crypté, un fichier protégé est généralement un octet plus long que son équivalent non protégé.
  
A memory-dump file on a disk device has the following format.
+
format de fichier BSAVE
  
Magic byte
+
Un fichier de vidage de mémoire sur un périphérique de disque a le format suivant.
    FD
+
Header
+
    Bytes Format Meaning
+
    2 Unsigned 16-bit little-endian integer. Segment of the memory block.
+
    2 Unsigned 16-bit little-endian integer. Offset of the first byte of the memory block.
+
    2 Unsigned 16-bit little-endian integer. Length of the memory block in bytes.
+
Payload
+
    The bytes of the memory block.
+
Footer
+
    On Tandy only, the magic byte and the six bytes of the header are repeated here. This is optional; the file will be read without problems if it is omitted.
+
End of file marker
+
    An 1A is written to mark the end of file. This is optional; the file will be read without problems if it is omitted.  
+
  
Cassette file format
+
octet magique
  
Files on cassette are stored as frequency-modulated sound. The payload format of files on cassette is the same as for files on disk device, but the headers are different and the files may be split in chunks.
+
  FD
Modulation
+
  
A 1-bit is represented by a single 1 ms wave period (1000 Hz). A 0-bit is represented by a single 0.5 ms wave period (2000 Hz).
+
Entête
Byte format
+
  
A byte is sent as 8 bits, most significant first. There are no start- or stopbits.
+
  Octets Format Signification
Record format
+
    2 Unsigned 16-bit entier little-endian. Segment du bloc de mémoire.
 +
    2 Unsigned 16-bit entier little-endian.  Décalage du premier octet du bloc de mémoire.
 +
    2 Unsigned 16-bit entier little-endian.  La longueur du bloc de mémoire en octets.
  
A file is made up of two or more records. Each record has the following format:
+
Charge utile
Length Format Meaning
+
256 bytes All FF 2048 ms pilot wave at 1000 Hz, used for calibration.
+
1 bit 0 Synchronisation bit.
+
1 byte 16 (SYN) Synchronisation byte.
+
256 bytes Data block.
+
2 bytes Unsigned 16-bit big-endian integer CRC-16-CCITT checksum.
+
4 bytes All FF End of record marker.
+
  
Tokenised, protected and BSAVE files consist of a header record followed by a single record which may contain multiple 256-byte data blocks, each followed by the 2 CRC bytes. Plain text program files and data files consist of a header record followed by multiple single-block records.
+
  Les octets du bloc de mémoire.  
Header block format
+
Bytes Format Meaning
+
1 A5 Header record magic byte
+
8 8 characters Filename.
+
1 File type. 00 for data file, 01 for memory dump, 20 or A0 for protected, 40 for plain text program, 80 for tokenised program.
+
2 Unsigned 16-bit little-endian integer Length of next data record, in bytes.
+
2 Unsigned 16-bit little-endian integer Segment of memory location.
+
2 Unsigned 16-bit little-endian integer Offset of memory location.
+
1 00 End of header data
+
239 All 01 Filler
+
Data block format
+
Bytes Format Meaning
+
1 8-bit unsigned integer Number of payload bytes in last record, plus one. If zero, the next record is not the last record.
+
255 Payload data. If this is the last record, any unused bytes are filled by repeating the last payload byte.
+
Character codes
+
  
Depending on context, PC-BASIC will treat a code point in the control characters range as a control character or as a glyph defined by the active codepage which by default is codepage 437. Code points of &h80 or higher are always interpreted as a codepage glyph.
+
Bas de page
ASCII
+
  
This is a list of the American Standard Code for Information Interchange (ASCII). ASCII only covers 128 characters and defines the code point ranges &h00–&h1F and &h7F as control characters which do not have a printable glyph assigned to them. This includes such values as the Carriage Return (CR) character that ends a program line.
+
  Sur Tandy seulement, l'octet magique et les six octets de l'en-tête sont repris ici. Cette option est facultative;  le fichier sera lu sans problème si elle est omise.  
  
In the context of this documentation, character &h1A (SUB) will usually be indicated as EOF since it plays the role of end-of-file marker in DOS.
+
Marqueur de fin de fichier
  _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
+
0_ NUL SOH STX ETX EOT ENQ ACK BEL BS  HT  LF  VT  FF  CR  SO  SI
+
1_ DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM  SUB ESC FS  GS  RS  US
+
2_ ! " # $ % & ' ( ) * + , - . /
+
3_ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+
4_ @ A B C D E F G H I J K L M N O
+
5_ P Q R S T U V W X Y Z [ \ ] ^ _
+
6_ ` a b c d e f g h i j k l m n o
+
7_ p q r s t u v w x y z { | } ~ DEL
+
Codepage 437
+
  
This table shows the characters that are produced by the 256 single-byte code points when the DOS Latin USA codepage 437 is loaded, which is the default. Code points &h00 and &h20–&h7E are fixed while the other characters, as well as any double-byte characters, can be redefined by loading another codepage.
+
  Un 1A est écrit pour marquer la fin du fichier. Cette option est facultative;  le fichier sera lu sans problème si elle est omise.  
  _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
+
0_ ☺ ☻ ♥ ♦ ♣ ♠ • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼
+
1_ ► ◄ ↕ ‼ ¶ § ▬ ↨ ↑ ↓ → ← ∟ ↔ ▲ ▼
+
2_ ! " # $ % & ' ( ) * + , - . /
+
3_ 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+
4_ @ A B C D E F G H I J K L M N O
+
5_ P Q R S T U V W X Y Z [ \ ] ^ _
+
6_ ` a b c d e f g h i j k l m n o
+
7_ p q r s t u v w x y z { | } ~ ⌂
+
8_ Ç ü é â ä à å ç ê ë è ï î ì Ä Å
+
9_ É æ Æ ô ö ò û ù ÿ Ö Ü ¢ £ ¥ ₧ ƒ
+
A_ á í ó ú ñ Ñ ª º ¿ ⌐ ¬ ½ ¼ ¡ « »
+
B_ ░ ▒ ▓ │ ┤ ╡ ╢ ╖ ╕ ╣ ║ ╗ ╝ ╜ ╛ ┐
+
C_ └ ┴ ┬ ├ ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧
+
D_ ╨ ╤ ╥ ╙ ╘ ╒ ╓ ╫ ╪ ┘ ┌ █ ▄ ▌ ▐ ▀
+
E_ α ß Γ π Σ σ µ τ Φ Θ Ω δ ∞ φ ε ∩
+
F_ ≡ ± ≥ ≤ ⌠ ⌡ ÷ ≈ ° ∙ · √ ⁿ ² ■
+
Keycodes
+
Scancodes
+
  
PC-BASIC uses PC/XT scancodes, which originated on the 83-key IBM Model F keyboard supplied with the IBM PC 5150. The layout of this keyboard was quite distinct from modern standard keyboards with 101 or more keys, but keys on a modern keyboard produce the same scancode as the key with the same function on the Model F. For example, the key that (on a US keyboard) produces the \ was located next to the left Shift key on the Model F keyboard and has scancode &h2B. The (US) backslash key still has this scancode, even though it is now usually found above the Enter key.
+
format de fichier cassette
  
To further complicate matters, keyboards for different locales have their layout remapped in software rather than in hardware, which means that they produce the same scancode as the key that on a US keyboard is in the same location, regardless of which character they actually produce.
+
Les fichiers sur la cassette sont stockées sous forme sonore à modulation de fréquence. Le format de la charge utile des fichiers sur la cassette est le même que pour les fichiers sur un périphérique de disque, mais les en-têtes sont différents et les fichiers peut être divisé en morceaux. Modulation
  
Therefore, the A on a French keyboard will produce the same scancode as the Q on a UK or US keyboard. The aforementioned US \ key is identified with the key that is generally found to the bottom left of Enter on non-US keyboards. For example, on my UK keyboard this is the # key. Non-US keyboards have an additional key next to the left Shift which on the UK keyboard is the \. Therefore, while this key is in the same location and has the same function as the Model F \, it has a different scancode.
+
A 1-bit est représenté par une seule période d'onde de 1 ms (1000 Hz). A 0-bit est représenté par une seule période d'onde de 0,5 ms (2000 Hz). le format de l'octet
  
In the table below, the keys are marked by their function on a US keyboard, but it should be kept in mind that the scancode is linked to the position, not the function, of the key.
+
Un octet est envoyé en tant que 8 bits, le plus significatif en premier. Il n'y a pas ou démarrage stopbits. Format d'enregistrement
Key Scancode
+
Esc 01
+
1 ! 02
+
2 @ 03
+
3 # 04
+
4 $ 05
+
5 % 06
+
6 ^ 07
+
7 & 08
+
8 * 09
+
9 ( 0A
+
0 ) 0B
+
- _ 0C
+
= + 0D
+
Backspace 0E
+
Tab 0F
+
q Q 10
+
w W 11
+
e E 12
+
r R 13
+
t T 14
+
y Y 15
+
u U 16
+
i I 17
+
o O 18
+
p P 19
+
[ { 1A
+
] } 1B
+
Enter 1C
+
Ctrl 1D
+
a A 1E
+
s S 1F
+
d D 20
+
f F 21
+
g G 22
+
h H 23
+
j J 24
+
k K 25
+
l L 26
+
; : 27
+
' " 28
+
` ~ 29
+
Left Shift 2A
+
\ | 2B
+
z Z 2C
+
x X 2D
+
c C 2E
+
v V 2F
+
b B 30
+
n N 31
+
m M 32
+
, < 33
+
. > 34
+
/ ? 35
+
Right Shift 36
+
keypad * PrtSc 37
+
Alt 38
+
Space 39
+
Caps Lock 3A
+
F1 3B
+
F2 3C
+
F3 3D
+
F4 3E
+
F5 3F
+
F6 40
+
F7 41
+
F8 42
+
F9 43
+
F10 44
+
Num Lock 45
+
Scroll Lock Pause 46
+
keypad 7 Home 47
+
keypad 8 ↑ 48
+
keypad 9 Pg Up 49
+
keypad - 4A
+
keypad 4 ← 4B
+
keypad 5 4C
+
keypad 6 → 4D
+
keypad + 4E
+
keypad 1 End 4F
+
keypad 2 ↓ 50
+
keypad 3 Pg Dn 51
+
keypad 0 Ins 52
+
keypad . Del 53
+
SysReq 54
+
\ | (Non-US 102-key) 56
+
F11 57
+
F12 58
+
Left Logo (Windows 104-key) 5B
+
Right Logo (Windows 104-key) 5C
+
Menu (Windows 104-key) 5D
+
ひらがな/カタカナ Hiragana/Katakana (Japanese 106-key) 70
+
\ _ (Japanese 106-key) 73
+
変換 Henkan (Japanese 106-key) 79
+
無変換 Muhenkan (Japanese 106-key) 7B
+
半角/全角 Hankaku/Zenkaku (Japanese 106-key) 29
+
¥ | (Japanese 106-key) 7D
+
한자 Hanja (Korean 103-key) F1
+
한/영 Han/Yeong (Korean 103-key) F2
+
\ ? ° (Brazilian ABNT2) 73
+
keypad . (Brazilian ABNT2) 7E
+
e-ASCII codes
+
  
Alongside scancodes, most keys also carry a character value the GW-BASIC documentation calls extended ASCII. Since this is a rather overloaded term, we shall use the abbreviation e-ASCII exclusively for these values. The values returned by the INKEY$ function are e-ASCII values.
+
Un fichier est constitué de deux ou plusieurs enregistrements. Chaque enregistrement a le format suivant: Longueur Format Signification 256 octets Tous FF 2048 ms onde pilote à 1000 Hz, utilisé pour l'étalonnage. 1 bit 0 Synchronisation bit. 1 octet 16 (SYN) Synchronisation octet. 256 octets du bloc de données. 2 octets Unsigned 16-bit entier big-endian CRC-16-CCITT checksum. 4 octets Tous FF Fin de marqueur d'enregistrement.
  
e-ASCII codes are one or two bytes long; single-byte codes are simply ASCII codes whereas double-byte codes consist of a NUL character plus a code indicating the key pressed. Some, but certainly not all, of these codes agree with the keys' scancodes.
+
Tokenised, protégées et BSAVE fichiers se composent d'un enregistrement en-tête suivi d'un enregistrement unique qui peut contenir plusieurs blocs de données de 256 octets, chacune suivie par les 2 octets CRC. les fichiers de programme de texte et les fichiers de données se composent d'un enregistrement en-tête suivi par plusieurs enregistrements mono-bloc. Format du bloc d'en-tête Octets Format Signification 1 fiche A5 Header octet magique 8 8 caractères Nom du fichier. 1 Type de fichier. 00 pour le fichier de données, 01 pour vidage de la mémoire, 20 ou A0 pour protéger, 40 pour plaine programme de texte, 80 pour le programme tokenised. 2 Unsigned 16 bits little-endian entier Longueur du prochain enregistrement de données, en octets. 2 Unsigned 16-bit little-endian segment entier de l'emplacement de mémoire. 2 Unsigned 16-bit entier little-endian Décalage de l'emplacement de mémoire. 1 00 Fin des données d'en-tête 239 Tous les 01 format de bloc de remplissage de données Octets Format Signification 1 8-bit entier non signé Nombre d'octets de charge utile dans le dernier enregistrement, plus un. Si zéro, l'enregistrement suivant est pas le dernier enregistrement. 255 données utiles. Si tel est le dernier enregistrement, tous les octets non utilisés sont remplis en répétant le dernier octet de la charge utile. Les codes de caractères
  
Unlike scancodes, e-ASCII codes of unmodified keys and those of keys modified by Shift, Ctrl or Alt are all different.
+
Selon le contexte, PC-BASIC traitera un point dans le contrôle des caractères vont comme un caractère de contrôle ou comme un glyphe défini par le codepage actif qui par défaut est codepage 437. points de & h80 ou plus de code sont toujours interprétées comme un glyphe codepage Code . ASCII
  
Unmodified, Shifted and Ctrled e-ASCII codes are connected to a key's meaning, not its location. For example, the e-ASCII for Ctrl+a are the same on a French and a US keyboard. By contrast, the Alted codes are connected to the key's location, like scancodes. The US keyboard layout is used in the table below.
+
Voici une liste de l'American Standard Code for Information Interchange (ASCII). ASCII couvre uniquement les 128 caractères et définit les plages de points de code et h00- & H1F et & H7F comme des caractères de commande qui ne comportent pas un glyphe imprimable qui leur est assignée. Cela inclut des valeurs telles que le caractère de retour chariot (CR) qui met fin à une ligne de programme.
Key e-ASCII e-ASCII Shift e-ASCII Ctrl e-ASCII Alt
+
Esc 1B 1B 1B
+
1 ! 31 21 00 78
+
2 @ 32 40 00 03 00 79
+
3 # 33 23 00 7A
+
4 $ 34 24 00 7B
+
5 % 35 25 00 7C
+
6 ^ 36 5E 1E 00 7D
+
7 & 37 26 00 7E
+
8 * 38 2A 00 7F
+
9 ( 39 28 00 80
+
0 ) 30 29 00 81
+
- _ 2D 5F 1F 00 82
+
= + 3D 2B 00 83
+
Backspace 08 08 7F 00 8C
+
Tab 09 00 0F 00 8D 00 8E
+
q Q 71 51 11 00 10
+
w W 77 57 17 00 11
+
e E 65 45 05 00 12
+
r R 72 52 12 00 13
+
t T 74 54 14 00 14
+
y Y 79 59 19 00 15
+
u U 75 55 15 00 16
+
i I 69 49 09 00 17
+
o O 6F 4F 0F 00 18
+
p P 70 50 10 00 19
+
[ { 5B 7B 1B
+
] } 5D 7D 1D
+
Enter 0D 0D 0A 00 8F
+
a A 61 41 01 00 1E
+
s S 73 53 13 00 1F
+
d D 64 44 04 00 20
+
f F 66 46 06 00 21
+
g G 67 47 07 00 22
+
h H 68 48 08 00 23
+
j J 6A 4A 0A 00 24
+
k K 6B 4B 0B 00 25
+
l L 6C 4C 0C 00 26
+
; : 3B 3A
+
' " 27 22
+
` ~ 60 7E
+
\ | 5C 7C 1C
+
z Z 7A 5A 1A 00 2C
+
x X 78 58 18 00 2d
+
c C 63 43 03 00 2E
+
v V 76 56 16 00 2F
+
b B 62 42 02 00 30
+
n N 6E 4E 0E 00 31
+
m M 6D 4D 0D 00 32
+
, < 2C 3C
+
. > 2E 3E
+
/ ? 2F 3F
+
PrtSc 00 72 00 46
+
Space 20 20 20 00 20
+
F1 00 3B 00 54 00 5E 00 68
+
F2 00 3C 00 55 00 5F 00 69
+
F3 00 3D 00 56 00 60 00 6A
+
F4 00 3E 00 57 00 61 00 6C
+
F5 00 3F 00 58 00 62 00 6D
+
F6 00 40 00 59 00 63 00 6E
+
F7 00 41 00 5A 00 64 00 6F
+
F8 00 42 00 5B 00 65 00 70
+
F9 00 43 00 5C 00 66 00 71
+
F10 00 44 00 5D 00 67 00 72
+
F11 (Tandy) 00 98 00 A2 00 AC 00 B6
+
F12 (Tandy) 00 99 00 A3 00 AD 00 B7
+
Home 00 47 00 47 00 77
+
End 00 4F 00 4F 00 75
+
PgUp 00 49 00 49 00 84
+
PgDn 00 51 00 51 00 76
+
↑ 00 48 00 48
+
← 00 4B 00 87 00 73
+
→ 00 4D 00 88 00 74
+
↓ 00 50 00 50
+
keypad 5 35 35 05
+
Ins 00 52 00 52
+
Del 00 53 00 53
+
Acknowledgements
+
Contributors
+
  
PC-BASIC would not exist without those contributing code, reporting bugs, sending in patches, and documenting GW-BASIC's behaviour. Thank you all!
+
Dans le cadre de cette documentation, le caractère & H1A (SUB) sera généralement indiquée comme EOF car il joue le rôle de marqueur de fin de fichier dans DOS.
  
    Rob Hagemans, lead author
+
  _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
    Wengier Wu, bug fixes, advice for CJK support
+
    WJB, bug fixes
+
    Jan Bredenbeek, bug fixes, advice for BASICODE support
+
    Ronald Herrera, testing, bug hunting
+
    Miguel Dorta, testing, serial ports
+
    Patrik, testing, serial ports
+
    Duane, testing, serial ports
+
  
Shoulders of Giants
+
0_ NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 1_ DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 2_! "# $% & '() * +, - / 3_ 0 1 2 3 4 5 6 7 8 9:;. <? => 4_ @ ABCDEFGHIJKLMNO 5_ PQRSTUVWXYZ [\] ^ _ 6_` abcdefghijklmno 7_ pqrstuvwxyz {|} ~ DEL Codepage 437
  
PC-BASIC depends on the following open-source projects:
+
Ce tableau montre les caractères qui sont produits par les 256 points de code d'un octet lorsque le DOS Latin USA codepage 437 est chargé, ce qui est la valeur par défaut. points de code & h00 et & h20- & H7E sont fixés, tandis que les autres personnages, ainsi que tous les caractères à deux octets, peuvent être redéfinis en chargeant un autre codepage.
  
     Python
+
  _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
 +
 
 +
0_ ☺ ☻ ♥ ♦ ♣ ♠ • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼ 1_ ► ◄ ↕! ¶ § ▬ ↨ ↑ ↓ → ← ∟ ↔ ▲ ▼ 2_! "# $% & '() * +, - / 3_ 0 1 2 3 4 5 6 7 8 9:;. <? => 4_ @ ABCDEFGHIJKLMNO 5_ PQRSTUVWXYZ [\] ^ _ 6_` abcdefghijklmno 7_ pqrstuvwxyz {|} ~ ⌂ 8_ ç ü é A A A A ç ê ë è i i i Ä Å 9_ é æ Æ ó ó ó û ù ÿ Ö ü ¢ ¥ £ ₧ ƒ A_ á í ó ú ñ ñ ª º ¿⌐ ¬ ½ ¼ ¡ «» B_ ░ ▒ ▓ │ ┤ ╡ ╢ ╖ ╕ ╣ ║ ╗ ╝ ╜ ╛ ┐ C_ └ ┴ ┬ ├ ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧ D_ ╨ ╤ ╥ ╙ ╘ ╒ ╓ ╫ ╪ ┘ ┌ █ ▄ ▌ ▐ ▀ E_ α ß Γ π Σ σ μ τ Φ Θ Ω δ ∞ φ ε ∩ F_ ≡ ± ≥ ≤ ⌠ ⌡ ÷ ≈ ° ∙ · √ ⁿ ² ■ scancodes codes d'activation
 +
 
 +
PC-BASIC utilise scancodes PC / XT, qui proviennent de la 83-clé IBM Modèle F clavier fourni avec le PC IBM 5150. La mise en page de ce clavier était tout à fait distinct de claviers standards modernes avec 101 touches ou plus, mais les touches d'un moderne clavier produire le même scancode que la clé avec la même fonction sur le modèle F. par exemple, la clé (sur un clavier US) produit le \ a été situé à côté de la touche Maj gauche sur le clavier Modèle F et a scancode & H2B. Le (US) touche backslash a encore cette scancode, même si elle est maintenant généralement trouvé au-dessus de la touche Entrée.
 +
 
 +
Pour compliquer encore les choses, claviers pour différents paramètres régionaux ont leur disposition recartographiée dans le logiciel plutôt que dans le matériel, ce qui signifie qu'ils produisent le même scancode que la clé sur un clavier américain est dans le même emplacement, quel que soit le caractère qu'ils produisent effectivement.
 +
 
 +
Par conséquent, l'un sur un clavier français produira le même scancode que le Q sur un clavier Royaume-Uni ou des États-Unis. Le document US \ clé est identifié avec la clé qui se trouve généralement en bas à gauche de Enter sur les claviers non américains. Par exemple, sur mon clavier UK ceci est la touche #. claviers américains ont une clé supplémentaire à côté de la touche Maj gauche qui sur le clavier du Royaume-Uni est le \. Par conséquent, alors que cette clé est dans le même emplacement et a la même fonction que le modèle F \, il a un scancode différent.
 +
 
 +
Dans le tableau ci-dessous, les touches sont marquées par leur fonction sur un clavier américain, mais il faut garder à l'esprit que le scancode est lié à la position, pas la fonction, de la clé. Scancode Key Esc 01 1! 02 2 @ 03 3 # 04 4 $ 05 5% 06 6 ^ 07 7 & 08 8 * 09 9 (0A 0) 0B - _ 0C = + 0D Backspace 0E Tab 0F q Q 10 w W 11 e E 12 r R 13 t T 14 y Y 15 u U 16 i I 17 o O 18 p P 19 [{1A]} 1B Entrez 1C Ctrl 1D S 1F d de D d'un a 1E 20 f F 21 g g 22 h h 23 j J 24 k K 25 l L 26
 +
 
 +
     27
 +
 
 +
' "28` ~ 29 Maj gauche 2A \ |? 2B z Z 2C x X 2D c C 2F v V 2F b B 30 n N 31 m M 32, 34/35 droite du clavier Maj 36 <. 33> * PrtSc 37 Alt 38 espace 39 Caps Lock 3A F1 3B F2 3C F3 3D F4 3E F5 3F F6 40 F7 41 F8 42 F9 43 F10 44 Num Lock 45 Scroll Lock Pause du clavier 46 7 Home 47 clavier 9 Pg Up 49 clavier 8 ↑ 48 clavier - clavier 4A 4 ← 4B clavier 5 4C clavier 6 → clavier + 4E clavier clavier 4F 1 Fin 4D 2 ↓ 50 clavier 3 Pg Dn 51 clavier 0 Ins 52 touches Del 53 SysReq 54 \ |. (non-US 102 touches) 56 F11 57 F12 58 Logo gauche (Windows 104 touches) 5B Right Logo (Windows 104 touches) 5C Menu (Windows 104 touches) 5D ひ ら が な / カ タ カ ナ Hiragana / Katakana (japonais 106 touches) 70 \ _ (106 japonais-clé) 73 変 換Henkan (106 japonais-clé) 79 無 変 換 Muhenkan (106 japonais-clé) 7B 半角 / 全 角 Hankaku / Zenkaku (106 japonais-clé) 29 ¥ | (106 japonais-clé) 7D 한자 Hanja (Korean 103-clé) F1 한 / 영 Han / Yeong (103-clé coréen) F2 \? ° (Brazilian ABNT2) 73 clavier. (Brésil) ABNT2 codes 7E e-ASCII
 +
 
 +
A côté de scancodes, la plupart des touches portent également une valeur de caractère de la documentation GW-BASIC appelle ASCII étendu. Depuis ce terme est plutôt surchargé, nous utilisons l'abréviation e-ASCII exclusivement pour ces valeurs. Les valeurs renvoyées par la fonction INKEY de $ sont des valeurs e-ASCII.
 +
 
 +
e codes ASCII sont un ou deux octets de long; codes mono-octet sont tout simplement des codes ASCII alors que les codes à deux octets sont constitués d'un caractère NUL plus un code indiquant la touche enfoncée. Certains, mais certainement pas tous, de ces codes sont d'accord avec les scancodes des touches.
 +
 
 +
Contrairement à scancodes, codes e-ASCII des touches non modifiées et celles des touches modifiées par Shift, Ctrl ou Alt sont tous différents.
 +
 
 +
Unmodified, Shifted et codes Ctrled e-ASCII sont reliés à la signification d'une clé, et non son emplacement. Par exemple, l'e-ASCII Ctrl + a sont les mêmes sur un français et un clavier américain. En revanche, les codes Alted sont reliés à l'emplacement de la clé, comme scancodes. La disposition du clavier US est utilisé dans le tableau ci-dessous. Key e-ASCII e-ASCII Maj e-ASCII Ctrl e-ASCII Alt Esc 1B 1B 1B 1! 31 21 00 78 2 @ 32 40 00 03 00 79 3 # 33 23 00 7A 4 $ 34 24 00 7B 5% 35 25 00 7C 6 ^ 36 5E 1E 00 7D 7 & 37 26 00 7E 8 * 38 2A 00 7F 9 (39 28 00 80 0) 30 29 00 81 - _ 2D 5F 1F 00 82 = + 3D 2B 00 83 Backspace 08 08 7F 00 8C Tab 09 00 0F 00 8D 00 8E q Q 71 51 11 00 10 w W 77 57 17 00 11 e e 65 45 05 00 12 r R 72 52 12 00 13 t T 74 54 14 00 14 y Y 79 59 19 00 15 u U 75 55 15 00 16 i I 69 49 09 00 17 o O 6F 4F 0F 00 18 p P 70 50 10 00 19 [{5B 7B 1B]} 5D 7D 1D Entrez 0D 0D 0A 00 8F a a 61 41 01 00 1E s s 73 53 13 00 1F d D 64 44 04 00 20 f F 66 46 06 00 21 g g 67 47 07 00 22 h 68 h 48 08 00 23 j J 6A 4A 0A 00 24 k K 6B 4B 0B 00 25 l L 6C 4C 0C 00 26
 +
 
 +
    3B 3A
 +
 
 +
' "27 22` ~ 60 7E \ | 5C 7C 1C z Z 7A 5A 1A 00 2C x X 78 58 18 00 2d c C 63 43 03 00 2F v V 76 56 16 00 2F b B 62 42 02 00 30 n N 6E 4E 0E 00 31 m m 6D 4D 0D 00 32, <2C 3C.> 2E 3E /? 2F 3F PrtSc 00 72 00 46 espace 20 20 20 00 20 F1 00 3B 00 54 00 5E 00 68 F2 00 3C 00 55 00 5F 00 69 F3 00 3D 00 56 00 60 00 6A F4 00 3E 00 57 00 61 00 6C F5 00 3F 00 58 00 62 00 6D F6 00 40 00 59 00 63 00 6E F7 00 41 00 5A 00 64 00 6F F8 00 42 00 5B 00 65 00 70 F9 00 43 00 5C 00 66 00 71 F10 00 44 00 5D 00 67 00 72 F11 (Tandy) 00 98 00 A2 00 AC 00 B6 F12 (Tandy) 00 99 00 A3 00 AD 00 B7 Accueil 00 47 00 47 00 77 Fin 00 4F 00 4F 00 75 PgUp 00 49 00 49 00 84 PgDn 00 51 00 51 00 76 ↑ 00 48 00 48 ← 00 4B 00 87 00 73 → 00 4D 00 88 00 74 ↓ 00 50 00 50 clavier 5 35 35 05 Ins 00 52 00 52 Del 00 53 00 53 Remerciements Collaborateurs
 +
 
 +
PC-BASIC ne serait pas exister sans les codes contribuant, signaler les bogues, envoyant des patches, et documenter le comportement de GW-BASIC. Merci à tous!
 +
 
 +
  Rob Hagemans, auteur principal
 +
    Wengier Wu, des corrections de bugs, des conseils pour le soutien CJK
 +
    WJB, corrections de bugs
 +
    Jan Bredenbeek, des corrections de bugs, des conseils pour le soutien de BASICODE
 +
    Ronald Herrera, les tests, la chasse aux bugs
 +
    Miguel Dorta, les essais, les ports série
 +
    Patrik, les essais, les ports série
 +
    Duane, les essais, les ports série
 +
 
 +
Épaules des géants
 +
 
 +
PC-BASIC dépend des projets open-source suivants:
 +
 
 +
  python
 
     PyGame
 
     PyGame
 
     Simple DirectMedia Layer (SDL)
 
     Simple DirectMedia Layer (SDL)
 
     NumPy
 
     NumPy
 
     PyXDG
 
     PyXDG
     Python for Windows Extensions (PyWin32)
+
     Python pour les extensions de Windows (pywin32)
     PySerial
+
     pyserial
     PExpect
+
     pexpect
     ANSI|pipe
+
     ANSI | tuyau
  
Technical Documentation
+
==Documentation technique ==
  
Building PC-BASIC would have been impossible without the immense amounts of technical documentation that has been made available online. It has proven not to be feasible to compile a complete list of the documentation used. Many thanks to all those who make technical information freely available, and apologies to those whose contribution I have failed to acknowledge here.
+
Bâtiment PC-BASIC aurait été impossible sans les immenses quantités de documentation technique qui a été mis à disposition en ligne. Il a prouvé ne pas être possible d'établir une liste complète de la documentation utilisée. Un grand merci à tous ceux qui font de l'information technique disponible gratuitement, et des excuses à ceux dont la contribution que je l'ai pas reconnu ici.  
GW-BASIC tokenised file format
+
  
    Norman De Forest's seminal documentation of GW-BASIC tokens. This documentation was the starting point for the development of PC-BASIC.
+
===format de fichier tokenised GW-BASIC===
    Dan Vanderkam's online GW-BASIC decoder
+
  
GW-BASIC protected file format
+
  Norman De Forest Documentation séminale de jetons GW-BASIC.  Cette documentation a été le point de départ pour le développement de PC-BASIC.
 +
    en ligne décodeur GW-BASIC Dan Vanderkam
  
    Paul Kocher, The Cryptogram computer supplement 19, American Cryptogram Association, Summer 1994
+
===format de fichier protégé GW-BASIC===
  
Video hardware
+
  Paul Kocher, Le supplément d'ordinateur cryptogramme 19, American cryptogramme Association, Été 1994
  
    John Elliott's Vintage PC pages
+
Matériel vidéo
     Dan Rollins' TechHelp pages on PC video memory layout
+
 
     Great Hierophant's Nerdly Pleasures Blog
+
  pages PC vintage de John Elliott
 +
     Les pages de TechHelp Dan Rollins sur la mise en page de mémoire vidéo PC
 +
     Great Blog Nerdly Pleasures Hierophant
  
 
Microsoft Binary Format
 
Microsoft Binary Format
  
    Forum contributions by Julian Brucknall and Adam Burgoyne
+
  contributions de forum par Julian Brucknall et Adam Burgoyne
  
Data cassette format
+
le format de cassette de données
  
    Mike Brutman's Analysis of the IBM PC data cassette format
+
  L'analyse de Mike Brutman du format de la cassette de données IBM PC
     Dan Tobias' IBM PC data cassette format documentation
+
     IBM PC des données de cassette Format documentation de Dan Tobias
  
 
BASICODE
 
BASICODE
  
    Janny Looyenga's documentation of the BASICODE format
+
  la documentation de Janny Looyenga du format BASICODE
     Prof. Dr. Horst Völz's documentation of the BASICODE cassette file format
+
     la documentation du Prof. Dr. Horst Völz du format de fichier de cassette BASICODE
  
Serial ports
+
Les ports série
  
    Craig Peacock's documentation on interfacing the serial port
+
  la documentation de Craig Peacock sur l'interface entre le port série
     Christopher E. Strangio's tutorial on the RS232 standard
+
     tutoriel de Christopher E. Strangio sur la norme RS232
     QB64 documentation
+
     documentation QB64
  
Technical information on many topics
+
Informations techniques sur de nombreux sujets
  
    VOGONS
+
  Vogons
     Erik S. Klein's vintage computer forums
+
     forums informatiques de cru Erik S. Klein
     Peter Berg's Pete's QBasic/QuickBasic site
+
     Le site QBasic / QuickBasic Pete Peter Berg
  
Fonts
+
Polices
  
    Henrique Peron's CPIDOS codepage pack
+
  pack codepage CPIDOS de Henrique Peron
     Dmitry Bolkhovityanov's Uni-VGA font
+
     La police Uni-VGA Dmitry Bolkhovityanov
     Roman Czyborra, Qianqian Fang and others' GNU UniFont
+
     Roman Czyborra, Qianqian Fang et GNU unifont d'autres
     DOSBox VGA fonts
+
     polices DOSBox VGA
     Andries Brouwer's CPI font file format documentation
+
     CPI police format de fichier de documentation Andries Brouwer
  
Unicode-codepage mappings
+
mappages Unicode-codepage
  
    The Unicode Consortium and contributors
+
  Le Consortium Unicode et contributeurs
     GNU libiconv Project
+
     Projet GNU
 
     Aivosto
 
     Aivosto
     Konstantinos Kostis' Charsets Index
+
     Charsets Index Konstantinos Kostis de
 
     IBM CDRA
 
     IBM CDRA
     Masaki Tojo's Camellia
+
     Camellia Masaki Tojo
  
Bibliography
+
Bibliographie
  
    GW-BASIC 3.23 User's Guide, Microsoft Corporation, 1987.
+
  Guide de GW-BASIC 3.23 utilisateur, Microsoft Corporation, 1987.
 
     IBM Personal Computer Hardware Reference Library: BASIC, IBM, 1982.
 
     IBM Personal Computer Hardware Reference Library: BASIC, IBM, 1982.
     Tandy 1000 BASIC, A Reference Guide, Tandy Corporation.
+
     Tandy 1000 BASIC, Guide de référence, Tandy Corporation.
     William Barden, Jr., Graphics and Sound for the Tandy 1000s and PC Compatibles, Microtrend, 1987.
+
     William Barden, Jr., Graphics and Sound pour les 1000s Tandy et PC Compatibles, Microtrend 1987.
     Don Inman and Bob Albrecht, The GW-BASIC Reference, Osborne McGraw-Hill, 1990.
+
     Don Inman et Bob Albrecht, La Référence GW-BASIC, Osborne McGraw-Hill, 1990.
     Thomas C. McIntyre, BLUE: BASIC Language User Essay, 1991, available online.
+
     Thomas C. McIntyre, BLEU: Langue BASIC Essai de l'utilisateur, 1991, disponible en ligne.
  
Development tools
+
Outils de développement
  
PC-BASIC is developed using Git source control, GEdit and Atom text editors on an Ubuntu Linux system and hosted on GitHub and SourceForge.
+
PC-BASIC est développé en utilisant Git contrôle de code source, gEdit et Atom éditeurs de texte sur un système Ubuntu Linux et hébergé sur GitHub et SourceForge.
  
Packaging and documentation depends on the following projects:
+
Emballage et documentation dépend des projets suivants:
  
    PyInstaller
+
  PyInstaller
     Nullsoft Scriptable Install System
+
     Nullsoft Scriptable Système d'installation
 
     7-Zip
 
     7-Zip
     The GNU Base System
+
     Le système GNU de base
     Tom Rothamel's Pygame Subset for Android (superseded by RAPT)
+
     Pygame Subset Tom Rothamel pour Android (remplacé par RAPT)
 
     LXML
 
     LXML
     Markdown
+
     Réduction
  
Emulators
+
Emulateurs
  
These excellent emulators have been indispensable tools in documenting the behaviour of various Microsoft BASIC dialects.
+
Ces excellents émulateurs ont été des outils indispensables pour documenter le comportement des différents dialectes Microsoft BASIC.
  
    DOSBox
+
  DOSBox
     MESS
+
     DÉSORDRE
 
     PCE PC Emulator
 
     PCE PC Emulator
  
Licences
+
Licences PC-BASIC interprète
PC-BASIC interpreter
+
 
 +
Copyright © 2013-2016 Rob Hagemans.
 +
 
 +
Code promo valide chez Source https://github.com/robhagemans/pcbasic .
 +
 
 +
Ce programme est un logiciel libre: vous pouvez le redistribuer et / ou le modifier selon les termes de la GNU General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la licence, ou (à votre choix) toute version ultérieure.
 +
 
 +
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE; sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION À UN USAGE PARTICULIER. Voir la GNU General Public License pour plus de détails.
 +
 
 +
Vous devriez avoir reçu une copie de la GNU General Public License avec ce programme; sinon, écrivez à la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. documentation PC-BASIC
 +
 
 +
Copyright © 2014-2016 Rob Hagemans.
 +
 
 +
Ce travail est distribué sous licence Creative Commons Attribution-ShareAlike 4.0 License International.
 +
Menu de navigation
 +
 
 +
    français
 +
    Créer un compte Tarifs
 +
    Se connecter
 +
 
 +
    Page
 +
    Discussion
 +
 
 +
    Lire
 +
    Modificateur
 +
    Modifier le wikicode
 +
    Historique
 +
 
 +
    Accueil
 +
    Aide
 +
    L'Agora
 +
    Requête aux admins
 +
    modifications Récentes
  
Copyright © 2013—2016 Rob Hagemans.
+
Liens Utiles
  
Source code available at https://github.com/robhagemans/pcbasic.
+
    Outils numérique s
 +
    Participer
 +
    Liste de diffusion
 +
    bavarder
 +
    Ressources
 +
    Revue de presse
  
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
Sur le web
  
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
    nuitdebout.fr
 +
    @nuitdebout
 +
    @wiki_nuitdebout
 +
    #NuitDebout
 +
    Facebook
 +
    Diaspora
 +
    Tumblr
 +
    Reddit
 +
    Radio Debout
 +
    TV Debout
 +
    Ordre du jour
 +
    Les questions
 +
    Carte des Rassemblements
  
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
Outils
PC-BASIC documentation
+
  
Copyright © 2014—2016 Rob Hagemans.
+
    Pages liées
 +
    Suivi des pages Liées
 +
    Pages spéciales
 +
    Version imprimable
 +
    Adresse version of this
 +
    Informations sur la page
 +
    Sous-pages
  
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
+
    Dernière modification de cette page L'le 9 août 2016 à 15:07.
 +
    Le contenu is available sous licence Creative Commons paternité partage à l'Identique 3.0 Sauf mention Contraire.
 +
    Le logo Nuit Debout de Sébastien Marchal AINSI Que sa typographie sous licence are Creative Commons BY-NC-ND 4.0.

Version actuelle en date du 9 août 2016 à 18:59

PC-BASIC est un logiciel gratuit, multi-plateforme interprète pour GW-BASIC, Advanced BASIC (BASICA), PCjr Cartridge Basic et Tandy 1000 GWBASIC.

Il interprète ces dialectes BASIC avec un haut degré de précision, dans le but de compatibilité bogue pour bogue.

PC-BASIC émule vidéo et audio du matériel le plus commun sur lequel ces BASICs utilisés pour exécuter.

PC-BASIC peut lire texte brut, tokenised et fichiers .BAS protégés.

Il met en oeuvre l'arithmétique flottante dans le format Microsoft binaire (MBF) et peut donc lire et écrire des fichiers de données binaires créés par GW-BASIC.

PC-BASIC est un logiciel libre et open source publié sous la GPL version 3.

Voir aussi la [page d'accueil PC-BASIC] (http://robhagemans.github.io/pcbasic/).

! [] (Https://robhagemans.github.io/pcbasic/screenshots/pcbasic.png)

Contribuer à PC-BASIC[modifier | modifier le wikicode]

Merci pour votre intérêt à contribuer au PC-BASIC!


rapports de bugs[modifier | modifier le wikicode]

Si vous trouvez des bugs, s'il vous plaît les signaler sur le [Page SourceForge de discussion] (https://sourceforge.net/p/pcbasic/discussion/bugs/) ou [ouvrir une question sur GitHub] (https://github.com/ robhagemans / pcbasic / numéros).

Dans votre rapport de bug, s'il vous plaît préciser:

  • Quelle version de PC-BASIC vous utilisez;
  • Quel est le système que vous utilisez, y compris la version et si elle est 64-bit ou 32-bit exploitation;
  • Ce que tu as fait;
  • Qu'est-ce que vous vous attendiez à arriver;
  • Qu'est-il arrivé à la place.

La meilleure chose à faire dans un rapport de bogue est d'afficher un petit programme BASIC qui déclenche le bogue ou le comportement indésirable.

Cela permet souvent moi de voir ce qui se passe tout de suite, sinon je peux l'essayer pour moi-même. Il est presque magique comme ça.

Une fois que vous postez votre rapport, s'il vous plaît consulter dans les prochains jours: souvent, il est pas évident pour moi depuis le premier rapport que le problème exact est, puisque les gens utilisent différentes configurations, ont des attentes différentes et de faire des hypothèses différentes. Je vais souvent réponds assez rapidement pour vous demander un peu plus d'informations.

Code contributifs[modifier | modifier le wikicode]

La base de code actuel de PC-BASIC a été écrit par un seul auteur, Rob Hagemans. Cela ne veut pas dire qu'il doit rester. Si vous souhaitez contribuer code pour PC-BASIC, s'il vous plaît contacter l'auteur au _robhagemans@users.sourceforge.net_.

Vous aurez besoin de se mettre d'accord pour vos contributions de code pour être distribué sous la licence [License Expat MIT] (https://opensource.org/licenses/MIT). Ceci est une licence plus permissive que PC-BASIC est (actuellement) publié sous. La raison pour laquelle je demande une licence permissive pour les contributions est que cela me permet de re-licence le code à une date ultérieure.

Installation à partir des sources[modifier | modifier le wikicode]

Pour installer à partir des sources, télécharger la distribution source et décompresser l'archive TGZ. Les paquets suivants sont nécessaires ou recommandés lors de l'installation PC-BASIC de la source:

| package | OS | Statut | Nécessaire pour |-----------------------------------------------------------------|--------------------|--------------|---------------------------------------- | [Python 2.7.6] (http://www.python.org/download/releases/2.7.6/) | tout | nécessaire | | [Pywin32] (https://sourceforge.net/projects/pywin32/) | fenêtres | nécessaire | | [PyXDG] (http://freedesktop.org/wiki/Software/pyxdg/) | Linux, autre | nécessaire | | [PyGame 1.9.1] (http://www.pygame.org/download.shtml) | tout | essentielle | sons et graphiques | [NumPy] (https://sourceforge.net/projects/numpy/files/) | tout | essentielle | sons et graphiques | [Pyserial] (https://pypi.python.org/pypi/pyserial) | tout | recommandé | accès au port série physique ou émulé | [PyParallel] (https://pypi.python.org/pypi/pyserial) | Windows, Linux | option | accès au port parallèle physique | [Pexpect] (http://pexpect.readthedocs.org/en/latest/install.html) | OSX, Linux, autre | option | `Shell` native

Dans cette liste, _autre_ fait référence aux systèmes d'exploitation autres que Windows, Linux ou OSX.

Sur ** de Windows **, vous devez télécharger tous les paquets nécessaires à partir des sites Web des projets liés ci-dessus.

Télécharger `launcher.exe` de la [ANSI | tuyau page release] (http://github.com/robhagemans/ansipipe/releases/) et placez-le dans le répertoire où` pcbasic.py` est situé. Vous pouvez maintenant exécuter pc-base avec la commande `lanceur python pcbasic.py`. Sans ANSI | pipe, PC-BASIC fonctionne, mais vous être incapable d'utiliser les interfaces à base de texte (les options `` -t` et -b`) car ils n'imprimer que du charabia sur la console.

L'ANSI | source de tuyau de C est inclus avec PC-BASIC; si vous préférez cela à télécharger le binaire du lanceur, vous pouvez le compiler à partir des sources en exécutant `winbuild.bat`. Vous aurez besoin d'un compilateur C de travail (MinGW ou Microsoft Visual C ++) sur votre système.

Sur ** OSX **, il existe plusieurs versions de Python 2.7 et tous les téléchargements doivent correspondre à votre version et de l'architecture du processeur. Il est un peu délicat, je le crains. L'option la plus simple semble être l'installation à la fois Python et PyGame par MacPorts ou Homebrew.

Sur les distributions Linux ** avec APT ou DNF ** (y compris Debian, Ubuntu, Mint et Fedora), le script d'installation va installer automatiquement les dépendances si elle est exécutée avec les privilèges root.

Le script d'installation peut également être utilisé sur d'autres Unix ** ** systèmes ou lorsqu'ils ne sont pas l'installation en tant que root. Les dépendances peuvent souvent être installés par votre gestionnaire de paquets. Par exemple, sur les systèmes basés sur Debian:

       sudo apt-get install python2.7 python-xdg python-pygame python-numpy python-serial python-pexpect python-parallèle xsel

Sur Fedora:

       sudo DNF installer python pyxdg pygame numpy pyserial python-pexpect xsel

Sur FreeBSD:

       sudo pkg installer python27 PY27-xdg PY27-jeu PY27-numpy PY27-série PY27-pexpect xsel

Notez que PyParallel ne sont pas disponibles à partir des prises en pension de Fedora et FreeBSD. PyParallel ne supporte pas BSD; sur Fedora, vous aurez besoin d'installer de la source si vous avez besoin d'accéder aux ports parallèles physiques. Cependant, étant donné que la plupart des machines modernes ne sont pas réellement des ports parallèles, vous ne avez probablement pas besoin. PyParallel est _not_ nécessaire pour l'impression sur un CUPS ou imprimante Windows.

Compilation des sources de dépôt GitHub[modifier | modifier le wikicode]

Les instructions ci-dessus renvoient à la source * Distribution *, qui a pré-construit les fichiers de documentation et d'autres subtilités. Si vous souhaitez utiliser le code source tel quel dans le repo GitHub, vous aurez besoin pour construire les docs vous. Notez que `-h` pcbasic échouera si vous omettez ce. Compiler la documentation nécessite les modules Python [ `Lxml`] (https://pypi.python.org/pypi/lxml/3.4.3) et [` markdown`] (https://pypi.python.org/pypi/Markdown). Bien sûr, vous aurez également besoin [ `git`] (https://git-scm.com/) et toutes les dépendances de PC-BASIC énumérés ci-dessus.

1. Clone le repo github

       git clone --recursive https://github.com/robhagemans/pcbasic.git

2. Compiler la documentation

       python prepare.py

3. Exécutez pcbasic directement à partir du répertoire source

       python pcbasic

Pour éviter tout doute, vous devez ignorer `setup.py`, qui est seulement nécessaire pour générer des paquets avec `setuptools`.


questions de Pygame[modifier | modifier le wikicode]

La 1.9.1 libération de PyGame, tel qu'il est actuellement distribué avec Ubuntu et d'autres, malheureusement, contient encore quelques bugs qui ont déjà été résolus dans le code PyGame amont. Cette section décrit des solutions de contournement pour ces bugs qui peuvent être utilisés jusqu'à ce qu'une nouvelle version de PyGame est libéré avec les principales distributions.

X11 presse-papiers[modifier | modifier le wikicode]

PyGame copier-coller ne fonctionne pas correctement sur les systèmes basés sur X11. Si vous rencontrez ce problème, installez l'un des [ `xsel`] (http://www.vergenet.net/~conrad/software/xsel/) ou [ `Xclip`] (https://sourceforge.net/projects/xclip/) services publics et PC-BASIC travailleront autour de la question.

messages Joystick de débogage[modifier | modifier le wikicode]

Quelques messages de débogage ont été laissés dans le code de production pour la manipulation du joystick.

Le résultat est un flux ennuyeux de messages de débogage sur la console qui se produit lorsque vous utilisez un joystick.

Si cela vous dérange, vous devez installer PyGame de la source; voir ci-dessous.

Segmentation fault[modifier | modifier le wikicode]

Parfois, vous pouvez exécuter dans un accident avec le message d'erreur suivant:

   Erreur fatale de Python: (pygame parachute) Segmentation Fault
   Aborted (core dumped)

Malheureusement, la seule solution de contournement que je connais est d'installer PyGame des sources actuelles de développement.

Installation PyGame des sources actuelles de développement[modifier | modifier le wikicode]

1. Installez les dépendances. Ce sont les paquets dont je avais besoin sur Ubuntu 15.04:

       sudo apt-get install mercurial libpython-dev python-numpy ffmpeg libsdl1.2-dev libsdl-ttf2.0-dev libsdl-font1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libportmidi-dev libswscale -dev libavformat-dev libftgl-dev libsmpeg-dev


2. Faire un répertoire de travail pour votre construction, changer en elle et obtenir la source

       hg clone https://bitbucket.org/pygame/pygame

3. Configurer

       ./configure
   Le script vous avertira si vous dépendances manquantes.

4. Compiler

       faire

5. Installez dans votre `/ usr / arbre local`

       sudo make install

Voir aussi la [PyGame dépôt source sur BitBucket] (https://bitbucket.org/pygame/pygame/wiki/VersionControl).

PC-BASIC interprète[modifier | modifier le wikicode]

    • Copyright © 2013-2016 Rob Hagemans. **

Code promo valide chez _Source de [1](https://github.com/robhagemans/pcbasic)._

Ce programme est un logiciel libre: vous pouvez le redistribuer et / ou modifier selon les termes de la [GNU General Public License] (http://www.gnu.org/licenses/gpl-3.0.en.html) telles que publiées par la Free Software Foundation, soit la version 3 de la licence, ou (À votre choix) toute version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE; sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION À UN USAGE PARTICULIER. Voir le GNU General Public License pour plus de détails.

Vous devriez avoir reçu une copie de la GNU General Public License long avec ce programme; sinon, écrivez à la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.



Guide de démarrage rapide[modifier | modifier le wikicode]

Contributeurs[modifier | modifier le wikicode]

PC-BASIC ne serait pas exister sans les codes contribuant, signaler les bogues, envoyant des patches, et documenter le comportement de GW-BASIC. Merci à tous!

- ** Rob Hagemans **, auteur principal - ** Wengier Wu **, des corrections de bugs, des conseils pour le soutien CJK - ** WJB **, des corrections de bugs - ** Jan Bredenbeek **, des corrections de bugs, des conseils pour le soutien de BASICODE - ** Ronald Herrera **, les essais, la chasse aux bugs - ** Miguel Dorta **, les essais, les ports série - ** Patrik **, les essais, les ports série - ** Duane **, les essais, les ports série


épaules des géants[modifier | modifier le wikicode]

PC-BASIC dépend des projets open-source suivants:

 * [Python] (http://www.python.org)
 * [PyGame] (http://www.pygame.org)
 * [Simple DirectMedia Layer (SDL)] (http://www.libsdl.org)
 * [NumPy] (http://www.numpy.org)
 * [PyXDG] (http://freedesktop.org/wiki/Software/pyxdg/)
 * [Python pour les extensions de Windows (pywin32)] (https://sourceforge.net/projects/pywin32/)
 * [Pyserial] (http://pyserial.sourceforge.net/pyserial.html)
 * [Pexpect] (http://pexpect.readthedocs.org/en/latest/)
 * [ANSI | tuyau] (https://github.com/robhagemans/ansipipe)


Documentation technique[modifier | modifier le wikicode]

Bâtiment PC-BASIC aurait été impossible sans les immenses quantités de la documentation technique qui a été mis à disposition en ligne. Il a prouvé pas être possible d'établir une liste complète de la documentation utilisée. Beaucoup merci à tous ceux qui font de l'information technique disponible gratuitement, et excuses à ceux dont la contribution que je l'ai pas reconnu ici.

Format de fichier tokenised GW-BASIC[modifier | modifier le wikicode]

 * ** Norman De Forest ** s 'séminal [documentation de jetons GW-BASIC] (http://www.chebucto.ns.ca/~af380/GW-BASIC-tokens.html).
   _Ce Documentation a été le point de départ pour le développement de PC-BASIC._
 * ** [Décodeur GW-BASIC en ligne] Dan Vanderkam ** s '(http://www.danvk.org/wp/2008-02-03/reading-old-gw-basic-programs/)

format de fichier protégé GW-BASIC[modifier | modifier le wikicode]

 * ** Paul Kocher **, _La cryptogramme ordinateur supplement_ ** 19 **, American cryptogramme Association, Été 1994

Matériel vidéo[modifier | modifier le wikicode]

 * ** John Elliott ** s '[pages Vintage PC] (http://www.seasip.info/VintagePC/)
 * ** Dan Rollins ** '[TechHelp] (http://webpages.charter.net/danrollins/techhelp/0089.HTM) pages sur la mise en page de mémoire vidéo PC
 * ** Grand Hiérophante ** s '[Nerdly Pleasures Blog] (http://nerdlypleasures.blogspot.com)

Microsoft Binary Format[modifier | modifier le wikicode]

 * Les contributions du forum par ** [Julian Brucknall] (http://www.boyet.com/Articles/MBFSinglePrecision.html) ** et ** [Adam Burgoyne] (http://www.experts-exchange.com/Programming /Languages/Pascal/Delphi/Q_20245266.html)**

Format de cassette de données[modifier | modifier le wikicode]

 * ** ** Brutman Mike d '[Analyse du format de la cassette de données IBM PC] (http://www.brutman.com/Cassette_Waveforms/Cassette_Waveforms.html)
 * ** Dan Tobias ** '[IBM documentation de format de cassette de données de PC] (http://fileformats.archiveteam.org/wiki/IBM_PC_data_cassette)

BASICODE[modifier | modifier le wikicode]

 * ** Documentation du [format BASICODE] Janny Looyenga ** s '(http://www.nostalgia8.nl/basicode.htm)
 * ** Prof. documentation du [format de fichier cassette BASICODE] Dr. Horst Völz ** s '(http://www.kc85emu.de/scans/rfe0190/Basicode.htm)

ports série[modifier | modifier le wikicode]

 * ** Craig Peacock ** 'de la documentation sur [interfacer le port série] (http://retired.beyondlogic.org/serial/serial.htm)
 * ** Christopher E. Strangio ** 'de tutoriel sur [la norme RS232] (http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html)
 * [QB64 documentation](http://www.qb64.net/wiki/index.php/Port_Access_Libraries#Serial_Communication_Registers)

Informations techniques sur de nombreux sujets[modifier | modifier le wikicode]

 * [Vogons] (http://www.vogons.org/)
 * ** Erik S. Klein ** s de '[forums informatiques cru] (http://www.vintage-computer.com)
 * ** Peter Berg ** s '[site QBasic / QuickBasic Pete] (http://www.petesqbsite.com/)

Polices[modifier | modifier le wikicode]

 * ** Henrique Peron ** s '[pack codepage CPIDOS] (http://www.freedos.org/software/?prog=cpidos)
 * ** Dmitry Bolkhovityanov ** s de '[police Uni-VGA] (http://www.inp.nsk.su/~bolkhov/files/fonts/univga/)
 * ** Roman Czyborra **, ** Qianqian Fang ** et [GNU unifont] des autres (https://savannah.gnu.org/projects/unifont)
 * [DOSBox] (http://www.dosbox.com) polices VGA
 * ** Andries Brouwer ** s '[IPC documentation du format de fichier de police] (http://www.win.tue.nl/~aeb/linux/kbd/font-formats-3.html)


mappages Unicode-codepage[modifier | modifier le wikicode]

 * [Le Consortium Unicode et contributeurs] (http://www.unicode.org/Public/MAPPINGS/VENDORS)
 * [Projet GNU libiconv] (https://www.gnu.org/software/libiconv/)
 * [Aivosto] (http://www.aivosto.com/vbtips/charsets-codepages.html)
 * ** Konstantinos Kostis ** '[Index Charsets] (http://www.kostis.net/charsets/)
 * [IBM CDRA] (http://www-01.ibm.com/software/globalization/cdra/)
 * ** Masaki Tojo ** s de '[Camellia] (https://github.com/mtojo/camellia)

Bibliographie[modifier | modifier le wikicode]

 * _GW-BASIC Guide_ de 3,23 utilisateur, Microsoft Corporation, 1987.
 * _IBM Personal Computer Library de référence du matériel: BASIC_, IBM 1982.
 * _Tandy 1000 BASIC, A Guide_ Référence, Tandy Corporation.
 * ** William Barden, Jr. **, _Graphics Et audio pour les 1000s Tandy et PC Compatibles_, Microtrend 1987.
 * ** Don Inman ** et ** Bob Albrecht **, _La GW-BASIC Reference_, Osborne McGraw-Hill, 1990.
 * ** Thomas C. McIntyre **, _BLUE: BASIC Langue utilisateur Essay_, 1991, [en ligne] (https://web.archive.org/web/20060410121551/http://scottserver.net/basically/geewhiz. html).

Outils de développement[modifier | modifier le wikicode]

PC-BASIC est développé en utilisant [Git] (https://git-scm.com/) contrôle de source, [GEdit] (https://wiki.gnome.org/Apps/Gedit) et [Atom] (https://atom.io/) texte éditeurs sur un système [Ubuntu] (http://www.ubuntu.com/) Linux et hébergé sur [GitHub] (https://github.com/) et [SourceForge] (https://sourceforge.net/).

Emballage et documentation dépend des projets suivants:

 * [PyInstaller] (http://www.pyinstaller.org)
 * [Nullsoft Scriptable Install System] (http://nsis.sourceforge.net)
 * [7-Zip] (http://www.7-zip.org)
 * [Le système de base de GNU] (http://www.gnu.org/)
 * ** Tom Rothamel ** s '[Pygame Subset pour Android] (https://web.archive.org/web/20150712040220/http://pygame.renpy.org/) (remplacé par [RAPT] (http: //www.renpy.org/doc/html/android.html))
 * [LXML] (http://lxml.de)
 * [Markdown] (https://pypi.python.org/pypi/Markdown)


Emulateurs[modifier | modifier le wikicode]

Ces excellents émulateurs ont été des outils indispensables pour documenter la comportement de divers dialectes Microsoft BASIC.

 * [DOSBox] (http://www.dosbox.com)
 * [MESS] (http://www.mess.org)
 * [PCE PC Emulator] (http://www.hampa.ch/pce/)

aperçu

Un libre, multi-plateforme émulateur pour la famille GW-BASIC des interprètes.

PC-BASIC est un logiciel gratuit, multi-plateforme interprète pour GW-BASIC, Advanced BASIC (BASICA), PCjr Cartridge Basic et Tandy 1000 GWBASIC. Il interprète ces dialectes BASIC avec un haut degré de précision, dans le but de compatibilité bogue pour bogue. PC-BASIC émule vidéo et audio du matériel le plus commun sur lequel ces BASICs utilisés pour exécuter. PC-BASIC court texte brut, tokenised et fichiers .BAS protégés. Elle met en oeuvre l'arithmétique flottante dans le format Microsoft binaire (MBF) et peut donc lire et écrire des fichiers de données binaires créés par GW-BASIC.

PC-BASIC est un logiciel libre et open source publié sous la GPL version 3.

Voir aussi la page d'accueil PC-BASIC.

Guide de démarrage rapide[modifier | modifier le wikicode]

Ce guide de démarrage rapide couvre l'installation et l'utilisation élémentaire du PC-BASIC. Pour plus d'informations, s'il vous plaît se référer à la documentation du PC-BASIC complète qui couvre les options d'utilisation, ligne de commande et une approche globale de référence du langage GW-BASIC. Cette documentation est également inclus avec la version PC-BASIC actuelle.

Si vous trouvez des bugs, s'il vous plaît les signaler sur la page de discussion SourceForge ou ouvrir une question sur GitHub. Il serait très utile si vous pourriez inclure un court morceau de code BASIC qui déclenche le bug. Installation

distributions packagées peuvent être téléchargés à partir de l'un des emplacements suivants:

 versions PC-BASIC sur GitHub
   versions PC-BASIC sur SourceForge

Sous Windows:

 exécuter le programme d'installation
   pour commencer, cliquez sur PC-BASIC dans votre menu Démarrer

Sur OS X:

 monter l'image de disque
   pour commencer, cliquez deux fois sur l'application PC-BASIC

Sous Linux et autres Unix:

 décompressez l'archive
   exécuter sudo ./install.sh.  Vous pouvez être invité à installer d'autres dépendances à travers le système de gestion des paquets de votre OS.
   pour commencer, cliquez sur PC-BASIC dans votre menu Applications ou exécuter pcbasic sur la ligne de commande.

Si les options ci-dessus sont sans objet ou si vous préférez installer de la source, s'il vous plaît consulter INSTALL.md pour obtenir des instructions détaillées. Kit de survie BASIC

Cliquez sur l'icône de l'application PC-BASIC ou exécutez pcbasic sur la ligne de commande Windows, OSX ou Linux et PC-BASIC démarre en mode direct sans programme chargé. La cible d'émulation par défaut est GW-BASIC 3.23 sur un PC compatible IBM générique avec une carte vidéo VGA.

PC-BASIC démarre en mode direct, une interface de style années 1980 opéré par l'exécution des commandes BASIC directement. Il n'y a pas de menu, ni y at-il des indices visuels que nous sommes venus à attendre d'un logiciel moderne.

Quelques commandes essentielles pour vous aider à vous déplacer: LOAD "PROGRAM" charge le fichier de programme nommé program.bas en mémoire, mais ne fonctionne pas encore. LISTE affiche le code BASIC du programme en cours. RUN démarre le programme en cours. SAVE "PROGRAM", A enregistre le programme en cours d'un fichier texte lisible par l'homme nommé program.bas. NEW supprime immédiatement le programme actuel de la mémoire. SYSTÈME sort PC-BASIC immédiatement, en rejetant tout programme ou des données non enregistrées.

Utilisez l'une des combinaisons de touches Ctrl + Pause, Ctrl + Scroll Lock, Ctrl + C ou F12 + B pour interrompre un programme en cours et revenir en mode direct. Configuration

Vous pouvez fournir des options pour modifier le comportement de PC-BASIC en modifiant le fichier de configuration. Si vous installez le package Windows, le programme d'installation crée automatiquement un raccourci vers ce fichier dans le dossier du menu de démarrage PC-BASIC. Le fichier peut aussi être trouvé à l'emplacement suivant: Fichier de configuration OS Windows% APPDATA% \ pcbasic \ PCBASIC.INI OS X ~ / Library / Application Support / pcbasic / PCBASIC.INI Linux ~ / .config / pcbasic / PCBASIC.INI

Par exemple, pour commencer avec la cible d'émulation réglée sur Tandy 1000 GW-BASIC, comprend la ligne suivante sous [pcbasic] dans le fichier de configuration:

preset = tandy

Un fichier de configuration par défaut sera créé la première fois que vous exécutez PC-BASIC. Voir les commentaires dans ce fichier ou consulter la documentation pour plus d'informations et des exemples d'options.

Si vous démarrez PC-BASIC à partir de l'invite de commande (sous Windows, est le C: \> prompt), vous pouvez fournir directement les options de configuration. Par exemple:

pcbasic program.bas exécute le fichier de programme nommé directement program.bas. pcbasic --preset = tandy commence avec la cible d'émulation réglée sur Tandy GW-BASIC sur un Tandy 1000. pcbasic --preset = PCjr commence avec la cible d'émulation réglée sur cartouche BASIC sur un PCjr IBM. -h pcbasic montre toutes les options de ligne de commande disponibles.

Si vous utilisez PC-BASIC de l'invite de commande sous Windows, assurez-vous d'exécuter le binaire pcbasic.com. Vous ne verrez aucune sortie si vous appelez le binaire pcbasic.exe. Obtenir des programmes

Les pages suivantes ont téléchargements de programmes GW-BASIC, beaucoup d'informations et d'autres liens.

 La page Geocities archivé de KindlyRat a un certain nombre de jeux classiques et les services publics.
   PeatSoft fournit de la documentation GW-BASIC, les services publics et certains plus de jeux.
   Neil C. Obremski gw-basic.com a quelques nouveaux jeux amusants récentes dans GW-BASIC.
   Leon Peyre a une belle collection de programmes GW-BASIC, y compris le (en) célèbre premier jeu PC IBM DONKEY.BAS.
   Brooks deForest fournit ses étonnants Tandy jeux GW-BASIC, tous libérés dans le domaine public.
   Archive de TVDog est une grande source d'informations et de programmes GW-BASIC pour le Tandy 1000.
   Phillip Bigelow fournit des programmes scientifiques écrits en GW-BASIC.
   Gary Peek fournit des sources GW-BASIC diverses qu'il a mises dans le domaine public.
   La page Classique BASE Jeux SA Moore fournit les jeux de base du livre classique de David Ahl.
   Dernier livre de Joseph Sixpack de GW-BASIC a beaucoup de programmes de bureau et de services publics, y compris la feuille de calcul PC-CALC.
   Geewhiz Collection de Thomas C. McIntyre a des applications d'affaires, des jeux et du matériel de référence.
   cd.textfiles.com a des tonnes de vieux shareware, parmi lesquels quelques bons jeux GW-BASIC.

Guide de l'utilisateur L'environnement de travail[modifier | modifier le wikicode]

La première chose que vous verrez lors du démarrage de PC-BASIC est l'environnement de travail. Comme GW-BASIC, mais contrairement à pratiquement tous les compilateurs et interprètes modernes, l'environnement de travail de PC-BASIC sert à la fois comme un environnement de développement et comme une toile sur laquelle exécuter directement les commandes BASIC. A quelques exceptions près, pratiquement toutes les commandes qui peuvent être exécutées dans l'environnement de travail peuvent être utilisés dans un programme, et vice versa.

L'écran de PC-BASIC défaut dispose de 25 lignes et 80 colonnes. La ligne 25 est utilisé par PC-BASIC pour afficher les raccourcis clavier, ce qui signifie que vous ne pouvez pas l'utiliser pour taper sur. Dans certains modes vidéo, il n'y a que 40 ou 20 colonnes.

lignes logiques dépassent la largeur de la ligne physique: si vous continuez à taper au-delà de la largeur de l'écran, le texte se terminera à la ligne suivante, mais PC-BASIC sera toujours considérer comme faisant partie de la même ligne. Une ligne logique peut être au plus 255 caractères; si vous tapez plus de 255 caractères, il ignore le reste. Une ligne peut également être enveloppé par une ligne d'alimentation, entrée avec Ctrl + Entrée.

Si vous appuyez sur Entrée, PC-BASIC tentera d'exécuter la ligne logique sur lequel le curseur est placé comme une commande. Lorsque la commande est exécutée correctement, PC-BASIC affiche l'invite Ok. S'il y a une erreur, il affiche un message d'erreur suivi par Ok. Si la ligne commence par un nombre, elle sera stockée sous la forme d'une ligne de programme. Aucune invite est affichée. touches spéciales

Les touches suivantes ont un effet spécial dans l'environnement de travail: ↑ ou Ctrl + 6 Déplacez le curseur vers le haut, à l'exception de la ligne supérieure. ↓ ou Ctrl + - Déplacez le curseur vers le bas, sauf à la ligne 24. ← ou Ctrl +] Déplacez le curseur vers la gauche. Le bord gauche de l'écran entoure, à l'exception de la ligne supérieure. → ou Ctrl + / Déplacer le curseur à droite. Le bord droit de l'écran entoure, sauf à la ligne 24. Ctrl + ← ou Ctrl + B Déplacer à la première lettre du mot précédent. Les mots se composent de lettres A-Z et chiffres 0-9. Ctrl + → ou Ctrl + F Déplacer à la première lettre du mot suivant. Tab ou Ctrl + I Déplacer le curseur sur le taquet de tabulation suivant. Les taquets de tabulation sont 8 colonnes. Backspace ou Ctrl + H Supprimer le caractère à gauche du curseur, changent tous les autres personnages sur la logique en ligne une position vers la gauche et changer les attributs de ces caractères à l'attribut actuel. Au bord gauche de l'écran, cela fait la même chose que Del. Suppr ou Ctrl + Backspace Supprimer le caractère au niveau du curseur et changent tous les autres caractères d'une position vers la gauche, la modification des attributs de courant. Esc ou Ctrl + [Supprimer la ligne logique actuelle. Ctrl + Fin ou Ctrl + E Supprimer tous les caractères du curseur jusqu'à la fin de la ligne logique. Ctrl + Pause ou Ctrl + C ou Ctrl + Scroll Lock Aller à la première colonne de la ligne suivante, sans exécuter ou de stocker la ligne sous le curseur. Entrée ou Ctrl + M Exécuter ou stocker la ligne logique actuelle. La ligne complète sur l'écran est considéré comme faisant partie de la commande, même si vous ne tapez. Une ligne commençant par un nombre est stocké sous la forme d'une ligne de programme. Fin ou Ctrl + N Déplacer le curseur à la première position après la fin de la ligne logique. Accueil ou Ctrl + K Déplacer le curseur vers le haut à gauche de l'écran. Ctrl + Accueil ou Ctrl + L Effacer l'écran et déplacer le curseur vers le haut à gauche de l'écran. Ctrl + Entrée ou Ctrl + J Déplacer vers la première colonne de la ligne suivante, reliant les deux lignes en une seule ligne logique. Ctrl + G Beep le haut-parleur. Pause ou Ctrl + Num Lock Pause. Appuyez sur une autre touche pour reprendre. Ctrl + sortie Prt Sc Basculer écho de l'écran à l'imprimante (ou un autre périphérique connecté à LPT1 :). Maj + Prt Sc Imprimer l'écran. Ins ou Ctrl + R Basculer en mode insérer. En mode d'insertion, les caractères sont insérés plutôt que écrasées à l'emplacement actuel. Si l'insertion provoque la ligne d'étendre la largeur de l'écran physique, la ligne logique se prolonge sur la ligne suivante. Les touches fléchées mode d'insertion de sortie.

Quand un programme est lancé, les commandes du programme sont suivis jusqu'à ce que le programme se ferme et revient en mode ou jusqu'à ce que l'entrée de l'utilisateur est requise diriger. Quand un programme est en cours d'exécution, quelques touches ont un effet immédiat: Pause ou l'exécution de Pause Ctrl + Num Lock. Appuyez sur une autre touche pour reprendre. Ctrl + Pause ou Ctrl + Arrêt défil Arrêter l'exécution et revenir en mode direct. Un message Break est imprimé. Ctrl + C Si ctrl-c-break = True: arrêter l'exécution et revenir en mode direct. Un message Break est imprimé.

Si l'entrée de l'utilisateur est requise par l'entrée de déclarations, LINE INPUT, ou RANDOMIZE, la plupart des touches ont le même effet que dans le mode direct. Les touches suivantes ont un effet différent: Ctrl + Pause ou Ctrl + C ou Ctrl + Arrêt défil Arrêter l'exécution et revenir en mode direct. Un message Break est imprimé. Entrez entrée Terminer et revenir au mode précédent. Raccourcis clavier

Les touches de fonction et la touche alt peuvent être utilisés comme raccourcis clavier pour certains mots-clés. Les valeurs par défaut pour les touches de fonction sont: F1 LISTE F2 RUNEnter F3 LOAD "F4 SAVE" F5 F6 contenter, "LPT1:" Entrez F7 TRONEnter F8 TROFFEnter F9 keyspace F10 ECRAN 0,0,0Enter

Les raccourcis des touches de fonction peuvent être redéfinis avec l'énoncé KEY. Les raccourcis sont affichés au bas de l'écran.

Les mots-clés suivants peuvent être entrés avec Alt + première lettre. Les raccourcis Alt ne peuvent pas être redéfinis.

 AUTO BSAVE COLOR EFFACER AUTRE POUR GOTO HEX $ INPUT KEY LOCATE MOTOR SUIVANT OUVERT TIRAGE SCREEN puis en utilisant VAL WIDTH XOR 

mots-clés alternatifs[modifier | modifier le wikicode]

Dans PC-BASIC, la touche F12 peut être utilisé pour saisir des touches spéciales qui ne sont pas présents sur certains claviers. F12 + B Pause F12 + P Pause F12 + C Caps Lock F12 + N Num Lock F12 + Scroll Lock S

La touche F12 peut également être utilisé en combinaison avec les touches numériques réguliers et les touches fléchées pour saisir des chiffres à partir du clavier numérique. Les combinaisons de F12 ne sont pas présents dans le GW-BASIC.

En outre, comme dans GW-BASIC, la touche Alt peut être utilisé pour saisir des caractères par leurs points de code (valeurs ASCII). Cela se fait en appuyant sur la touche Alt et en tapant le point de code comme une valeur décimale sur le pavé numérique, puis en relâchant la touche Alt. opérations du Presse-papiers

Contrairement à GW-BASIC, vous pouvez copier et coller du texte dans le presse papier. Cela peut être fait avec la souris ou avec la touche F11.

Utilisation du presse-papiers avec la souris fonctionne dans le style de X11: Le bouton gauche est sélectionner et copier; bouton du milieu est la pâte.

Les combinaisons de touches suivantes fonctionnent également le presse-papiers: F11 + ↑ ↓ ← → Sélectionnez une région de l'écran. F11 + A Sélectionner tout. F11 + C Copier. F11 + V Coller du presse-papiers. touches de commande Emulator

Dans PC-BASIC, F11 + F basculer en mode plein écran. Programmes et fichiers

PC-BASIC peut contenir un programme BASIC à la fois dans la mémoire. Pour entrer dans une ligne de programme, commencer par un numéro de ligne et entrez les commandes BASIC après. La longueur maximale d'une ligne de programme est de 255 caractères, y compris le numéro de ligne et tous les espaces. La ligne de programme ne sera pas exécuté immédiatement, mais stockée dans le programme. lignes du programme sont classés par numéro de ligne, de sorte que la ligne 10 est exécutée avant la ligne 20. Toutes les lignes de programme doivent avoir un numéro de ligne. Les numéros de ligne varient entre 0 et 65535 inclus. Il est impossible d'entrer un numéro de ligne supérieure à 65529, mais ceux-ci peuvent exister dans les programmes chargés. Dans une ligne de programme, les états sont séparés par des virgules.

Pour exécuter le programme, tapez la commande RUN. PC-BASIC va maintenant exécuter toutes les lignes de programme pour l'intérieur de l'environnement de travail. Vous ne pouvez pas déplacer le curseur ou entrer des commandes alors que le programme est en cours. Si et quand le programme se termine, il va rendre le contrôle de l'environnement de travail pour vous. Vous pouvez interrompre un programme à tout moment en utilisant l'une des combinaisons de touches Ctrl + Pause ou Ctrl + Scroll Lock. Le programme s'arrête immédiatement, imprimer un message de rupture et de rendre le contrôle de vous.

Dans GW-BASIC, vous ne pouvez pas utiliser Ctrl + C pour interrompre un programme en cours d'exécution. Cependant, de nombreux claviers modernes ne possèdent pas une pause ou la touche Scroll Lock, ce qui rendrait impossible d'interrompre un programme qui ne sort pas. Par conséquent, par défaut, traite de PC-BASIC Ctrl + C comme si elle était Ctrl + Break. Set ctrl-c-break = False si vous préférez le comportement de style GW-BASIC. Lorsque vous utilisez l'interface texte ou de ligne de commande, cette option est ignorée.

Un programme peut être stocké sur un lecteur en utilisant la commande SAVE, dans l'une des trois façons suivantes:

  • Texte brut, lisible par tout éditeur de texte: SAVE "MYPROG", A
  • Tokenised, prenant moins d'espace de stockage: SAVE "MYPROG"
  • Protégé, qui est un format crypté: SAVE "MYPROG", P

Dans les trois cas, le programme sera écrit dans le répertoire de travail courant avec le nom MYPROG.BAS.

PC-BASIC peut lire et écrire des fichiers protégés créés par GW-BASIC. Contrairement à GW-BASIC, cependant, il ne désactive pas accéder au contenu non crypté du fichier. Le cryptage utilisé par GW-BASIC a été rompu il y a plusieurs décennies, de sorte que le mode protégé a offert peu de protection de toute façon; interdisant l'accès est un petit risque de sécurité car elle permettrait à quelqu'un de vous envoyer un programme que vous ne pouvez pas inspecter avant de l'exécuter. Cependant, il est possible de désactiver l'accès des fichiers protégés en activant l'option strict de protection.

Vous pouvez lire un fichier de programme en mémoire avec LOAD "MYPROG". Cela effacera le programme actuellement en mémoire et le remplacer par une lecture à partir du répertoire de travail courant. Pour accéder à des fichiers dans un répertoire différent, spécifiez un chemin à partir du répertoire en cours. La spécification de chemin suit les conventions DOS. Le seul séparateur de chemin d'accès valide est le backslash \. Par exemple, LOAD "PROGRAMMES \ MYPROG".

Vous pouvez charger ou d'exécuter un programme immédiatement sur le démarrage PC-BASIC en utilisant la charge ou les options d'exécution. Par exemple, pcbasic --run = MYPROG.BAS

Les arguments de ces options peuvent être fournis en tant que chemins de PC-BASIC ou chemins d'accès dans le formulaire standard pour votre système d'exploitation.

PC-BASIC peut être utilisé pour convertir entre les trois formats de programmes: soit en chargeant le programme et l'enregistrement dans le format de votre choix, ou à partir de la ligne de commande en utilisant l'option de conversion. Pour convertir un fichier tokenised ou protégé en texte brut, vous pouvez utiliser, par exemple: pcbasic --convert = A PROGRAMP.BAS PROGRAMA.BAS Accès à vos lecteurs

Par défaut, la lettre de lecteur Z: est mappé sur le répertoire de travail courant et est le lecteur en cours. En particulier, il n'a pas été mappé à Windows Z: lecteur, si cela existe. Vous pouvez tracer des commandes et d'autres endroits du système de fichiers comme des lettres de lecteur PC-BASIC en utilisant l'option de montage. Par exemple, --mount pcbasic = A: / home / moi / BasicFloppy, C: / home / moi / Stuff ou, sous Windows, --mount pcbasic = A: C: \ Users \ Me \ BasicFloppy, C: C: \ Users \ Me \ Stuff tracera ces endroits au PC-BASIC A: et C: les lecteurs.

Si vous voulez que les lettres de lecteur de PC-BASIC soient les mêmes que celles de Windows, activez l'option carte-lecteurs. Utilisez ceci avec prudence, car cela signifie que vos programmes peuvent maintenant lire et écrire sur tous les lecteurs que Windows vous permet d'accéder.

PC-BASIC utilise les conventions DOS pour les noms de fichiers et les chemins. Ce sont subtilement différents de conventions à court de noms de fichiers Windows et pas si subtilement différent de conventions Unix. Cela peut conduire à des effets surprenants en présence de plusieurs fichiers qui correspondent au même nom DOS. Pour éviter de telles surprises, il est préférable d'exécuter PC-BASIC dans un répertoire de travail propre et utiliser tout en majuscules format 8.3 pour tous les fichiers. fichiers de base compatibles

De nombreux dialectes BASIC utilisent les mêmes .BAS d'extension, mais leurs fichiers ne sont pas compatibles. PC-BASIC exécute les fichiers de programme GW-BASIC seulement. Quelques conseils pour reconnaître les programmes GW-BASIC:

  • fichiers GW-BASIC stockées sous forme de texte sont des fichiers texte avec les numéros de ligne.
  • fichiers Tokenised sont des fichiers binaires qui commencent par octet magique & hFF.
  • Les fichiers protégés sont des fichiers binaires qui commencent par octet magique & hFE.

En particulier, les fichiers QBASIC (qui ont aucun numéro de ligne) et les fichiers QuickBASIC (octet magique et HFC) ne fonctionnera pas.

PC-BASIC va accepter à la fois DOS et Unix conventions newline pour les programmes stockés sous forme de texte brut. Toute ligne ne commençant pas par un nombre sera considéré comme une continuation (par LF) de la ligne précédente. Ce comportement est différent de GW-BASIC, qui accepte uniquement les fichiers texte avec CR fins de ligne LF. En conséquence, dans les cas exceptionnels où une ligne de programme se poursuit par le biais LF juste avant un certain nombre, des fichiers texte GW-BASIC correctes ne peuvent pas être chargés correctement. Si vous rencontrez un tel cas, utilisez l'option stricte-newline pour permettre un comportement GW-BASIC. Si stricte-newline est activée, les fichiers texte au format standard Unix (terminaisons de ligne LF, aucun caractère de fin de fichier) ne parviennent pas à charger. Sous Linux ou Mac, utilisez un utilitaire tel que unix2dos pour convertir des programmes enregistrés en tant que fichiers texte avant de les charger. Lors de l'enregistrement en tant que texte, PC-BASIC utilise toujours les fins de ligne CR LF et & H1A à la fin de fichier. Paquets

PC-BASIC peut exécuter des programmes emballés. Un paquet est tout simplement une archive d'annuaire ou zip. Le répertoire ou le contenu fichier zip seront chargés dans le répertoire de travail actuel. Si un fichier de configuration nommé PCBASIC.INI est présent à l'intérieur de ce répertoire, ses paramètres sont chargés; habituellement, l'un de ces paramètres sera un argument de l'exécution des liens vers un programme BASIC inclus dans l'archive ou un répertoire. PC-BASIC reconnaîtra zipfiles quel que soit leur extension. Une extension suggérée pour les packages de PC-BASIC est .BAZ. Les forfaits sont un choix pratique si un programme a besoin de changer de nombreuses options de PC-BASIC pour fonctionner comme vous le souhaitez, ou si elle a besoin d'une configuration de répertoire de travail particulier.

packages ZipFile sont décompressés dans un répertoire temporaire chaque fois qu'ils sont chargés. Le répertoire temporaire est supprimé lorsque PC-BASIC ferme. Avec des forfaits fichier zip, il est donc pas possible d'enregistrer des fichiers et les rouvrir à la prochaine exécution de l'emballage. Tapes et BASICODE

Les interfaces de périphériques CAS1 avec l'émulateur de cassette. Les bandes ont jamais été très populaire sur l'IBM PC, et en effet uniquement disponible avec le PC d'origine et le PCjr. Il n'y a pas beaucoup de cassettes IBM PC à l'état sauvage. Toutefois, si vous tombez sur l'un, tout ce que vous avez à faire pour le lire avec PC-BASIC est l'enregistrer dans un .WAV (RIFF WAVE) fichier et l'attacher à l'CAS1: appareil avec le CAS1 = WAV: option filename. Vous pouvez également générer vos propres images de bande et stocker vos programmes sur elle. fichiers WAV générés par PC-BASIC sont grandes mais très facilement comprimé dans une archive ZIP; cela fonctionne mieux et conduit à des fichiers plus petits que le transcodage à un format audio lossy comme MP3.

Comme alternative à .WAV, vous pouvez stocker des cassettes au format CAS. Ceci est tout simplement un peu-dump de la bande et est interchangeable avec des images de bande pour le PCE IBM PC émulateur.

BASICODE était un format de codage audio beaucoup plus fréquent, qui a connu une grande popularité, en particulier aux Pays-Bas, le Royaume-Uni et Allemagne de l'Est. BASICODE a été distribué par des bandes ou diffusion audio sur la radio. La lecture dans un matériel spécial de PC nécessaire, habituellement brancher un magnétophone à un port série ou parallèle. Dans PC-BASIC, bandes BASICODE sont lus à travers le dispositif de CAS1 à la place, en attachant un fichier .WAV avec le CAS1 = BC: option filename. PC-BASIC va charger le BASICODE, en insérant les espaces nécessaires entre les mots-clés où la norme de BASICODE laisse ces out. Notez que vous aurez besoin d'un programme Bascoder pour exécuter le BASICODE, et ce n'est pas distribué actuellement avec le PC-BASIC.

Sécurité Si vous avez un Bascoder nommé BASCODER.BAS, la façon d'exécuter un programme de BASICODE programme nommé de la bande est: LOAD "BASCODER" CHAIN ​​MERGE "PROGRAM CAS1"

PC-BASIC fait des choix par défaut avec la sécurité de base à l'esprit, mais ne bac à sable pas ses programmes de manière significative. programmes BASIC ont un accès plus ou moins complet à votre ordinateur. Vous devez les traiter avec la même prudence que vous shell scripts ou binaires. Par conséquent, ne pas exécuter un programme à partir de l'Internet que vous ne l'avez pas inspecté la première utilisation LIST ou --convert pcbasic = Un nom de fichier sur la ligne de commande. Vous ne voudriez pas simplement télécharger un exécutable à partir de l'Internet et l'exécuter soit, non? Connexion à des périphériques d'impression

Vous pouvez imprimer à partir de programmes de PC-BASIC en accédant au LPT1: périphérique. PC-BASIC envoie la sortie à l'imprimante par défaut de votre système d'exploitation, sauf si vous modifiez l'lpt1 = option. Pour imprimer via une imprimante nommée MyPrinter, définissez lpt1 = IMPRIMANTE: MyPrinter. Vous pouvez également joindre des imprimantes au LPT2: et LPT3: dispositifs.

La sortie sera envoyé à l'imprimante lorsque vous fermez PC-BASIC. Si vous préférez, vous pouvez plutôt envoyer chaque page séparément à l'imprimante en réglant l'impression-trigger = page. Vous pouvez même envoyer chaque ligne séparément, mais cela n'a de sens que sur une imprimante tracteur alimenté (comme il était courant à l'apogée de GW-BASIC).

Il est facile d'imprimer un fichier au lieu d'une imprimante: set lpt1 = FICHIER: sortie.txt pour envoyer tous les LPT1: sortie de l'imprimante dans le fichier texte sortie.txt.

Les états d'impression LPRINT et LLIST envoient toujours leur production à LPT1 de PC-BASIC: appareil.

La présentation des documents imprimés est laissée à votre système d'exploitation: ce sera la présentation par défaut des fichiers texte. Si vous Wist changer la façon dont les documents sont imprimés, s'il vous plaît consulter les paramètres de votre OS. Sous Windows, par exemple, les fichiers texte sont imprimés par notepad.exe et en changeant les paramètres par défaut dans cette application va changer la façon dont les documents PC-BASIC sont imprimés. Vous aurez besoin de définir une police d'imprimante qui comprend les caractères dont vous avez besoin d'imprimer. Sur les systèmes Unix, PC-BASIC va utiliser l'utilitaire paps si elle est disponible; cela sélectionnera automatiquement les polices qui prennent en charge les caractères dont vous avez besoin. ports série et parallèle

PC-BASIC fournit les périphériques série COM1: et COM2 :. Pour faire usage de ceux-ci, vous avez besoin de les attacher à un port de communication sur votre ordinateur avec le com1 = ou com2 = option. Pour joindre le premier port série physique, réglez com1 = PORT: 0 (ou, alternativement, com1 = PORT: COM1 sous Windows ou com1 = PORT: / dev / ttyS0 sous Linux). Si vous ne disposez pas d'un port série, vous pouvez émuler un en envoyant les communications sur une prise réseau: set com1 = SOCKET: localhost: 7000 et tout COM1: le trafic sera envoyé par socket 7000.

Pour accéder à un port parallèle, fixez-le à l'un des LPT1 :, LPT2: ou LPT3 :. Par exemple, définissez lpt2 = PARPORT: 0 à joindre premier port parallèle de votre ordinateur pour LPT2 :. Modification des cibles d'émulation de l'interface

Par défaut, PC-BASIC émule GW-BASIC sur un système avec des capacités vidéo VGA. Cependant, il peut émuler plusieurs autres configurations, qui diffèrent les unes des autres en termes de vidéo et de la capacité audio, polices, taille de la mémoire, ainsi que la syntaxe de base disponibles. La meilleure façon de définir la cible d'émulation est en utilisant une option prédéfinie. Par exemple, exécutez pcbasic --preset = PCjr. Autres disponibles presets cibles d'émulation sont: Preset Emulation cible PCjr IBM PCjr avec cartouche BASIC, y compris la vidéo de PCjr et les capacités sonores de 3 voix et la syntaxe BASIC étendu. tandy Tandy 1000 avec GW-BASIC, y compris Tandy capacités vidéo et audio 3-voix et la syntaxe BASIC étendu. Olivetti Olivetti M24 ou AT & T PC 6300. cga IBM ou compatible avec Color Adapter / Graphics et un moniteur composite. Cela permet à l'émulation colorburst composite. ega IBM ou compatible avec Graphics Adapter Extended. vga IBM ou compatible avec Video Graphics Array. mda IBM ou compatible avec l'adaptateur Monochrome Display et moniteur monochrome teinté de vert. hercules IBM compatible avec Hercules Graphics Adapter et moniteur monochrome teinté de vert. stricte Choisissez compatibilité stricte avec GW-BASIC sur la commodité, la sécurité, rime ni raison.

Presets sont des groupes d'options qui sont définies dans le fichier de configuration par défaut. Vous pouvez créer vos propres presets en créant un en-tête dans votre fichier de configuration privée avec le nom du nouveau preset, suivie par les options que vous souhaitez appliquer. Par exemple, si vous définissez: [my_preset] video = vga syntaxe = PCjr vous pouvez maintenant exécuter pcbasic --preset = my_preset pour démarrer une émulation d'une machine hypothétique avec une carte vidéo VGA en cours d'exécution PCjr Cartridge BASIC. caractéristiques de compatibilité GW-BASIC

PC-BASIC vise un très haut niveau de compatibilité avec GW-BASIC. Cependant, certaines fonctionnalités de compatibilité sont désactivées par défaut pour des raisons de commodité ou de sécurité. Ces caractéristiques peuvent être activées à l'aide des options individuelles de ligne de commande. Le plus haut niveau de compatibilité avec GW-BASIC peut être atteint par la mise en preset = strict, qui arrête toutes les caractéristiques de commodité et de sécurité qui provoquent des différences avec GW-BASIC. codepages

PC-BASIC prend en charge un grand nombre de codepages existants qui étaient communs à l'époque GW-BASIC était populaire, y compris deux octets jeu de caractères codepages utilisés pour le chinois, le japonais et le coréen. Vous pouvez choisir votre codepage en utilisant le codepage = option. Par exemple, codepage = 936 sélectionne le codepage GBK couramment utilisé sur le continent chinois. PC-BASIC va charger et sauvegarder tous les fichiers de programme comme si codé dans le codepage vous sélectionnez.

Il est également possible de charger et enregistrer des programmes dans le format UTF-8 norme aujourd'hui commune, en activant l'option utf8. Lorsque utf8 est activé, la source de programme en texte brut sera sauvegardé et chargé dans la norme UTF-8. S'il vous plaît noter que vous aurez toujours besoin de sélectionner un codepage qui fournit tous les caractères Unicode que vos besoins du programme.

Notez que PC-BASIC ne met pas en œuvre les fonctionnalités suivantes relatives à certains de ces codepages:

Le texte bidirectionnel

Tout le texte est imprimé gauche à droite indépendante du codepage sélectionné. Pour écrire des chaînes dans une langue qui est écrit de droite à gauche, la séquence de caractères logique doit être inversée afin que l'ordre semble correct visuellement. Bien que ce soit gênant, il est en ligne avec le comportement de GW-BASIC. Cela affecte les pages de codes marqués par B dans le tableau.

La combinaison de caractères

 PC-BASIC reconnaît les points de code d'un octet (où chaque glyphe montre sur une seule cellule sur l'écran) et les points de code à deux octets (où un seul glyphe prend deux cellules sur l'écran).  Les caractères combinatoires (tels que les caractères combinatoires de codepages 874 et 1258) ne sont donc pas représentés correctement: au lieu d'être combiné avec leur caractère de base précédent comme un seul glyphe combiné, ces combinaisons seront affichés comme des glyphes distincts.  Lorsqu'elles sont disponibles, codepages alternatives avec des caractères précomposés donnera de meilleurs résultats.  Cela affecte les pages de codes marqués par C dans le tableau. 

Les codepages suivants sont disponibles. PC-BASIC utilise le numéro de page de code Microsoft OEM lorsque cela est sans ambiguïté. Les pages de code devraient se mettre d'accord avec les sources Microsoft pour les plages et h80- & HFF. Ranges & h00- & H1F et & H7F sont mises en œuvre comme les caractères IBM Special Graphic où certaines sources de page de code va lister ceux-ci comme les caractères de contrôle correspondant. Pour codepages non officiels et ceux avec numérotation contradictoires, les noms de codes de pages sont utilisés à la place des numéros. codepage_id Codepage Langues Remarques 437 DOS latine États-Unis English 720 Transparent ASMO Arabe B 737 DOS grec grec 775 DOS Baltic Rim estonien, letton et lituanien 806 IBM-PC Devanagari Hindi 850 DOS Latin 1 langues d'Europe occidentale 851 DOS grec 1 grec 852 DOS latine 2 Central langues européennes 853 DOS latine 3 langues d'Europe du Sud 855 DOS cyrillique 1 serbe, macédonien et bulgare 856 DOS hébreu hébreu B 857 DOS latine 5 turc 858 DOS latin 1 avec Euro occidentaux langues européennes 860 DOS portugais portugais 861 DOS islandais Icelandic 862 DOS hébreu hébreu B 863 DOS canadienne français français 864 DOS arabe arabe B 865 DOS Nordic danois et norvégien 866 DOS cyrillique 2 Russian 868 DOS Urdu Urdu B 869 DOS grec 2 grec 874 TIS-620 Thai C 932 Shift-JIS (variante) japonais 934 DOS / V Corée Korean 936 GBK; GB2312 / EUC-CN surensemble Chinois simplifié 938 DOS / V Taiwan traditionnelle chinoise 949 IBM-PC Corée KS; EUC-KR superset 950 Big-5 (variante) traditionnelle chinoise 1258 Vietnamiens C alternativnyj GOST Alternativnyj Variant armscii8a russe ArmSCII-8a coréenne; cp899 FreeDOS arménienne Big5-2003 Big-5 (Taiwan 2003) Chinois Big5-HKSCS Les traditionnelles Big-5 (Hong Kong 2008) Chinois georgian-académie traditionnelle Académie standard Georgian georgian-ps Parlement géorgien standard iransystem Iran Système persan B ISCII-as ISCII Assamais assamais C ISCII-être ISCII bengali bengali C ISCII-de ISCII Devanagari hindi, le marathi, le sanskrit, konkani, Nepali C ISCII-gu ISCII gujarati gujarati C ISCII-ka ISCII Kannada Kannada C ISCII-ma ISCII malayalam malayalam C ISCII ou ISCII Oriya Oriya C ISCII-pa ISCII Punjabi Punjabi C ISCII-ta ISCII Tamil Tamil C ISCII-te ISCII Telugu Telugu C Kamenicky Kamenický; cp895 tchèque koi8-r KOI8-R russe koi8-ru KOI8-RU ukrainiens, biélorusses, russes koi8-u KOI8-U ukrainiens, russes mazovia Mazovie; cp667, 991, 790 Polonais mik MIK, FreeDOS cp3021 Osnovnoj bulgare GOST Osnovnoj Variant pascii russe PASCII Kashmiri, le persan, le sindhi, l'ourdou B ruscii RUSCII ukrainienne, russup3 russe Cornell soutien russe pour russup4ac russe Exceller Software Support russe DOS for Academic russe DOS russup4na Exceller Software support russe pour le russe DOS de non-académique VISCII VISCII, FreeDOS cp30006 vietnamienne

Vous pouvez ajouter des codepages à PC-BASIC, en ajoutant un fichier avec son application en Unicode au codepage / répertoire.

Polices[modifier | modifier le wikicode]

PC-BASIC émule les polices raster distinctives des machines compatibles IBM. Les polices ROM des adaptateurs originaux IBM et Tandy (qui sont dans le domaine public dans un certain nombre de pays) ont été inclus dans PC-BASIC. Ceux-ci fournissent l'émulation la plus précise. Cependant, les ROM de police seulement inclus une page de code unique - DOS latine États-Unis 437.

Pour prendre en charge les pages de code au-delà de 437, par défaut de PC-BASIC à la police CPIDOS utilisé par défaut dans FreeDOS et DOSBox. Cette police est très similaire dans le style à la police IBM VGA, mais a un support pour beaucoup plus de pages de code, en particulier de l'Ouest et du Moyen-Orient alphabets. Si CPIDOS ne comprend pas les caractères dont vous avez besoin, essais de PC-BASIC pour les trouver au sein d'UNI-VGA, qui est également très similaire au style VGA. Si cela ne suffit pas, PC-BASIC retombe GNU unifont pour les caractères manquants. glyphes occidentaux unifont sont moins similaires à la police VGA, mais il fournit un support pour le plein plan multilingue de base Unicode. Par exemple, tous les Chinois, les glyphes japonais et coréens dans PC-BASIC sont tirées de unifont.

Il est possible de modifier le choix de la police en utilisant la police = option. Vous pouvez fournir une liste de polices, où la dernière police spécifiée est le plus préféré.

PC-BASIC lit les polices dans le format .hex introduit par unifont. Il est facile de définir des polices personnalisées dans ce format: il peut être modifié dans un éditeur de texte normal. Voir le projet unifont pour un outil de création. Vous pouvez ajouter des polices personnalisées pour PC-BASIC en les installant dans la police / sous-répertoire du répertoire d'installation de PC-BASIC.

Par défaut, les polices suivantes sont disponibles: font_name Nom Tailles Codepages unifont GNU unifont 16 tous univga Uni-VGA police 16 de nombreux freedos FreeDOS CPIDOS font 8, 14, 16 de nombreux cga IBM Couleur / Graphics Adapter police 8 437 seulement mda IBM Monochrome Display Adapter police 14 437 seulement vga Video Graphics IBM tableau font 8, 14, 16 437 seulement Olivetti Olivetti / AT & T font 16 437 seulement tandy1 Tandy-1000 police ancienne version 8 437 seulement tandy2 Tandy-1000 police nouvelle version 8 437 seulement

GNU unifont contient glyphes pour tous les points de code définis du plan multilingue de base d'Unicode 7.0, ce qui en fait une excellente police de repli. Ses glyphes ne sont pas, cependant, très semblables à ceux qui ont été utilisés sur les machines DOS; tant Uni-VGA et les polices FreeDOS CPIDOS sont donc plus approprié, quand ils ont les glyphes nécessaires. Redirection I / O

supports PC-BASIC redirigeant entrée et la sortie de la GW-BASIC façon: sortie redirigée avec la sortie = option sera envoyée à l'écran ainsi que le fichier spécifié, alors que l'entrée redirigée avec entrée = est prise uniquement à partir du fichier spécifié. Notez que la sortie de l'écran à travers le SCRN: appareil et l'entrée au clavier par l'intermédiaire du KYBD: dispositif ne sont pas redirigée. Les fichiers sont lus et écrits dans le codepage ensemble avec PC-BASIC.

Notez qu'il est également possible d'utiliser l'installation de votre système d'exploitation pour rediriger la sortie de la console en utilisant les opérateurs <et>. Il est préférable de définir l'interface = none pour que I / O est redirigé via la console. Cela produira des fichiers dans le codage standard de votre console, ce qui est souvent UTF-8 sur Unix et Windows-1252 sur Windows. Interface de ligne de commande

Vous pouvez exécuter PC-BASIC comme une interface de ligne de commande en définissant l'interface = cli (ou -b). Aucune fenêtre sera ouverte: vous pouvez taper des commandes BASIC directement dans votre invite de commande / Terminal. Utilisez les touches fléchées horizontales pour se déplacer sur la ligne courante que vous éditez; utilisez les touches fléchées verticales pour afficher les lignes d'écran ci-dessus et ci-dessous. Copier et coller ne sont disponibles que si le shell appelant leur fournit. Sous Windows, Ctrl + Pause prendra fin immédiatement PC-BASIC. Vous pouvez utiliser Ctrl + C pour interrompre le programme. La combinaison de touches de fin de fichier (Ctrl + D sur Unix, Ctrl + Z sous Windows) va quitter PC-BASIC.

Vous pouvez utiliser l'interface de ligne de commande pour exécuter une ou quelques commandes de base directement, comme ceci:

moi @ mybox $ pcbasic -bqe = "1 + 1"

 2

moi @ mybox $

Aux fins de script, il est également possible d'exécuter PC-BASIC sans interface en définissant l'interface = none ou -n. Si ce paramètre est réglé, PC-BASIC prendra entrée de et envoyer la sortie à la console en UTF-8 sans autre modification. Cette fonction est utile en combinaison avec la redirection et la tuyauterie. interface texte-

Il y a aussi une interface de texte plein-écran disponible: il permet par l'interface de réglage = texte (ou -t). L'interface à base de texte est très similaire à l'interface graphique par défaut, mais fonctionne dans votre invite de commande ou de la fenêtre Terminal.

Dans les interfaces à base de texte et de ligne de commande, les graphiques ne sont pas disponibles. Toute tentative d'ouverture d'un mode écran graphique conduira à une erreur d'appel de fonction illégale. En outre, de nombreuses combinaisons de touches Ctrl et Alt ne sont pas disponibles.

Sur les systèmes Unix uniquement, vous pouvez obtenir le son dans les interfaces de texte et de ligne de commande sur le haut-parleur du PC si vous installez l'utilitaire de bip et activez l'héritage pilote PC-parleur ou l'émulation. Les réglages et options

PC-BASIC a un certain nombre de paramètres qui modifient la façon dont il fonctionne. Ces paramètres peuvent être modifiés en définissant des options sur la ligne de commande ou par la modification du fichier de configuration.

Dans les deux méthodes, les options ont le même nom et la syntaxe. Dans ce qui suit, nous allons souvent faire référence à un paramètre d'option particulière; rappelez-vous que vous pouvez définir ce à partir de la ligne de commande, ainsi que dans le fichier de configuration.

Options de ligne de commande[modifier | modifier le wikicode]

Vous pouvez entrer des options de ligne de commande si vous démarrez PC-BASIC de la console (également connu sous le nom d'invite de commandes ou de terminal, ce qui est normalement CMD ou PowerShell sous Windows), en faisant précéder le nom de l'option avec deux tirets, comme suit: pcbasic --preset = tandy --ctrl-c-break = True

Sur la ligne de commande, vous pouvez laisser l'expression = True qui est commun dans les options de commutation. Certaines options ont une alternative, nom court composé d'une seule lettre précédée d'un seul tableau de bord, que vous pouvez utiliser sur la ligne de commande. Vous pouvez combiner plusieurs options courtes avec un seul tableau de bord. Les fichiers de configuration

Vous pouvez modifier les options en ajoutant ou en supprimant des lignes dans votre fichier de configuration local, qui se trouve à l'emplacement suivant:

Windowss

 %AppData% \ pcbasic \ PCBASIC.INI

OS X

 ~ / Library / Application Support / pcbasic / PCBASIC.INI

Linux

 ~ / .config / Pcbasic / PCBASIC.INI

Changer une option dans le fichier de configuration en ajoutant une ligne dans la section [pcbasic], comme ceci: [pcbasic] preset = tandy ctrl-c-break = True

Vous ne pouvez pas utiliser des arguments de position ou le nom court d'options dans le fichier de configuration. Vous pouvez également ne pas laisser de côté l'expression = True.

Le fichier de configuration doit être un fichier texte encodé en ASCII ou UTF-8. Synopsis pcbasic [programme | package [sortie]] [--allow code-piquez [= True | = False]] [--altgr [= True | = False]] [--append [= True | False =]] [--aspect = x, y] [-b] [--border = largeur] [--caption = titre] [--capture-caps [= True | = False]] [--cas1 = Type: valeur] [--cga-bas [= True | = False]] [--codepage = codepage_id] [--config = config_file] [--com1 = Type: valeur] [--com2 = Type: valeur] [--convert = {A | B | P}] [--copy-paste = copy_button, paste_button] [--ctrl-c-break [= True | = False]] [--current-device = {CAS1 | @ | A | B ... | Z}] [--dimensions = x, y] [-d] [--double [= True | = False]] [-e = command_line] [--exec = command_line] [--font = font_name [, font_name ...]] [--fullscreen [= True | = False]] [-h] [--help] [-i] [--input = fichier_entrée] [--interface = {none | cli | texte | graphique}] [-k = keystring] [--keys = keystring] [-l = programme] [--load = programme] [--logfile = log_file] [--lpt1 = Type: valeur] [ --lpt2 = Type: valeur] [--lpt3 = Type: valeur] [--map-disques [= True | = False]] [-f = NUMBER_OF_FILES] [--max-files = NUMBER_OF_FILES] [-m = max_memory [, basic_memory_blocks]] [--max-memory = max_memory [, basic_memory_blocks]] [-s = record_length] [--max-reclen = record_length] [--monitor = {rgb | composite | mono}] [- mono-teinte = r, g, b] [--mount = lecteur: chemin, [lecteur: chemin ...]] [-n] [--nobox [= True | = False]] [--nokill [= True | = False]] [--nosound [= True | = False]] [--output = output_file] [--pcjr terme = terminal_program] [--peek = [seg: addr: val [, seg: addr : val ...]]] [--pen = {left | milieu | right | none}] [--preset = option_block] [--print-trigger = {line | page | fermer}] [-q] [ --quit [= True | = False]] [--reserved-memory = nombre_octets] [--resume [= True | = False] [-r = programme] [--run = programme] [--scaling = { lisse | croquante | natif}] [-c = size] [--serial-buffer-size =] [--shell = {none | native | commande]] [--state = state_file] [--strict-caché trapézoidale [= True | = False]] [--strict-newline [= True | = False]] [--strict-protect [= True | = False]] [--syntax = {avancée | PCjr | tandy} ] [-t] [--text-width = {40 | 80}] [--utf8 [= True | = False]] [-v] [--version] [--video = carte] [--video -Mémoire = size] [-w] [--wait [= True | = False]] arguments positionnels

programme

 Si un programme .BAS est spécifié comme premier argument de position, il sera exécuté.  Le --run, --load et les options --convert remplacent ce comportement. 

paquet

 Si un paquet ou un répertoire zipfile est spécifié comme premier argument de position, tout fichier de configuration contenu PCBASIC.INI sera chargé;  habituellement, il exécutera un fichier de programme dans le package.  Toutes les autres options de ligne de commande remplacent le fichier de configuration de package, noter en particulier le potentiel de la --run, --load et les options --convert pour modifier le comportement de l'emballage. 

sortie

 Si un second argument de position est spécifié, il définit le fichier de sortie pour la conversion de format de fichier.  Cet argument est ignoré sauf si l'option --convert est donnée. 

options de

--allow code-tisonner [= True | = False]

 Permettre aux programmes de Poke dans la mémoire de code. 

--altgr [= True | = False]

 Si True (par défaut), interpréter la touche Alt droite comme Alt Gr au lieu de Alt.  La touche Alt gauche est toujours considérée comme Alt. 

--append [= True | = False]

 Si elle est utilisée avec --output = output_file, l'output_file est ajouté à plutôt que écrasé. 

--aspect = x, y

 Réglez le format d'affichage pour x: y.  A seulement un effet si elle est combinée avec --interface = graphique. 

-b

 Utilisez l'interface de ligne de commande.  Ceci est identique à --interface = cli. 

= largeur --border

 Régler la largeur de la bordure de l'écran en tant que pourcentage de 0-100.  Le pourcentage se réfère à la largeur totale des frontières des deux côtés comme une fraction de la largeur de l'écran utilisable.  A seulement un effet si elle est combinée avec --interface = graphique. 

--caption = title

 Définir la légende de la barre de titre de la fenêtre de PC-BASIC.  Titre par défaut est PC-BASIC. 

--capture-caps [= True | = False]

 Laissez PC-BASIC gérer la touche Caps Lock.  Cela peut ou peut ne pas interférer avec sa propre manipulation du système d'exploitation de cette clé.  A seulement un effet si elle est combinée avec --interface = graphique. 

--cas1 = Type: valeur

 Joindre une ressource au CAS1: dispositif de cassette.  Type: la valeur peut être
 WAV: wav_file
       Connectez-vous au fichier wav_file RIFF Wave avec des données modulées en format de cassette IBM PC. 
   CAS: cas_file
       Connectez-vous au PCE / PC-BASIC bande CAS Image cas_file. 
   BC: wav_file
       Connectez-vous au fichier wav_file RIFF Wave avec des données modulées en format BASICODE. 

--cga-bas [= True | = False]

 Utilisez les palettes de faible intensité dans les modes CGA.  A seulement un effet si combiné avec --video = {cga | cga_old | ega | vga}. 

--codepage = codepage_id

 Chargez le codepage spécifié.  Le codepage détermine quels caractères sont associés à un octet de caractère donné ou, dans le cas de codepages double octet, deux octets de caractères.  Les codepages disponibles sont stockés dans le codepage / répertoire;  par défaut, ce sont:
 720 737 775 437 806 850 851 852 853 855 856 857 858 860 861 862 863 864 865 866 868 869 874 932 934 936 938 949 950 1258 alternativnyj armscii8a Big5-2003 big5-HKSCS georgian-academy georgian-ps iransystem ISCII-as iscii- be-ka-gu ISCII-de-ma ISCII ISCII ou ISCII-pa-ta ISCII ISCII-te Kamenicky koi8-r koi8-ru koi8-u mazovia mik Osnovnoj pascii ruscii russup3 russup4ac russup4na VISCII 
 .  Voir la liste des codepages dans le Guide de l'utilisateur pour plus de détails. 

--config = config_file

 Lire un fichier de configuration.  La configuration par défaut du système est toujours lu en premier, mais un groupe prédéfini d'options dans un fichier de configuration remplace l'ensemble du groupe présélectionner équivalent par défaut. 

--com1 = Type: valeur

 Joindre une ressource à la COM1: périphérique série.  Type: la valeur peut être l'une des suivantes.
 PORT: device_name
       Se connecter à un périphérique série.  device_name peut être un nom de périphérique tel que COM1 ou / dev / ttyS0 ou un numéro, où le premier port série est le numéro 0. 
   SOCKET: host: socket
       Se connecter à un socket TCP sur un hôte distant ou local. 
   STDIO [: [CRLF]]
       Connectez-vous à I / S standard de la coque appelant.  Si CRLF est spécifié, PC-BASIC remplace les caractères CR LF sur sa sortie et LF avec CR sur son entrée.  Ceci est plus intuitive sur shells Unix.  Lorsque vous utilisez une console Unix, vous devez utiliser stty -icanon pour permettre PC-BASIC de lire correctement entrée. 
 Si cette option est spécifiée, le COM1: périphérique est indisponible. 

--com2 = Type: valeur

 Joindre une ressource au COM2: périphérique série.  Voir --com1. 

--convert = {A | B | P}

 Autre programme à l'un des formats suivants:
 UNE
       texte brut
   B
       Tokenised
   P
       Protégé
 Si la sortie est pas spécifiée, écrire sur la sortie standard.  Si le programme n'a pas été spécifié, utilisez l'argument de --run ou --load.  Si aucun de ceux sont donnés, lire à partir de l'entrée standard.  Remplacements --resume, --run et --load. 

--copy-coller = copy_button, paste_button

 Choisissez les boutons de la souris pour les opérations de presse-papiers.  copy_button et paste_button sont choisis de gauche, au milieu, à droite, aucun. 

--ctrl-c-break [= True | = False]

 Si False, suivez le comportement GW-BASIC où Ctrl + C casse AUTO et INPUT, mais pas l'exécution ou LIST programme.
   Si vrai, traiter Ctrl + C exactement comme Ctrl + Pause et Ctrl + Scroll Lock quand --interface = graphique.
   Avec --interface = {text | cli}, Ctrl + C est toujours traité comme Ctrl + Break.
   Par défaut est True. 

--current-device = {CAS1 | @ | A | B ... | Z}

 Réglez le dispositif actuel à la lettre de lecteur indiqué PC-BASIC ou CAS1 pour le dispositif de cassette.  Le dispositif choisi doit être monté à un emplacement réel en utilisant --mount (ou --cas1 si le dispositif de cassette est choisi).  Par défaut est Z, avec le Z: dispositif monté sur votre lecteur en cours. 

--dimensions = x, y

 Définir les dimensions de la fenêtre de x par y pixels.  Ceci remplace --scaling = native et --aspect.  A seulement un effet si elle est combinée avec --interface = graphique. 

-d --double [= True | = False]

 Activer les fonctions mathématiques transcendantes double précision.  Ceci est équivalent à l'option / j en GW-BASIC. 

-e = command_line --exec = command_line

 Exécuter command_line BASIC.  Les commandes spécifiées sont exécutées avant d'entrer en mode direct ou en cours d'exécution d'un programme. 

--font = font_name [, font_name ...]

 Utilisez les polices spécifiées pour l'interface.  Les dernières polices spécifiées ont priorité, les précédents sont repli.  Par défaut est unifont, univga, freedos (ie la police de freedos a la préférence).  Les polices disponibles sont stockées dans la police /.  Par défaut, les polices suivantes sont disponibles:
 unifont univga freedos cga mda vga olivetti tandy1 tandy2 
 .  Voir la liste des polices dans le Guide de l'utilisateur pour plus de détails. 

--fullscreen [= True | = False]

 Mode plein écran.  A seulement un effet si elle est combinée avec --interface = graphique. 

-h --help

 Afficher un message d'aide et quitter. 

-je

 Cette option est ignorée.  Il est inclus uniquement pour la compatibilité avec GW-BASIC / i. 

--input = fichier_entrée

 Récupérer l'entrée du clavier de fichier_entrée, sauf si KYBD: est lu de manière explicite.  Entrée de Kybd: fichiers est toujours lue à partir du clavier, suivant le comportement GW-BASIC. 

--interface = {none | cli | texte | graphique}

 Choisissez le type d'interface.  Les types d'interface suivants sont disponibles:
 aucun
       Filtre pour l'utilisation avec des tuyaux.  Aussi -n.
   cli
       Interface de ligne de commande.  -b également.
   texte
       basée sur le texte de l'interface.  En outre -t.
   graphique
       Interface graphique.
 La valeur par défaut est graphique. 

-k = keystring --keys = keystring

 Insérez le keystring dans la mémoire tampon du clavier. 

-l = programme --load = programme

 Démarrez en mode direct avec le programme BASIC chargé. 

--logfile = log_file

 Ecrire des messages d'erreur et d'avertissement à LOG_FILE au lieu de stderr. 

--lpt1 = Type: valeur

 Joindre une ressource au LPT1: périphérique parallèle.  Type: la valeur peut être
 IMPRIMANTE: printer_name
       Se connecter à un Windows, LPR ou imprimante de CUPS.  Si printer_name est pas spécifié, l'imprimante par défaut est utilisée. 
   DOSSIER: file_name
       Connectez-vous à un fichier ou un périphérique tel que / dev / stdout sur Unix ou sur Windows LPT1. 
   STDIO [: [CRLF]]
       Connectez-vous à la sortie standard de la coque d'appel.  Si CRLF est spécifié, PC-BASIC remplace les caractères CR LF sur sa sortie.  Ceci est plus intuitive sur shells Unix. 
   PARPORT: numéro_port
       Se connecter à un port parallèle Centronics, où numéro_port est 0 pour le premier port parallèle, etc. PARPORT fonctionne uniquement avec les ports parallèles physiques;  par exemple, une imprimante Windows ou un autre périphérique mappé avec NET USE LPT1: ne peuvent être attachés avec FILE: LPT1 
 Si cette option est spécifiée, LPT1: est connecté à l'imprimante par défaut. 

--lpt2 = Type: valeur

 Joindre une ressource au LPT2: périphérique parallèle.  Voir --lpt1.  Si cette option est spécifiée, LPT2: est indisponible. 

--lpt3 = Type: valeur

 Joindre une ressource au LPT3: périphérique parallèle.  Voir --lpt1.  Si cette option est spécifiée, LPT3: est indisponible. 

--map durs [= True | = False]

 Sous Windows, affectez toutes les lettres de lecteur Windows vers les lettres de lecteur PC-BASIC.  Sur les autres systèmes, affecter à:
 Z:
       le répertoire courant
   C:
       la racine du système de fichiers
   H:
       le répertoire personnel de l'utilisateur.

-f = NUMBER_OF_FILES --max fichiers = NUMBER_OF_FILES

 Définir le nombre maximal de fichiers ouverts à NUMBER_OF_FILES.  Ceci est équivalent à l'option / f GW-BASIC.  Par défaut est 3. 

-m = max_memory [, basic_memory_blocks] --max mémoire = max_memory [, basic_memory_blocks]

 Définir la taille maximale du segment de mémoire de données à max_memory et la taille maximale de la mémoire de données disponibles pour BASIC basic_memory_blocks * 16.  PC-Basic, le minimum de ces valeurs est simplement la taille de la mémoire de données;  les deux valeurs sont autorisées pour la compatibilité avec l'option / m de GW-BASIC. 

-s = record_length --max-reclen = record_length

 Régler la longueur maximale d'enregistrement des fichiers RANDOM à record_length.  Par défaut est 128, le maximum est 32767. Ceci est équivalent à l'option / GW-BASIC. 

--monitor = {rgb | composite | mono}

 Définit le type de moniteur à imiter.  types disponibles sont:
 rgb
       moniteur couleur RGB (par défaut).
   composite
       Composite moniteur couleur. 
   mono
       Monochrome moniteur.
 Sur l'écran 2 avec --video = {PCjr | tandy | cga | cga_old}, --monitor = composite permet d'artefacts (brut) de couleur. 

--mono-teinte = r, g, b

 Spécifiez la teinte monochrome que les valeurs de rouge-vert-bleu r, g, b, chacun dans l'intervalle 0-255.  A seulement un effet si elle est combinée avec --monitor = mono. 

--mount = lecteur: chemin, [lecteur: chemin ...]

 Attribuez le chemin chemin pour conduire la lettre de lecteur :.  Le chemin peut être absolu ou relatif.  Par défaut, Z: est affecté au répertoire de travail courant et pas d'autres lettres de lecteur sont affectées. 

-n

 PC-BASIC comme un filtre de ligne de commande Exécuter.  Identique à --interface = none. 

--nobox [= True | = False]

 la reconnaissance de la boîte-dessin Disable pour les pages de codes du jeu de caractères à deux octets.  Par défaut, les séquences de caractères de boîte de dessin sont reconnus par un algorithme qui est pas aussi intelligent qu'il pense qu'elle est, et affichées sous forme de boîte de dessin plutôt que comme des caractères DBCS.  Si --nobox est réglé, ils seront affichés comme DBCS. 

--nokill [= True | = False]

 Laisser BASIC pour capturer Alt + F4.  Interface graphique uniquement.  Par défaut, Alt + F4 est capturé par la plupart des systèmes d'exploitation comme un signal quitter, et mettra fin à PC-BASIC.  Set --nokill pour permettre BASIC pour capturer Alt + F4 à la place.  Ceci est utile si votre programme utilise cette combinaison de touches. 

--nosound [= True | = False]

 Désactiver la sortie audio. 

--output = output_file

 Envoyer la sortie de l'écran à output_file, sauf si SCRN: est écrit explicitement.  Sortie à SCRN: les fichiers seront toujours affichés sur l'écran, comme dans GW-BASIC. 

--pcjr terme = terminal_program

 Réglez le programme de terminal géré par la commande TERM PCjr à terminal_program.  Cela n'a d'effet avec --syntax = {PCjr | tandy}. 

--peek = [seg: addr: val [, seg: addr: val ...]]

 Définir PEEK valeurs prédéfinies.  Si elle est définie, DEF SEG :?  PEEK (adr) retournera val. 

--pen = {left | milieu | right | none}

 Réglez le bouton de la souris pour l'émulation de stylo optique.  Par défaut est à gauche.  Si la valeur none, l'émulation de stylo lumière est éteinte.  Sur Android, gauche signifie la saisie tactile. 

--preset = option_block

 machine à charge des options prédéfinies.  Une option prédéfinie correspond à une section définie dans un fichier de configuration par un nom entre crochets, comme
   [ce]
   --preset = ceci va charger tous les paramètres définis dans cette section.  presets disponibles dépendent de votre fichier de configuration.  Voir la liste des paramètres prédéfinis par défaut dans le Guide de l'utilisateur. 

--print-trigger = {line | page | fermer}

 Réglez le déclencheur pour vider le tampon d'impression à l'imprimante.
 ligne
       L'imprimante est activé après chaque saut de ligne.
   page
       L'imprimante est activé après chaque saut de page.
   Fermer
       L'imprimante est activée uniquement lorsque les sorties PC-BASIC.
 Default est proche. 

-q --quit [= True | = False]

 Quittez l'interprète lorsque l'exécution arrête.  Si combiné avec --run, PC-BASIC se ferme lorsque le programme se termine.  Si elle est définie en mode direct, PC-BASIC quitte après la première commande est exécutée. 

--reserved-mémoire = nombre_octets

 nombre_octets réserve de la mémoire au bas du segment de données.  Pour la compatibilité avec GW-BASIC.  Par défaut est 3429 octets.  L'abaissement de cette valeur est plus chaîne et de l'espace variable disponible pour une utilisation par des programmes. 

--resume [= True | = False

 Resume de l'état enregistré.  Remplacements --run et --load. 

-r = programme --run = programme

 Exécutez le programme spécifié.  Remplacements --load. 

--scaling = {lisse | croquante | natif}

 Choisir la méthode mise à l'échelle.
 lisse
       L'affichage est facilement mise à l'échelle la plus grande taille qui permet le rapport d'aspect correct. 
   croustillant
       L'affichage est mis à l'échelle à la même taille que des lisses, mais sans lissage. 
   originaire de
       Mise à l'échelle et le ratio d'aspect sont optimisés pour la taille de pixel native de l'écran, sans lissage.  --scaling = remplacements indigènes --aspect. 
 Par défaut est lisse.  A seulement un effet si elle est combinée avec --interface = graphique. 

-c = taille --serial-buffer-size =

 Régler la taille du tampon série d'entrée.  Par défaut est 256. Si la valeur 0, les communications série sont désactivés. 

--shell = {none | native | commande]

 Réglez l'interpréteur de commandes exécuté sur la commande SHELL au shell natif du système d'exploitation ou d'un shell personnalisé géré par commande.  Par défaut est none, qui désactive la commande SHELL. 

--state = state_file

 Définir le fichier-état enregistrer sur state_file.  Par défaut est PCBASIC.SAV dans le répertoire Application Data. 

--strict-lignes cachées [= True | = False]

 Désactiver l'inscription et l'enregistrement dans le texte brut de lignes au-delà de 65530, comme dans GW-BASIC.  Utilisez car cela permet l'exécution des lignes cachées de code avec soin. 

--strict-newline [= True | = False]

 Parse CR et LF dans les fichiers strictement comme GW-BASIC.  Sur Unix, vous aurez besoin de convertir vos fichiers texte DOS d'abord si vous utilisez cette option. 

--strict-protect [= True | = False]

 Désactiver l'inscription et l'enregistrement dans le texte brut des fichiers protégés, comme dans GW-BASIC.  Utilisez car cela permet l'exécution des lignes cachées de code avec soin. 

--syntax = {avancée | PCjr | tandy}

 Choisissez dialecte BASIC.  dialectes disponibles sont:
 Avancée
       Microsoft GW-BASIC et IBM BASICA
   PCjr
       IBM PCjr cartouche BASIC
   tandy
       Tandy 1000 GW-BASIC.
 Par défaut est avancé. 

-t

 Utilisez l'interface à base de texte.  Identique à --interface = text. 

--text-width = {40 | 80}

 Définissez le nombre de colonnes en mode texte au démarrage.  Par défaut est 80. 

--utf8 [= True | = False]

 Utilisez UTF-8 pour les programmes en texte brut.  Si vrai, les programmes stockés sous forme de texte seront convertis du format UTF-8 sur LOAD et UTF-8 sur SAVE.  Si False, le codepage PC-BASIC sera utilisé. 

-v --version

 Imprimer PC-BASIC chaîne de version et de sortie. 

--video = carte

 Réglez la carte vidéo pour émuler.  cartes vidéo disponibles:
 vga
       Video Graphics Array
   ega
       Enhanced Graphics Adapter
   cga
       Couleur / Graphics Adapter
   cga_old
       Couleur / Graphics Adapter (ancienne version, affecte composite)
   mda
       Adapter Monochrome Display
   Hercule
       Hercules Graphics Adapter
   PCjr
       graphiques IBM PCjr
   tandy
       Tandy 1000 graphiques
   olivetti
       graphiques Olivetti M24
 Par défaut est vga. 

--video mémoire = taille

 Réglez la quantité de mémoire vidéo émulé disponibles.  Ceci affecte le nombre de pages vidéo qui peuvent être utilisés.  Sur PCjr et Tandy, cela peut être modifié lors de l'exécution par la CLEAR;  au moins 32768 doit être disponible pour accéder à l'écran 5 et 6. ECRAN par défaut est 16384 ou PCjr et Tandy et 262144 sur d'autres préréglages de la machine. 

-w --wait [= True | = False]

 Si, attend PC-BASIC vrai pour une touche avant de fermer la fenêtre à la sortie.  Ne fonctionne que pour --interface = graphique ou --interface = text.  Par défaut est False. 

Options GW-BASIC

GW-BASIC a reconnu un certain nombre d'options de ligne de commande DOS de style sur la ligne de commande lors de l'appel à partir de DOS avec une commande comme BASIC, BASICA ou GWBASIC. Ceux-ci sont compensées par PC-BASIC avec seulement des modifications mineures, habituellement juste remplacer la barre oblique / avec un tiret -. La syntaxe GW-BASIC est montré ici pour référence seulement; utilisez la syntaxe Unix-style avec PC-BASIC.

/ J devient -d

 Activer les fonctions mathématiques à virgule flottante double précision. 

/ F: n devient -f = n

 Définissez le nombre maximal de fichiers ouverts. 

/ S: n devient -s = n

 Réglez la longueur maximale d'enregistrement des fichiers RANDOM. 

/ C: n devient -c = n

 Définissez la taille du tampon de réception pour les périphériques COM. 

/ I: n devient -i = n

 Aucun effet. 

/ M: n, m devient -m = n, m

 Définissez l'emplacement le plus de mémoire à n et la taille maximale de mémoire BASIC m * 16 octets. 

> Nom de fichier devient --output = filename

 Ecrire la sortie de l'écran pour le nom de fichier. 

>> Filename devient --output = filename --append

 Ajouter la sortie de l'écran pour le nom de fichier. 

<Nom de fichier devient --input = filename

 Lire la saisie au clavier du nom de fichier. 

Exemples

pcbasic

 Démarrez PC-BASIC en mode direct, émulant GW-BASIC / BASICA avec graphiques VGA. 

pcbasic --codepage = 950

 Démarrez PC-BASIC en utilisant le Big-5 codepage. 

pcbasic Foobar.baz

 Démarrez PC-BASIC avec le paquet Foobar.  Chargez les paramètres de l'emballage;  habituellement ce sera exécuter un programme principal contenu dans le paquet. 

pcbasic Foobar.baz --convert = A --utf8

 Inscrivez le programme principal du paquet Foobar sur la sortie standard au format UTF-8. 

pcbasic MYPROG.BAS --mount = A: ./ fichiers, B: ./ MoreFiles

 Montez les fichiers sous-répertoire du répertoire courant que le lecteur A: et MoreFiles sous-répertoire que le lecteur B :, puis exécutez MYPROG.BAS. 

pcbasic --mount = A: C: \ fakeflop

 Exécutez PC-BASIC avec Windows répertoire C: \ fakeflop monté en tant que lecteur A:. 

Z pcbasic: \ INFO.BAS --preset = mda --mono-teinte = 255,128,0

 Exécutez INFO.BAS dans le répertoire courant sur un MDA émulé avec de l'ambre teinté moniteur. 

pcbasic /home/me/retro/COMP.BAS --preset = cga --monitor = composite

 Run COMP.BAS stocké dans / home / moi / rétro sur une machine CGA émulé avec un moniteur composite. 

pcbasic PCJRGAME.BAS --preset = PCjr -k = 'start \ r'

 Run PCJRGAME.BAS sur un PCjr émulé et se nourrissent dans les frappes startEnter. 

pcbasic BANNER.BAS --lpt2 = IMPRIMANTE:

 Exécutez BANNER.BAS en mode par défaut avec l'imprimante par défaut attaché à LPT2 :. 

pcbasic --resume

 Resume session, le PC-BASIC plus récemment fermé. 

pcbasic -qbe = "1 + 1"

 Exécutez la commande BASIC PRINT 1 + 1 dans l'interface de ligne de commande et retourner au shell appelant. 

guide de langue

Cette documentation décrit la langue de PC-BASIC, qui vise à imiter fidèlement GW-BASIC 3.23, IBM Advanced BASIC, IBM cartouche BASIC et Tandy 1000 GW-BASIC.

Le guide linguistique BASIC couvre le sujet de la langue par thème, le regroupement thématique des éléments de langage utilisés à des fins connexes. S'il vous plaît se référer à la référence du langage BASIC pour une description formelle des éléments de Langage et leur syntaxe. Travailler avec des programmes Déclaration Description AUTO Entrer la ligne numérotation automatique CHAÎNE mode Charger un nouveau programme et l'exécuter, en préservant les variables communes Set COMMON variables communes SUPPRIMER Supprimer les lignes du programme EDIT Imprimer une ligne de programme à l'écran pour programme lignes LISTE édition d'impression à l'écran programme lignes LLIST d'impression à la charge de l'imprimante Lire un nouveau programme à partir du fichier MERGE Superposez un fichier de programme sur le programme actuel NEW Effacer le programme actuel de la mémoire RENUM Remplacer les numéros de ligne du programme RUN Démarrez le programme en cours SAUVEGARDER magasin le programme actuel de déposer TRON Activer numéro de la ligne de traçage TROFF Désactiver le numéro de ligne de traçage SYSTEM Quitter le flux de contrôle de l'interpréteur BASIC

Un programme est normalement exécuté à partir de son numéro de ligne le plus bas (ou le numéro de la ligne appelée par RUN). Déclarations sur une ligne sont exécutées de gauche à droite. Lorsque toutes les déclarations sur une ligne sont terminées, l'exécution se déplace vers le numéro de la ligne la plus basse suivante, et ainsi de suite jusqu'à aucun numéro de ligne sont laissés. états des flux de contrôle peuvent être utilisés pour modifier ce flux normal de executon.

Les instructions END et STOP servent dans un programme pour arrêter son exécution et revenir en mode direct. Lorsque STOP est utilisé, un message de rupture est imprimé. De mode direct, CONT peut être exécuté pour reprendre le programme là où il a été arrêté. Bien FIN semble destiné à mettre fin au programme, il ne fait pas obstacle à l'utilisateur de reprendre avec CONT.

sauts inconditionnelles peuvent être faites avec GOTO. Le déroulement du programme se poursuivra au numéro de ligne indiqué dans l'instruction GOTO. En raison de l'absence de boucle sophistiquée, la ramification et des constructions de rupture de la langue de PC-BASIC, des sauts inconditionnels sont essentiels et utilisés fréquemment.

L'instruction GOSUB saute à un sous-programme. Semblable à GOTO, cela est un saut inconditionnel; Cependant, l'emplacement de l'appel est enregistré et le programme continuera son débit là après le sous-programme se termine par une instruction RETURN. Les sous-programmes sont un peu comme des procédures en ce sens qu'ils permettent morceaux de code qui effectuent une tâche donnée à être séparée du corps principal du programme, mais ils ne sont pas avoir une portée distincte puisque toutes les variables de PC-BASIC sont globaux. Ils ne possèdent pas les valeurs de retour. Il est même possible de sauter d'un sous-programme partout dans le programme en fournissant l'instruction RETURN avec un numéro de ligne.

L'instruction ON fournit une ramification construction alternative. Une valeur entière est utilisée pour sélectionner l'une d'une liste de numéros de lignes, et l'exécution se poursuit à partir de là. Il peut être utilisé avec un saut GOTO comme wellas avec un appel de routine GOSUB.

ON, GOTO et GOSUB peuvent également être utilisées en mode direct pour démarrer un programme ou sous-programme sans réinitialiser les variables.

L'IF-THEN-ELSE construction teste une condition et exécuter différentes branches de code sur la base de sa valeur de vérité. Cela ne veut pas un produit d'assemblage de blocs; tout le code dans les branches then et else doit tenir sur une seule ligne. Pour cette raison, la ramification est souvent utilisé en combinaison avec des sauts GOTO. Par exemple: 10 INPUT "Quel âge avez-vous"; AGE% 20% SI AGE> 30 THEN 100 30 SI AGE% <30 THEN 200 ELSE PRINT "Vous êtes âgé de 30 ans." 40 END 100 PRINT "Vous êtes plus de 30." 110 END 200 PRINT "Vous n'êtes pas encore 30." 210 FIN

La construction de boucle WHILE-WEND répète le bloc de code entre WHILE et WEND tant qu'une condition donnée reste vrai.

La construction FOR-NEXT répète un bloc de code alors qu'un compteur reste dans une plage donnée. Le compteur est réglé sur une valeur de départ lors de la première passe de l'état FOR et incrémentée de la valeur incrémentielle à chaque passage de NEXT. Par exemple: 10 POUR I = 1 A 10 20 PRINT STRING $ (I, "*"); EN UTILISANT " [##]"; I 30 NEXT I

constructions Looping peuvent être imbriquées.

Flux de contrôle est également affectée par l'événement et la récupération d'erreur. Déclaration description Continuer CONT programme interrompu ELSE Ignorez le reste de la ligne (ELSE autonome) d'exécution FIN Arrêt du programme pour le démarrage d'une boucle for GOSUB Appeler un sous-programme GOTO Sauter vers un autre emplacement dans le programme IF Branch sur une condition SUIVANTE Iterate un pour -loop ON Calculé saut ou appel de routine RETURN Retour de sous-programme ARRET Interrompre l'exécution du programme WEND Itérer un certain temps en boucle WHILE Entrez un Arrays en boucle et des variables Déclaration description de DEFDBL Spécifiez la variable plage de nom pour double précision flotteurs DEFINT Spécifiez la variable intervalle de nom pour les entiers DefSng Spécifiez la variable plage de nom pour simple précision flotteurs DEFSTR Spécifiez la variable plage de noms pour les chaînes DIM Allouer un tableau ERASE Désallouer un tableau louer Attribuer une valeur à une OPTION base variable Définir l'index de départ des tableaux SWAP Swap deux variables conversion de type Fonction description ASC Caractère à valeur ordinale valeur CHR $ ordinale à caractère HEX $ Entier à la représentation de chaîne hexadécimale octobre $ Entier à la représentation de chaîne octal valeur STR $ numérique à la représentation de chaîne décimale représentation VAL chaîne à valeur numérique valeur CDBL numérique à double précision float CINT valeur numérique en entier valeur CSNG numérique à simple précision représentation float CVD byte à double précision représentation float CVI byte vers entier CVS représentation byte à simple précision float MKD $ Double précision float à la représentation d'octets MKI $ Entier à octet MKS de représentation $ float simple précision à la représentation d'octets opérations de chaîne Déclaration description de LSET Copie une valeur justifiée à gauche dans une chaîne tampon MID $ Copie une valeur dans le cadre d'un tampon de chaîne RSET Copier une valeur justifiée à droite dans une mémoire tampon de chaîne Fonction description INSTR Trouver gAUCHE Left $ len cordes longueur MID $ Substring dROIT $ Right SPACE substring $ Répéter espaces STRING $ caractères Répéter texte et la Déclaration d'écran description de CLS Effacer les couleurs et la palette des valeurs écran jeu de couleurs LOCATE Réglez la position et la forme du curseur pALETTE écran texte Attribuer une couleur à un attribut PALETTE UTILISATION Attribuer une gamme de couleurs aux attributs PCOPY Copier un écran Imprimer IMPRIMER expressions à la vue de l'écran PRINT Définir le texte zone de défilement WIDTH Définit le nombre de colonnes de texte sur la fonction d'écran description de CSRLIN ligne actuelle du curseur POS colonne actuelle du curseur ECRAN Caractère ou attribut à l'emplacement donné l'imprimante Déclaration description de LCOPY ne rien faire LPRINT impression expressions à la fonction d'imprimante description LPOS position de la colonne de tête d'impression saisie clavier Déclaration description entrée Récupérer l'entrée d'utilisateur sur la console lINE INPUT Récupérez une ligne d'entrée de l'utilisateur sur la fonction de la console Description de INKEY $ non bloquante lu depuis l'entrée du clavier $ Blocage lecture à partir du clavier à touches de fonction macros Déclaration Description de KEY Gérer la visibilité de la macro liste KEY fonction-clé définir une fonction-clé calculs macro et mathématiques fonctions mathématiques fonction Description ABS valeur absolue ATN COS arctangente cosinus EXP exponentielle FIX troncature INT Floor LOG Natural logarithme SIN Sinus SGN Inscription racine SQR place TAN Tangente aléatoire des nombres Déclaration description de RANDOMIZE initialiser le générateur de nombres aléatoires Fonction description RND pseudo-aléatoires numériques Périphériques et fichiers du fichier des opérations Déclaration description fermer Fermer un champ de fichier Attribuer une chaîne un tampon d'enregistrement à accès aléatoire GET Lire un enregistrement à partir d'un fichier d'entrée à accès aléatoire Lire une variable à partir d'un fichier d'entrée lINE Lire une ligne d'un verrou de fichier verrouille un fichier ou une plage d'enregistrements contre toute autre utilisation OUVERT Ouvrir un fichier de données PUT Write la mémoire tampon à accès aléatoire enregistrement sur le disque RÉINITIALISER Fermer tous les fichiers UNLOCK Déverrouille un fichier ou une plage d'enregistrements contre d'autres WIDTH utilisation Définir le nombre de colonnes de texte dans un fichier WRITE écrire des expressions dans un fichier Fonction description EOF Fin du fichier LOC Localisation dans le fichier LOF Longueur du fichier $ INPUT Lire une chaîne à partir d'un fichier Devices

PC-BASIC reconnaît les périphériques DOS de style suivantes, qui peuvent être utilisés en ouvrant un fichier sur eux. Certains appareils permettent de spécifier d'autres paramètres de fichiers, tels que les spécifications de prise de contact pour les appareils de série, un nom de fichier pour les appareils à cassettes et un chemin d'accès pour les périphériques de disque. Lors de l'utilisation sur les périphériques de disque, en spécifiant un chemin d'accès est obligatoire.

Les alias de nom de fichier listés ici ne sont disponibles que si le dispositif actuel est un périphérique de disque. alias de nom de fichier de périphérique autorisés modes Description de SCRN: CON SORTIE L'écran. Sortie à SCRN: a en grande partie le même effet que la sortie droite en utilisant PRINT. Une différence réside dans le réglage de largeur qui est indépendante de la largeur réelle de l'écran. KYBD: CON ENTREE Le clavier. Entrée lire à partir de KYBD: n'est pas affiché à l'écran. Les touches spéciales comme les touches fléchées sont enregistrées différemment que lors de l'utilisation INPUT ou $ INPUT droite. LPT1: LPT2: LPT3: PRN pour LPT1: SORTIES ports parallèles ALEATOIRES 1-3. dispositifs LPT peuvent être fixés sur le port parallèle physique, à une imprimante ou à un fichier texte avec les options --lptn. Ouverture d'une imprimante pour RANDOM a le même effet que l'ouverture pour SORTIE; tenter des opérations aléatoires de fichiers va augmenter le mode de fichier incorrect. COM1: COM2: AUX pour COM1: ENTREE SORTIE APPEND ports série ALEATOIRES 1-2. dispositifs COM peuvent être attachés à un port série physique ou à une prise réseau avec les options --comn. CAS1: ENTREE SORTIE Cassette pilote de bande. dispositifs CAS peuvent être attachés à un WAV (RIFF Wave) ou d'un CAS (image de bande de bitmap) fichier avec l'option --cas1. A: - Z: et @: appareils APPEND RANDOM disque ENTRÉE DE SORTIE. Ces dispositifs peuvent être montés dans un répertoire sur le système de fichiers hôte avec l'option --mount. Ils ne correspondent pas automatiquement des lettres de lecteur sous Windows, sauf si l'option --map-lecteurs est réglé. NUL INPUT OUTPUT de l'appareil APPEND RANDOM Null. Ce dispositif ne produit pas d'octets lors de l'ouverture pour l'entrée et absorbe tous les octets lorsqu'il est ouvert pour la sortie.

GW-BASIC reconnaît en outre le peu utilisé périphérique suivant, qui ne sont pas mis en œuvre dans PC-BASIC. Périphériques autorisés modes description CONS: SORTIE L'écran (console). Sortie vers CONS: est affiché directement à la position du curseur lorsque vous appuyez sur Entrée. Il ne met pas à jour la valeur de fin de ligne pour l'interprète, ce qui signifie qu'il ne se déplace pas avec Backspace ou Del et ne sont pas stockées dans les lignes de programme si elle apparaît au-delà de la fin de la ligne existante. CONS: peut être ouvert avec un mode d'accès, mais l'effet est toujours à l'ouvrir pour la sortie. Déclaration graphique Description de CIRCLE Dessiner une section d'ellipse ou arc TIRAGE Dessiner une forme définie par une Graphics chaîne de langage de macros GET Stocker une zone d'écran comme une ligne de sprite Dessinez un PAINT segment de ligne Flood-fill une région PSET connecté Mettez un PRESET pixel Changer un pixel fond attribut PUT Dessinez un sprite à l'écran de l'écran Modifier l'affichage du mode vidéo Réglez le graphique viewport fenêtre Définir les coordonnées logiques Fonction description POINT pointeur graphique coordonnées POINT Pixel attribut PPAFM Convertir entre les coordonnées physiques et logiques Déclaration sonore description de Beep Beep le haut-parleur BEEP Président commutateur NOISE Générer du bruit JOUER Faites un morceau encodé en Musique Langue Macro SOUND Générer une tonalité sonore commutateur Fonction description LECTURE Longueur de la file d'attente de la musique de fond joystick et un stylo Déclaration description STRIG joystick commutateur Fonction description PEN condition STICK stylo lumière Coordonnée du joystick axe STRIG condition joystick feu disques de boutons et DOS

L'instruction SHELL est, par défaut, désactivé; ceci afin d'éviter des surprises désagréables. Dans GW-BASIC sous MS-DOS, SHELL ouvre une invite DOS ou exécute des commandes en elle. Les coquilles de commande des systèmes d'exploitation modernes fonctionnent différemment que ceux de DOS; en particulier, il est impossible de récupérer les modifications dans les variables d'environnement, de sorte que de nombreux cas d'utilisation de SHELL simplement ne fonctionnerait pas; par exemple, changer le lecteur en cours sur Windows. En outre, les shells Unix ont une syntaxe qui est complètement différent de celui du DOS. Vous pouvez, toutefois, permettre à SHELL en réglant le shell = l'option native. Déclaration Description de CHDIR Changer le répertoire courant Liste FICHIERS les fichiers dans le répertoire courant TUENT Supprimer un fichier sur un périphérique de disque MKDIR Créer un nouveau répertoire NOM Renommer un fichier sur le disque RMDIR Supprimer un répertoire ENVIRON Set une chaîne SHELL environnement shell Entrez un DOS shell Fonction Description ENVIRON $ Chaîne du shell table d'environnement communications série Déclaration description de GET Lire octets à partir d'un port série PUT Ecrire octets à un terme de port série Ouvrez le traitement de l'événement d'émulation de terminal

le piégeage de l'événement permet de définir des sous-programmes qui sont exécutés en dehors du cours normal de fonctionnement. Les événements qui peuvent être piégés sont:

 Les intervalles de temps (ON TIMER)
   (ON KEY enfoncements de touches)
   entrée du port série (ON COM)
   file d'attente musicale épuisement (ON PLAY)
   triggers Joystick (ON STRIG)
   activation de stylo Light (ON PEN)

Event subroutines piégeage sont définis comme des sous-programmes réguliers. A l'instruction RETURN, le cours normal de l'exécution du programme est reprise. Événement piégeage peut être activée et désactivée ou interrompue temporairement avec les déclarations de la forme PEN ON, PEN OFF, PEN STOP. le piégeage de l'événement a lieu seulement pendant l'exécution du programme et est en pause pendant que le programme est dans un piège d'erreur. Si un événement se produit lors de l'événement de piégeage est en pause, l'événement est déclenché immédiatement lorsque l'événement de piégeage est reprise. Déclaration Description de COM Gérer l'événement du port série piégeage KEY Gérer événement clavier piégeage KEY Définir clé piège événement clavier piégeage ON Définir sous-programme d'événements de piégeage PEN Gérer événement stylo lumière piégeage événement JOUER Gérer la file d'attente de la musique piégeant STRIG Gérer événement joystick piégeant TIMER Gérer événement timer piégeage La gestion des erreurs

Normalement, toute erreur interrompt l'exécution du programme et imprimer un message sur la console (exceptions sont Division Débordement et par zéro, qui impriment un message mais ne pas interrompre l'exécution). Il est possible de gérer les erreurs plus gracieusement en définissant une routine de gestion des erreurs avec l'ON ERROR GOTO instruction line_number. Les mises en chantier de routine de gestion des erreurs au numéro de ligne line_number donné et continue jusqu'à ce qu'une instruction REPRENDRE est rencontrée. Erreur piégeage est en effet à la fois quand un programme est en cours d'exécution et en mode direct. Erreur piégeage est éteint avec l'ON ERROR GOTO 0 déclaration. Si une erreur se produit, ou la récupération d'erreur est éteint, alors que le programme exécute une routine de piégeage d'erreur, le programme se termine et un message d'erreur est affiché. Déclaration Description ERROR Soulever une erreur ON ERROR Définir un REPRENDRE Fin gestionnaire d'erreurs de gestionnaire d'erreur et revenir à l'exécution Fonction Code de la dernière erreur numéro ERL ligne des fonctions définies par l'utilisateur dernière erreur Déclaration description DEF FN Description de ERR Erreur normale Définir une nouvelle fonction Description de la fonction FN défini par l'utilisateur fonction Date et heure Déclaration description DATE $ Réglez le temps de date système $ Réglez l'heure du système Date fonction description DATE $ System comme un temps système $ TIME chaîne comme un temps de système TIMER chaîne en secondes depuis minuit Y compris les données dans une déclaration de programme description des données Définir les données à utiliser par le programme LIRE Récupérer une entrée de données RESTORE réinitialiser la mémoire de pointeur de données et les ports de la machine

Seuls certains plages de mémoire et les ports sélectionnés sont émulés dans PC-BASIC. Certaines des régions les plus fréquemment consultés de mémoire sont émulées et peut être lu et (parfois) écrit. Il est lu et écrire un soutien pour la mémoire vidéo, la police RAM et les emplacements du segment bas de la mémoire, y compris le tampon de clavier sélectionné. En outre, il est lu support pour la police de ROM, variable, un tableau et de la mémoire de chaîne, des tampons FIELD ainsi que le code du programme lui-même. L'écriture dans le code de programme est désactivée par défaut, mais peut être activée avec l'option allow-code poche. Un certain nombre de ports de la machine liés aux modes d'entrée et de vidéo clavier sont également pris en charge. Déclaration Description de BLOAD Charger un fichier binaire en mémoire BSAVE Enregistrer une région de mémoire à déposer CLEAR Efface la mémoire BASIC DEF SEG Définissez le segment de mémoire OUT Ecrire un octet à un port POKE machine Ecrire un octet à un emplacement de mémoire ATTENDEZ Attendez une valeur sur une machine Fonction description port FRE Montant de la libre Byte mémoire INP dans le port de la machine PEEK Byte à l'adresse de mémoire VARPTR adresse de mémoire de la variable $ VARPTR représentation Octet de longueur et adresse mémoire des caractéristiques variables non encore mis en œuvre

Les éléments de langage suivants ne sont pas actuellement pris en charge dans le PC-BASIC. La syntaxe mot-clé est pris en charge, donc aucune erreur de syntaxe devrait être soulevée si les états ou fonctions sont utilisées correctement. Cependant, les déclarations ne font rien et les fonctions renvoient zéro ou la chaîne vide.

Ces éléments de langage peuvent être mises en œuvre dans les futures versions de PC-BASIC. Déclaration Description de PC-BASIC MOTOR de mise en œuvre Allumez le moteur de cassette Ne rien Fonction Description PC-BASIC ERDEV de mise en œuvre valeur d'erreur de périphérique Retour 0 ERDEV $ Nom du dispositif erreur soulevant Retour "" EXTERR Extended de l'information d'erreur DOS retour 0 fonctionnalités non prises en charge

GW-BASIC était un programme DOS en mode réel, ce qui signifie qu'il avait un contrôle total sur un 8086 ordinateur compatible IBM. Il y avait un accès direct à tous les domaines de la mémoire et tous les périphériques. Certains programmes de base utilisé ce fait, en utilisant des sous-routines code machine pour effectuer des tâches pour lesquelles BASIC n'a pas fourni le soutien. pistes PC-BASIC sur des machines modernes qui peuvent être fondées sur des architectures totalement différentes et ne permettent pas aux applications d'accéder directement à la mémoire. Par conséquent, il est impossible d'exécuter du code de la machine sur PC-BASIC. Si vous avez besoin du code machine, vous aurez besoin d'utiliser l'émulation de CPU complète telle que fournie par DOSBox, Bochs ou VirtualBox.

De même, la fonctionnalité IOCTL dépend d'une interruption MS-DOS et envoie une chaîne de commande de l'appareil à tout pilote de périphérique DOS. La syntaxe de ces chaînes est dépendant du périphérique. Depuis PC-BASIC émule ni DOS, ni quel appareil pourrait être l'analyse de la chaîne de contrôle, il est possible d'utiliser cette fonctionnalité.

Les éléments de langage suivants ne sont donc pas pris en charge dans PC-BASIC. La syntaxe mot-clé est pris en charge, donc aucune erreur de syntaxe devrait être soulevée si les états ou fonctions sont utilisées correctement. Cependant, les déclarations ne font rien ou soit augmenter illégal appel de fonction; les fonctions renvoient zéro ou la chaîne vide ou soulèvent illégale appel de fonction. Déclaration Description de PC-BASIC CALL de mise en œuvre Appeler un sous-programme de code machine Ne rien faire APPELS Appel d'un sous-programme FORTRAN Ne rien faire DEF USR Définir une fonction de code machine Ne rien IOCTL Envoyer une chaîne de commande de l'appareil à un dispositif Soulever appel de fonction Description de la fonction PC-BASIC mise en œuvre illégale IOCTL $ response de périphériques pour IOCTL Raise illégal appel de fonction USR code machine fonction retour référence 0 Langue

Cette documentation décrit la langue de PC-BASIC, qui vise à imiter fidèlement GW-BASIC 3.23, IBM Advanced BASIC, IBM cartouche BASIC et Tandy 1000 GW-BASIC.

Les différences avec les langues d'origine ne se posent, et lorsque cela est le cas, ils sont documentés.

S'il vous plaît noter que la documentation officielle de Microsoft pour les langues d'origine est plutôt hit-and-miss; il laisse plusieurs fonctionnalités non documentées et décrit de manière incorrecte les autres. Pour éviter de faire les mêmes erreurs, la présente documentation a été écrit à partir de zéro en référence au comportement réel. Les erreurs dans ce document sont donc tout mon propre. S'il vous plaît me contacter si vous les rencontrez. Métasyntaxe

Dans les descriptions de la syntaxe BASIC, les conventions suivantes sont applicables. rendu exact du balisage peut varier en fonction des moyens utilisés pour afficher cette documentation.

audacieux

 Tapez exactement comme indiqué.

italique

 Remplacer par metavariable approprié.

[une]

 Les entités entre crochets sont facultatifs.

{A | b}

 alternatives disjointes dont l'un doit être choisi.

[A | b]

 alternatives disjointes en option.

une ...

 entité précédente peut être répétée.

Définitions

Une ligne de programme se compose d'un numéro de ligne suivi d'une instruction composée. lignes du programme sont terminés par un CR ou ou à la fin du fichier (éventuellement par le biais d'un caractère EOF). Tout sur une ligne de programme après un caractère NUL est ignoré.

Un numéro de ligne est un nombre entier dans l'intervalle [0-65535]. Notez que les numéros de ligne 65530-65535 ne peuvent pas être saisies à partir de la console ou un fichier de programme de texte, mais peuvent faire partie d'un fichier de programme tokenised.

Une instruction composée est constituée d'états séparés par deux points: déclaration [déclaration] ...

Une expression prend l'une des formes suivantes: unary_operator {literal | variables | array_element | fonction} expression binary_operator expression (expression) dont les éléments sont décrits les sections littéraux, variables, opérateurs et fonctions.

Un élément de tableau prend la forme array {[| (} numeric_expression [, numeric_expression] ... {) |]} littéraux littéraux cordes

Les chaînes littérales sont de la forme suivante: "[caractères] {NUL | CR | EOF |"} où les caractères est une chaîne de caractères. Tout caractère de la page de code actuel peut être utilisé, avec les exceptions suivantes, tous qui terminent la chaîne littérale (en dehors des autres effets qu'ils peuvent avoir):

 NUL (CHR $ (& h00))
   CR (CHR $ (& h0D))
   EOF (CHR $ (& H1A))
   "(CHR $ (& h22))

Les chaînes sont aussi légalement mis fin à la fin du fichier en l'absence d'un caractère EOF.

En dehors de ceux-ci, les chaînes de caractères ne doivent pas contenir les caractères dans la plage ASCII & h0D- & H1F, qui conduisent à des résultats imprévisibles. Il n'y a pas de mécanisme d'échappement. Pour inclure un des caractères ci-dessus dans une chaîne, utilisez la concaténation de chaîne et la fonction CHR $. littéraux numériques

Les littéraux numériques ont l'une des formes suivantes: | - [.] [+] [0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | 8 9] ... [0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9] ... [{e | e | D | d} [+ | -] [0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ] ...] | # |! |%] et {h | h} [0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | a | b | c | d | e | f] ... et [O | o] [0 | 1 | 2 | 3 | 4 | 5 | 6 | 7] ...

littéraux hexadécimaux ne doivent pas contenir d'espaces, mais décimales et octaux littéraux mai. Le o caractère littéraux octal est facultative: ils peuvent être spécifiés tout aussi & o777 ou & 777.

Hexadécimal et littéraux octal désignent des nombres entiers et ne comprennent pas un signe. Ils doivent se situer entre [& H0- & HFFFF], dont la gamme [& h8000- & HFFFF] est interprété comme complément négatif entier de deux; par exemple, & HFFFF = -1. Les signes peuvent apparaître à gauche du &, mais ceux-ci forment une expression et ne font pas partie du littéral lui-même.

À virgule flottante littéraux doivent être spécifiés dans la notation décimale. Le séparateur décimal est le point. Une base 10 exposant peut être spécifié après E dans des flotteurs simple précision, ou après D dans flotteurs double précision. Trailing% est ignoré et ne signifie pas un entier littéral. Trailing! ou # marquent le littéral comme simple ou double précision, respectivement.

Des exemples de littéraux numériques valides sont -1 42 42! 42 # 1,3523523 0,235435 ± 3 3.. .e .D 1.1e + 7 1.1d + 7 1e2 1e-2 & 7 & HFFFF & O20 & h & 65537% 1.1%

Notez que des expressions telles que & o-77 sont légales; ceux-ci ne sont cependant pas octal négatives, mais plutôt l'expression & o (octal vide, zéro) moins 77 (décimal 77). Variables

Les noms de variables doivent commencer par une lettre; tous les caractères du nom de la variable (à l'exception du sigil) doivent être des lettres de A à Z, les chiffres 0-9, ou un point. Seuls les 40 premiers caractères du nom sont significatifs. Un nom de variable ne doit pas être identique à un mot réservé ou un mot réservé, plus sigil. Par conséquent, par exemple, vous ne pouvez pas nommer une variable TO! mais vous pouvez le nommer AS !. Les noms de variables peuvent contenir un mot réservé. Les noms de variables peuvent aussi commencer par un mot réservé, à l'exception de NRS et FN. Ainsi, FNORD% et USRNME $ ne sont pas des noms de variables juridiques alors Tache de rousseur% et LUSR $ sont.

Pour chaque nom, quatre variables différentes peuvent exister correspondant aux quatre types. Autrement dit, vous pouvez avoir un $, A%, A! et A # que différentes variables. Lequel de ceux est également connu sous le nom A dépend des paramètres DEFINT / DEFDBL / DefSng / DEFSTR. Par défaut, A est égal à la simple précision A !.

En outre, les matrices A $ (%), A (A)! (), A # () sont séparés à partir des grandeurs scalaires du même nom. Types et sigils

PC-BASIC reconnaît quatre types de variables, qui se distinguent par leur sigil ou de type caractère, le dernier caractère du nom complet de la variable: sigil Type taille plage de précision $ string 3 octets en plus attribués espace de chaîne 0-255 caractères% entiers 2 octets -32.768 à 32.767 exactes! simple précision float 4 octets ± 2.938726 · 10-39- ± 1.701412 · 1038 ~ 6 chiffres significatifs

   double précision float 8 octets ± 2,938735877055719 · 10-39- ± 1,701411834604692 · 1038 ~ 16 chiffres significatifs 

Notez que les flotteurs double précision peuvent contenir plus de décimales que flotteurs simple précision, mais les numéros pas plus ou moins.

Alors que tous les entiers sont signés, certains états vont interpréter des nombres entiers négatifs comme complément à leurs deux. Arrays

Les tableaux sont indexés avec ronds ou crochets; même les supports de mélange est autorisé. Voici tous les éléments juridiques du tableau: A [0], A (0), A (0], A [0). Les tableaux multidimensionnels sont spécifiés en séparant les indices avec des virgules: A (0, 0), A [0, 0, 0], etc.

Par défaut, les tableaux sont indexés à partir de 0. Ceci peut être changé à 1 en utilisant OPTION BASE 1.

Les tableaux peuvent être attribués en spécifiant le plus grand indice autorisé en utilisant DIM. Si tous les indices du tableau sont 10 ou moins, ils ne doivent pas être explicitement attribués. Le premier accès du réseau (lecture ou écriture) attribue automatiquement avec un indice maximum de 10 et le même nombre d'indices comme dans le premier accès. Pour ré-allouer un tableau, l'ancien tableau doit d'abord être supprimé avec CLEAR ou ERASE. Conversions

PC-BASIC va convertir implicitement entre les trois types de données numériques. Lorsqu'une valeur d'un premier type est affecté à une variable, un élément de tableau ou d'un paramètre d'un autre type, il est converti selon les règles suivantes:

 flotteurs simple et double précision sont convertis en entier en arrondissant au nombre entier le plus proche.  Demis sont arrondis loin de zéro.  Si le nombre entier résultant est en dehors de la plage autorisée pour les entiers, Overflow est élevé.
   flotteurs double précision sont convertis en des flotteurs par simple précision arrondi gaussienne de la mantisse, où le nouveau bit le moins significatif de la mantisse est arrondie si la fraction binaire écrêté-off est supérieure à une demi-;  moitiés sont arrondies au même.
   Entiers sont convertis à leur représentation exacte comme flotteurs simple ou double précision.
   flotteurs simple précision sont convertis à leur représentation exacte flotteurs double précision.
   Il n'y a pas de conversion implicite entre les chaînes et tous les types numériques.  Tenter d'assigner une valeur de chaîne à une variable numérique, élément de tableau ou d'un paramètre (ou vice versa) augmentera Incompatibilité de type. 

Opérateurs Ordre de priorité

L'ordre de priorité des opérateurs est la suivante, à partir étroitement lié (haute priorité) à faiblement lié (faible priorité):

 ^
       * / 
   \
   MOD
       + - (Unaire et binaire) 
       = <>> <<> <= = <> = => 
   NOT (unaire)
   ET
   OU
   XOR
   EQV
   LUTIN

Les expressions entre parenthèses () sont évaluées en premier. Tous les opérateurs binaires sont laissés associatif: les opérateurs de même priorité sont évalués de gauche à droite. Exemples

 Exponentiation est plus étroitement lié à la négation: -1 ^ 2 = - (1 ^ 2) = -1, mais (-1) ^ 2 = 1.
   Exponentiation est gauche associative: 2 ^ 3 ^ 4 = (2 ^ 3) ^ 4 = 4096.

les erreurs

   Si un opérateur autre que +, - ou NOT est utilisé sans opérande de gauche, une erreur de syntaxe est soulevée.  A la fin d'une instruction, si un opérateur est utilisé sans opérande de droite, opérande manquant est élevé.  Si cela se produit ailleurs dans une instruction, comme entre parenthèses, une erreur de syntaxe est soulevée. 

opérateurs mathématiques

Les opérateurs mathématiques fonctionnent sur des expressions numériques seulement. Notez cependant que + peut prendre le rôle de l'opérateur de concaténation si les deux opérandes sont des chaînes. Opération code Résultat x ^ y Exponentiation x élevé à la puissance de yx * y Multiplication des produits de x et yx / y Division Quotient de x et yx \ y Tronqué division entière quotient de x et yx MOD y Modulo Entier reste de x par y ( avec le signe de x) x + y Addition Somme des x et yx - y soustraction Différence de x et y + y unaire valeur plus de y - valeur négative Négation y de y

Le cas échéant, le résultat de l'opération sera mis à niveau vers un type capable de tenir le résultat des données. Par exemple, diviser des nombres entiers 3 par 2 donnera une simple précision 1,5. Cependant, l'opérateur d'exponentiation ^ donnera au plus un résultat simple précision, sauf si la double option est utilisée. les erreurs

 Si l'un des opérandes est une chaîne, Incompatibilité de type sera soulevée.  L'exception est + qui ne fera que soulever Incompatibilité de type se soit, mais pas les deux opérandes sont des chaînes.
   Si y = 0, x / y, x MOD y et x \ y soulèvera la division par zéro.
   Si x = 0 et y <0, x ^ y soulèvera la division par zéro.
   Si le résultat d'une opération est trop grand pour tenir dans un type de données à virgule flottante, Overflow est soulevée.
   Si opérandes ou résultat de \ ou MOD ne sont pas dans [-32768-32767], Overflow est soulevée.
   Si x <0 et y est un nombre fractionnaire, x ^ y soulèvera Illegal appel de fonction.

opérateurs relationnels

Les opérateurs relationnels peuvent fonctionner sur numérique, ainsi que les opérandes de chaîne; cependant, si un opérande est une chaîne et l'autre numérique, Incompatibilité de type est élevé.

Les opérateurs relationnels renvoient soit 0 (pour faux) ou -1 pour vrai. Code d'opération Résultat = Egal Vrai si a est égal à b, sinon false. <>> <Différent False si un est égal à b, vrai autrement. <Moins Vrai si a est inférieur à b, sinon false. > Supérieur Vrai si a est supérieur à b, sinon false. <= = <Inférieur ou égal False si un est supérieur à b, vrai autrement. > = => Supérieur ou égal False si un est inférieur à b, vrai autrement.

En cas d'utilisation sur des opérandes numériques, les deux opérandes sont comparés en tant que nombres à virgule flottante selon l'ordre habituel de nombres. L'égal opérateur teste pour l'égalité à l'intérieur de la précision de la machine pour la plus haute précision des deux types d'opérateurs.

Lorsque l'on compare les chaînes, l'ordre est le suivant.

 Deux chaînes sont égales seulement si elles sont de la même longueur et chaque code de caractère de la première chaîne est d'accord avec le code de caractère correspondant du second.  Ceci inclut tout espace ou des caractères non imprimables.
   Chaque position de caractère des cordes est comparée à commencer par le premier caractère.  Quand une paire de caractères différents est rencontrée, la chaîne avec le caractère de moindre point de code est inférieure à la chaîne avec le caractère d'une plus grande point de code.
   Si les chaînes sont de longueur différente, mais égale à la longueur de la chaîne la plus courte, la chaîne la plus courte est inférieure à la chaîne plus longue.

opérateurs binaires

PC-BASIC n'a pas de type Boolean et ne met pas en œuvre les opérateurs booléens. Il, cependant, mettre en œuvre les opérateurs de bits.

Opérateurs binaires fonctionnent sur des expressions numériques seulement. À virgule flottante opérandes sont arrondis à des nombres entiers avant d'être utilisés. Opération code Résultat PAS y Complement -y-1 x ET y Bitwise conjonction Le binaire entre x et yx OU y disjonction Bitwise Le OU binaire de x et yx XOR y Bitwise exclusive ou Le XOR de x et yx EQV y Bitwise équivalence PAS (x XOR y) x implication NOT (x) OU y IMP y Bitwise

Ces opérateurs peuvent être utilisés comme des opérateurs booléens uniquement si -1 est utilisé pour représenter vrai pendant que 0 représente faux. Notez que PC-BASIC représente des nombres entiers négatifs en utilisant le complément à deux, donc PAS 0 = -1. L'interprétation booléenne opérateurs binaires est donnée dans le tableau ci-dessous. Opération code Résultat PAS y Négation logique Vrai si y est faux et vice versa x ET y Conjonction Seul vrai si x et y sont de véritables x OU y disjonction Seulement false si x et y sont fausses x XOR y Exclusive ou Vrai si la vérité les valeurs de x et y diffèrent x EQV y Equivalence vrai si les valeurs de vérité de x et y sont les mêmes x IMP y Implication vrai si x est faux ou y est vrai

Sachez que lorsqu'il est utilisé sur des entiers autres que 0 et -1, les opérateurs binaires ne peuvent pas être interprétées comme des opérateurs booléens. Par exemple, 2 et 1 retourne 0. Erreurs

 Si l'un des opérandes est une chaîne, Incompatibilité de type sera soulevée.
   Si les opérandes ou résultats ne sont pas dans [-32.768 à 32.767], Overflow est soulevée.

Opérateurs de chaîne

L'opérateur de concaténation est +. Il dispose d'un binaire ainsi qu'une forme unaire. Le moins unaire peut également être utilisé sur les chaînes, mais n'a aucun effet. Code d'opération Résultat x + y concaténation La chaîne formée par x suivie d'y + y unaire Valeur Plus d'y - y unaire Minus Valeur des erreurs y

 Si l'un (mais pas les deux) opérandes à une concaténation sont numériques, Incompatibilité de type sera soulevée.
   Si LEN (x) + LEN (y)> 255, x + y soulèveront cordes trop longtemps.

Les fonctions

Fonctions ne peuvent être utilisés dans le cadre d'une expression dans une instruction; ils peuvent prendre des valeurs d'entrée entre parenthèses et de produire une valeur de retour. Par exemple, dans PRINT ABS (-1) la fonction ABS est utilisé dans une expression dans une instruction PRINT; dans Y = SQR (X) + 2 la fonction SQR est utilisé dans une expression dans une instruction LET.

Certains ouvrages de référence utilisent également des termes tels que la variable système pour les fonctions qui ne prennent pas une entrée, probablement parce que dans la syntaxe GW-BASIC ces fonctions ont pas entre parenthèses, à la différence des langues dans la famille C (et même quelques notions de base modernes). Toutefois, cela est tout simplement la syntaxe GW-BASIC pour les fonctions sans entrées. Par exemple, on peut faire DEF FNA = 1: PRINT FNA dans laquelle aucun parenthèses. ABS y = ABS (x)

Renvoie la valeur absolue de x si x est un nombre et la valeur de x si x est une chaîne. Paramètres

 x est une expression.

ASC val = ASC (char)

Renvoie le point de code (valeur ASCII) pour le premier caractère de l'omble. Paramètres

 omble est une expression avec une valeur de chaîne.

les erreurs

 omble a une valeur numérique: incompatibilité de type.
   omble est égal à "": Illegal appel de fonction.

ATN y = ATN (x)

Renvoie la tangente inverse de x. Paramètres

 x est une expression numérique qui donne l'angle en radians.

Remarques

 Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
   ATN (x) est différent du chiffre le moins significatif de GW-BASIC.

les erreurs

 x a une valeur de chaîne: Type mismatch.

CDBL y = CDBL (x)

Convertit l'expression numérique x à une valeur double précision. les erreurs

 x a une valeur de chaîne: Type mismatch.

CHR $ omble = CHR $ (x)

Renvoie le caractère avec le point de code x. Paramètres

 x est une expression numérique dans l'intervalle [0-255].

les erreurs

 x a une valeur de chaîne: Type mismatch.
   x est pas dans [-32768 à 32767]: Overflow.
   x est pas dans [0-255]: Illegal appel de fonction.

CINT y = CINT (x)

Convertit l'expression numérique x à un entier signé. les erreurs

 x a une valeur de chaîne: Type mismatch.
   x est pas dans [-32768 à 32767]: Overflow.

COS cosinus = COS (angle)

Renvoie le cosinus de l'angle. Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision. Paramètres

 angle est une expression numérique qui donne l'angle en radians.

Remarques

 La valeur de retour diffère généralement de la valeur retournée par GW-BASIC dans le chiffre significatif.

les erreurs

 angle a une valeur de chaîne: Type mismatch.

CSNG y = CSNG (x)

Convertit l'expression numérique x à une valeur simple précision. les erreurs

 x a une valeur de chaîne: Type mismatch.

CSRLIN y = CSRLIN

Retourne la ligne d'écran du curseur sur la page active. La valeur de retour est dans la gamme [1-25]. Remarques

 Cette fonction ne prend aucun argument.

CVI y = CVI (s)

Convertit une chaîne de deux octets à un entier signé. Paramètres

 s est une expression de chaîne qui représente un entier en utilisant le codage de complément à deux little-endian.  Seuls les deux premiers octets sont utilisés.

les erreurs

 s a une valeur numérique: incompatibilité de type.

CVS y = CVS (s)

Convertit une chaîne de quatre octets à une simple précision en virgule flottante. Paramètres

 s est une expression de chaîne qui représente un nombre simple précision dans Microsoft Binary Format.  Seuls les quatre premiers octets sont utilisés.

les erreurs

 s a une valeur numérique: incompatibilité de type.

CVD y = CVD (s)

Convertit une chaîne de huit octets à un double précision nombre à virgule flottante. Paramètres

 s est une expression de chaîne qui représente un nombre double précision dans Microsoft Binary Format.  Seuls les huit premiers octets sont utilisés.

les erreurs

 s a une valeur numérique: incompatibilité de type.

= DATE de $ de $ DATE (fonction)

Renvoie la date du système en tant que chaîne dans le format "mm-dd-yyyy". Remarques

 Cette fonction ne prend aucun argument.

ENVIRON $ valeur = ENVIRON [] $ (x)

Renvoie une variable d'environnement. Paramètres

x est une expression.

 Si x a une valeur de chaîne, renvoie la valeur de la variable d'environnement x ou la chaîne vide si aucune variable avec le nom x est défini dans le tableau de l'environnement.
   Si x a une valeur numérique, il doit être dans [1-255].  Renvoie l'entrée xième dans le tableau de l'environnement.

les erreurs

 x est la chaîne vide: Illegal appel de fonction.
   x est un nombre non [-32768 à 32767]: Overflow.
   x est un nombre non [1-255]: Illegal appel de fonction.

EOF is_at_end = EOF (file_num)

Renvoie -1 si le fichier avec le numéro file_num a atteint la fin de fichier; 0 autrement. Le fichier doit être ouvert dans le mode INPUT ou RANDOM. EOF (0) renvoie 0. Remarques

 Si file_num est ouvert à KYBD :, effectue un blocage lecture et retourne -1 si CTRL + Z est entré, 0 sinon.  Le caractère saisi est ensuite fait écho à la console.

les erreurs

 file_num a une valeur de chaîne: Type mismatch.
   file_num est un nombre pas dans [-32768 à 32767]: Overflow.
   file_num est un nombre non [0-255]: Illegal appel de fonction.
   file_num est pas 0 ou le numéro d'un fichier ouvert: Numéro de fichier incorrect.
   Le fichier avec le numéro file_num est en SORTIE ou en mode APPEND: le mode de fichier incorrect.

ERDEV zéro = ERDEV

Renvoie 0. Remarques

 Dans GW-BASIC, renvoie la valeur d'une erreur de périphérique.
   Cette fonction est pas implémentée dans PC-BASIC.
   Cette fonction ne prend aucun argument.

ERDEV $ empty = ERDEV [] $

Renvoie la chaîne vide. Remarques

 Dans GW-BASIC, retourne le nom de l'appareil d'une erreur de périphérique.
   Cette fonction est pas implémentée dans PC-BASIC.
   Cette fonction ne prend aucun argument.

ERL ERROR_LINE = ERL

Retourne le numéro de ligne où la dernière erreur a été soulevée. Remarques

 Si l'erreur a été soulevée par une déclaration directe, retourne 65535.
   Si aucune erreur n'a été relevée, renvoie 0.
   Cette fonction ne prend aucun argument.

ERR error_code = ERR

Retourne le numéro de la dernière erreur. Remarques

 Si aucune erreur n'a été relevée, renvoie 0.
   Si la dernière erreur était une erreur de syntaxe soulevée par une déclaration directe, renvoie 0.
   Cette fonction ne prend aucun argument.

EXP y = EXP (x)

Renvoie l'exponentielle de x, soit e à la puissance x. Paramètres

 x est une expression de number- valeur.

Remarques

 Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
   La valeur de retour diffère parfois dans le chiffre le moins significatif de GW-BASIC.  Pour de grandes valeurs de x, la différence peut être de 3 chiffres.

les erreurs

 x a une valeur de chaîne: Type mismatch.
   x est plus grand que le logarithme naturel de la valeur maximale simple précision: Overflow.

EXTERR zéro = EXTERR (x)

Renvoie 0. Paramètres

 x est une expression numérique dans [0-3].

Remarques

 Dans GW-BASIC, cette fonction renvoie des informations sur l'erreur à partir de MS-DOS.
   Cette fonction est pas implémentée dans PC-BASIC.

les erreurs

 x a une valeur de chaîne: Type mismatch.
   x est pas dans [-32768 à 32767]: Overflow.
   x est pas dans [0-3]: Illegal appel de fonction.

FIX ensemble = FIX (nombre)

Number Renvoie tronquée vers zéro. Paramètres

 nombre est une expression numérique.

Remarques

 FIX tronque vers zéro: il supprime la partie fractionnaire.  En revanche, INT tronque vers l'infini négatif.  Pour x négatifs FIX (x) -INT (x) = 1.

les erreurs

 nombre est une chaîne d'expression: incompatibilité de type.

résultat FN = FN [] nom [(arg_0 [, Arg_1] ...)]

Évalue la fonction définie par l'utilisateur préalablement défini avec le nom DEF FN. Les espaces entre les FN et le nom sont en option. Paramètres

 est le nom d'une fonction définie précédemment.
   arg_0, Arg_1, ... sont des expressions, étant donné que les paramètres de la fonction.

les erreurs

 Aucune fonction nommée nom est défini: la fonction de l'utilisateur non défini.
   Le nombre de paramètres diffère de la définition de la fonction: Erreur de syntaxe.
   Le type d'un ou plusieurs paramètres diffère de la fonction définition: incompatibilité de type.
   Le type de retour est incompatible avec sigil du nom de la fonction: Type de décalage.
   La fonction appelée est récursive ou mutuellement récursives: Out of memory. 

FRE free_mem = FRE (x)

Renvoie la mémoire de base disponibles. Paramètres

x est une expression.

 Si x a une valeur numérique, il est ignoré.
   Si x a une valeur de chaîne, la collecte des ordures est effectué avant de retourner la mémoire disponible. 

HEX $ hex_repr = HEX $ (x)

Retourne une chaîne avec la représentation hexadécimale de x. Paramètres

 x est une expression numérique dans [-32768 à 65535].  Les valeurs de x négatifs sont présentés comme complément à deux.

les erreurs

 x est pas dans [-32768 à 65535]: Overflow.
   x a une valeur de chaîne: Type mismatch.

INKEY $ key = INKEY $

Renvoie une pression de touche de la mémoire tampon du clavier. Si la mémoire tampon du clavier est vide, renvoie la chaîne vide. Dans le cas contraire, la valeur de retour est une chaîne de caractères d'un ou deux contenant le code e-ASCII de la touche enfoncée. Remarques

 Cette fonction ne prend aucun argument.
   Quand une touche F1-F10 de fonction est pressée, INKEY $ renvoie les lettres de la macro associée - à moins que cette macro a été mis à vider la déclaration KEY, auquel cas il renvoie le code e-ASCII pour la touche de fonction.

Code = INP INP (port)

Renvoie la valeur d'un port de la machine émulée. Paramètres

port est une expression numérique dans [0-65535]. Port Effect & h60 Retourne le scancode clavier pour la touche actuelle enfoncée ou la dernière touche relâchée. Les scancodes retournés par INP (& h60) sont ceux qui figurent dans le tableau des scancodes clavier. Si une clé est actuellement vers le bas, la valeur de retour est son scancode. Si aucune touche est enfoncée, la valeur de retour est le scancode de la dernière touche relâchée, incrémenté de 128. & H201 Renvoie la valeur du port de jeu (port joystick). Cette valeur est construite comme suit: Bit Signification 0 joystick 2 x axe 1 joystick 1 y 2 axes joystick 1 axe x 3 joystick 2 y 4 axes joystick 2 bouton 1 5 joystick 1 bouton 2 6 joystick 1 bouton 1 7 joystick 2 bouton 2 les bits de boutons sont 0 lorsque le bouton est tiré, 1 sinon. Les valeurs de l'axe sont normalement 0 mais sont mis à 1 par OUT & H201, x, puis retomber à 0 après un délai. Plus le délai est élevé, plus la valeur de l'axe. d'autres valeurs renvoie zéro. Remarques

 Seul un nombre limité de ports de la machine sont émulés dans PC-BASIC.

les erreurs

 port est pas dans [-32768 à 65535]: Overflow.
   port a une valeur de chaîne: Type mismatch.

ENTREE $ CHARS = entrée [] $ (num_chars [[#] file_num])

Retourne une chaîne de caractères NUM_CHARS à partir du clavier ou, si file_num est fourni, à partir d'un fichier texte. Paramètres

 num_chars est une expression numérique dans [1-255].
   file_num est une expression numérique qui renvoie le numéro d'un fichier texte ouvert en mode INPUT.  Le # est facultative et n'a aucun effet.

Remarques

 Ceci est un blocage lu.  Il attendra des caractères s'il n'y en a pas dans la mémoire tampon.
   Tous les caractères de contrôle, à l'exception Ctrl + Pause, Ctrl + Arrêt défil et Pause sont transmis à la chaîne par $ INPUT.  Ctrl + Pause et l'exécution de pause Ctrl + Arrêt défil Pause alors que les arrêts jusqu'à ce qu'une autre touche est pressée (et non lu).
   Lors de la lecture à partir du clavier directement ou par KYBD :, touches fléchées, Del, Début, Fin, Pg Up, Pg Dn sont passés comme des caractères NUL.  Les touches de fonction sont ignorées si elles sont les événements piégés, sinon la fonction-clé macro remplacement est actif comme normal.

les erreurs

 num_chars est pas dans [-32.768 à 32.767]: Overflow.
   num_chars est pas dans [1-255]: Illegal appel de fonction.
   file_num est pas un fichier ouvert: Numéro de fichier incorrect.
   file_num est inférieur à zéro: Illegal appel de fonction.
   file_num est supérieure à 32767: Overflow.
   file_num est pas ouvert pour INPUT: mode de fichier incorrect.
   num_chars ou file_num sont des chaînes: Incompatibilité de type.
   file_num est ouvert à un port COM et ceci est la première entrée, LINE INPUT ou INPUT $ appel sur ce port depuis le tampon a rempli complètement (c.-à-LOF (file_num) est devenu zéro): débordement de mémoire tampon de communication.

INSTR position = INSTR ([début,] parent, enfant)

Renvoie l'emplacement de la première occurrence de l'enfant substring dans parent. Paramètres

 parents et enfants sont les expressions de chaîne.
   commencer est une expression numérique dans [1-255], en précisant la position à partir de où chercher;  si non spécifié, la recherche commence au caractère 1.

Remarques

 Si l'enfant ne sont pas une sous-parent se produisant à ou avant le début, INSTR renvoie 0.

les erreurs

 démarrage a une valeur de chaîne ou d'un parent ou d'un enfant ont des valeurs numériques: incompatibilité de type.
   début est pas dans [-32768 à 32767]: Overflow.
   début est pas dans [1-255]: Illegal appel de fonction.

ensemble INT = INT (nombre)

Retourne le nombre tronqué vers l'infini négatif. Paramètres

 nombre est une expression numérique.

Remarques

 FIX tronque vers zéro: il supprime la partie fractionnaire.  En revanche, INT tronque vers l'infini négatif.  Pour x négatifs FIX (x) -INT (x) = 1.

les erreurs

 nombre est une expression de chaîne, Incompatibilité de type.

IOCTL $ result = IOCTL [] $ ([#] file_num)

Déclenche illégale appel de fonction. Remarques

 Dans GW-BASIC, IOCTL $ lit la réponse à IOCTL à partir d'un appareil.
   Cette fonction est pas implémentée dans PC-BASIC.

les erreurs

 file_num a une valeur de chaîne: Type mismatch.
   file_num est pas dans [-32.768 à 32.767]: Overflow.
   file_num est pas un fichier ouvert: Numéro de fichier incorrect.
   Dans le cas contraire: Illegal appel de fonction

LEFT $ enfant = LEFT $ (parent, num_chars)

Renvoie les caractères les plus à gauche NUM_CHARS de parent. Paramètres

 parent est une expression de chaîne.
   num_chars est une expression numérique dans [0-255].

Remarques

 Si num_chars est zéro ou parent est vide, LEFT $ retourne une chaîne vide.
   Si num_chars est supérieure à la longueur de la mère, le rendement parent.

les erreurs

 parent a une valeur numérique ou num_chars a une valeur chaîne: Incompatibilité de type.
   num_chars est pas dans [-32.768 à 32.767]: Overflow.
   num_chars est pas dans [0-255]: Illegal appel de fonction.

longueur LEN = LEN (string)

Retourne le nombre de caractères dans la chaîne. Paramètres

 chaîne est une expression de chaîne.

les erreurs

 chaîne a une valeur numérique: incompatibilité de type.

emplacement LOC = LOC (file_num)

Renvoie l'emplacement actuel dans le fichier ouvert sous le numéro file_num.

 Si le fichier est ouvert pour INPUT, OUTPUT ou APPEND, LOC renvoie le nombre de blocs de 128 octets lus ou écrits depuis l'ouverture du fichier.
   Si le fichier est ouvert pour RANDOM, LOC renvoie le numéro d'enregistrement dernier lu ou écrit.
   Si le fichier est ouvert pour un dispositif COM, LDC renvoie le nombre de caractères dans le tampon d'entrée, avec un maximum de 255.
   Si le fichier est ouvert à KYBD :, LOC renvoie 0.

Paramètres

 file_num est une expression numérique dans l'intervalle [0-255].

Remarques

 file_num ne doit pas être précédé d'un #.
   Dans SORTIE ou le mode APPEND, avant écrit tout retourne LOC 0. Après le caractère 128e est écrit, LOC renvoie 1.
   En mode INPUT, avant toute lit retourne LOC 1. Après le caractère 129e est lu, LOC renvoie 2.

les erreurs

 file_num a une valeur de chaîne: Type mismatch.
   file_num est pas dans [-32.768 à 32.767]: Overflow.
   file_num est pas dans [0-255]: Illegal appel de fonction.
   file_num est pas un fichier ouvert: Numéro de fichier incorrect.
   file_num est ouvert à un dispositif LPT: mode de fichier incorrect.

longueur LOF = LOF (file_num)

Retourne le nombre d'octets dans le fichier ouvert sous file_num. Paramètres

 file_num est une expression numérique dans l'intervalle [0-255].

Remarques

 Si file_num est ouvert à un COM: dispositif, LOF renvoie le nombre d'octets libres dans le tampon d'entrée.

les erreurs

 file_num a une valeur de chaîne: Type mismatch.
   file_num est pas dans [-32.768 à 32.767]: Overflow.
   file_num est pas dans [0-255]: Illegal appel de fonction.
   file_num est pas un fichier ouvert: Numéro de fichier incorrect.
   file_num est ouvert à un dispositif LPT: mode de fichier incorrect.

LOG y = LOG (x)

Renvoie le logarithme naturel de x. Paramètres

 x est une expression numérique supérieure à zéro.

Remarques

 Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
   LOG (x) peut différer de GW-BASIC par 1 dans le chiffre le moins significatif.

les erreurs

 x a une valeur de chaîne: Type mismatch.
   x est nul ou négatif: Illegal appel de fonction.

Position LPOS = LPOS (printer_number)

Renvoie la position de la colonne pour une imprimante. Paramètres

 printer_number est une expression numérique dans [0-3].  Si elle est 0 ou 1, la position LPT1 est retournée.  Si elle est 2, LTP2 :;  3, LPT3 :.

Remarques

 Dans GW-BASIC, en entrant dans le mode direct, LPT1: (mais pas d'autres imprimantes) est rouge et sa position est remise à 1. Ce ne sont pas mis en œuvre dans PC-BASIC.

les erreurs

 printer_number a une valeur de chaîne: Type mismatch.
   printer_number est pas dans [-32768 à 32767]: Overflow.
   printer_number est pas dans [0-3]: Illegal appel de fonction.

MID $ (function) substring = MID $ (string, la position [, longueur])

Renvoie une sous-chaîne de chaîne commençant à la position, à compter de 1. La chaîne a une longueur de longueur si elle est spécifiée, par défaut 1. Paramètres

 chaîne est une expression de chaîne.
   position est une expression numérique entre 1 et la longueur de la chaîne, y compris.
   longueur est une expression numérique dans [0-255].

les erreurs

 chaîne a une valeur de nombre ou la position ou la longueur des valeurs de chaîne: Type mismatch.
   la position ou la longueur ne sont pas dans [-32768 à 32767]: Overflow.
   la position est pas dans [1-255]: Illegal appel de fonction.
   longueur est pas dans [0-255]: Illegal appel de fonction.

MKD $ octets = MKD $ (double)

Renvoie l'interne de 8 octets Microsoft Binary Format représentation d'un numéro de double précision. les erreurs

 double a une valeur de chaîne: Type mismatch.

MKI $ octets = MKI $ (int)

Retourne le 2 octets représentation little-endian interne d'un entier. les erreurs

 int a une valeur de chaîne: Type mismatch.
   int est pas dans [-32768 à 32767]: Overflow.

MKS $ octets = MKS $ (simple)

Renvoie l'interne de 8 octets Microsoft Binary Format représentation d'un nombre de précision unique. les erreurs

 seule a une valeur de chaîne: Type mismatch.

Octobre $ octal = octobre $ (x)

Retourne une chaîne avec la représentation octal de x. Paramètres

 x est une expression numérique dans [-32768 à 65535].  Les valeurs de x négatifs sont présentés comme complément à deux.

les erreurs

 x a une valeur de chaîne: Type mismatch.
   x est pas dans [-32768 à 65535]: Overflow.

valeur PEEK = PEEK (adresse)

Renvoie la valeur de la mémoire au niveau du segment * 16 + adresse où segment est le segment courant réglé avec DEF SEG. Paramètres

 adresse est une expression numérique dans [-32768-65535].  Les valeurs négatives sont interprétées comme complément à leurs deux.

Remarques

 La mémoire est que partiellement émulée dans PC-BASIC.  Voir modèle de mémoire pour les adresses prises en charge.  En dehors des zones émulé, PEEK retourne 0.
   Les valeurs pour adresse particulière de la mémoire peuvent être préréglés sur la ligne de commande en utilisant l'option de coup d'oeil.  Ceci peut être utilisé pour assurer la compatibilité avec les anciens programmes.  Ces valeurs remplacent les valeurs vidéo ou de segment de données, si elles sont dans ces endroits.

les erreurs

 adresse a une valeur de chaîne: Type mismatch.
   adresse se trouve pas dans [-32768 à 65535]: Overflow.

PEN (fonction) x = PEN (mode)

Lit le crayon optique. Qu'est-ce que cette fonction retourne dépend du mode: Mode Valeur de retour 0 Boolean; si le stylet a été en baisse depuis le dernier sondage. 1 x coordonnée du dernier stylo position 2 coordonnée y de la dernière plume position 3 Boolean; si le stylo est actuellement en baisse de 4 x coordonnée de la position actuelle du stylet 5 coordonnée y de la position actuelle du stylo 6 caractères coordonnée de ligne de la dernière plume position 7 de la colonne de caractères coordonnées de la dernière plume position 8 caractères coordonnée de ligne de la colonne actuelle de 9 caractères de position de plume coordonner des courants Paramètres de position du stylet

 mode est une expression numérique dans [0-9].

Remarques

 Dans PC-BASIC, pour stylo lu bouton de la souris enfoncé.  Pour la position du stylet lire la position du pointeur de la souris.

les erreurs

 mode a une valeur de chaîne: Type mismatch.
   mode est pas dans [-32768-32767]: Overflow.
   mode est pas dans [0-9]: Illegal appel de fonction.

PLAY (fonction) = longueur PLAY (voix)

Retourne le nombre de notes dans la file d'attente de musique de fond. La valeur de retour est dans [0-16]. Paramètres

 la voix est une expression numérique dans [0-255].  Si la syntaxe = {PCjr | tandy}, indique pour quel canal ton de voix le nombre de notes doit être retourné.  Si la voix est pas dans [0-2], la file d'attente pour la voix 0 est renvoyé.  Pour d'autres choix de la syntaxe, la valeur de la voix n'a pas d'effet.

Remarques

 Il y a au plus 16 notes dans la file d'attente de la musique.  Certains manuels GW-BASIC prétendent qu'il peut y avoir jusqu'à 32, mais seulement dans la réalité lecture revient au cours des 16 dernières notes.

les erreurs

 voix a une valeur de chaîne: Type mismatch.
   la voix est pas dans [0-255]: Illegal appel de fonction.
   la voix est pas dans [-32768 à 32767]: Overflow.

PPAFM transformed_coord = PPAFM (original_coord, fn)

Plans entre viewport et logique (WINDOW) coordonne. Si aucune VIEW a été défini, les coordonnées de viewport sont coordonnées physiques.

En fonction de la valeur de fn, PPAFM transforme de logique de coordonnées viewport ou vice versa: fn Valeur de retour 0 retour viewport donné x x 1 retour viewport logique y étant donné y logique 2 retour x logiques viewport donnée x 3 retour logique y viewport donnée y Paramètres

 fn est une expression numérique dans [0-3].

Remarques

 Dans un premier temps, en mode texte, PPAFM renvoie 0.
   Dans GW-BASIC, PPAFM se comporte anormalement sur les changements d'écran, où il renvoie parfois des résultats comme si le dernier réglage de WINDOW avait persisté.  Ce comportement n'a pas été mis en œuvre dans PC-BASIC.

les erreurs

 Tout des paramètres a une valeur de chaîne: Type mismatch.
   Une coordonnée physique est pas dans [-32768 à 32767]: Overflow.
   fn est pas dans [-32768 à 32767]: Overflow.
   fn est pas dans [0-3]: Illegal appel de fonction.

POINT (coordonnées courant) coord = POINT (fn)

Retours une coordonnée active de l'écran graphique. Cela est généralement la dernière position à laquelle un pixel a été tracée, le second coin donné dans une commande LIGNE, ou le centre de la fenêtre si rien n'a été tracée. fn est une expression numérique dans [0-3].

La coordonnée de retour dépend de la valeur de fn: fn Valeur de retour 0 viewport x 1 viewport y 2 x logique 3 Paramètres y logiques

 fn est une expression numérique dans [0-3].

Remarques

 En mode texte, renvoie la coordonnée active de tout mode graphique précédent;  si aucun mode graphique est actif, renvoie 0.

les erreurs

 fn a une valeur de chaîne: Type mismatch.
   fn est pas dans [-32768 à 32767]: Overflow.
   fn est pas dans [0-3]: Illegal appel de fonction.

POINT (attribut pixel) attrib = POINT (x, y)

Renvoie l'attribut du pixel à la logique de coordonnées x, y. Paramètres

 x, y sont des expressions numériques dans [-32768 à 32767].

Remarques

 Si x, y est en dehors de l'écran, renvoie -1.

les erreurs

 La fonction est appelée en mode texte: Illegal appel de fonction.
   x ou y a une valeur de chaîne: Type mismatch.
   x ou y ou les coordonnées physiques qu'ils traduisent ne sont pas dans [-32768 à 32767]: Overflow.

POS pos = POS (fictif)

Renvoie la position de la colonne actuelle du curseur, dans l'intervalle [1-80]. Paramètres

 dummy est une expression valide de tout type;  sa valeur n'a pas d'effet.

DROIT $ enfant = RIGHT $ (parent, num_chars)

Renvoie les caractères les plus à droite NUM_CHARS de parent. Si num_chars est zéro ou parent est vide, RIGHT $ retourne une chaîne vide. Si num_chars est supérieure à la longueur de la mère, le rendement parent. Paramètres

 parent est une expression de chaîne.
   num_chars est une expression numérique dans [0-255].

les erreurs

 num_chars a une valeur de chaîne: Type mismatch.
   num_chars est pas dans [-32.768 à 32.767]: Overflow.
   num_chars est pas dans [0-255]: Illegal appel de fonction.

RND aléatoire = RND [(x)]

Renvoie un nombre pseudo-aléatoire dans l'intervalle [0-1). x est une expression numérique. Si x est égal à zéro, RND répète le dernier numéro pseudo-aléatoire. Si x est supérieur à zéro, un nouveau nombre pseudo-aléatoire est retournée. Si x est négatif, la valeur de x est utilisée pour générer un nouveau germe de nombre aléatoire; après cela, un nouveau nombre pseudo-aléatoire est retournée. La graine est générée d'une manière différente que par HASARD. Remarques

 La fonction RND de PC-BASIC génère des nombres pseudo-aléatoires à travers un générateur de congruence linéaire, avec modulo 224, multiplicateur 214.013 et incrémenter 2531011. Ce reproduit exactement les nombres aléatoires de la RND de GW-BASIC.
   Il convient de noter, toutefois, que ce soit un très mauvais générateur de nombres aléatoires: ses paramètres impliquent une période de récurrence de 224, ce qui signifie que, après moins de 17 millions d'appels RND se terminera autour et commencer à courir à travers la même série exacte des nombres partout encore.  RND ne doit pas être utilisé pour la cryptographie, les simulations scientifiques ou toute autre chose à distance sérieux.

les erreurs

 x a une valeur de chaîne: Type mismatch.

ECRAN (fonction) value = SCREEN (ligne, colonne [fn])

Renvoie le point de code ou attribut de couleur pour le caractère à la position rangée, col. Paramètres

 ligne est une expression numérique dans la gamme [1-25].
   col est une expression numérique entre 1 et la largeur de l'écran (40 ou 80).
   fn est une expression numérique dans [0-255].  Si elle est nulle ou non spécifié, le point du caractère de code est retourné.  Si elle est non nulle, en mode texte l'attribut est renvoyée;  dans d'autres écrans, 0 est renvoyé.

les erreurs

 Tout paramètre a une valeur de chaîne: Type mismatch.
   fn est pas dans [0-255]: Illegal appel de fonction.
   fn est pas dans [-32768 à 32767]: Overflow.
   ligne est pas à l'intérieur du courant secteur VIEW PRINT: Illegal appel de fonction.
   KEY ON et rang = 25: Illegal appel de fonction.
   col est pas dans [1, width]: Illegal appel de fonction.

signe SGN = SGN (nombre)

Renvoie le signe du nombre: 1 pour le positif, 0 pour zéro et -1 pour le négatif. Paramètres

 nombre est une expression numérique.

les erreurs

 nombre a une valeur de chaîne: Type mismatch.

SIN sinus = SIN (angle)

Retourne le sinus de l'angle. Paramètres

 angle est une expression numérique donnant l'angle en radians.

Remarques

 Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
   Le sinus retourné généralement diffère de la valeur retournée par GW-BASIC dans le chiffre significatif.

les erreurs

 angle a une valeur de chaîne: Type mismatch.

SPACE $ espaces = SPACE $ (nombre)

Retourne une chaîne d'espaces numériques. Paramètres

 nombre est une expression numérique dans [0-255].

les erreurs

 nombre a une valeur de chaîne: Type mismatch.
   nombre est pas dans [-32768 à 32767]: Overflow.
   nombre est pas dans [0-255]: Illegal appel de fonction.

SQR root = SQR (nombre)

Renvoie la racine carrée du nombre. Paramètres

 nombre est une expression numérique.

Remarques

 Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.

les erreurs

 nombre a une valeur de chaîne: Incompatibilité de type

STICK pos = STICK (axe)

Renvoie une coordonnée d'un axe de joystick. Toutes les coordonnées retournées sont dans l'intervalle [1-254] avec 128 indiquant la position neutre. axe Valeur de retour 0 1er joystick coordonnée x 1 1er joystick coordonnée y 2 2ème manette coordonnée x 3 2ème manette coordonnée y Paramètres

 axe est une expression numérique dans [0-3] et indique quel axe à lire.

les erreurs

 axe a une valeur de chaîne: Incompatibilité de type
   axe est à [-32768-32767]: Overflow.
   axe est à [0-3]: Illegal appel de fonction.

STR $ rééd = STR $ (nombre)

Renvoie la représentation de chaîne du nombre. Paramètres

 nombre est une expression numérique.

les erreurs

 nombre a une valeur de chaîne: Type mismatch.

STRIG (fonction) result = STRIG (mode)

Renvoie l'état des boutons joystick de déclenchement. STRIG renvoie les résultats suivants, toutes les valeurs booléennes: Mode Valeur de retour 0 1er joystick, 1er déclencheur a été enfoncé depuis le dernier sondage. Une première manette de commande, premier déclencheur est actuellement enfoncée. 2 2e joystick, 1er déclencheur a été enfoncé depuis le dernier sondage. 3 2e joystick, 1er déclencheur est actuellement pressé. 4 1er joystick, 2e déclencheur a été enfoncé depuis le dernier sondage. 5 première manette, deuxième gâchette est actuellement enfoncée. 6 2e joystick, 2e déclencheur a été enfoncé depuis le dernier sondage. 7 deuxième manette, deuxième gâchette est actuellement enfoncée. Paramètres

 mode est une expression numérique dans [0-7].

Remarques

 La fonction STRIG retourne des résultats corrects quel que soit le STRIG ON état ou si STRIG (0) a été appelé en premier.

les erreurs

 mode a une valeur de chaîne: Type mismatch.
   mode est pas dans [-32768-32767]: Overflow.
   mode est pas dans [0-7]: Illegal appel de fonction.

STRING $ string = STRING $ (longueur, char)

Renvoie une chaîne de longueur fois le caractère de l'omble. Paramètres

 Si l'omble est une expression numérique, il doit être dans [0-255] et est interprété comme le point le caractère de code.
   Si l'omble est une expression de chaîne, son premier caractère est utilisé.

les erreurs

 longueur a une valeur de chaîne: Type mismatch.
   carbonisation est la chaîne vide: Illegal appel de fonction.
   char ou longueur est pas dans [-32768 à 32767]: Overflow.
   char ou longueur est pas dans [0-255]: Illegal appel de fonction.

TAN TAN tangente = (angle)

Renvoie la tangente de l'angle. Paramètres

 angle est une expression numérique donnant l'angle en radians.

Remarques

 Sauf PC-BASIC est exécuté avec l'option double, cette fonction retourne une valeur simple précision.
   La tangente retourné généralement diffère de la valeur retournée par GW-BASIC dans le chiffre significatif.
   Pour angle proche de multiples de π / 2, la tangente est divergente ou proche de zéro.  Les valeurs retournées auront très faible précision dans ces cas.

les erreurs

 angle a une valeur de chaîne: Type mismatch.

TIME $ (fonction) temps = TIME $

Renvoie l'heure actuelle BASIC sous la forme "HH: mm: ss". Remarques

 Cette fonction ne prend aucun argument.

TIMER (fonction) secondes = TIMER

Retourne le nombre de secondes depuis minuit sur l'horloge de base interne. Remarques

 mises à jour TIMER dans les tiques de 1/20 seconde.
   Les deux moins significatifs octets de TIMER sont souvent utilisés comme une graine pour le générateur de nombres pseudo-aléatoires par RANDOMIZE TIMER.  Étant donné que ces octets ne prennent des valeurs à partir d'un ensemble limité, qui est en fait pas particulièrement bonne semence aléatoire.  Cependant, le générateur de nombres pseudo-aléatoires inclus avec GW-BASIC et PC-BASIC est si faible qu'il ne devrait pas être utilisé pour quelque chose de sérieux de toute façon.
   Cette fonction ne prend aucun argument.

valeur = USR USR [n] (expr)

Retourne zéro. Paramètres

 n est un chiffre [0-9].
   expr est une expression.

Remarques

 Dans GW-BASIC, appelle une fonction code machine et renvoie sa valeur de retour.
   Cette fonction est pas implémentée dans PC-BASIC.

les erreurs

 n est pas un chiffre [0-9]: Erreur de syntaxe.

valeur VAL = VAL (string)

Renvoie la valeur numérique de la chaîne d'expression de chaîne. Parsing arrête dès que le premier caractère est rencontré qui ne peut pas faire partie d'un nombre. Si aucun caractère sont analysés, VAL renvoie zéro. Voir la section sur les littéraux numériques pour les formats numériques reconnus. Remarques

 Les espaces avant ou même à l'intérieur d'un certain nombre sont ignorées: VAL ( "1 0") renvoie 10.
   Si la chaîne contient un des caractères de séparation ASCII CHR $ (28) (fichier séparateur), CHR $ (29) (séparateur de groupe) ou CHR $ (31) (séparateur d'unité), VAL retourne zéro.  Ce n'est pas le cas avec CHR $ (30) (fiche séparateur).  Ce comportement est conforme à la GW-BASIC.

les erreurs

 chaîne a une valeur numérique: incompatibilité de type.

VARPTR pointeur = VARPTR ({nom | #file_num})

Retourne l'adresse mémoire du nom de la variable ou du fichier bloc de contrôle du numéro de dossier file_num. Paramètres

 nom est une variable définie précédemment ou élément de tableau entièrement indexés.
   file_num est un numéro de dossier juridique.

Remarques

 VARPTR peut être utilisé avec PEEK pour lire la représentation interne d'une variable.

les erreurs

 nom n'a pas été défini précédemment: Illegal appel de fonction.
   file_num a une valeur de chaîne: Type mismatch.
   file_num est pas dans [1, MAX_FILES], où MAX_FILES est le nombre maximal de fichiers tel que défini par l'option max-fichiers: Numéro de fichier incorrect.

VARPTR $ pointeur = VARPTR $ (nom)

Retourne l'adresse mémoire du nom de la variable sous la forme d'une chaîne de 3 octets. Le premier octet est la longueur de l'enregistrement des points de pointeur à:

2

 pour les entiers

3

 pour cordes (longueur + pointeur vers l'espace de chaîne)

4

 pour les flotteurs simple précision

8

 pour les flotteurs double précision

Les deux derniers octets sont l'adresse de pointeur (comme retourné par VARPTR) pour little-endian. les erreurs

 nom n'a pas été défini précédemment: Illegal appel de fonction.

Déclarations

Une ligne de programme est composé d'un numéro de ligne et un ou plusieurs états. Si plusieurs états sont mis sur une seule ligne, ils doivent être séparés par des virgules. Les déclarations peuvent être vides. Chaque énoncé a sa propre syntaxe idiosyncrasique.

De nombreux ouvrages de référence sur GW-BASIC distinguent les commandes et les déclarations; cette distinction découle de la conception Dartmouth originale du langage BASIC, dans lequel les commandes ne faisaient pas partie de la langue et ne pouvait pas être utilisé dans les programmes, mais ont été plutôt utilisé pour contrôler l'interprète lui-même. Cependant, dans GW-BASIC cette distinction est moins utile et donc cette référence comprend ce qui est traditionnellement considéré comme des commandes dans la catégorie des déclarations. AUTO AUTO [line_number |.] [, [Incrément]]

Lancer la numérotation automatique des lignes. Les numéros de ligne sont générés automatiquement lorsque vous appuyez sur Entrée. Si une ligne de programme existe à un numéro de ligne généré, a * est affiché après le numéro de la ligne. Pour éviter d'écraser cette ligne, laissez-le vide et appuyez sur Entrée. Pour arrêter la numérotation automatique de la ligne, appuyez sur Ctrl + Pause ou Ctrl + C. La ligne en cours d'édition à ce moment ne sont pas sauvegardées. BASIC sera de retour en mode commande, même si AUTO a été exécuté à partir d'une ligne de programme. Paramètres

 La numérotation des lignes commence à line_number, si spécifié.  Si .  est spécifié, la numérotation des lignes commence à la dernière ligne qui a été stocké de programme.  Dans le cas contraire, la numérotation des lignes commence à 10.
   Chaque numéro de la ligne suivante est incrémenté par incrément, si spécifié.  Si une virgule est utilisée sans spécifier un incrément, le dernier incrément spécifié dans une commande AUTO est utilisé.  Sinon, incrémenter par défaut à 10.

les erreurs

 line_number est pas une valeur non signée entier dans [0-65529]: Erreur de syntaxe.
   Lorsque la numérotation automatique de la ligne est activée et vous appuyez sur Entrée sur une ligne vide avec un nombre plus grand que 65519: numéro de ligne défini.
   incrément est 0: Illegal appel de fonction. 

BIP BIP

Beep le haut-parleur à 800Hz pour 0,25s. les erreurs

 Si une erreur de syntaxe est soulevée, le bip est encore produit.

BEEP (switch) BEEP {ON | OFF}

Cette déclaration n'a aucun effet. Remarques

 Seulement juridique avec le = {PCjr | tandy} syntaxe option.
   Sur les ordinateurs PCjr et Tandy, BEEP OFF serait éteindre le haut-parleur interne.  Le PC-BASIC, à la fois interne et haut-parleur externe sont émulées par le même système de sonorisation.

BLOAD BLOAD file_spec [, offset]

Charge un fichier d'image de mémoire dans la mémoire. Paramètres

 Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à lire l'image de la mémoire à partir.
   offset est une expression numérique dans l'intervalle [-32.768 à 65.535].  Il indique un décalage dans le segment actuel DEF SEG où le fichier doit être stocké.  Si non spécifié, le décalage stocké dans le fichier BSAVE sera utilisé.  Si elle est négative, le complément de ses deux sera utilisé.

les erreurs

 Le fichier chargé est pas au format BSAVE: le mode de fichier incorrect.
   file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
   file_spec a une valeur numérique: incompatibilité de type.
   offset est pas dans l'intervalle [-32768 à 65535]: Overflow.

BSAVE BSAVE file_spec, offset, longueur

Enregistre une région de mémoire dans un fichier image. Paramètres

 Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à écrire.
   offset est une expression numérique dans l'intervalle [-32.768 à 65.535] indiquant le décalage dans le segment courant DEF SEG par où commencer la lecture.
   longueur est une expression numérique dans l'intervalle [-32768 à 65535] indiquant le nombre d'octets à lire.
   Si le décalage ou la longueur sont négatives, leur complément à deux sera utilisé.

les erreurs

 file_spec a une valeur numérique: incompatibilité de type.
   file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
   offset est pas dans l'intervalle [-32768 à 65535]: Overflow.
   longueur est pas dans l'intervalle [-32768 à 65535]: Overflow.

CALL CALL address_var [(p0 [p1] ...)]

Ne fait rien. Remarques

 Dans GW-BASIC, CALL exécute un sous-programme en langage machine.
   Cette déclaration n'a pas été mis en œuvre dans PC-BASIC.

Paramètres

 address_var est une variable numérique.
   P0, P1, ... sont des variables.

les erreurs

 address_var est une variable chaîne: Incompatibilité de type.
   address_var est un littéral: Erreur de syntaxe.

APPELS APPELS address_var [(p0 [p1] ...)]

Ne fait rien. Remarques

 Dans GW-BASIC, APPELLE exécute un sous-programme FORTRAN.
   Cette déclaration n'a pas été mis en œuvre dans PC-BASIC.

Paramètres

 address_var est une variable numérique.
   P0, P1, ... sont des variables.

les erreurs

 address_var est une variable chaîne: Incompatibilité de type.
   address_var est un littéral: Erreur de syntaxe.

CHAINE [MERGE] file_spec [[line_number_expr] [, ALL] [, DELETE plage [, ign]]]

Charge un programme à partir du fichier dans la mémoire et l'exécute, le transfert éventuellement des variables.

Si All Est specified, Toutes les cessionnaires des variables. Sont  Dans le cas contraire, les variables spécifiées dans une déclaration commune sont transférés.
   Si MERGE est spécifié, le programme chargé est fusionné dans le programme existant.  Pour pouvoir l'utiliser, le fichier de programme indiqué par file_spec doit être au format texte brut.
   Si SUPPR est spécifié, la gamme des numéros de ligne est supprimé du code existant avant la fusion.  Cela est inutile sans MERGE.

Paramètres

Le file_spec d'expression de chaîne is a spécification de fichier valide indiquant le programme Initiation à lire à partir chier.
   line_number_expr est une expression numérique.  Il sera interprété comme un numéro de ligne dans le nouveau programme et l'exécution va commencer à partir de ce numéro de ligne.  Si line_number_expr est négatif, il sera interprété comme son complément à deux.
   plage est une plage de numéro de ligne dont le numéro de ligne de fermeture est spécifiée et existe avant la fusion.
   ign est optionnel et ignoré.

Remarques

CHAÎNE conserver le reglage OPTION DE BASE.
   variables communes restent COMMON pour la chaîne suivante.
   Seulement si ALL est spécifié, les définitions DEF FN sont préservés.
   Seulement si MERGE est spécifié, définitions DEFINT, DEFSTR, DefSng, DEFDBL sont préservés.
   Si spécifié, ALL doit précéder SUPPRIMER;  si non spécifié, pas de virgule doit être mis à sa place et que deux virgules doit précéder DELETE.

les erreurs

file_spec une Une valeur numérique: incompatibilité de Type.
   file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
   Le fichier spécifié dans file_spec ne peut pas être trouvé: Fichier non trouvé.
   MERGE est spécifié et le programme chargé n'a pas été enregistré en mode texte clair: le mode de fichier incorrect.
   Un numéro de ligne dans la plage est supérieure à 65529: Erreur de syntaxe.
   Si une erreur de syntaxe est soulevée par CHAIN, pas de lignes sont supprimés et le nouveau programme ne sont pas chargés.
   Le numéro de la ligne de clôture dans la gamme n'existe pas: Illegal appel de fonction
   Si line_number_expr n'évalue pas à un numéro de ligne existante dans le nouveau programme, Illégal appel de fonction est élevée, mais la charge ou de fusion est en cours d'exécution.

CHDIR CHDIR dir_spec

Changer le répertoire courant sur un périphérique de disque à dir_spec. Chaque unité de disque a son propre répertoire en cours. Paramètres

Le dir_spec d'expression de chaîne is a spécification de fichier valide indiquant non folder existant Sur un périphérique de disque.

les erreurs

Aucun chemin correspondant is found: Chemin d'Accès introuvable.
   dir_spec a une valeur numérique: incompatibilité de type.
   dir_spec est vide: Nom de fichier incorrect.

CIRCLE CIRCLE [STEP] (x, y), le rayon [[color] [, [start] [, [fin] [aspect]]]

Dessiner une ellipse ou d'un secteur ellipse. Paramètres

Le point de milieu de l'ellipse se SITUE en (x, y).  Si l'étape est indiquée, le point médian est (x, y) à l'écart de la position actuelle.
   le rayon est le rayon, en pixels, le long de l'axe.
   la couleur est l'attribut de couleur.
   Si début et de fin sont spécifiés, un secteur de l'ellipse est tirée de radians de début à la fin radians, avec zéro radians l'intersection avec l'axe des x droite.  Si une valeur négative est spécifiée, le secteur d'arc est reliée par une ligne à mi-chemin.
   aspect indique le rapport entre le rayon y et le rayon x.  Si elle est pas spécifié, la valeur standard pour le mode écran est utilisé (voir là), de manière à rendre l'ellipse apparaît comme un cercle sur le matériel d'origine.

Remarques

Verser aspect <> 1, l'algorithme used milieu n'à pas de pixels Parfaitement Reproduire les ellipses de GW-BASIC.

les erreurs

L'instruction is exécutée en mode de texte: appel illégal de fonction.
   début ou la fin est pas dans [0-2π]: Illegal appel de fonction.
   La déclaration se termine par une virgule: Missing opérande.

EFFACER EFFACER [expr] [, [mem_limit] [, [stack_size] [, video_memory]]]

Efface toutes les variables, les tableaux, les fonctions utilisateur DEF FN, les définitions de type DefType, et les déclarations communes. Ferme tous les fichiers. Désactive tous les sons. Remet JOUENT Etat et définit la musique au premier plan. Efface tous les pièges ERROR. Remet ERR et ERL à zéro. Désactive tous les événements. Active PEN et STRIG off. Réinitialise le générateur de nombres aléatoires. Efface la pile de boucle. Remet l'état DRAW et la position graphique actuelle. Paramètres

mem_limit PRECISES la limite supérieure de mémoire utilisable.  Par défaut est la taille de la mémoire précédente.  taille de la mémoire par défaut est 65534.
   stack_size spécifie la quantité de mémoire disponible pour la pile BASIC.  Par défaut est la taille de la pile précédente.  taille de la pile par défaut est 512.
   video_memory spécifie la quantité de mémoire disponible pour l'adaptateur vidéo.  Ce paramètre est uniquement juridique avec l'une des options de syntaxe = {PCjr, tandy}.  Au lieu d'utiliser CLEAR l'option de mémoire vidéo peut également être utilisé pour définir la taille de la mémoire vidéo.

Remarques

Le mais de expr is inconnue.
   Si elle est appelée dans une boucle FOR-NEXT ou WHILE-WEND, une erreur sera soulevée lors de la déclaration NEXT ou WEND, étant donné que les piles de boucle ont été effacés.

les erreurs

Directeur Tous les arguments d'une Une valeur de chaîne: Type mismatch.
   mem_limit, stack_size ne sont pas dans [-32.768 à 65.535]: Overflow.
   mem_limit ou STACK_SIZE égal à 0: Illegal appel de fonction.
   mem_limit est égal à -1 ou 65535: Out of memory.
   mem_limit ou expr sont trop faibles: Manque de mémoire.
   expr est pas dans [-32768-32767]: Overflow.
   expr est négatif: Illegal appel de fonction.

FERMER FERMER [[#] file_0 [[#] file_1] ...]

Ferme les fichiers. Si aucun numéro de fichier sont spécifiés, tous les fichiers ouverts sont fermés. Le dièse (#) est facultative et n'a aucun effet. Paramètres

file_1, file_2, ... des expressions are des Numériques Donnant Numéros de fichier.

Remarques

Aucune erreur is déclenchée si le Nombre de Fichiers Précise ne pas are ouverts.

les erreurs

file_1, file_2, ... ne pas are Dans [-32.768 à 32.767]: Overflow.
   file_1, file_2, ... ne sont pas dans [0-255]: Illegal appel de fonction.
   file_1, file_2, ... ont une valeur de chaîne: Type mismatch.
   La déclaration se termine par une virgule, opérande manquant.
   Si une erreur se produit, seuls les fichiers avant la valeur erratique sont fermés.

CLS CLS [x] [,]

Efface l'écran ou une partie de celui-ci. Si x est pas spécifié, dans SCREEN 0 la vue région de texte est effacé; dans d'autres écrans, les graphiques voir la région est effacée. La virgule est facultative et n'a aucun effet. Paramètres

x est une expression d'une valeur de numérique qui détermine ce qui est autorisé:

Si x = 0, l'ensemble de l'écran is effacé.
   Si x = 1, la vue graphique région est effacé.
   Si x = 2, la région d'affichage de texte est effacé.

les erreurs

x is Une valeur de chaîne: Type mismatch.
   x est pas dans [-32768 à 32767]: Overflow.
   x est pas dans [0, 1, 2]: Illegal appel de fonction.
   Aucune virgule est spécifié, mais plus de texte suit: Illegal appel de fonction.
   Une virgule est spécifié suivie par plus: Erreur de syntaxe.
   Si une erreur se produit, l'écran ne sont pas effacées.

COLOR (mode texte) COLOR [plan] [, [background] [, frontière]]

Modifie les attributs de premier plan et d'arrière-plan en cours. Tous les nouveaux caractères imprimés prendront les attributs nouvellement créées. Les caractères existants sur l'écran ne sont pas affectés. Paramètres

premier plan de is a expression numérique Dans [0-31].  Ceci spécifie le nouvel attribut de premier plan.  Attributs 16-31 clignotent versions des attributs 0-15.
   arrière-plan est une expression numérique dans [0-15].  Ceci spécifie le nouvel attribut de fond.  Il est pris MOD 8: Les valeurs 8-15 produisent la même couleur que 0-7.
   la frontière est une expression numérique dans [0-15] spécifiant l'attribut border.

Textmode attributs attribut (couleur) Contexte 0 1 2 3 4 5 6 7 FG 0 00 XX 10 XX 20 XX 30 XX 40 XX 50 XX 60 XX 70 XX 1 01 XX 11 XX 21 XX 31 XX 41 XX 51 XX 61 XX 71 XX 2 02 XX 12 XX 22 XX 32 XX 42 XX 52 XX 62 XX 72 XX 3 03 XX 13 XX 23 XX 33 XX 43 XX 53 XX 63 XX 73 XX 4 04 XX 14 XX 24 XX 34 XX 44 XX 54 XX 64 XX 74 XX 5 05 XX 15 XX 25 XX 35 XX 45 XX 55 XX 65 XX 75 XX 6 06 XX 16 XX 26 XX 36 XX 46 XX 56 XX 66 XX 76 XX 7 07 XX 17 XX 27 XX 37 XX 47 XX 57 XX 67 XX 77 XX 8 08 XX 18 XX 28 XX 38 XX 48 XX 58 XX 68 XX 78 XX 9 09 XX 19 XX 29 XX 39 XX 49 XX 59 XX 69 XX 79 XX 10 0a XX 1a XX 2a XX 3a XX 4a XX 5a XX 6a XX 7a XX 11 0b XX 1b XX 2b XX 3b XX 4b XX 5b XX 6b XX 7b XX 12 0c XX 1c XX 2c XX 3c XX 4c XX 5c XX 6c XX 7c XX 13 0d XX 1d XX 2d XX 3d XX 4d XX 5d XX 6d XX 7d XX 14 0e XX 1e XX 2e XX 3e XX 4e XX 5e XX 6e XX 7e XX 15 0f XX 1f XX 2f XX 3f XX 4f XX 5f XX 6f XX 7f XX 16 80 XX 90 XX a0 XX b0 XX c0 XX d0 XX e0 XX f0 XX 17 81 XX 91 XX a1 XX b1 XX c1 XX d1 XX e1 XX f1 XX 18 82 XX 92 XX a2 XX b2 XX c2 XX d2 XX e2 XX f2 XX 19 83 XX 93 XX a3 XX b3 XX c3 XX d3 XX e3 XX f3 XX 20 84 XX 94 XX a4 XX b4 XX c4 XX d4 XX e4 XX f4 XX 21 85 XX 95 XX a5 XX b5 XX c5 XX d5 XX e5 XX f5 XX 22 86 XX 96 XX a6 XX b6 XX c6 XX d6 XX e6 XX f6 XX 23 87 XX 97 XX a7 XX b7 XX c7 XX d7 XX e7 XX f7 XX 24 88 XX 98 XX a8 XX b8 XX c8 XX d8 XX e8 XX f8 XX 25 89 XX 99 XX a9 XX b9 XX c9 XX d9 XX e9 XX f9 XX 26 8a XX 9a XX aa XX ba XX ca XX da XX ea XX fa XX 27 8b XX 9b XX ab XX bb XX cb XX db XX eb XX fb XX 28 8c XX 9c XX ac XX bc XX cc XX cc XX ec XX fc XX 29 8d XX 9d XX ad XX bd XX cd XX dd XX ed XX fd XX 30 8e XX 9e XX ae XX être XX CE XX de XX ee XX fe XX 31 8f XX 9f XX af XX bf XX cf XX df XX ef XX ff XX Textmode attributs attribut (monochrome) Contexte 0 1 2 3 4 5 6 7 FG 0 00 XX 10 XX 20 XX 30 XX 40 XX 50 XX 60 XX 70 XX 1 01 XX 11 XX 21 XX 31 XX 41 XX 51 XX 61 XX 71 XX 2 02 XX 12 XX 22 XX 32 XX 42 XX 52 XX 62 XX 72 XX 3 03 XX 13 XX 23 XX 33 XX 43 XX 53 XX 63 XX 73 XX 4 04 XX 14 XX 24 XX 34 XX 44 XX 54 XX 64 XX 74 XX 5 05 XX 15 XX 25 XX 35 XX 45 XX 55 XX 65 XX 75 XX 6 06 XX 16 XX 26 XX 36 XX 46 XX 56 XX 66 XX 76 XX 7 07 XX 17 XX 27 XX 37 XX 47 XX 57 XX 67 XX 77 XX 8 08 XX 18 XX 28 XX 38 XX 48 XX 58 XX 68 XX 78 XX 9 09 XX 19 XX 29 XX 39 XX 49 XX 59 XX 69 XX 79 XX 10 0a XX 1a XX 2a XX 3a XX 4a XX 5a XX 6a XX 7a XX 11 0b XX 1b XX 2b XX 3b XX 4b XX 5b XX 6b XX 7b XX 12 0c XX 1c XX 2c XX 3c XX 4c XX 5c XX 6c XX 7c XX 13 0d XX 1d XX 2d XX 3d XX 4d XX 5d XX 6d XX 7d XX 14 0e XX 1e XX 2e XX 3e XX 4e XX 5e XX 6e XX 7e XX 15 0f XX 1f XX 2f XX 3f XX 4f XX 5f XX 6f XX 7f XX 16 80 XX 90 XX a0 XX b0 XX c0 XX d0 XX e0 XX f0 XX 17 81 XX 91 XX a1 XX b1 XX c1 XX d1 XX e1 XX f1 XX 18 82 XX 92 XX a2 XX b2 XX c2 XX d2 XX e2 XX f2 XX 19 83 XX 93 XX a3 XX b3 XX c3 XX d3 XX e3 XX f3 XX 20 84 XX 94 XX a4 XX b4 XX c4 XX d4 XX e4 XX f4 XX 21 85 XX 95 XX a5 XX b5 XX c5 XX d5 XX e5 XX f5 XX 22 86 XX 96 XX a6 XX b6 XX c6 XX d6 XX e6 XX f6 XX 23 87 XX 97 XX a7 XX b7 XX c7 XX d7 XX e7 XX f7 XX 24 88 XX 98 XX a8 XX b8 XX c8 XX d8 XX e8 XX f8 XX 25 89 XX 99 XX a9 XX b9 XX c9 XX d9 XX e9 XX f9 XX 26 8a XX 9a XX aa XX ba XX ca XX da XX ea XX fa XX 27 8b XX 9b XX ab XX bb XX cb XX db XX eb XX fb XX 28 8c XX 9c XX ac XX bc XX cc XX cc XX ec XX fc XX 29 8d XX 9d XX ad XX bd XX cd XX dd XX ed XX fd XX 30 8e XX 9e XX ae XX être XX CE XX de XX ee XX XX fe 31 8f XX 9f XX XX af bf XX cf XX XX df ef XX ff XX Remarques

La syntaxe et l'effet de couleur is Différente Dans les modes Différents d'écran: COULEUR (mode texte), COLOR (ECRAN 1), (SCREEN 3-9).
   Au moins un paramètre doit être fourni et la déclaration ne doit pas se terminer par une virgule.

les erreurs

Tout des paramêtres a Une valeur de chaîne: Type mismatch.
   Tous les paramètres ne figure pas dans [-32.768 à 32.767]: Overflow.
   premier plan est pas dans [0-31], fond se trouve pas dans [0-15] ou à la frontière ne sont pas dans [0-15]: Illegal appel de fonction.
   Déclaration est utilisé dans ECRAN 2: Illegal appel de fonction.

COLOR (ECRAN 1) COLOR [palette_0] [, palette [, override]]

Affecte de nouvelles couleurs à la palette d'attributs.

palette_0 is a expression numérique Dans [0-255].  Ceci définit la couleur de la palette associée à l'attribut 0;  par défaut, l'arrière-plan a cet attribut.  Tous les pixels avec cet attribut changent de couleur.  La valeur de la palette de couleurs est tirée de l'ensemble 64-couleur.  palette_0 est prise MOD 64.
   palette est une expression numérique dans [0-255] qui spécifie la palette:
       palette ensembles impairs de la palette CGA standard (cyan, magenta, gris).
       palette définit même la palette de remplacement (vert, rouge, brun).
   Tous les pixels avec des attributs 1,2,3 changent de couleur à la nouvelle palette.
   override est une expression numérique dans [0-255].  Si override est spécifié, la palette est définie comme ci-dessus, mais en utilisant override au lieu de palette.  palette est alors ignoré.

palettes CGA Attribut Palette 0 Palette 1 palette Alternate Couleur Lo Salut Couleur Lo Salut Couleur Lo Salut 0 Noir Noir Noir 1 Vert Cyan Cyan Magenta 2 Rouge Rouge 3 Brun Blanc Blanc Remarques

La syntaxe et l'effet de couleur is Différente Dans les modes Différents d'écran: COULEUR (mode texte), COLOR (ECRAN 1), (SCREEN 3-9).
   Au moins un paramètre doit être fourni et la déclaration ne doit pas se terminer par une virgule.

les erreurs

Tout des paramêtres a Une valeur de chaîne: Type mismatch.
   Tous les paramètres ne figure pas dans [-32.768 à 32.767]: Overflow.
   Tous les paramètres ne figure pas dans [0-255]: Illegal appel de fonction.

COLOR (SCREEN 3-9) COULEUR [plan] [, palette_0 [, dummy]]

Modifie l'attribut de premier plan en cours et la couleur pour l'attribut 0. Paramètres

Plan premier is a expression numérique Dans [0-15] Céci Définit le nouvel plan de premier attribut.  Ceci ne concerne que les nouveaux caractères imprimés ou pixels tracés.
   palette_0 est une expression numérique dans [0-15] Ceci définit la couleur associée à l'attribut 0;  par défaut, l'arrière-plan a cet attribut.  Tous les pixels avec cet attribut changent de couleur.  Dans ÉCRAN 7 et 8, la couleur palette_0 est tirée de la première 8 de la 16 couleurs EGA set.  palette_0 est prise MOD 8. IN SCREEN 9, la valeur de couleur est tirée de l'ensemble 64-couleur.
   dummy est une expression numérique avec une valeur de [0-255] La valeur de mannequin est ignoré.

palette par défaut EGA Attribut Couleur 0 Black 1 Blue 2 Vert 3 Cyan 4 Red 5 Magenta 6 Brown 7 de faible intensité blanc 8 Gris 9 Light Blue 10 Lumière 11 Green Light Cyan 12 Light 13 Red Light Magenta 14 Jaune clair 15 haute intensité blanche EGA liste couleur 0 8 16 24 32 40 48 56 1 9 17 25 33 41 49 57 2 10 18 26 34 42 50 58 3 11 19 27 35 43 51 59 4 12 20 28 36 44 52 60 5 13 21 29 37 45 53 61 14 22 30 6 38 46 54 62 7 15 23 31 39 47 55 63 notes

La syntaxe et l'effet de couleur is Différente Dans les modes Différents d'écran: COULEUR (mode texte), COLOR (ECRAN 1), (SCREEN 3-9).
   Au moins un paramètre doit être fourni et la déclaration ne doit pas se terminer par une virgule.

les erreurs

Tout des paramêtres a Une valeur de chaîne: Type mismatch.
   Tous les paramètres ne figure pas dans [-32.768 à 32.767]: Overflow.
   premier plan se trouve pas dans [1-15];  fond est pas dans [0-15];  ou factice est pas dans [0-255]: Illegal appel de fonction.

COM COM (port) {ON | OFF | STOP}

ON: Permet ON COM (port) Événement du port série piégeage Emule.
   OFF: désactive le piégeage.
   STOP: arrête le piégeage jusqu'à COM (port) ON est utilisé.  Les événements qui se produisent pendant le piégeage est arrêté déclenchera immédiatement lorsque le piégeage est réactivé.

Paramètres

Port is a expression numérique d'Une valeur de 1 ou 2. Céci PRECISES le port de série (COM1: ou COM2 :) is pris au piège.

COMMUNE COMMUNE [var_0 var_1 ...]

Spécifie les variables à transmettre sous forme de variables communes au programme appelé avec CHAIN. La déclaration peut se terminer par une ou plusieurs virgules. Paramètres

var_0, var_1, ... Sont des Noms de Variables OÜ des tableaux.  Les noms de tableau doivent être suivies par des parenthèses ou des crochets.  Les supports peuvent aussi être mélangés: un (] b [).

CONT CONT [rien]

Reprend l'exécution d'un programme qui a été arrêté par STOP, FIN, Ctrl + C ou Ctrl + Break. Remarques

Tout Ce costume est qui le mot-clé CONT is ignorée.
   Cette déclaration ne peut être utilisé en mode direct.
   Si une pause est rencontrée dans GOSUB routine appelée à partir d'une ligne directe continue (par exemple GOSUB 100: IMPRIMER A $), CONT remplacera la ligne directe en cours d'exécution.  Comme les déclarations de sous-programme à la position après la GOSUB dans la vieille ligne directe, des choses étranges peuvent se produire si les commandes sont donnés après CONT.  Dans GW-BASIC, cela peut conduire à des erreurs étranges dans les lignes non-existantes programme comme l'analyseur exécute octets qui ne font pas partie d'une ligne de programme.  Dans PC-BASIC, si la nouvelle ligne directe est plus courte, l'exécution s'arrête après le retour;  mais si la ligne directe est prolongée au-delà de l'ancienne position de retour, l'analyseur tente de reprendre à cette position de retour, avec des effets étranges.

les erreurs

Aucun programme chargé, Un pas de programme N'a Ete EXECUTE, après juin ligne de programme was Modifié OÜ après CLEAR: Vous ne can pas continuateur.
   La rupture a eu lieu dans une ligne directe: Vous ne pouvez pas continuer.
   CONT est utilisé dans un programme: Vous ne pouvez pas continuer.

DATA DATA [const_0] [, [const_1]] ...

Indique les données qui peuvent être lues par une instruction READ. Paramètres

const_0, const_1, ... et littéraux are cordes ous can be vide.  Les chaînes littérales peuvent être donnés avec ou sans guillemets.  Si les guillemets sont omis, espaces avant et après est ignoré et des virgules ou des colons mettra fin à la déclaration de données.

les erreurs

Si le Type du littéral ne correspond pas à l'instruction de Celle READ Correspondante, juin erreur de syntaxe se produit sur l'instruction de Données.

DATE $ (déclaration) DATE $ = date

Définit la date système. date est une expression de chaîne qui représente une date dans l'un des formats: "mm-jj-aaaa", "jj / mm / aaaa", "mm-dd-yy", "mm / jj / aa".

Parmi ceux-ci,

mm Doit Être dans [01-12].
   dd doit être dans [01-31].
   aaaa doit être dans [1980-2099].
   yy doit être dans l'une des gammes:
       [00-77], interprété comme 2000-2077;  ou
       [80-99], interprété comme 1980 à 1999.

Remarques

La date de system is pas Changé réellement;  plutôt, PC-BASIC se souvient le décalage de la vraie date du système.  Cela évite nécessitant une autorisation utilisateur pour modifier l'heure du système.
   GW-BASIC semble accepter les dates non valides telles que "31/02/2000".  PC-BASIC soulève illégal appel de fonction pour ces derniers.

les erreurs

la date à laquelle une Une valeur numérique: incompatibilité de Type.
   la date ne sont pas dans le format spécifié ci-dessus: Illegal appel de fonction.

DEF FN DEF FN nom [] [(de arg_0 [, Arg_1] ...)] = expression

Définit une fonction appelée FNname (ou le nom FN: espaces entre les FN et le nom sont en option). En appelant FNname (...), l'expression est évaluée avec les paramètres fournis substitués. Tous les noms de variables utilisés dans la fonction qui ne sont pas dans la liste des arguments se réfèrent aux variables globales correspondantes. Le résultat de l'évaluation est la valeur de retour de FNname. Le type de la valeur de retour doit être compatible avec le type indiqué par son nom. Remarques

This déclaration ne can be used Sur une ligne de programme.
   Comme la fonction doit être une expression unique et PC-BASIC n'a pas un opérateur ternaire, il n'y a aucun moyen de définir une fonction récursive qui se termine en fait.

Paramètres

nom Doit Être nom non de la variable juridique.
   arg_0, Arg_1, ... doit être des noms de variables juridiques.  Ce sont les paramètres de la fonction.  Les variables du même nom peuvent ou peuvent ne pas exister dans le programme;  leur valeur est pas affectée ou utilisée par la fonction définie.
   expression doit être une expression juridique de PC-BASIC.

les erreurs

L'instruction is exécutée directement au lieu d'Une ligne de programme: Illegal direct.
   Si le type de la valeur de retour est incompatible avec le type de nom, aucune erreur est soulevée à la déclaration DEF FN;  cependant, une incompatibilité de type sera soulevée lors du premier appel de FNname.

DEFINT, DEFDBL, DefSng, DEFSTR {DEFINT | DEFDBL | DefSng | DEFSTR} first_0 [- last_0] [, first_1 [- last_1]] ...

Définit le type qui est supposé si aucun sigil est spécifié quand un nom de variable est utilisée. La déclaration définit le type par défaut pour les variables commençant par une lettre des plages spécifiées.

Le type par défaut est réglé sur:

DEFINT

ENTIER (%)

DEFDBL

double (#)

DefSng

uniques (!)

DEFSTR

string ($)

Paramètres

first_0, last_0, ... des are lettres de l'alphabet.  Paires de lettres reliées par un tiret - indiquent des plages inclusives.

Remarques

DefSng AZ is le règlage par défaut.

DEF SEG DEF SEG [= adresse]

Définit le segment de mémoire pour être utilisé par BLOAD, BSAVE, CALL, PEEK, POKE et NRS. Paramètres

adresse is expression de juin numérique Dans [-32768 à 65535].

Remarques

Si l'adresse is négative, Elle Est interprétée Comme complément à des ses deux.
   Si l'adresse est pas spécifié, le segment est défini sur le segment de données GW-BASIC.

les erreurs

une adresse Une valeur de chaîne: Type mismatch.
   adresse se trouve pas dans [-32768 à 65535]: Overflow.

DEF USR DEF USR [n] = adresse

Ne fait rien. Paramètres

n HNE chiffre non compris Entre 0 et 9 inclus.
   adresse est une expression numérique dans [-32768-65535].

Remarques

Dans GW-BASIC, this déclaration Définit l'adresse de départ d'en juin fonction langage assembleur.
   Cette déclaration n'a pas été mis en œuvre dans PC-BASIC.
   Si l'adresse est négative, elle est interprétée comme complément à ses deux.

les erreurs

n is pas non chiffre Dans [0-9]: Erreur de syntaxe.
   adresse a une valeur de chaîne: Type mismatch.
   adresse se trouve pas dans [-32768 à 65535]: Overflow.

EFFACER EFFACER [line_number_0 |.] [- [Line_number_1 |].]

Supprime une plage de lignes du programme. arrête également l'exécution du programme et renvoie le contrôle à l'utilisateur. Paramètres

line_number_0 et line_number_1 are les Numéros de ligne Dans la gamme [0-65529], en precisant la gamme inclusive des Numéros de ligne à supprimer.
   UNE .  indique la dernière ligne modifiée.
   Si le point de départ est omis, la gamme va commencer au début du programme.
   Si le point final est omis, la gamme se terminera à la fin du programme.
   Si aucune plage est spécifiée, l'ensemble du programme sera supprimé.

les erreurs

line_number_0 ous line_number_1 is supérieur à 65529: Erreur de syntaxe.
   La plage spécifiée ne comporte pas de lignes de programme stockées: Illegal appel de fonction.

DIM DIM nom {(| [} limit_0 [, limit_1] ... {) |]}

Alloue de la mémoire pour les tableaux. L'instruction DIM fixe également le nombre d'indices du tableau. Un tableau ne peut être attribuée qu'une fois; de ré-allouer un tableau, ERASE ou EFFACER doit être exécuté en premier. Si un tableau est utilisé pour la première sans instruction DIM, il est automatiquement attribué avec ses indices maximum fixé à 10 pour chaque position de l'index utilisé. Si la déclaration de DIM un tableau spécifie pas d'indices, il est attribué un indice unique avec un maximum 10. Le moins indice autorisé est déterminé par OPTION BASE. Paramètres

 nom est un nom de variable juridique spécifiant le tableau à allouer.
   limit_0, limit_1, ... sont des expressions numériques qui spécifient le plus grand indice permis à cette position.

Remarques

 supports mixtes sont autorisés.
   La taille des réseaux est limitée par la mémoire de base disponibles.
   Le nombre maximum d'indices est, théoriquement, 255. Dans la pratique, il est limité par la limite de 255 octets sur la longueur des lignes de programme.

les erreurs

 nom a déjà été dimensionné: définition en double.
   Un index est vide: Erreur de syntaxe.
   Un index est manquant à la fin: opérande manquant.
   limit_0, limit_1, ... ont une valeur de chaîne: Type mismatch.
   limit_0, limit_1, ... ne sont pas dans [-32.768 à 32.767]: Overflow.
   limit_0, limit_1, ... sont négatifs: Illegal appel de fonction.
   Le réseau dépasse la taille de l'espace disponible variables: Out of memory.

TIRAGE TIRAGE gml_string

Dessine la forme spécifiée par gml_string, une expression de chaîne dans Graphics Macro Language (GML). Graphics Macro référence Langue

commandes de mouvement

 [B] [N] mouvement
   où la valeur par défaut est de se déplacer et d'en tirer;  les préfixes optionnels signifient:
   B déménagement, mais ne pas tracer
   N retour à un point d'origine après déménagement
   et le mouvement est l'un des:
   U [n] jusqu'à n étapes
   L [n] à gauche n étapes
   D [n] vers le bas n étapes
   R [n] à droite n étapes
   E [n] et n étapes droite
   F [n] vers le bas et n étapes droite
   G [n] vers le bas et n pas gauche
   H [n] et à gauche n étapes
   M {+ | -} x, [+ | -] y déplacer (x, y) étapes
   Mx, y déplacer pour voir la région de coordonnées (x, y)
 où n est un entier dans [-32.768-32767] et x, y sont des nombres entiers [0-9999].  Où en option, n 1 par défaut.

les commandes d'échelle

 Sn régler la taille de pas à n / 4.  La taille de l'étape par défaut est 1 pixel.  n est un entier dans [1-255]
   TAn définir l'angle à n degrés.  L'angle par défaut est de 0 degrés.  n est un entier dans [-360 à 360]
   Un ensemble à l'angle 0 pour n = 0, 90 pour n = 1, 180 pour n = 2, 270 pour n = 3.  n est un entier dans [0-3]

commandes de couleur

 Cn définir l'attribut de premier plan à n, où n est un entier dans [-32768 à 32767] Voir COLOR.
   Pn, b inondation remplir avec l'attribut n et limite attribut b, n, b sont des nombres entiers dans [0-9999] Voir PAINT.

commande Subroutine

 Xs exécuter une sous-chaîne
 s est l'un des éléments suivants:
 un nom variable de chaîne suivie par un point virgule (;)
       le résultat de VARPTR $ () sur une variable de chaîne

Les variables numériques n, x, y, b dans les commandes ci-dessus peuvent être:

 un littéral entier, par exemple TIRAGE "U100"
   une variable numérique nom ou élément de tableau var précédé de = et suivie;.  Par exemple, DESSINER "U = VAR;"  ou TIRAGE "U = A (1);"
   le résultat de VARPTR $ (var) précédé de =.  Par exemple, DESSINER "U =" + VARPTR $ (VAR)

Remarques

 L'instruction CLS réinitialise la taille de pas de 1 pixel, un angle de 0 ° et la position du centre de la région d'affichage.
   La valeur n dans la commande TA, A et C peut être laissé de côté, mais seulement si la commande se termine par un point-virgule.  n 0 par défaut.
   Dans GW-BASIC, les arguments numériques de U, L, D, R, E, F, G, H et C peuvent être dans l'intervalle [-99999 à 99.999];  cependant, les résultats pour un grand nombre sont imprévisibles.  Ce ne sont pas mis en œuvre dans PC-BASIC.

les erreurs

 gml_string a une valeur numérique: incompatibilité de type.
   gml_string a des erreurs dans le GML: Illegal appel de fonction.
   Une variable référencée dans la chaîne GML est de type incorrect: incompatibilité de type.

EDIT EDIT {line_number |.}

Affiche la ligne de programme spécifié avec le curseur positionné pour l'édition. line_number doit être une ligne qui existe dans le programme, ou un point (.) pour indiquer la dernière ligne stockée. les erreurs

 Non line_number est spécifié: numéro de ligne défini.
   Plus de caractères sont écrits après le numéro de ligne: Illegal appel de fonction.
   line_number est pas dans [0-65529]: Illegal appel de fonction.
   n'existe pas Le numéro de ligne spécifié: numéro de ligne défini.

AUTRE AUTRE [quelque chose]

Sauf partie d'une instruction IF sur la même ligne, rien après ELSE est ignoré de la même manière que, après 'ou: REM. Aucun colon: précédant l'instruction ELSE est nécessaire. Voir SI pour une utilisation normale. FIN FIN

Ferme tous les fichiers, arrête l'exécution du programme et renvoie le contrôle à l'utilisateur. Aucun message est imprimé. Il est possible de reprendre l'exécution à l'instruction suivante en utilisant CONT. ENVIRON ENVIRON command_string

Définit une variable d'environnement shell. Paramètres

command_string est une expression de chaîne de l'une des formes suivantes:

"VARIABLE = VALEUR"

 pour définir VARIABLE à VALUE; 

"VARIABLE ="

 à VARIABLE unset. 

les erreurs

 command_string a une valeur numérique: incompatibilité de type.
   command_string n'a pas la forme requise: Illegal appel de fonction.

ERASE ERASE array_0 [, array_1] ...

De-alloue des tableaux. Les données stockées dans les tableaux sont perdues. Paramètres

 array_0, array_1 ... sont des noms de réseaux existants.  Les noms doivent être spécifiés sans crochets.

les erreurs

 Aucun nom de tableau sont données: Erreur de syntaxe.
   array_0, array_1 ... n'existent pas: Illegal appel de fonction.
   Si une erreur se produit, les tableaux nommés avant l'erreur sont effacées.

ERROR ERROR numéro_erreur

Déclenche l'erreur avec le numéro numéro_erreur. Paramètres

 numéro_erreur est une expression avec une valeur numérique.

les erreurs

 numéro_erreur a une valeur de chaîne: Type mismatch.
   numéro_erreur est pas dans [-32768-32767]: Overflow.
   numéro_erreur est pas dans [1-255]: Illegal appel de fonction.

FIELD FIELD [#] file_number [, width_0 AS NAME_0 [, width_1 AS name_1] ...]

Affecte variables dans le tampon d'enregistrement à accès aléatoire. Le tampon d'enregistrement est une région de mémoire de longueur définie par l'instruction OPEN; la longueur d'enregistrement par défaut est de 128 octets. L'instruction FIELD attribue une partie de cette région à une ou plusieurs variables de chaîne de longueur fixe, de sorte que la valeur de ces chaînes est tout ce qui arrive à être dans le tampon d'enregistrement à cet endroit. Remarques

 Une instruction FIELD sans variables spécifiées n'a pas d'effet.
   Une autre instruction FIELD sur le même fichier spécifiera une alternative cartographie du même tampon de fichier;  toutes les applications seront en vigueur simultanément.
   Une affectation subséquente ou louer ou MID $ déclaration sur NAME_0, name_1 ... seront dis- associer la variable de chaîne de la mémoire tampon de champ.
   Utilisez LSET, RSET ou MID $ pour copier les valeurs dans un tampon de FIELD.
   Utilisez GET pour lire les valeurs du fichier dans la mémoire tampon de champ, en changeant les variables.
   Utilisez PUT pour écrire le tampon de champ dans le fichier.

Paramètres

 file_number est une expression numérique qui donne le nombre d'un fichier à accès aléatoire ouvert.  Le # est facultative et n'a aucun effet.
   width_0, width_1, ... sont des expressions numériques donnant la longueur des variables de chaîne
   NAME_0, name_1 ... sont des variables de chaîne.

les erreurs

 file_number est pas dans [0-255]: Illegal appel de fonction.
   file_number est pas le nombre d'un fichier ouvert: Numéro de fichier incorrect.
   file_number est ouvert sous un autre mode que RANDOM: Mode de fichier incorrect.
   La déclaration se termine par une virgule: Missing opérande.
   Aucun numéro de fichier est spécifié: opérande manquant.
   Les longueurs dans une instruction FIELD ajouter jusqu'à un nombre plus grand que la longueur d'enregistrement de la mémoire tampon de champ: débordement de terrain.
   NAME_0, name_1 ... spécifier un non-variable chaîne: Incompatibilité de type.

FICHIERS FILES [filter_spec]

Affiche les fichiers adaptant le filtre spécifié dans le répertoire spécifié sur un périphérique de disque. Si filter_spec est pas spécifié, affiche tous les fichiers dans le répertoire de travail courant. Paramètres

 filter_spec est une expression de chaîne qui est un peu comme une spécification de fichier, mais permet éventuellement le nom du fichier partie pour contenir des caractères génériques.

Remarques

 Le filtre de nom de fichier peut contenir les caractères génériques suivants:
  ?  Correspond à tout caractère légal de nom de fichier.
   * Correspond une série de noms de fichiers caractères juridiques.
   Le filtre ne correspond MS-DOS noms de style.
   série de caractères appariés ne pas étirer à travers des séparateurs répertoire \ ou séparateurs d'extension .. Pour faire correspondre tous les fichiers avec toutes les extensions, utilisez *. *.
   Par ailleurs, si tous les fichiers dans un répertoire spécifié sont nécessaires, mettre fin au nom du répertoire avec un backslash \.

les erreurs

 filter_spec a une valeur numérique: incompatibilité de type.
   filter_spec est la chaîne vide: Nom de fichier incorrect.
   Le filtre spécifié ne correspond pas à tous les fichiers: Fichier non trouvé.

POUR POUR loop_var = commencer à arrêter [étape de STEP]

Lance une boucle FOR-NEXT.

Dans un premier temps, loop_var est configuré pour démarrer. Ensuite, les déclarations entre la déclaration FOR et l'instruction NEXT sont exécutées et loop_var est incrémenté par l'étape (si l'étape est pas spécifiée, par 1). Cette opération est répétée jusqu'à ce que loop_var est devenue supérieure à l'arrêt. L'exécution se poursuit alors à l'instruction suivante NEXT. La valeur de loop_var égale arrêt + étape après la boucle. Paramètres

 loop_var est une variable numérique.
   démarrage, l'arrêt et l'étape sont des expressions numériques.

les erreurs

 Aucune instruction NEXT se trouve pour correspondre à l'instruction FOR: POUR LA PROCHAINE sans se produit à l'instruction FOR.
   loop_var est une variable de chaîne ou de démarrer, arrêter, ou à la fin a une valeur chaîne: Incompatibilité de type.
   loop_var est un élément de tableau: Erreur de syntaxe.
   loop_var est une variable entière et un démarrage, l'arrêt ou l'étape est en dehors de l'intervalle [-32768, 32767]: Overflow.

GET (fichiers) GET [#] file_number [, record_number]

Lire un enregistrement du fichier file_number à accès aléatoire à la position record_number. Le dossier peut être consulté par les variables de champ ou par le biais $ INPUT, INPUT ou LINE INPUT. Paramètres

 file_number est une expression numérique qui donne le nombre d'un fichier à accès aléatoire ouvert.  Le # est facultative et n'a aucun effet.
   record_number est une expression numérique dans [1-33554432] (2 ^ 25), et est interprété comme le numéro d'enregistrement.

Remarques

 Si le numéro d'enregistrement est au-delà de la fin du fichier, le tampon de fichier est rempli d'octets nuls.
   Le numéro d'enregistrement est stocké sous forme de simple précision;  cette précision est pas assez élevé pour distinguer des enregistrements uniques à proximité de la valeur maximale de 2 ^ 25.

les erreurs

 record_number est pas dans [1-33554432]: Numéro d'enregistrement Bad.
   file_number est pas dans [0-255]: Illegal appel de fonction.
   file_number est pas le nombre d'un fichier ouvert: Numéro de fichier incorrect.
   file_number est ouvert sous un autre mode que RANDOM: Mode de fichier incorrect.
   file_number est pas spécifié: opérande manquant.

GET (communications) GET [#] com_file_number [, nombre_octets]

Lire nombre_octets octets de la mémoire tampon de communication ouvert sous le numéro de fichier com_file_number. Le dossier peut être consulté par les variables de champ ou par le biais $ INPUT, INPUT ou LINE INPUT. Paramètres

 file_number est une expression numérique qui donne le nombre d'un fichier ouvert à un dispositif de COM.  Le # est facultative et n'a aucun effet.
   nombre_octets est une expression numérique entre 1 et la longueur du tampon de COM, inclus.

Remarques

 Si octets est 32768 ou plus, se bloque GW-BASIC.  Cette fonctionnalité est pas implémentée dans PC-BASIC.
   Dans GW-BASIC, Dispositif d'erreur d'E / S est élevé pour erreur de dépassement, le cadrage d'erreur, et de briser interruption.  Erreur appareil est déclenchée si DSR est perdue au cours d'E / S.  Erreur de parité est déclenchée si la parité est activé et la parité incorrecte est rencontrée.  Ceci est indiqué dans le manuel;  il n'a pas été testé.

les erreurs

 octets est inférieur à 1: Numéro d'enregistrement Bad
   octets est inférieur à 32768 et supérieure à la longueur de la mémoire tampon de COM: Illegal appel de fonction.
   com_file_number est pas spécifié: opérande manquant.
   com_file_number est pas dans [0-255]: Illegal appel de fonction.
   com_file_number est pas le nombre d'un fichier ouvert: Numéro de fichier incorrect.
   Si le tampon d'entrée série est complète, à savoir LOF (com_file_number) = 0, et LOC (com_file_number) = 255: débordement de mémoire tampon de communication
   Si le transporteur baisse pendant GET, se bloque jusqu'à ce que la touche Ctrl + Pause est enfoncée.

GET (graphiques) GET (x0, y0) - [STEP] (x1, y1), array_name

Enregistre une zone rectangulaire de l'écran graphique dans un tableau. La zone stockée est un rectangle parallèle aux bords de l'écran, délimitée par le haut-gauche et les coordonnées en bas à droite x0, y0 et x1, y1. Si STEP est spécifié, x1, y1 est un décalage de x0, y0. La zone est telle que ces points d'angle sont à l'intérieur.

L'image stockée dans le réseau peut alors être mis sur l'écran en utilisant PUT. Aux fins de l'EEG, tout tableau est considéré comme une chaîne d'octets. La taille en octets d'un tableau peut être calculée comme number_elements * byte_size avec byte_size égal à 2 pour les entiers (%), 4 pour unique (!) Et 8 pour le double (#). Tableau taille en octets pour la chaîne est 3, mais des tableaux de chaînes ne sont pas autorisés dans GET. Pour calculer le nombre d'éléments, gardez à l'esprit que OPTION BASE 0 est la valeur par défaut; auquel cas un tableau avec indice maximum 10 a 11 éléments. Cela fonctionne par le biais de tableaux multidimensionnels.

Le format de tableau est la suivante: Octet Contient 0, 1 x Nombre de pixels, unsigned int. Dans ECRAN 1, cette valeur est doublée. 2, 3 Nombre de pixels y, unsigned int. 4- Des données de pixels. Les données sont disposées dans des mots de 2 octets. Le premier mot de 16 bits contient le bit 0 des 16 premiers pixels de la rangée supérieure. Le deuxième mot tient le second bit, etc. Les données sont mot-alignés à la fin de chaque ligne. Ainsi, dans un mode écran avec 4 bits par pixel, la première ligne prend au moins 8 octets (4 mots), même si elle est constituée d'un seul pixel. Le nombre de bits par pixel dépend du mode ECRAN. Paramètres

 array_name est le nom d'un tableau numérique dimensionné avec suffisamment d'espace pour stocker la zone.
   x0, y0, x1, y1 sont des expressions numériques.

Remarques

 En mode PCjr / Tandy, dans l'écran 6, GET magasins une superficie de deux fois la largeur du rectangle spécifié.

les erreurs

 Le tableau n'existe pas: Illegal appel de fonction.
   array_name fait référence à un tableau de chaînes: Incompatibilité de type.
   La zone est trop grande pour le tableau: Illegal appel de fonction.
   x0, ... y1 sont des expressions de chaîne: Type mismatch.
   X0, ... y1 ne sont pas dans [-32768 à 32767]: Overflow.
   X0, ... y1 sont en dehors de la vue ou la fenêtre courante: Illegal appel de fonction

GOSUB GO [] SUB line_number [quelque chose]

Saute à un sous-programme à line_number. La prochaine instruction RETURN revient à la déclaration après GOSUB. Tout ce qui suit line_number jusqu'à la fin de l'instruction est ignorée. Si elle est exécutée à partir d'une ligne directe, GOSUB exécute le sous-programme et le retour suivant renvoie l'exécution à la ligne directe. Paramètres

 line_number est un numéro de ligne existante littérale.
   D'autres caractères sur la ligne sont ignorées jusqu'à la fin de la déclaration.

Remarques

 Si aucun RETURN est rencontrée, pas de problème.
   Un espace optionnel est autorisé entre GO et SUB;  il ne sera pas retenu dans le programme.

les erreurs

 Si line_number n'existe pas: Undefined numéro de ligne.
   Si line_number est supérieur à 65529, seuls les 4 premiers caractères sont lus (par exemple 6553)

GOTO GO [] À LINE_NUMBER [quelque chose]

Saute à LINE_NUMBER. Tout ce qui suit line_number jusqu'à la fin de l'instruction est ignorée. Si elle est exécutée à partir d'une ligne directe, GOTO commence l'exécution du programme à la ligne spécifiée. Paramètres

 line_number est un numéro de ligne existante littérale.
   D'autres caractères sur la ligne sont ignorées jusqu'à la fin de la déclaration.

Remarques

 Tout nombre de places en option est autorisée entre GO et TO, mais ils ne seront pas conservées dans le programme.
   Si line_number est supérieur à 65529, seuls les 4 premiers caractères sont lus (par exemple GOTO 65530 est exécuté comme GOTO 6553)

les erreurs

 line_number n'existe pas: numéro de ligne défini.

SI SI truth_value [,] {THEN | GOTO} [compound_statement_true | line_number_true [rien]] [AUTRE [compound_statement_false | line_number_false [quelque chose]]]

Si truth_value est non nul, exécute des sauts de compound_statement_true ou line_number_true. Si elle est nulle, exécute compound_statement_false ou saute à line_number_false. Paramètres

 truth_value est une expression numérique.
   line_number_false et line_number_true sont les numéros de ligne existants.
   compound_statement_false et compound_statement_true sont des instructions composées, composé d'au moins une déclaration, suivie éventuellement d'autres déclarations séparées par des virgules.  Les états composés peuvent contenir des déclarations imbriquées IF-THEN-ELSE.

Remarques

 La virgule est optionnel et ignoré.
   clauses AUTRE sont facultatifs;  ils sont liés à la déclaration la plus intérieure libre IF si imbriqué.  clauses ELSE supplémentaires qui ont pas de correspondance IF sont ignorées.
   Toutes les clauses doivent être sur la même ligne de programme.
   THEN et GOTO sont interchangeables;  dont l'un est choisi est indépendant si l'on indique une déclaration ou un numéro de ligne.  GOTO PRINT 1 est très bien.
   Comme dans GOTO, quoi que ce soit après le numéro de ligne est ignoré.

les erreurs

 Si truth_value a une valeur de chaîne: Type mismatch.
   truth_value est égal à 0 et line_number_false est un numéro de ligne non-existante, ou truth_value est non nul et line_number_true est un numéro de ligne non-existante: numéro de ligne défini.

INPUT (console) INPUT [;] [invite {; |,}] var_0 [, var_1] ...

Prints invitent à l'écran et attend pour l'utilisateur de valeurs d'entrée pour les variables spécifiées. Le point-virgule avant l'invite, le cas échéant, arrête une nouvelle ligne d'être imprimé après les valeurs ont été saisies. Si l'invite est suivie par un point-virgule, il est imprimé avec une fuite?. Si l'invite est suivi d'une virgule, pas de point d'interrogation est ajouté. Paramètres

 invite est une chaîne littérale.
   var_0, var_1, ... sont des noms de variables ou éléments du tableau entièrement indexés.

Remarques

 Les valeurs entrées doivent être séparées par des virgules.  Espaces avant et après est jeté.
   Les valeurs de chaîne peuvent être saisies avec ou sans guillemets doubles ( ").
   Si une chaîne avec une virgule, avant ou arrière des espaces est nécessaire, les citations sont la seule façon d'y entrer.
   Entre une citation de clôture et la virgule à la fin de l'entrée, seul espace blanc- est autorisé.
   Si les guillemets sont nécessaires dans la chaîne elle-même, le premier caractère ne doit être ni un devis ni des espaces.  Il est impossible d'entrer dans une chaîne qui commence avec une citation par INPUT.
   Si un var_n donné est une variable numérique, la valeur saisie doit être littéral.
   Les personnages au-delà du 255e caractère de la ligne de l'écran sont jetés.
   Si l'entrée de l'utilisateur est interrompu par Ctrl + Break, CONT sera ré-exécuter l'instruction INPUT.

les erreurs

 Si la valeur saisie pour une variable numérique est un littéral numérique valide, ou le nombre de valeurs entrées ne correspond pas au nombre de variables dans la déclaration,? Refaire du début est imprimé et toutes les valeurs doit être saisi à nouveau.
   Une erreur de syntaxe qui est causée après l'invite est imprimée est uniquement soulevée après que la valeur shave été saisie.  Aucune valeur sont stockées.

INPUT (fichiers) ENTRÉE # file_num, var_0 [, var_1] ...

Lit chaîne ou variables numériques à partir d'un fichier texte ou le tampon de champ d'un fichier d'accès aléatoire. Paramètres

 file_num est le numéro d'un fichier ouvert en mode INPUT ou un fichier à accès aléatoire ouvert en mode RANDOM.
   var_0, var_1, ... sont des noms de variables ou éléments du tableau entièrement indexés.

Remarques

 Le # est obligatoire.  Il peut ou peut ne pas être d'espace entre INPUT et #.
   Les valeurs de chaîne peuvent être saisies avec ou sans guillemets doubles ( ").
   Les valeurs numériques sont terminées par, LF, CR,.
   cordes Unquoted sont terminées par LF, CR,.
   Les chaînes entre guillemets sont terminés par la citation de clôture.
   Toute inscription se termine par le caractère EOF ou son caractère 255e.
   Espaces avant et après est jeté.
   Si l'entrée ne peut pas être converti en le type demandé, une valeur zéro est retourné.
   Si file_num est ouvert à INPUT N ° KYBD lit à partir du clavier jusqu'à ce qu'un retour ou une virgule est rencontré (comme dans un fichier).  Les touches fléchées et supprimer sont transmis leurs caractères de contrôle (non scancodes!) Précédés de CHR $ (& HFF).

les erreurs

 L'entrée est demandée après la fin d'un fichier texte a été atteint ou un caractère EOF a été rencontrée: Entrée passé fin.
   Le dernier caractère de la mémoire tampon de champ est en lecture: débordement de terrain.
   file_num a une valeur de chaîne: Type mismatch.
   file_num est supérieure à 32767: Overflow.
   file_num est inférieur à zéro: Illegal appel de fonction.
   file_num est pas un fichier ouvert: Numéro de fichier incorrect.
   file_num est pas ouvert pour INPUT ou RANDOM: Mode de fichier incorrect.
   file_num est ouvert à un port COM et ceci est la première entrée, LINE INPUT ou INPUT $ appel sur ce port depuis le tampon a rempli complètement (c.-à-LOF (file_num) est devenu zéro): débordement de mémoire tampon de communication.

IOCTL IOCTL [#] file_num, control_string

Déclenche illégale appel de fonction. Remarques

 Dans GW-BASIC, IOCTL envoie une chaîne de commande à un dispositif.
   Cette déclaration n'a pas été mis en œuvre dans PC-BASIC.

les erreurs

 file_num a une valeur de chaîne: Type mismatch.
   file_num est pas dans [-32.768 à 32.767]: Overflow.
   file_num est pas un fichier ouvert: Numéro de fichier incorrect.
   Dans le cas contraire: Illegal appel de fonction

KEY (macro liste) KEY {ON | OFF | LIST}

Active la liste des macros de touches de fonction sur le bas de l'écran ON ou OFF. Si LISTE est spécifié, affiche une liste des 10 (ou 12 avec syntaxe = tandy) touches de fonction avec les macros de touches de fonction définies pour les clés de la console.

La plupart des personnages sont représentés par leur symbole équivalent dans le codepage actuel. Cependant, certains caractères obtiennent une représentation différente, qui est une représentation symbolique de leur effet que les caractères de contrôle sur l'écran. Code de point de remplacement glyphe Usual & h07 & H0e ♫ & H08 & hFE ■ & h09 & H1A → & H0A & H1B ← & H0B & H7F ⌂ & h0C & h16 ▬ & h0D & H1B ← & h1C & h10 ► & h1d & h11 ◄ & H1E & h18 ↑ & H1F & h19 ↓ KEY (macro définition) key_id KEY, STRING_VALUE

Définit la macro de chaîne pour la touche de fonction key_id. Seuls les 15 premiers caractères du STRING_VALUE sont stockés. Paramètres

 key_id est une expression numérique dans l'intervalle [1-10] (ou [1-12] lorsque la syntaxe = tandy).
   STRING_VALUE est une expression de chaîne.

Remarques

 Si key_id est pas dans la plage prescrite, la déclaration est interprétée comme une déclaration KEY événement de piégeage.
   Si STRING_VALUE est la chaîne vide ou le premier caractère de STRING_VALUE est CHR $ (0), la macro touche de fonction est désactivée et la capture ultérieure de la touche de fonction associée à INKEY $ est activée.

les erreurs

 key_id est pas dans [-32768 à 32767]: Overflow.
   key_id est pas dans [1-255]: Illegal appel de fonction.
   key_id a une valeur de chaîne: Type mismatch.

KEY (commutateur d'événement) KEY (key_id) {ON | OFF | STOP}

Contrôles événement piégeage de la clé avec identifiant key_id. le piégeage de l'événement est allumé ou éteint. ARRÊT suspend événement piégeage jusqu'à ce qu'une touche () ON est exécutée. Jusqu'à un événement peut être déclenché pendant la suspension, à condition que la gestion des événements a été activée avant la suspension. L'événement déclenché pendant la suspension est traitée immédiatement après la prochaine KEY () ON déclaration. Paramètres

key_id est une expression numérique dans [1-20]. Les clés sont: 1 F1 2 F2 F3 3 4 F4 F5 5 6 F6 7 F7 8 F8 9 F9 10 F10 11 ↑ 12 ← 13 → 14 ↓

Touches 15 à 20 sont définies en utilisant l'événement de piégeage énoncé de définition KEY. Remarques

 Avec la syntaxe = tandy, la clé 11 est F11 et la clé 12 est F12.  Prédéfinis clés 11-14 passage à 13-16.

les erreurs

 key_id est pas dans [-32768 à 32767]: Overflow.
   key_id est pas dans [0-20]: Illegal appel de fonction.
   key_id a une valeur de chaîne: Type mismatch.

KEY (définition d'événement) de key_id KEY, two_char_string

Définit la clé de piège pour key_id. Paramètres

 key_id est une expression numérique dans [15-20] (ou [17-20] lorsque la syntaxe = tandy).
   two_char_string est une expression de chaîne de longueur 2. Le premier caractère est interprété comme un modificateur tandis que le second caractère est interprété comme un scancode.  Le caractère modificateur est un OU binaire combinaison des drapeaux suivants:
   CHR $ (& h80) Extended
   CHR $ (& h40) Caps Lock
   CHR $ (& h20) Num Lock
   CHR $ (& H08) Alt
   CHR $ (& h04) Ctrl
   CHR $ (& H02) Maj (de chaque côté)
   CHR $ (& h01) Maj (de chaque côté)
   Pour la clé non modifié, le caractère modificateur est CHR $ (0).

Remarques

 Si key_id est pas dans la plage prescrite, aucune erreur est soulevée;  ces valeurs sont ignorées.  Dans GW-BASIC choses étranges peuvent se produire dans ce cas: anomalies de l'écran et les accidents évocateurs d'accès à la mémoire involontaire.
   Si key_id est en [1-10] (ou [1-12] lorsque la syntaxe = tandy), la déclaration est interprétée comme une macro définition de la fonction-clé.

les erreurs

 key_id est pas dans [-32768 à 32767]: Overflow.
   key_id est pas dans [1-255]: Illegal appel de fonction.
   key_id a une valeur de chaîne: Type mismatch.
   two_char_string est plus longue que deux: Illegal appel de fonction.
   two_char_string a une valeur numérique: incompatibilité de type.

KILL KILL file_spec

Supprime un fichier sur un périphérique de disque. Paramètres

 Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à supprimer.  Il doit pointer vers un fichier existant sur un périphérique de disque.

les erreurs

 file_spec a une valeur numérique: incompatibilité de type.
   Le file_spec de fichier est ouvert: Fichier déjà ouvert
   Le fichier ou le chemin file_spec n'existe pas: Fichier introuvable
   L'utilisateur n'a pas l'autorisation d'écriture: Autorisation refusée
   Si une erreur de syntaxe se produit après le cours de clôture, le fichier est supprimé de toute façon.

LCOPY LCOPY [num]

Ne fait rien. Paramètres

 num est une expression numérique dans [0-255].

Remarques

 Cette déclaration ne fait rien en GW-BASIC.  Vraisemblablement, il est laissé plus d'une déclaration dans les anciennes versions de MS Basic qui copie l'écran à l'imprimante.

les erreurs

 num est pas dans [-32768 à 32767]: Overflow.
   num est pas dans [0-255]: Illegal appel de fonction.
   num a une valeur de chaîne: Type mismatch.

LET [LET] name = expression

Affecte la valeur d'expression au nom de l'élément variable ou un tableau. Paramètres

 nom est une variable qui peut ou peut ne pas exister déjà.
   Le type d'expression correspond à celle du nom: qui est, tous les types numériques peuvent être affectés à l'autre, mais les chaînes ne peuvent être affectées à des chaînes.

les erreurs

 le nom et l'expression ne sont pas des types correspondant: incompatibilité de type.

LINE LINE [[STEP] (x0, y0)] - [STEP] (x1, y1) [[attr] [, [B [F]] [, motif]]]

Dessine une ligne ou une boîte en mode graphique. Si B est pas spécifié, une ligne est tracée à partir de (x0, y0) à (x1, y1), les paramètres inclus. Si B est spécifié, un rectangle est dessiné avec des côtés parallèles à l'écran et deux angles opposés définis par (x0, y0) et (x1, y1). Si le point de départ est pas donné, la position graphique actuelle est utilisée comme point de regard fixe. Si STEP est spécifié, (x0, y0) est un décalage par rapport à la position actuelle et (x1, y1) est un décalage de (x0, y0). LINE déplace la position graphique actuelle à la dernière extrémité donnée. Si F est défini par B, le rectangle est rempli avec l'attribut spécifié. F et B peuvent être séparés par zéro, un ou plusieurs espaces. Paramètres

 attr est une expression numérique dans [0-255], qui spécifie l'attribut de couleur de la ligne.  Si elle ne reçoit pas, l'attribut courant est utilisé.
   motif est une expression numérique dans [-32768 à 32767].  Cela est interprété comme un 16-bit masque de motif binaire appliqué aux pixels consécutifs dans la ligne: un bit 1 indique un pixel tracé;  un bit 0 indique un pixel laissé intact.  Le schéma commence par le bit le plus significatif qui est appliqué au point d'extrémité le plus haut.  Si une zone est tirée, le motif est appliqué dans la séquence de contre-intuitive suivante: (x1, y1) - (x0, y1), (x1, y0) - (x0, y0), puis (x1, y0) - ( x1, y1), (x0, y0) - (x0, y1), si Y0 <y1 et y0, y1 y1 inversées si <y0.  Lors de l'élaboration d'une boîte remplie, LINE ignore le motif.

Remarques

 Si une coordonnée est en dehors des limites de l'écran, il est remplacé par -1 (si moins de 0) ou la dimension de l'écran (si elle est supérieure à la dimension de l'écran).

les erreurs

 La déclaration se termine par une virgule et il est le premier ou le troisième: Missing opérande.  Si elle est la deuxième: Erreur de syntaxe.
   Tout des coordonnées est pas dans [-32768 à 32767]: Overflow.
   Tout des paramètres a une valeur de chaîne: Type mismatch.

LINE INPUT (console) LINE INPUT [;] [prompt_literal {; |,}] string_name

Affiche l'invite donnée dans prompt_literal et lit l'entrée d'utilisateur à partir du clavier, le stockage dans le string_name variable. Toutes les entrées sont lues jusqu'à ce que vous appuyez sur Entrée; les 255 premiers caractères sont stockés. Si la ; est donnée juste après LINE INPUT, l'entrée utilisateur Entrez fin est pas fait écho à l'écran. Paramètres

 prompt_literal est une chaîne littérale.  Il ne fait aucune différence si elle est suivie par une virgule ou un point-virgule.
   string_name est un élément variable ou tableau chaîne.

Remarques

 Si l'entrée de l'utilisateur est interrompu par Ctrl + Break, CONT sera ré-exécuter l'instruction LINE INPUT.
   Contrairement INPUT, LINE INPUT ne se termine pas l'invite avec?.

LINE INPUT (fichiers) LINE INPUT # file_num, string_name

Lit chaîne ou variables numériques à partir d'un fichier texte ou le tampon de champ d'un fichier d'accès aléatoire. Toutes les entrées sont lues jusqu'à ce que vous appuyez sur Entrée; les 255 premiers caractères sont stockés. file_num doit être le numéro d'un fichier ouvert en mode INPUT ou un fichier à accès aléatoire ouvert en mode RANDOM. Paramètres

 string_name est un élément variable ou tableau chaîne.

Remarques

 Le # est obligatoire.  Il peut ou peut ne pas être d'espace entre INPUT et #.
   L'entrée est seulement terminée par un CR.
   Si file_num est ouvert à LINE INPUT N ° KYBD lit à partir du clavier jusqu'à ce qu'un retour ou une virgule est rencontré (comme dans un fichier).  Les touches fléchées et supprimer sont transmis leurs caractères de contrôle (non scancodes!) Précédés de CHR $ (& HFF).

les erreurs

 L'entrée est demandée après la fin d'un fichier texte a été atteint ou un char EOF a été rencontrée: Entrée passé fin.
   Le dernier caractère de la mémoire tampon de champ est en lecture: débordement de terrain.
   file_num est pas un fichier ouvert: Numéro de fichier incorrect.
   file_num est inférieur à zéro: Illegal appel de fonction.
   file_num est pas dans [-32.768 à 32.767]: Overflow.
   file_num est pas ouvert pour INPUT ou RANDOM: Mode de fichier incorrect.
   file_num a une valeur de chaîne: Type mismatch.
   file_num est ouvert à un port COM et ceci est la première entrée, LINE INPUT ou INPUT $ appel sur ce port depuis le tampon a rempli complètement (c.-à-LOF (file_num) est devenu zéro): débordement de mémoire tampon de communication.

LISTE LISTE [line_number_0 |.] [- [Line_number_1 |.]] [, File_spec [rien]]

Imprime le programme à l'écran ou un fichier, en commençant par line_number_0 jusqu'au line_number_1. arrête également l'exécution du programme et renvoie le contrôle à l'utilisateur. Si l'instruction LIST se termine par une spécification de fichier, autre chose est ignoré. Dans tous les cas, d'autres déclarations dans un composé après LIST seront ignorés, à la fois dans un programme et en mode direct.

Lorsque la liste à l'écran, les mêmes caractères de contrôle sont reconnus comme dans l'instruction PRINT. Remarques

 Dans GW-BASIC 3.23, LIST ne montrera pas les numéros de ligne 65531-65535 inclus.  Par défaut, la liste de PC-BASIC fait apparaître ces lignes.  Cependant, leur montrant peut être désactivé avec l'option stricte-lignes cachées.

Paramètres

 line_number_0 et line_number_1 sont les numéros de ligne dans la gamme [0-65529] ou a.  pour indiquer la dernière ligne modifiée.  Les numéros de ligne ne doivent pas exister;  ils spécifient une plage.  Si la plage est vide, rien n'est imprimé.
   Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à la liste à.  Si ce fichier existe déjà, il sera écrasé.

les erreurs

 Un numéro de ligne est supérieure à 65529: Erreur de syntaxe.
   file_spec a une valeur numérique: incompatibilité de type.
   file_spec se termine par un colon, mais est pas un nom de périphérique ou lettre de lecteur: Numéro de fichier incorrect.
   file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).

LLIST LLIST [line_number_0 |.] [- [Line_number_1 |].]

Le programme imprime à l'écran, en commençant par line_number_0 jusqu'à et y compris line_number_1. arrête également l'exécution du programme et renvoie le contrôle à l'utilisateur. Les autres déclarations sur une ligne après LLIST seront ignorés, à la fois dans un programme et en mode direct. Remarques

 Dans GW-BASIC 3.23, LLIST ne montrera pas les numéros de ligne 65531-65535 inclus.  Par défaut, le LLIST de PC-BASIC fait apparaître ces lignes.  Cependant, leur montrant peut être désactivé avec l'option stricte-lignes cachées.

Paramètres

 line_number_0 et line_number_1 sont les numéros de ligne dans la gamme [0-65529].  ou a.  pour indiquer la dernière ligne modifiée.  Les numéros de ligne ne doivent pas exister;  ils spécifient une plage.  Si la plage est vide, rien n'est imprimé.

les erreurs

 Un numéro de ligne est supérieure à 65529: Erreur de syntaxe.

CHARGE CHARGE file_spec [R]

Charge le programme stocké dans un fichier dans la mémoire. les variables existantes seront effacées et tout programme en mémoire seront effacées. LOAD implique une CLEAR.

Si, R est spécifié, conserve les fichiers toutes les données ouvertes et exécute le fichier spécifié. Paramètres

 Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à lire le programme à partir.

Remarques

 Faire référence à

les erreurs

 file_spec a une valeur numérique: incompatibilité de type.
   file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
   Le fichier spécifié dans file_spec ne peut pas être trouvé: Fichier non trouvé.
   Un fichier texte chargé contient des lignes sans numéros de ligne: déclaration directe dans le fichier.

Localiser Situer [suite] [, [col] [, [cursor_visible] [, [start_line] [, [stop_line] [,]]]]]

Amène le curseur à la ligne, col sur l'écran et change la forme du curseur et de la visibilité. cursor_visible peut être 0 ou 1. Si cursor_visible est 0, il rend le curseur invisible; si elle est de 1, rend le curseur visible. Cela ne fonctionne que si un programme est en cours d'exécution. La forme du curseur est réglé dans une cellule de caractère à partir de start_line et se termine le end_line où start_line et end_line sont dans [0-31]. Si start_line ou end_line est supérieure à la hauteur de cellule de caractère (15), remplacer 15. Note

 Sur les cartes VGA émulés, les paramètres de forme du curseur sont interprétées d'une manière compliquée qui est destiné à maintenir la compatibilité fonctionnelle avec CGA.
   Dans GW-BASIC, la forme du curseur est conservé après avoir appuyé deux fois Ins.  Le curseur insert mode est différent du demi-bloc habituel.  Dans PC-BASIC, le mode d'insertion réinitialise la forme du curseur par défaut.
   forme du curseur et les options de visibilité sont sans effet en mode graphique.
   Repérez accepte une 5ème virgule à la fin, qui est ignoré.

les erreurs

 Tout paramètre a une valeur de chaîne: Type mismatch.
   Tout paramètre est pas dans [-32768 à 32767]: Overflow.
   ligne est en dehors de la vue actuelle zone: Illegal appel de fonction.
   col est supérieure à la largeur actuelle: Illegal appel de fonction.
   cursor_visible est pas dans [0, 1] ([0-255] sur Tandy / PCjr): Illegal appel de fonction.

LOCK LOCK [#] file_number [, record_0] BLOCAGE [#] file_number, [record_0] À record_1

Verrouille un fichier ou d'une partie d'un fichier contre l'accès par d'autres utilisateurs. Sur un fichier RANDOM, record_0 est le premier enregistrement verrouillé et record_1 est le dernier enregistrement verrouillé. Sur tout autre type de fichier record_0 et record_1 n'a aucun effet. Si record_0 est pas spécifié, il est supposé être 1. Si aucun enregistrement sont spécifiés, le fichier entier est verrouillé. Paramètres

 file_number est une expression numérique dans [0-255].
   record_0 et record_1 sont des expressions numériques dans [1-2 ^ 25-2].

Remarques

 Dans GW-BASIC sous MS-DOS, la commande LOCK requiert SHARE.EXE à charger.  Le nombre maximum de verrous est spécifié dans la commande SHARE MS-DOS.  Si SHARE n'a pas été activé ou tous les verrous sont utilisés, BLOCAGE soulève Permission denied.  PC-BASIC se comporte comme si SHARE a été activé avec des serrures illimitées.
   Si file_number est ouvert pour RANDOM, verrouiller et déverrouiller les états doivent correspondre en termes de record_0 et record_1.  Un UNLOCK non-appariement augmentera Permission denied.

les erreurs

 Tout paramètre a une valeur de chaîne: Type mismatch.
   file_num est pas dans [-32.768 à 32.767]: Overflow.
   file_num est pas dans [0-255]: Illegal appel de fonction.
   file_num est pas un fichier ouvert: Numéro de fichier incorrect.
   LOCK (partie) d'un fichier déjà verrouillé: Autorisation refusée.
   record_0 ou record_1 est pas dans [1-2 ^ 25-2]: Numéro d'enregistrement Bad.

LPRINT

Voir PRINT. LSET LSET string_name = expression

Copie une valeur de chaîne dans une chaîne élément variable ou tableau existant. La valeur sera justifiée à gauche et tous les caractères restants sont remplacés par des espaces. Paramètres

 string_name est un élément variable ou tableau chaîne.
   expression est une expression de chaîne.

Remarques

 Si l'expression a une valeur qui est supérieure à la longueur de la variable cible, elle est tronquée à la queue de la longueur de la variable cible.
   Si string_name n'a pas été alloué avant, cette déclaration n'a aucun effet.
   Utilisez LSET, RSET ou MID $ pour copier les valeurs dans un tampon de FIELD.
   Si LET est utilisé sur une variable au lieu de L FIELD | RSET, la variable est détaché du terrain et une nouvelle variable de chaîne normale est attribuée.

les erreurs

 string_name est pas une variable chaîne: Incompatibilité de type.
   expression n'a pas de valeur de chaîne: Type mismatch.

Merge Merge file_spec

Superpose les lignes d'un programme à partir d'un fichier de programme en texte clair dans le programme existant. Les lignes chargées d'écraser les lignes existantes si elles ont le même numéro de ligne. Paramètres

 Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à lire le programme à partir.

les erreurs

 file_spec ne peut pas être trouvé: Fichier non trouvé.
   file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
   file_spec n'a pas été enregistré en tant que texte brut: le mode de fichier incorrect.
   Un fichier texte chargé contient des lignes sans numéros de ligne: déclaration directe dans le fichier.

MID $ (déclaration) MID $ (string_name position [, longueur]) = substring

Remplace une partie de string_name avec substring. Paramètres

 string_name est une chaîne nom de variable valide.
   position est une expression numérique entre 1 et la longueur de la chaîne, y compris.
   longueur est une expression numérique dans [0-255].

Remarques

 Aucun espace est autorisé entre MID $ et (.
   Si substring est plus longue que la longueur, seuls les premiers caractères de longueur sont utilisés.
   Si substring est plus courte que la longueur, seulement LEN (substring) caractères sont remplacés.

les erreurs

 position est supérieure à la longueur de string_name: Illegal appel de fonction, sauf si la longueur est spécifiée comme 0.
   la position est pas dans [1-255]: Illegal appel de fonction.
   longueur est pas dans [0-255]: Illegal appel de fonction.
   la position ou la longueur ne sont pas dans [-32768 à 32767]: Overflow.

MKDIR MKDIR dir_spec

Crée un nouveau répertoire sur un périphérique de disque. Paramètres

 Le dir_spec d'expression de chaîne est une spécification de fichier valide qui spécifie le chemin du nouveau répertoire sur un périphérique de disque.

les erreurs

 dir_spec est pas une chaîne: Incompatibilité de type.
   Le répertoire parent n'existe pas: Chemin d'accès introuvable.
   Le nom du répertoire existe déjà sur ce chemin: Erreur d'accès Chemin / Fichier.
   L'utilisateur n'a pas l'autorisation d'écriture: Autorisation refusée.

MOTOR MOTOR [num]

Ne fait rien. Paramètres

 num est une expression numérique dans [0-255].

Remarques

 Dans GW-BASIC, cette déclaration met en marche le moteur de la cassette si num est différent de zéro ou omis, et l'éteint si num est nul.  Ce ne sont pas mis en œuvre dans PC-BASIC.

les erreurs

 num a une valeur de chaîne: Type mismatch.
   num est pas dans [-32768 à 32767]: Overflow.
   num est pas dans [0-255]: Illegal appel de fonction.

NOM NOM OLD_NAME AS new_name

Renomme le fichier de disque OLD_NAME en new_name. Paramètres

 Les expressions de chaîne OLD_NAME et new_name sont des spécifications de fichiers valides donnant le chemin sur un dispositif de disque pour les anciens et les nouveaux noms de fichiers, respectivement.

Remarques

 new_name sera modifié en un format tout-en majuscules 8.3.

les erreurs

 old_name ou new_name ont des valeurs numériques: incompatibilité de type.
   old_name n'existe pas: Fichier non trouvé.
   old_name est ouvert: Fichier déjà ouvert.
   new_name existe: Le fichier existe déjà.

NOUVEAU NOUVEAU

Arrête l'exécution d'un programme, supprime le programme en mémoire, exécute CLEAR et RESTORE et renvoie le contrôle à l'utilisateur. SUIVANT SUIVANT [var_0 [, var_1] ...]

Itère une boucle FOR-NEXT: incrémente la variable de boucle et saute à l'instruction FOR. Si aucune variables sont spécifiées, correspond à côté de la plus récente instruction FOR. Plusieurs déclarations PROCHAINES imbriqués peuvent être regroupés en un seul en utilisant la liste des variables. Si une ou plusieurs variables sont spécifiées, leur ordre doit correspondre à l'ordre de l'heure pour les états. Paramètres

 var_0, var_1, ... sont des variables numériques qui sont des compteurs de boucle dans une instruction FOR.

les erreurs

 Aucune instruction FOR est trouvée pour correspondre à l'instruction NEXT et les variables: SUIVANTE sans POUR.
   var_0, var_1, ... sont des variables de chaîne: NEXT sans FOR.
   La variable (implicite ou explicite) boucle est une variable entière et est pris en dehors de la gamme [-32768, 32767] lorsque incrémenté après la dernière itération: Overflow.

source BRUIT BRUIT, le volume, la durée

Génère divers types de bruit. Paramètres

 source est une expression numérique dans [0-7].  Il indique le type de bruit:
   type de source supérieure de la bande de fréquence (Hz)
   0 périodique 6991
   1 périodique 3495
   2 périodiques 1747
   3 dernière tonalité périodique joué sur la voix 2
   0 bruit blanc 6991
   1 bruit blanc 3495
   2 bruit blanc 1747
   3 blanc dernier ton de bruit joué sur la voix 2
   volume est une expression numérique dans [0-15].
   la durée est une expression numérique.

Volume et la durée sont déterminés de la même manière que pour l'instruction SOUND; voir là. Remarques

 Cette déclaration est disponible uniquement si la syntaxe = {PCjr | tandy} est réglé.

les erreurs

 SOUND ON n'a pas été exécuté: Illegal appel de fonction.
   durée est pas dans [-65535 à 65535]: Illegal appel de fonction.
   volume est pas dans [0-15]: Illegal appel de fonction.
   source est pas dans [0-7]: Illegal appel de fonction.

ON (saut calculé) ON n {GOTO | GOSUB} line_number_0 [, line_number_1] ...

Passe au numéro de ligne nième spécifié dans la liste. Si n est égal à 0 ou supérieur au nombre de numéros de lignes dans la liste, aucun saut est effectué. Si GOTO est spécifié, le saut est inconditionnel; si GOSUB est spécifié, des sauts à un sous-programme. Paramètres

 n est une expression numérique dans [0-255].  L'expression ne doit pas commencer par les STRIG, PEN, PLAY ou la fonction TIMER mots-clés;  si vous avez besoin de ces fonctions, l'expression doit être placé entre crochets.
   line_number_0, line_number_1, ... sont les numéros de ligne existante dans le programme.

les erreurs

 n a une valeur de chaîne: Type mismatch.
   n est pas dans [-32768 à 32767], Overflow.
   n est pas dans [0-255]: Illegal appel de fonction.
   n'existe pas La ligne nombre a bondi à: numéro de ligne non définie.

ON (événement piégeage) ON {COM (n) | KEY (n) | STRIG (n) | PEN | PLAY (n) | TIMER (x)} GOSUB line_number

Définit un événement de piégeage sous-programme. Le type d'événement est donné par l'un des mots clés suivants: COM (n), l'événement est déclenché si des données sont présentes dans la mémoire tampon d'entrée du COMn :. n est le numéro de port dans [1,2]. KEY (n) L'événement est déclenché si la clé n est pressée. n est le numéro de la clé [1-10] défini dans la déclaration KEY. STRIG (n) Ils événement est déclenché si le bouton de feu n est pressé. n dans [0,2,4,6] se réfèrent aux deux incendies déclenche sur deux joysticks. PEN L'événement est déclenché si le stylet sur l'écran. (Dans PC-BASIC, le stylet est émulé par défaut par le bouton droit de la souris). PLAY (n) L'événement est déclenché s'il y a exactement n notes laissées sur la file d'attente de la musique de fond. n est une expression numérique dans [1-32]. TIMER (x) L'événement est déclenché toutes les x secondes après la TIMER ON déclaration. x est une expression numérique dans [1-86400]. Remarques

 piégeage pour votre événement choisi premier événement doit être activé en utilisant l'une des déclarations: COM (n) ON, KEY (n) ON, STRIG (n) ON, PEN ON, jouer, TIMER ON
   Les événements ne sont piégés lorsqu'un programme est en cours d'exécution.

les erreurs

 n ou x a une valeur de chaîne: Type mismatch.
   n est pas dans [-32768 à 32767]: Overflow.
   n ou x est en dehors de la plage spécifiée: Illegal appel de fonction.

ON ERROR ON ERROR GOTO {line_number | 0}

Active le piégeage ou désactiver erreur. Lorsque line_number est réglé, toute erreur provoque la manipulation de routine à partir de ce numéro de ligne à être appelé erreur; aucun message est imprimé et l'exécution du programme ne soit pas arrêté. La routine de gestion des erreurs se termine par une déclaration de REPRENDRE. Alors que dans une routine de gestion des erreurs, des événements sont mis en pause et la récupération d'erreur est désactivé. Après la déclaration de REPRENDRE, tout les événements déclenchés sont ramassés dans l'ordre suivant: KEY, TIMER, PLAY - l'ordre des autres est inconnu. Contrairement à l'événement le piégeage, la récupération d'erreur reste active quand aucun programme est en cours. ON ERROR GOTO 0 désactive la récupération d'erreur. Paramètres

 line_number est un numéro de ligne existante dans le programme.

Remarques

 Il est impossible de démarrer le gestionnaire d'erreur au numéro de la ligne 0.

les erreurs

 line_number n'existe pas: numéro de ligne défini.

OPEN OPEN mode_char, [#] file_num, file_spec [, rec_len] OUVRIR file_spec [POUR {ENTREE | SORTIE | APPEND | RANDOM}] [ACCESS {LIRE | ECRITURE | WRITE LIRE}] [PARTAGÉE | BLOCAGE {LIRE | ECRITURE | WRITE LIRE }] AS [#] file_num [LEN = rec_len]

Ouvre un fichier de données sur un périphérique. Paramètres

 Le file_spec d'expression de chaîne est une spécification de fichier valide.
   file_num est une expression numérique dans [1-MAX_FILES], où MAX_FILES est le nombre maximum de fichier (par défaut 3).
   rec_len est une expression numérique dans [1-128]: la longueur d'enregistrement.
   mode_char est une expression de chaîne dont le premier caractère est un [ "I", "O", "A", "R"].

Les modes d'accès

Le FOR modes ou mode_char sont les suivants: mode_char POUR Effect "I" INPUT Ouvre un fichier texte pour la lecture et positionne le pointeur de fichier au début. "O" SORTIE tronque un fichier texte au début et à l'ouvre pour l'écriture. Toutes les données précédemment présentes dans le fichier seront supprimés. "A" APPEND Ouvre un fichier texte pour écrire à la fin de toutes les données existantes. "R" RANDOM Ouvre un fichier pour un accès aléatoire; le fichier est divisé en enregistrements de longueur rec_len. Si LEN est pas spécifié, la longueur d'enregistrement par défaut 128. Le contenu du fichier sont accessibles en utilisant GET et PUT du tampon FIELD; le tampon de champ peut être accessible par le biais de variables FIELD ou par PRINT # et INPUT # déclarations.

Si aucun pour le mode ou mode_char est spécifié, le fichier est ouvert pour RANDOM.

Si les deux et l'accès sont spécifiés, tout mode d'accès est autorisé pour RANDOM mais pour les autres modes d'accès doit correspondre à la manière suivante: pour l'accès par défaut autorisé ACCÈS ENTREE READ LECTURE ECRITURE DE SORTIE WRITE APPEND Lecture Ecriture Lecture Ecriture RANDOM LIRE ECRIRE tous Partage et serrures

Si ni PARTAGÉE ni BLOCAGE sont spécifiés. A l'intérieur de ce processus, un fichier peut être ouvert plusieurs fois pour INPUT ou RANDOM mais seulement une fois pour OUTPUT ou APPEND, tant qu'il est ouvert à nouveau en mode par défaut. Il ne peut pas être ouvert en PARTAGÉ ou des modes LOCK.

Si PARTAGÉE, BLOCAGE READ, WRITE LOCK ou LOCK READ WRITE est spécifié, si deux états OPEN peuvent accéder au même fichier dépend de son statut LOCK et le statut de l'autre ACCESS et vice versa. Pour deux déclarations OUVERTES comme suit: "fichier" OPEN lock_1 AS 1 OPEN "fichier" acc_2 ACCESS AS 2, les combinaisons suivantes sont autorisées: Accès autorisé acc_2 LECTURE ECRITURE LECTURE ECRITURE lock_1 PARTAGÉE oui oui oui BLOCAGE READ non oui non BLOCAGE ECRITURE oui non non BLOCAGE READ pas ECRIRE no no

Dans GW-BASIC sous MS-DOS avec SHARE.EXE actif, ces verrous doivent être appliquées à travers un réseau, ainsi que l'intérieur d'un processus de base unique. Sans PARTAGÉ et LOCK, le fichier est verrouillé exclusivement pour une utilisation par le processus GW-BASIC. En revanche, dans PC-BASIC, les verrous ne sont mises en œuvre en interne. Que d'autres processus peuvent accéder au fichier dépendent du système d'exploitation hôte. Spécifications des fichiers

Une spécification de fichier file_spec est une chaîne d'expression non vide de la forme "[device:] paramètres", où device est un dispositif de PC-BASIC et la forme des paramètres est spécifique au type de dispositif. Si le dispositif est omis, le dispositif actuel (une des unités de disque ou CAS1 :) est utilisé.

dispositifs de disque A: -Z: et @:

 paramètres doivent spécifier un chemin de fichier valide de la forme [\] [dirname \] ... filename.
 PC-BASIC suit DOS conventions du système de fichiers.  Les noms de répertoires sont séparés par des antislashs \ (même si le système d'exploitation hôte sépare les chemins avec des barres obliques).  Les noms de fichiers et de répertoires sont constitués d'un nom de 8 caractères et extension de 3 caractères.  Les noms sont insensibles à la casse.  Les caractères autorisés pour les deux nom et l'extension sont les caractères ASCII imprimables dans la gamme & h20- & H7E excluant les caractères "* +, /:; <=> \ [] | Les espaces sont autorisés, mais avant et arrière espaces sont ignorés Le.?.. noms AUX, CON, PRN et NUL sont réservés comme alias de périphériques et ne sont pas des noms juridiques pour des fichiers ou des répertoires sur un périphérique de disque.
 Un chemin commençant par une barre oblique inverse est interprété comme un chemin absolu, à partir de la racine du périphérique de disque spécifié.  Sinon, le chemin est interprété par rapport au répertoire courant sur le périphérique spécifié.  Le nom du répertoire spécial .. se réfère au répertoire parent d'un chemin précédent, ou le répertoire parent du répertoire courant si aucun chemin est donné.  Le nom du répertoire spécial.  se réfère au même répertoire que donné par le chemin précédent, ou le répertoire courant si aucun chemin précédent est donné.
 Le LOAD, SAVE, BLOAD, BSAVE, CHAIN, merge, RUN, et les déclarations de LISTE (mais pas OUVRIR) implicitement ajouter une extension par défaut .BAS si aucune extension est spécifiée.  Pour faire référence à un nom de fichier sans extension, la spécification du fichier doit se terminer par un point ..
   notes de compatibilité
 Contrairement à PC-BASIC, certaines versions de MS-DOS permettent à certains caractères de la plage et h7F- & hFF.  Cependant, leur licéité et l'interprétation dépend de la page de code de la console, qui peut être différente de la page de code d'affichage qui affecte GW-BASIC.  En fonction de sa page de code de la console, MS-DOS remplace les lettres accentuées par leur variante en majuscules non accentuées.  Certaines implémentations DOS va supprimer les espaces de noms;  notamment, cela est le cas sur DOSBox.
 Depuis les unités de disque sont mappés sur les répertoires sur le système hôte, les noms de style DOS doivent être mappés sur les noms de fichiers en suivant les normes (généralement beaucoup moins restrictive) du système hôte.  Pour autoriser l'accès à des fichiers dont le nom sur le système hôte ne sont pas conformes aux normes DOS, les procédures d'appariement suivantes sont respectées.
 OUVERT, KILL, NOM, CHDIR, MKDIR, RMDIR
       PC-BASIC va d'abord chercher un fichier avec le nom exactement comme prévu.  Cela peut être un nom long et sera sensible cas si votre système de fichiers est.  Si un tel fichier est introuvable, il tronque le nom fourni au format 8.3 et convertir en majuscules.  Si ce nom exact ne se trouve pas, il va chercher 8.3 noms dans le cas mixte qui correspondent au nom fourni de manière insensible à la casse.  Ces fichiers sont recherchés dans l'ordre lexicographique.  Fichiers noms plus que 8.3 ne seront pas jumelés, à moins que leur nom est entré exactement.  Sous Windows, le nom correspondant peut être un nom de fichier court ainsi qu'un nom de fichier long à condition qu'il soit de 8,3 longueur - il peut, par exemple, contient des espaces et donc ne pas être un nom valide de Windows de fichier court. 
   LOAD, SAVE, BLOAD, BSAVE, CHAIN, merge, RUN, LIST
       On n'a pas tenté de trouver une correspondance exacte.  Au lieu de cela, la recherche va d'abord faire correspondre les tous-caps version 8.3 du nom et de continuer dans l'ordre lexicographique comme ci-dessus.  Si aucune extension est spécifiée, les .BAS d'extension seront ajoutés implicitement.  Pour charger un programme sans extension, fin du nom de fichier dans un point.  Sur les systèmes de fichiers sans noms de fichiers courts, il est impossible de charger un programme si son nom est plus long que 8.3, contient des caractères non-autorisés ou se termine par un point. 
 Si aucun fichier correspondant est trouvé pour un nom de fichier de sortie, un nouveau fichier sera créé avec un tout en majuscules 8.3 nom de fichier.

Cassette dispositif CAS1:

 paramètres peuvent être un nom de fichier de huit caractères maximum.  les noms de fichiers de cassette sont sensibles à la casse, ont aucun chemin ou d'extension, peut être vide et ne pas besoin d'être unique.  Ils peuvent contenir des caractères dans la gamme & h20- & hFF.  Sur le dispositif de cassette, lorsqu'il est appelé en mode direct, OUVERT, CHAIN, merge, LOAD et BLOAD imprime un message à la console pour chaque fichier trouvé lors de l'enroulement de la bande.  Le message se compose du nom du fichier suivi d'un point et le type de fichier et conclu avec un message d'état.  Le type de fichier est l'un des éléments suivants:
 UNE
       Fichier de programme en format texte
   B
       Fichier de programme au format tokenised
   ré
       Fichier de données
   M
       image mémoire BSAVE
   P
       Fichier de programme en format protégé
 Si le fichier ne correspond pas à la spécification de fichier et le type de fichier requis, le statut est arrêté;  si le fichier correspond, l'état est trouvé.  Lorsqu'il est appelé à partir d'un programme, ces déclarations n'impriment des messages à la console.  Si le dispositif a été explicitement spécifié, les paramètres peuvent également être vide.  Dans ce cas, le premier fichier du type approprié est ouvert. 

dispositifs de console et parallèles SCRN :, Kybd :, et LPTn:

 Ces dispositifs ne permettent pas d'autres paramètres de l'appareil. 

Les périphériques série COMn:

 Lors de l'ouverture d'un port COM, le file_spec a la forme
   "COMn: [vitesse [, la parité [, données [, arrêtez [RS] [, CS [n]] [, DS [n]] [, CD [n]] [, LF] [, PE]]]] ] "
   Les quatre premiers paramètres après le côlon de l'appareil doivent être donnés dans l'ordre spécifié mais les paramètres nommés peuvent être donnés dans un ordre quelconque.  La signification des paramètres est:
   Paramètre Valeur par défaut Signification
   vitesse 300 bauds (bps) Taux pour la connexion.  la vitesse est l'un [75, 110, 150, 300, 600, 1200, 1800, 2400, 4800, 9600].
   parité E convention de bit de parité.  la parité est l'une des [S, M, O, E, N].
   parité Signification Effet
   S bit SPACE de parité toujours réglé sur 0.
   M MARK bit de parité toujours réglé sur 1.
   O bit de parité impaire réglé de telle sorte que la parité de caractères est impair.
   E bit de parité pair réglé de telle sorte que la parité de caractère est encore.
   N NONE Pas de bit de parité transmis ou reçu.
   données 7 bits de données par octet.  les données doivent être l'un de [4, 5, 6, 7, 8].  Un octet est constitué de bits de données ainsi que le bit de parité, le cas échéant.  la taille de l'octet doit être dans l'intervalle [5-8]: si les données sont 4, la parité ne doit pas être N;  si les données sont 8, la parité doit être N.
   stop 1 Le nombre de bits d'arrêt.  arrêt doit être 1 ou 2. Par défaut est 2 si la vitesse est de 75 ou 110;  1 sinon.
   RS ne Suppress demande d'envoi.
   CS [n] CS1000 Set Clear To Send timeout n millisecondes.  Si n est 0 ou non donné, désactiver l'enregistrement CTS.  Par défaut est CS0 si RS est réglé;  CS1000 autrement.
   DS [n] DS1000 Data Set Ready Set timeout n millisecondes.  Si n est 0 ou non donné, désactiver l'enregistrement DSR.
   CD [n] CD0 Set Carrier Detect timeout n millisecondes.  Si n est 0 ou non donné, désactiver l'enregistrement de CD.
   LF pas Envoyer un saut de ligne après chaque retour chariot.
   PE n'Activer contrôle de parité (Ce paramètre est ignoré par PC-BASIC).

Remarques

 Si un port COM est ouvert pour RANDOM, l'accès est octet par octet plutôt que par des enregistrements sur le terrain;  PRINT # et INPUT # accès au port directement.  rec_len définit le nombre d'octets lus par les déclarations GET et PUT.
   Pour l'entrée, la sortie et les modes APPEND, LEN peut être spécifié, mais est ignoré.
   Si I / O est tenté de contrevenir à la FOR mode spécifié, l'instruction PRINT ou INPUT soulèvera le mode de fichier incorrect.
   Si RANDOM I / O est tenté de contrevenir à la mode d'accès spécifié, la PUT ou GET déclaration soulèvera erreur d'accès Chemin / Fichier.
   Le # est facultative et n'a aucun effet.

les erreurs

 file_spec est vide ou un dispositif non-existant: Numéro de fichier incorrect.
   POUR APPEND ACCESS WRITE est spécifié: Erreur d'accès Chemin / Fichier.
   Et l'accès non-concordance d'autres manières: Erreur de syntaxe.
   Les COM: paramètres file_spec ne suivent pas la spécification: nom de fichier incorrect.
   Le CAS1: file_spec contient des caractères non autorisés: Numéro de fichier incorrect.
   Un fichier est déjà ouvert pour OUTPUT ou APPEND: Fichier déjà ouvert.  Ceci est soulevé seulement pour COMn :, ACESI: et les unités de disque.
   rec_len ou file_num ont des valeurs de chaîne: Type mismatch.
   file_spec ou mode_char ont des valeurs numériques: incompatibilité de type.
   file_num est pas dans [-32.768 à 32.767]: Overflow.
   file_num est pas dans [0-255]: Illegal appel de fonction.
   file_num est pas dans [1-MAX_FILES]: Numéro de fichier incorrect.
   rec_len est pas dans [-32.768 à 32.767]: Overflow.
   rec_len est pas dans [1-128]: Illegal appel de fonction.
   mode_char est vide ou le premier caractère est pas dans [ "I", "O", "A", "R"]: le mode de fichier incorrect.

OPTION BASE OPTION BASE n

Définit l'indice de départ de tous les tableaux à n. Paramètres

 n est un chiffre littérale 0 ou 1. Les expressions ne sont pas autorisés.

Remarques

 Si OPTION BASE n'a pas été appelé, les premiers défauts de répartition de tableau à partir index 0.

les erreurs

 n est pas un chiffre 0 ou 1: Erreur de syntaxe.
   OPTION BASE 1 est appelé, mais un tableau a déjà été allouée avant: définition en double.
   OPTION BASE est appelé plus d'une fois avec différents index de départ: Dupliquer définition.

OUT OUT port, la valeur

Envoie un octet à un port de la machine émulé.

Les ports de machine suivants sont émulés dans PC-BASIC: port Effect & H201 réinitialise le port de jeu (port joystick) et h3C5 définit le bitmask d'écriture pour ECRAN 7, 8, 9 plans de couleur. bitmask = 2 ^ valeur. & H3CF définit le plan de couleur de lecture à la valeur. & H3D8 si la valeur = & H1A, activez colorburst composite. si la valeur = & H1E, désactivez colorburst composite. Requiert video = {cga, tandy, PCjr}. Remarques

 Seul un nombre limité de ports de la machine sont émulés.
   Dans GW-BASIC sous MS-DOS, la séquence nécessaire pour définir le masque de plan de couleur est:
   OUT & H3C4, 2
   OUT & h3C5, 2 ^ plan
   La séquence nécessaire pour définir le plan de couleur est:
   OUT & h3CE, 4
   OUT & h3CF, avion
   Les déclarations initiales OUT ont actuellement aucun effet dans PC-BASIC.

Paramètres

 port est une expression numérique dans [-32768 à 65535].
   La valeur est une expression numérique dans [0-255].

les erreurs

 le port ou la valeur a une valeur de chaîne: Type mismatch.
   port est pas dans [-32768 à 65535]: Overflow.
   valeur est pas dans [-32768 à 32767]: Overflow.
   valeur est pas dans [0-255]: Illegal appel de fonction.

PAINT PAINT [STEP] (x, y) [, attrib [, frontière [, fond]]]

Flood-remplit l'écran avec une couleur ou un motif, à partir du point de semences donné. Paramètres

   x, y sont des expressions numériques dans l'intervalle [-32768 à 32767] Si STEP est spécifié, xy sont des décalages de la position actuelle.  Si le point de semences est en dehors de la zone d'écran visible, pas de remplissage d'inondation est effectuée.  attrib est une expression qui spécifie l'attribut de remplissage ou d'un motif.  Si non spécifié, l'attribut de premier plan en cours est utilisé.  Si attrib a une valeur numérique, il doit être dans [0-255];  il spécifie l'attribut de couleur utilisée pour remplir.  Si attrib a une valeur de chaîne, il spécifie un motif de carreaux (voir ci-dessous).  la frontière est une expression numérique dans [0-255].  Elle spécifie l'attribut de la limite de remplissage (voir ci-dessous).  arrière-plan est une expression de chaîne qui représente un motif de carreaux de fond à ignorer lors de la détermination des limites (voir ci-dessous). 

motifs de carreaux

Un motif de tuile peut être spécifié par une chaîne de 255 caractères. L'interprétation de la chaîne dépend du nombre de bits par pixel et sur le mode d'écran actuel.

1 bit par pixel (par exemple ECRAN 2)

 Voici un exemple:
   valeur 76543210 Byte
   * ....... & H80
   . * ...... & H40
   .. * ..... & H20
   ... * .... & H10
   .... * ... Et H08
   ..... * .. & H04
   ...... *.  & H02
   Ce modèle de bande diagonale peut donc être produit avec
   PEINTURE (0, 0), CHR $ (128) + CHR $ (64) + CHR $ (32) + CHR $ (16) + CHR $ (8) + CHR $ (4) + CHR $ (2)

Ecran 7, 8, 9

 Le motif de tuile est toujours de 8 pixels de large.  Le premier caractère de la chaîne de configuration contient le deuxième caractère du premier bit de chacun des 8 pixels, contient les seconds bits, etc. Par exemple, dans un mode de 2 bits par pixel, les quatre attributs de couleur peuvent être utilisés dans la modèle.  Pour créer un motif de rayure diagonale de la même forme, dans l'attribut & h03, nous avons maintenant besoin d'une chaîne de tuile qui est deux fois plus long:
   Attribut bit valeur 76543210 Byte
   0 * ....... & h80
   1 * ....... & h80
   0. * ...... & H40
   1. * ...... & H40
   0 .. * ..... & h20
   1 .. * ..... & h20
   0 ... * .... & h10
   1 ... * .... & h10
   0 .... * ... et H08
   1 .... * ... et H08
   0 ..... * .. & h04
   1 ..... * .. & h04
   0 ...... *.  & H02
   1 ......*.  & H02
   Si la chaîne de motif est tronqué avant que tous les bits de la dernière ligne ont été définis, les bits restants seront nuls. 

ÉCRAN 1, 3, 4, 5, 6

 Chaque ligne du motif de carreaux représente une ligne d'écran.  Les couleurs sont codées en bits consécutifs;  les plus de bits par pixel, plus la tendance est.  Pour 2 bits par pixel, le motif est de 4 pixels de large;  4 bits par pixel, il est de 2 pixels de large.  La chaîne de modèle suivant code une bande diagonale en pointillés en deux couleurs:
   3210 valeur 76543210 Byte
   2000 * ....... & h80
   1000. * ...... & H40
   0200 .. * ..... & h20
   0100 ... * .... & h10
   0020 .... * ... et H08
   0010 ..... * .. & h04
   0002 ...... *.  & H02

Le motif de carreaux est ancré à l'écran; Imaginez une grille à partir de (0,0) et couvrant l'écran. Chaque fois qu'une zone est remplie de tuiles, les carreaux sont mis dans cette grille. De cette façon, les zones adjacentes auront carrelage continu, même si elles étaient remplies de différents points de semences. Limites

Un remplissage d'inondation solide arrête à des pixels qui ont le même attribut que le remplissage ou qui ont l'attribut border spécifié, si spécifié. Un remplissage de carrelage d'inondation arrête à l'attribut border spécifié; si aucun attribut border est spécifié, il arrête à l'attribut de premier plan en cours. Un remplissage de carrelage d'inondation empêche également à des intervalles de lignes de balayage qui sont les mêmes que le motif de carrelage pour cette ligne, à moins d'un motif d'arrière-plan est spécifiée, et l'intervalle est aussi égale le motif de fond pour cette ligne. les erreurs

 Dans ÉCRAN 7, 8, 9, si le fond est égale à attrib jusqu'à la longueur du attrib: Illegal appel de fonction.
   arrière-plan a une valeur numérique: Illegal appel de fonction.
   frontière, x ou y ont une valeur de chaîne: Type mismatch.
   frontière, x ou y ne sont pas dans [-32.768 à 32.767]: Overflow.
   la frontière est pas dans [0-255]: Illegal appel de fonction.
   attrib est numérique et non pas dans [-32768 à 32767]: Overflow.
   attrib est numérique et non pas dans [0-255]: Illegal appel de fonction.

PALETTE PALETTE [attrib, color]

Affecte une couleur à un attribut. Tous les pixels avec cet attribut changeront de couleur immédiatement. Si aucun paramètres sont spécifiés, PALETTE réinitialise au réglage initial. Paramètres

 attrib est une expression numérique entre 0 et la taille de la palette actuelle, moins un.
   la couleur est une expression numérique entre -1 et le nombre maximum de couleurs pour le mode d'écran actuel, moins un.  Si la couleur est égal à -1, la palette reste inchangée.

les erreurs

 attrib ou de couleur a une valeur de chaîne: Type mismatch.
   attrib ou de couleur ne sont pas dans [-32768 à 32767]: Overflow
   attrib ou de couleur ne sont pas dans la plage: Illegal appel de fonction

PALETTE UTILISATION PALETTE UTILISATION int_array_name {(| [} {start_index) |]}

Affecte de nouvelles couleurs à tous les attributs. Paramètres

 int_array_name est un tableau de nombres entiers (%) qui fournira les nouvelles valeurs pour la palette.
   start_index est une expression numérique qui indique à quel index dans le tableau pour commencer la cartographie à la palette.

Si une entrée de gamme a une valeur -1, l'attribut correspondant est laissé inchangé. les erreurs

 int_array_name n'a pas été affectée: Illegal appel de fonction.  Le tableau ne sera pas automatiquement attribué.
   int_array_name est pas un entier tableau: Incompatibilité de type.
   int_array_name est trop court: Illegal appel de fonction.
   start_index a une valeur de chaîne: Type mismatch.
   start_index est pas dans [-32.768 à 32.767]: Overflow
   start_index est dimensions du tableau à l'extérieur: Indice hors de portée

PCOPY PCOPY src, dst

Copie la page d'écran src dst. Tous les textes et graphiques sur dst est remplacé par ceux de src. Paramètres

 src et dst sont des expressions numériques entre 0 et le numéro du mode vidéo actuel de pages, moins un.

les erreurs

 src ou dst a une valeur de chaîne: Type mismatch.
   src ou dst est pas dans [-32.768 à 32.767]: Overflow.
   src ou dst est hors de portée: Illegal appel de fonction.

PEN (déclaration) PEN {ON | OFF | STOP}

Contrôles événement piégeage et l'accès en lecture de la plume de lumière (émulé par la souris dans PC-BASIC). PEN ON commute la lecture de stylo et de piégeage sur. PEN OFF l'éteint. PEN arrêt suspend événement PEN piégeant jusqu'à PEN ON est exécutée. Jusqu'à un événement peut être déclenché pendant la suspension, à condition que la gestion des événements a été activée avant la suspension. L'événement déclenché pendant la suspension est traitée immédiatement après l'instruction suivante PEN ON. PLAY (commutateur d'événement) PLAY {ON | OFF | STOP}

 ON: permet ON événement PLAY piégeage de la file d'attente de la musique.
   OFF: désactive le piégeage.
   STOP: arrête le piégeage jusqu'à JOUER ON est utilisé.  Les événements qui se produisent pendant le piégeage est arrêté déclenchera immédiatement lorsque le piégeage est réactivé.

PLAY (déclaration de la musique) PLAY [mml_string_0] [, [mml_string_1] [, mml_string_2]]

Joue la mélodie définie par les chaînes de musique Langue Macro mml_string_0, ....

Sauf si la syntaxe = {tandy | PCjr} est définie, seule la syntaxe simple vocale est disponible. Les trois chaînes MML distinctes correspondent aux trois voix de la carte son PCjr / Tandy. Les notes de ces cordes sont jouées de manière synchrone. Paramètres

 mml_string_0, mml_string_1, mml_string_2 sont des expressions de chaîne dans MML.
   Au moins un paramètre doit être fourni et la déclaration ne doit pas se terminer par une virgule.

Musique macro notes de référence du langage et Pauses Effet Commande {A | B | C | D | E | F | G} [# | + | -] [m] Jouez une note. + Ou # indique forte. - Indique plat. m est un littéral numérique et indique la durée d'une note d'mth. m est dans la gamme [0-64]. Si m = 0 ou omis, utilisez la longueur par défaut. Nn Jouer la note n, dans la gamme [0-84] (7 octaves). n = 0 signifie repos. Sur Réglez l'octave en cours à n, dans l'intervalle [0-6]. Par défaut est 4.> Augmenter l'octave courant de 1, avec un maximum de 6. <Diminution de l'octave courant de 1, avec un minimum de 0. Pn Pause pour la durée d'une note nième. n est dans la gamme [0-64]. Si n = 0, cela n'a aucun effet. Timing commandes Commande Effet. Augmenter la durée de la note précédente de 1/2 fois la durée normale. Les périodes peuvent être répétées pour augmenter la durée plus loin. Ln Régler la durée de la note suivante à une note nième. (N = 4 est un quart de note, etc.) n est dans la gamme [1-64]. MN normal: 7/8 de la durée est saine, avec 1/8 silence. Mode par défaut. ML Legato: toute la durée est saine. MS Staccato: 3/4 de la durée est solide, avec 1/4 silence. Tn Définit le tempo n L4s par minute. n est dans la gamme [32-255]. Par défaut est 120. commandes Contexte mode

Ces commandes affectent SOUND, PLAY et BEEP Commande Effet MB Active le mode d'arrière-plan; son commandes sortie sans attendre la musique pour terminer. La musique continue à jouer alors que d'autres commandes sont exécutées. Il peut y avoir jusqu'à 16 notes dans la file d'attente de musique de fond; si plusieurs notes sont jouées, PLAY bloquera jusqu'à ce que il y a seulement 16 gauche. MF Met le mode d'arrière-plan; commandes sonores bloquent. Mode par défaut. commande Subroutine Commande Effet Xs Execute substring. s est l'un des éléments suivants:

 un nom variable de chaîne suivie par un;
   le résultat de VARPTR $ () sur une variable de chaîne

Contrôle du volume

Contrôle du volume est disponible sur la syntaxe = {tandy | PCjr} uniquement: Commande Effet Vn Réglez le volume à n, dans la gamme [0-15]. Sur la syntaxe = PCjr, si SOUND ON n'a pas été exécutée, cela n'a aucun effet. Sur la syntaxe = tandy ne possède. Paramètres MML

Les variables numériques n dans les commandes ci-dessus peuvent être:

 un littéral entier, par exemple PLAY "L4G"
   une variable numérique nom ou élément de tableau var précédé de = et suivie;.  Par exemple, PLAY "L = VAR; G" ou PLAY "L = A (1); G"
   le résultat de VARPTR $ (var) précédé de =.  Par exemple, PLAY "L =" + VARPTR $ (VAR) + "G"

Notez que le numéro seulement littéraux peuvent suivre les notes et les variables nommées déréférencement ou tableaux ne sont pas autorisés là. Il est une erreur d'écrire PLAY "G = VAR;" ou PLAY "G =" + VARPTR $ (VAR). Utilisez PLAY "G4" ou PLAY "L = VAR; G" ou PLAY "L =" + VARPTR $ (VAR) + "G" à la place. les erreurs

 mml_string a une valeur numérique: incompatibilité de type.
   mml_string a des erreurs dans le MML: Illegal appel de fonction.
   Une variable dans une chaîne MML est de type incorrect: incompatibilité de type.
   Aucune chaîne de MML est spécifié: opérande manquant.
   Sur PCjr, si SOUND ON n'a pas été exécuté, en utilisant la syntaxe à trois voix soulèvera une erreur de syntaxe.  Ce n'est pas le cas sur Tandy.

POKE POKE adresse, valeur

Définit la valeur de l'octet de mémoire au niveau du segment * 16 + adresse à la valeur, où le segment est le segment courant réglé avec DEF SEG. Paramètres

 adresse est une expression numérique dans [-32768-65535].  Les valeurs négatives sont interprétées comme complément à leurs deux.
   La valeur est une expression numérique dans [0-255].

Remarques

 La mémoire est que partiellement émulée dans PC-BASIC.  Voir modèle de mémoire pour les adresses prises en charge.  En dehors des zones émulés de mémoire, cette déclaration n'a aucun effet.

les erreurs

 adresse ou valeur a une valeur de chaîne: Type mismatch.
   adresse se trouve pas dans [-32768 à 65535]: Overflow.
   valeur est pas dans [-32768 à 32767]: Overflow.
   valeur est pas dans [0-255]: Illegal appel de fonction.

PSET et PRESET {PSET | PRESET} [STEP] (x, y) [, attrib]

Modifiez l'attribut d'un pixel sur l'écran à la position (x, y). Si l'étape est spécifiée, (x, y) est décalée par rapport à la position actuelle.

Si attrib est entre 0 et la taille de la palette du mode d'écran, le pixel est modifié pour attribuer attrib. Si attrib est plus grande que la taille de la palette, l'attribut du pixel est modifiée à la valeur la plus élevée de l'attribut juridique. Si attrib est pas spécifié, PSET modifie l'attribut à l'attribut de premier plan en cours tandis que PRESET il change à zéro. Paramètres

 x, y sont des expressions numériques dans [-32768 à 32767].
   attrib est une expression numérique dans [0-255].

les erreurs

 x ou y a une valeur de chaîne: Type mismatch.
   attrib, x ou y ou les coordonnées physiques qu'ils traduisent ne sont pas dans [-32768-32767]: Overflow.
   attrib est pas dans [0-255]: Illegal appel de fonction.

PRINT et LPRINT {LPRINT | {PRINT |} [# file_num,]?} [Expr_0 |; |, | SPC (n) | TAB (n)] ... [en utilisant le format; uexpr_0 [{; |,} uexpr_1] ... [; |]]

Ecrit expressions à l'écran, une imprimante ou un fichier. Si LPRINT est utilisé, la sortie va vers LPT1 :. Si file_num est spécifié, la sortie va vers le fichier ouvert sous ce numéro. ? est un raccourci pour PRINT.

Lors de l'écriture d'une expression de chaîne à l'écran, les caractères de contrôle suivants ont une signification spéciale. D'autres personnages sont présentés comme leur glyphe correspondant dans le codepage actuel. caractère point de contrôle de code Effet & h07 BEL Beep le haut-parleur. & H08 BS Effacer le caractère dans la colonne précédente et déplacer le curseur. & H09 HT Aller à la prochaine étape de l'onglet 8 cellules. & H0A LF Aller à la colonne de gauche dans la rangée suivante; connecter les lignes à une ligne logique. & H0B VT Déplacez le curseur sur la partie supérieure gauche de l'écran. & H0C FF Effacer l'écran. & H0D CR Aller à la colonne de gauche dans la rangée suivante. & H1C FS Déplacer le curseur d'une colonne à droite. & H1d GS Déplacer le curseur d'une colonne vers la gauche. & H1E RS Déplacer le curseur d'une ligne vers le haut. & H1F US déplacer le curseur d'une ligne vers le bas.

Les expressions peuvent être éventuellement séparés par un ou plusieurs des mots-clés suivants: Mot-clé Effet

Attaches deux expressions serrées ensemble; chaînes seront imprimées sans espace entre les deux, les numéros auront un espace qui les sépare, en plus de l'espace ou signe moins qui indiquent le signe du nombre.

, L'expression sera après être positionné à la prochaine zone disponible. Le fichier de sortie est divisé en zones de 14 caractères; si la largeur du fichier est pas un multiple de 14, les espaces restants sont inutilisés et la première zone de la ligne suivante est utilisée à la place. Si le fichier a une largeur de moins de 14 caractères, les zones sont déterminées comme si le fichier a été enveloppait en continu. SPC (n) Produit n espaces, où n est une expression numérique. si n est inférieur à zéro, il est par défaut à zéro. Si n est supérieure à la largeur de fichier, il est pris modulo la largeur du fichier. TAB (n) Déplace à la colonne n, où n est une expression numérique. si n est inférieur à zéro, il est par défaut à zéro. Si n est supérieure à la largeur de fichier, il est pris modulo la largeur du fichier. Si la colonne courante est supérieure à n, TAB se déplace à la colonne n de la ligne suivante.

Si l'instruction d'impression ne se termine pas dans l'une de ces quatre jetons de séparation, une nouvelle ligne est imprimée après la dernière expression. Les expressions de chaîne peuvent être séparés par un ou plusieurs espaces, ce qui a le même effet que la séparation par des points-virgules. Format syntaxe de chaîne

Une déclaration UTILISATION se produit à la fin d'un [L] PRINT [#] déclaration et écrit une chaîne formatée à l'écran, une imprimante ou un fichier. Les tableaux suivants présentent les jetons de format qui peuvent être utilisés dans la chaîne de format. _ Caractère d'échappement; provoque le caractère suivant dans la chaîne de format pour être imprimé tel quel plutôt que interprété comme un signe de format.

Pour les expressions de chaîne: Imprime le premier caractère d'une chaîne. \\ Prints 2 ou plusieurs caractères d'une chaîne. Un plus grand nombre de caractères est sélectionné en séparant le \ s par des espaces. & Imprime la chaîne entière.

Pour les expressions numériques, la chaîne de format spécifie une largeur et d'alignement.

   Indiquez une position pour un chiffre. 

. Indiquez le point décimal. , Avant la virgule: la cause chiffres à être groupés par trois séparés par des virgules. Après la virgule, il est pas un jeton. Fournit une position de chiffres.

Le nombre de caractères dans le champ ne doit pas dépasser 24.

Tokens précédant le champ de numéro: + Parce que le signe à imprimer pour les nombres positifs et négatifs. Le signe doit être imprimé à la gauche du numéro.

       Causer des espaces menant à être remplacés par des * s. Fournit deux positions de chiffres. 

$$ Cause a $ à imprimer à la gauche du numéro. Fournit une position de chiffres.

Tokens suivi le champ du numéro: + Parce que le signe à imprimer pour les nombres positifs et négatifs. Le signe sera imprimé à la droite du numéro. - Parce que le signe pour les nombres négatifs à imprimer à la droite du numéro. Notez que - précédant le champ est un jeton, mais imprimé littéralement. ^^^^ Spécifiez que la notation scientifique E + 00 doit être utilisé.

Les expressions numériques sont toujours entièrement imprimées, même si elles ne rentrent pas dans les positions indiquées. Si le nombre ne tient pas dans l'espace alloué, un% est imprimé qui le précède.

 S'il y a plus d'expressions que les champs de format, la chaîne de format est enroulé autour.
   Les expressions peuvent être séparés par des virgules ou des virgules;  l'effet est le même.
   Si la déclaration UTILISATION se termine par une virgule ou point-virgule, aucune nouvelle ligne est imprimé à la fin.
   Après une déclaration UTILISATION, d'autres éléments de la syntaxe PRINT telles que la CPS (et TAB (ne peuvent pas être utilisés.

Paramètres

 expr_0, expr_1, ... sont des expressions de tout type.
   format est une expression de chaîne qui spécifie le format de sortie.
   uexpr_0, uexpr_1, ... sont des expressions correspondant à un jeton dans la chaîne de format.

Remarques

 Si une erreur est déclenchée, la sortie avant que l'erreur a été rencontrée est imprimé comme normal.

les erreurs

 n a une valeur de chaîne: Type mismatch.
   n est pas dans [-32768 à 65535]: Overflow.
   La chaîne de format ne contient pas de jetons: Illegal appel de fonction.
   Une expression ne correspond pas au type de jeton de format correspondant: incompatibilité de type.
   Un champ de numéro dans la chaîne de format dépasse 24 caractères: Illegal appel de fonction.
   Un champ de numéro dans la chaîne de format ne contient pas de caractères #: Illegal appel de fonction.

PUT (fichiers) PUT [#] file_number [, record_number]

Ecrit un enregistrement dans le fichier file_number à accès aléatoire à la position record_number. Paramètres

 file_number est une expression numérique qui donne le nombre d'un fichier à accès aléatoire ouvert.  Le # est facultative et n'a aucun effet.
   record_number est une expression numérique dans [1-33554432] (2 ^ 25) et est interprété comme le numéro d'enregistrement.

Remarques

 Le numéro d'enregistrement est stocké sous forme de simple précision;  cette précision est pas assez élevé pour distinguer des enregistrements uniques à proximité de la valeur maximale de 2 ^ 25.

les erreurs

 record_number est pas dans [1-33554432]: Numéro d'enregistrement Bad.
   file_number est pas dans [0-255]: Illegal appel de fonction.
   file_number est pas le nombre d'un fichier ouvert: Numéro de fichier incorrect.
   file_number est ouvert sous un autre mode que RANDOM: Mode de fichier incorrect.
   file_number est pas spécifié: opérande manquant.

PUT (communications) PUT [#] com_file_number [, nombre_octets]

Ecrit nombre_octets octets dans la mémoire tampon de communication ouvert sous le numéro de fichier com_file_number. nombre_octets est une expression numérique entre 1 et la longueur du tampon de COM, inclus. Remarques

 Dans GW-BASIC, Dispositif d'erreur d'E / S est élevé pour erreur de dépassement, le cadrage d'erreur, et de briser interruption.  Erreur appareil est déclenchée si DSR est perdue au cours d'E / S.  Une erreur de parité est déclenchée si la parité est activé et la parité incorrecte est rencontrée.  Ceci est indiqué dans le manuel;  il n'a pas été testé.

les erreurs

 octets est inférieur à 1: Numéro d'enregistrement Bad.
   octets est inférieur à 32768 et supérieure à la longueur de la mémoire tampon de COM: Illegal appel de fonction.
   com_file_number est pas spécifié: opérande manquant.
   com_file_number est pas dans [0-255]: Illegal appel de fonction.
   com_file_number est pas le nombre d'un fichier ouvert: Numéro de fichier incorrect.
   Le tampon d'entrée série est complète, à savoir LOF (com_file_number) = 0 et LOC (com_file_number) = 255: débordement de mémoire tampon de communication.

PUT (graphiques) PUT (x0, y0), Nom_groupe [, {PSET | PRESET | ET | OU | XOR}]

Affiche un tableau à une zone rectangulaire de l'écran graphique. Habituellement, PUT est utilisé avec des tableaux qui ont été stockés en utilisant GET. Voir GET pour le format du tableau.

Les mots-clés ont l'effet suivant: PSET Ecraser l'emplacement de l'écran avec la nouvelle image PRESET Ecraser l'emplacement de l'écran avec l'image inverse et combine les anciens et les nouveaux attributs avec bitwise ET OU Combine les anciens et les nouveaux attributs avec un OU binaire XOR Combine l'ancien et nouveaux attributs avec des paramètres au niveau du bit XOR

 array_name est un tableau numérique.
   x0, y0 sont des expressions numériques.

les erreurs

 Le tableau n'existe pas: Illegal appel de fonction.
   array_name fait référence à un tableau de chaînes: Incompatibilité de type.
   x0, y0 sont les expressions de chaîne: Type mismatch.
   x0, y0 ne sont pas dans [-32768 à 32767]: Overflow.
   x0, y0 est en dehors de la vue actuelle ou WINDOW: Illegal appel de fonction

HASARD HASARD [expr]

Semences du générateur de nombres aléatoires avec expr. Si aucune graine est spécifié, RANDOMIZE demandera à l'utilisateur d'entrer une graine aléatoire. La valeur fournie par l'utilisateur est arrondi à un nombre entier. La graine aléatoire est formé des deux derniers octets de cet entier ou expr. Si expr est un flotteur (4 ou 8 octets), ceux-ci sont XORés avec le 2. précédent Les 4 premiers octets d'une double sont ignorées. La même graine aléatoire va conduire à la même séquence de nombres pseudo-aléatoires étant généré par la fonction RND. Paramètres

 expr est une expression numérique.

Remarques

 Pour la même semence, PC-BASIC produit les mêmes nombres pseudo-aléatoires que GW-BASIC 3.23.
   Le générateur de nombres aléatoires est très pauvre et ne doit pas être utilisé à des fins graves.  Voir ROND pour plus de détails.

les erreurs

 expr a une valeur de chaîne: Illegal appel de fonction.
   L'utilisateur fournit une graine à l'extérieur [-32.768 à 32.767] à l'invite: Overflow.

LIRE LIRE var_0 [, var_1] ...

Affecte les données d'une instruction de données variables. La lecture commence à la position de données en cours, qui est l'entrée immédiatement après la dernière lecture par les déclarations READ précédents DATA. La position DATA est réinitialisé au début par le RUN et RESTORE déclarations. Paramètres

 var_0, var_1 sont variables ou éléments du tableau.

les erreurs

 Pas assez de données est présent dans les états DATA: Out of DATA.
   Le type de la variable est pas compatible avec celle de l'entrée de données en cours de lecture: une erreur de syntaxe se produit sur la ligne DATA.

REM {REM | '} [quelque chose]

Ignore tout jusqu'à la fin de la ligne. L'instruction REM est destiné aux commentaires. Tout ce qui suit REM sera stocké dans le programme inchangé et non interprété. '(Apostrophe) est un alias pour: REM'; il peut être placé à tout moment dans la ligne de programme et veillera à ce que le reste de la ligne est ignoré.

Notez que deux points: ne termine pas l'instruction REM; le côlon et tout après seront considérés comme faisant partie du commentaire. RENUM RENUM [nouvelle |.] .] [, Incrément

Remplace les numéros de ligne dans le programme par une énumération systématique à partir de nouvelles et de plus en plus par incrément. Si vieux est spécifié, le nombre de moins de ligne restent inchangés. nouveau, vieux sont les numéros de ligne; le point . signifie la dernière ligne modifiée. incrément est un numéro de ligne, mais ne doit pas être un point ou zéro. Remarques

 Les mots-clés suivants peuvent référencer les numéros de ligne, qui sera renuméroté par RENUM: AUTO, EDIT, AUTRE, ERL, DELETE, GOSUB, GOTO, LIST, LLIST, RENUM, RESTORE, REPRENDRE, RETURN, RUN, ALORS.
   Un mot-clé contient les numéros de ligne dans un autre programme, qui ne sera pas renuméroté: CHAINE.  Toutefois, un numéro de ligne dans une instruction RUN qui ouvre un nouveau fichier sera renuméroté, et de manière incorrecte.  En outre, les déclarations de RENUM ou AUTO dans un programme auront tous leurs arguments 'renumérotés', y compris les décalages de numéro de ligne ou incréments.  Cependant idiot, cela concorde avec le comportement de GW-BASIC.
   Un numéro de ligne zéro suite à la GOTO mots-clés d'erreur ne sera pas renumérotés.
   Si un numéro de ligne référencé n'existe pas dans le programme, la déclaration affiche un message (pas d'erreur) Undefined ligne ref dans old_line où old_line est le numéro de la ligne avant renumérotation.  Le numéro de ligne référencé sera laissé inchangé, mais le vieux numéro de ligne de la ligne sera renuméroté.

les erreurs

 Tous les paramètres ne figure pas dans [0-65529]: Erreur de syntaxe.
   Tous les numéros de ligne nouvellement générées est supérieure à 65529: Illegal appel de fonction.  Les numéros de ligne jusqu'à l'erreur n'a pas été modifié.
   incrément est vide ou nul: Illegal appel de fonction.
   ancienne est spécifiée et nouvelle est inférieure ou égale à un nombre de ligne existante de moins de: Illegal appel de fonction.

RAZ RAZ

Ferme tous les fichiers ouverts. Remarques

 Officiel documentation GW-BASIC et de nombreuses autres sources indiquent que RAZ ferme tous les fichiers sur les unités de disque.  Cependant, en réalité GW-BASIC 3,23 ferme également les fichiers sur bande et tout autre appareil, ce qui rend cette déclaration identique à FERMEZ sans arguments.  PC-BASIC suit ce comportement.

RESTORE RESTORE [en ligne]

Remet le pointeur DATA. ligne est un numéro de ligne. Si la ligne est pas spécifié, le pointeur de données est remise à la première entrée de données dans le programme. Si elle est spécifiée, le pointeur de données est remise à la première entrée de données dans ou après la ligne. les erreurs

 la ligne est pas un numéro de ligne existante: numéro de ligne défini.

REPRENDRE REPRENDRE [0 | SUIVANT | ligne]

Poursuit l'exécution normale après une routine de traitement des erreurs. Si 0 ou aucune option est spécifiée, re-exécute l'instruction qui a provoqué l'erreur. Si NEXT est spécifié, exécute l'instruction qui suit celle qui a causé l'erreur. Si la ligne est spécifié, il doit être un numéro de ligne valide. les erreurs

 REPRENDRE est rencontré en dehors d'une erreur de piégeage de routine: REPRENDRE sans erreur.
   Le programme se termine à l'intérieur d'un piégeage de routine d'erreur sans instruction REPRENDRE ou END: Non REPRENDRE.
   la ligne est pas un numéro de ligne existante: numéro de ligne défini.

RETURN RETURN [en ligne]

Retours à partir d'un sous-programme GOSUB. Si la ligne est pas spécifié, RETURN revient à la déclaration après la GOSUB qui a sauté dans le sous-programme. Si la ligne est spécifié, il doit être un numéro de ligne valide. RETURN saute à cette ligne (et saute la pile GOSUB). Lors du retour à partir d'une routine de piégeage d'erreur, RETURN re-permet le piégeage de l'événement qui a été arrêté en entrant dans la routine d'interruption. les erreurs

 la ligne est pas un numéro de ligne existante: numéro de ligne défini.

RMDIR RMDIR dir_spec

Supprime un répertoire vide sur un périphérique de disque. Paramètres

 Le dir_spec d'expression de chaîne est une spécification de fichier valide qui spécifie le chemin et le nom du répertoire.

les erreurs

 dir_spec a une valeur numérique: incompatibilité de type.
   dir_spec est une chaîne vide: nom de fichier incorrect.
   Aucun chemin correspondant est trouvé: Chemin d'accès introuvable.

RSET RSET string_name = expression

Copie une valeur de chaîne dans une chaîne élément variable ou tableau existant. La valeur sera justifié à droite et tous les caractères restants sont remplacés par des espaces. Paramètres

 string_name est un élément variable ou tableau chaîne.
   expression est une expression de chaîne.

Remarques

 Si l'expression a une valeur qui est supérieure à la longueur de la variable cible, elle est tronquée à la queue de la longueur de la variable cible.
   Si string_name n'a pas été alloué avant, cette déclaration n'a aucun effet.
   Utilisez LSET, RSET ou MID $ pour copier les valeurs dans un tampon de FIELD.
   Si LET est utilisé sur une variable au lieu de L FIELD | RSET, la variable est détaché du terrain et une nouvelle variable de chaîne normale est attribuée.

les erreurs

 string_name est pas une variable chaîne: Incompatibilité de type.
   expression n'a pas de valeur de chaîne: Type mismatch.

RUN RUN [line_number [rien] | file_spec [R]]

Exécute un programme. les variables existantes seront effacées et tout programme en mémoire seront effacées. RUN implique une EFFACER Si, R est spécifié après file_spec, les dossiers sont conservés ouverts; sinon, tous les fichiers sont fermés. Paramètres

 line_number est un numéro de ligne valide dans le programme actuel.  Si spécifié, l'exécution commence à partir de ce numéro de ligne.  Le reste de l'instruction RUN est ignorée dans ce cas.
   Le file_spec d'expression de chaîne, si spécifié, est une spécification de fichier valide indiquant le fichier à lire le programme à partir.

les erreurs

 line_number est pas un numéro de ligne dans le programme actuel: numéro de ligne défini.
   file_spec ne peut pas être trouvé: Fichier non trouvé.
   file_spec est une chaîne vide: Numéro de fichier incorrect.
   Un fichier texte chargé contient des lignes sans numéros de ligne: déclaration directe dans le fichier.

SAUVER SAUVER file_spec [, {A | P}]

Enregistre le programme en cours dans un fichier.

 Si, A est spécifié, le programme sera enregistré au format texte brut.
   Si, P est spécifié, le programme sera enregistré au format protégé.  Quand un programme protégé est chargé dans GW-BASIC, il ne peut pas être inscrits ou enregistrés au format non protégé.
   Si ni est spécifié, le programme sera enregistré au format tokenised.

Paramètres

 Le file_spec d'expression de chaîne est une spécification de fichier valide indiquant le fichier à stocker à.

les erreurs

 file_spec a une valeur numérique: incompatibilité de type.
   file_spec est une chaîne vide: Numéro de fichier incorrect.
   file_spec contient des caractères non autorisés: Numéro de fichier incorrect (sur CAS1 :);  Nom de fichier incorrect (sur les unités de disque).
   strict protection est activé, le programme actuel est protégé et, P est pas spécifié: Illegal appel de fonction.

ECRAN (déclaration) ÉCRAN [Mode] [, [colorburst] [, [apage] [, [vpage] [, effacer]]]]

Changer le mode vidéo, colorburst composite, page active et page visible. Les modes vidéo sont décrits dans la section Modes vidéo. Paramètres

 mode est une expression numérique qui définit le mode d'écran.
   colorburst est une expression numérique.  Voir les notes ci-dessous.
   apage est une expression numérique qui définit la page active.
   vpage est une expression numérique qui définit la page visible.
   effacer est une expression numérique dans l'intervalle [0, 1, 2].  Il est seulement légal avec la syntaxe = {PCjr, tandy}.  Voir les notes ci-dessous.

Modes vidéo

Les modes vidéo sont les suivantes:

ECRAN mode 0 texte

 80x25 ou 40x25 caractères de 8x16 pixels
   16 attributs cueillis dans 64 couleurs
   Attributs 16-31 sont des versions clignotantes de 0-15
   4 pages ega 

ECRAN 1 couleur CGA

 320x200 pixels
   caractères 40x25 de 8x8 pixels
   4 attributs cueillis dans 16 couleurs;  2 bits par pixel,
   1 page EGA 2 pages PCjr tandy

ECRAN 2 CGA monochrome

 640x200 pixels
   caractères 80x25 de 8x8 pixels
   2 attributs cueillis dans 16 couleurs;  1 bit par pixel
   1 page EGA 2 pages PCjr tandy

ECRAN 3 Basse résolution 16 couleurs PCjr tandy

 160x200 pixels
   caractères 20x25 de 8x8 pixels
   16 attributs cueillis dans 16 couleurs;  4 bits par pixel,
   2 pages

ÉCRAN 3 Hercules hercules monochromes

 720x348 pixels
   caractères 80x25 de 9x14 pixels (avec ligne de fond tronqué par 2 px)
   2 attributs;  1 bit par pixel
   2 pages

ECRAN 3-255 Altissima Risoluzione olivetti

 640x400 pixels
   caractères 80x25 de 8x16 pixels
   2 attributs dont une cueillies dans 16 couleurs;  2 bits par pixel,
   1 page

ECRAN 4 Med-res 4 couleurs PCjr tandy

 320x200 pixels
   caractères 40x25 de 8x8 pixels
   4 attributs cueillis dans 16 couleurs;  2 bits par pixel,
   2 pages

ECRAN 5 Med-res 16 couleurs PCjr tandy

 320x200 pixels
   caractères 40x25 de 8x8 pixels
   16 attributs cueillis dans 16 couleurs;  4 bits par pixel,
   1 page
 Note: un minimum de 32768 octets de mémoire vidéo doit être réservé à utiliser ce mode vidéo.  Utilisez l'instruction EFFACER ,,, 32768!  ou l'option de mémoire vidéo = 32768.

ECRAN 6 haut-rés 4 couleurs PCjr tandy

 640x200 pixels
   caractères 80x25 de 8x8 pixels
   4 attributs cueillis dans 16 couleurs;  2 bits par pixel,
   1 page
 Note: un minimum de 32768 octets de mémoire vidéo doit être réservé à utiliser ce mode vidéo.  Utilisez l'instruction EFFACER ,,, 32768!  ou l'option de mémoire vidéo = 32768.

ECRAN 7 EGA couleur ega

 320x200 pixels
   caractères 40x25 de 8x8 pixels
   16 attributs cueillis dans 16 couleurs;  4 bits par pixel,
   8 pages

ECRAN 8 EGA couleur ega

 640x200 pixels
   caractères 80x25 de 8x8 pixels
   16 attributs cueillis dans 16 couleurs;  4 bits par pixel,
   4 pages

ECRAN 9 EGA couleur ega

 640x350 pixels
   caractères 80x25 de 8x14 pixels
   16 attributs cueillis dans 64 couleurs;  4 bits par pixel,
   2 pages

ECRAN 10 EGA moniteur monochrome EGA = mono

 640x350 pixels
   caractères 80x25 de 8x14 pixels
   4 attributs cueillies à partir de 9 pseudocolours;  2 bits par pixel,
   2 pages

NTSC Composite Colorburst

Le CGA, Tandy et PCjr, colorburst a les effets suivants, en fonction du type de moniteur - RGB (par défaut) ou composite: Mode colorburst CGA en mode Effet (composite) Effet (RVB) 0 0 0, 2 greyscale palette par défaut 0 1 1 , 3 palette de couleurs par défaut 1 0 4 palette couleur par défaut 1 1 5 greyscale palette suppléant

Sur l'écran 2, colorburst n'a aucun effet; sur un moniteur composite, des artefacts de couleur peuvent être activés sur cet écran par OUT (voir là). Sur l'écran 3 et plus, colorburst n'a aucun effet. Effacer

Par défaut, si les changements de mode ou les changements Colorburst entre zéro et non nul, l'ancienne page et la nouvelle page de l'écran sont effacés. Sur la syntaxe = {PCjr, tandy}, le paramètre d'effacement peut être utilisé pour modifier ce comportement. Ses valeurs sont les suivantes: effacer Effet 0 Ne pas effacer tout écran page 1 (par défaut) Si les changements de mode ou les changements Colorburst entre zéro et non nul, l'ancienne page et la nouvelle page de l'écran sont effacés. 2 Si les changements de mode ou les changements Colorburst entre zéro et non-zéro, toutes les pages de l'écran sont effacées. Remarques

 Au moins un paramètre doit être spécifié.
   artefacts de couleur composites sont émulées seulement grossièrement dans PC-BASIC, et pas du tout dans l'écran 1. 

les erreurs

 Aucun paramètres sont spécifiés: opérande manquant.
   Tout paramètre a une valeur de chaîne: Type mismatch.
   Tout paramètre est pas dans [-32768 à 32767]: Overflow.
   mode est pas un numéro de mode vidéo disponible pour le réglage de la carte vidéo: Illegal appel de fonction.
   vpage, apage ne sont pas entre 0 et le nombre de pages pour le mode vidéo choisi, moins un: Illegal appel de fonction.
   colorburst est pas dans [0-255]: Illegal appel de fonction.
   effacer est pas dans [0, 1, 2]: Illegal appel de fonction.

SHELL SHELL [commande]

Démarre une sous-couche sur la console. Le type d'enveloppe est déterminée par votre système d'exploitation. Sur les systèmes Unix, un shell sh est démarré. Sur les systèmes Windows, un shell cmd.exe est démarré. Si la commande est spécifié, la commande est exécutée sur la coque et d'exécution revient au programme. Paramètres

 commande est une expression de chaîne.

Remarques

 Si le shell = l'option native est pas spécifié, cette déclaration ne fait rien.
   Soyez prudent lors de l'activation de cette commande, car il permet au programme BASIC accès complet à vos fichiers et système d'exploitation en cours d'exécution.

les erreurs

 commande a une valeur numérique: incompatibilité de type.
   Toutes les sorties de la sous-couche du système d'exploitation, y compris les messages d'erreur, est affiché sur l'écran du PC-BASIC.

SOUND (tonalité) de fréquence SOUND, la durée [volume [voix]]

Produit un son à la fréquence Hz pour la durée / 18.2 secondes. Sur PCjr et Tandy, le volume et le canal vocal peuvent en outre être spécifiés.

Si PLAY "Mo" a été exécuté, SOUND joue en arrière-plan. Si PLAY "MF" a été exécuté, son joue au premier plan et les blocs d'interprètes jusqu'à ce que le son est terminé. le mode de premier plan est par défaut. Contrairement PLAY, le son joué par la plus récente déclaration de SOUND joue toujours en arrière-plan, même si PLAY "MF" a été saisi. En mode d'arrière-plan, chaque instruction SOUND compte comme 1 vers la longueur de la file d'attente déclarés par la fonction PLAY. Paramètres

 la fréquence est une expression numérique dans [37-32767] ou 0 (pour la syntaxe = {avancée | PCjr}) ou [-32768 à 32767] (pour la syntaxe = tandy).
   la durée est une expression numérique dans [0-65535].
   volume est une expression numérique dans [0, 15].  0 est silencieux, 15 est plein volume;  chaque pas moins réduit le volume de 2 dB.  (Pour la syntaxe = {PCjr | tandy})
   la voix est une expression numérique dans [0, 2], ce qui indique que des canaux vocaux trois tons est utilisé pour ce son.  (Pour la syntaxe = {PCjr | tandy})

Remarques

 Sur PCjr et Tandy, fréquences inférieures à 110 Hz sont joués en 110 Hz.
   Si la durée est égale à zéro, aucun bruit de fond actif est arrêté et que la file d'attente est vidée de son.
   Si la durée est égale à zéro, le volume et la voix ne doivent pas être spécifiés.
   Si la durée est inférieure à .022, mais non nulle, le son sera joué en arrière-plan et continuer indéfiniment jusqu'à une autre déclaration sonore est exécutée.  Ceci est également le comportement pour une durée négative.
   Si la fréquence est égale à 32767 ou 0, un silence d'une durée de longueur est en file d'attente.

les erreurs

 Tout argument a une valeur de chaîne: Type mismatch.
   fréquence est pas dans sa plage autorisée, et la durée est non nul: Illegal appel de fonction.
   la durée est égale à zéro et plus de deux arguments sont spécifiés: Erreur de syntaxe.
   syntaxe = {PCjr |  tandy} est pas définie et plus de deux arguments sont spécifiés: Erreur de syntaxe.
   fréquence est pas dans [-32.768 à 32.767]: Overflow.
   durée est pas dans [-65535 à 65535]: Illegal appel de fonction.
   volume est pas dans [0-15]: Illegal appel de fonction.
   la voix est pas dans [0-2]: Illegal appel de fonction.

SOUND (switch) SOUND {ON | OFF}

Alterne la disponibilité des capacités audio avancées sur PCjr et Tandy. Cela comprend son 3-voix, la génération de bruit et de contrôle du volume. Remarques

 Uniquement disponible avec la syntaxe = {PCjr |  tandy}.
   Sur les ordinateurs PCjr et Tandy, SOUND ON tournerait sur le haut-parleur externe, ainsi que faire des capacités sonores avancées disponibles.  Le PC-BASIC, à la fois interne et haut-parleur externe sont émulées par le même système de sonorisation.

les erreurs

 Cette instruction est utilisée et la syntaxe = {PCjr |  tandy} est pas défini: Erreur de syntaxe.

STOP STOP

Breaks l'exécution du programme, imprime un message de rupture sur la console et renvoie le contrôle à l'utilisateur. Fichiers ne sont pas fermés. Il est possible de reprendre l'exécution du programme à l'instruction suivante en utilisant CONT. STRIG (switch) STRIG {ON | OFF}

N'a aucun effet. STRIG (interrupteur d'événement) STRIG [] (bouton) {ON | OFF | STOP}

Commutateurs événement piégeage du bouton joystick déclencheur ON ou OFF. STRIG (bouton) ARRET suspend événement piégeage jusqu'à STRIG (bouton) ON est exécutée. Jusqu'à un événement peut être déclenché pendant la suspension, à condition que la gestion des événements a été activée avant la suspension. L'événement déclenché pendant la suspension est traitée immédiatement après la STRIG suivante (bouton) ON déclaration. bouton valeur de retour 0 1er joystick 1er déclenchement 2 2e joystick 1er déclenchement 4 1er joystick 2e déclenchement 6 2e joystick 2e déclenchement Paramètres

 bouton est une expression numérique dans [0, 2, 4, 6].

les erreurs

 bouton a une valeur de chaîne: Type mismatch.
   bouton est pas dans [-32768 à 32767]: Overflow.
   bouton est pas dans [0, 2, 4, 6]: Illegal appel de fonction.

SWAP SWAP var_0, var_1

Echanges de variables var_0 et Var_1. Remarques

 Les variables sont échangés par référence.  Si, par exemple, var_0 est une variable FIELD et var_1 est pas, alors SWAP inverse les rôles.

Paramètres

 var_0 et var_1 sont préalablement variables du même type définis.

les erreurs

 var_0 ou var_1 est indéfini: Illegal appel de fonction.
   Les types de var_0 et var_1 ne sont pas les mêmes: Incompatibilité de type.

SYSTÈME DE SYSTÈME

Quitte l'interpréteur. Remarques

 SYSTÈME quitte immédiatement l'interpréteur de PC-BASIC sans autre interaction.  Tout programme ou des données non enregistrées seront perdues.

TERME TERME

Charger et exécuter le programme défini par l'option PCjr terme. Par défaut, comme sur l'IBM PCjr, ceci est une application d'émulation de terminal série intégré. Cette déclaration est disponible uniquement avec la syntaxe = {PCjr | tandy}. les erreurs

 Si PCjr terme est pas définie, cette déclaration soulève une erreur interne.
   Si la syntaxe est pas réglé sur PCjr ou tandy, ce mot-clé est pas présent.  Calling TERME soulèvera une erreur de syntaxe.

TIME $ (déclaration) TIME $ = temps

Définit l'heure actuelle BASIC en temps. Paramètres

 Le temps est une expression de chaîne de la forme "HH: mm: ss" où 00 <= HH <24, 00 <= mm <60 et 00 <= ss <60.

Remarques

 magasins PC-BASIC un décalage à l'heure du système et utilise cela pour les appels futurs à TIME $ et fonctions $ DATE dans la même session d'interprète.  L'heure du système ne change pas, contrairement à GW-BASIC sous MS-DOS.

les erreurs

 le temps a une valeur numérique: incompatibilité de type.
   Il est non pas de la forme correcte: Illegal appel de fonction.

TIMER (déclaration) TIMER {ON | OFF | STOP}

 ON: permet ON TIMER événement piégeage de l'horloge de la minuterie.
   OFF: désactive le piégeage.
   STOP: arrête le piégeage jusqu'à ce que TIMER ON est utilisé.  Les événements qui se produisent pendant le piégeage est arrêté déclenchera immédiatement lorsque le piégeage est réactivé.

TRON et TROFF {TRON | TROFF}

Met le numéro de ligne de traçage ou hors tension. Si le numéro de ligne est tracé sur, BASIC imprime une étiquette [100] à la console lorsque la ligne de programme 100 est exécuté, et ainsi de suite. Remarques

 Le traçage est désactivé par les états NEW et LOAD.

UNLOCK UNLOCK [#] file_number [, record_0] UNLOCK [#] file_number, [record_0] À record_1

Débloque un fichier ou une partie de celui-ci qui a déjà été verrouillé avec LOCK. Paramètres

 file_number est une expression numérique dans [0-255].
   record_0 et record_1 sont des expressions numériques dans [1-2 ^ 25-2].

les erreurs

 Tout paramètre a une valeur de chaîne: Type mismatch.
   file_number est pas dans [-32.768 à 32.767]: Overflow.
   file_number est pas dans [0-255]: Illegal appel de fonction.
   file_number est pas un fichier ouvert: Numéro de fichier incorrect.
   Si file_number est ouvert pour RANDOM, verrouiller et déverrouiller les états doivent correspondre en termes de record_0 et record_1.  Un UNLOCK non-appariement augmentera Permission denied.
   record_0 ou record_1 est pas dans [1-2 ^ 25-2]: Numéro d'enregistrement Bad.

VIEW VIEW [[ECRAN] (x0, y0) - (x1, y1) [[remplir] [, frontière]]]

Définit une fenêtre graphique. Graphics établis en dehors de la fenêtre ne seront pas affichées. (X0, y0), (x1, y1) sont des coordonnées absolues de l'écran de deux coins opposés de la zone.

Sauf SCREEN est spécifié, après une instruction VIEW le système de coordonnées est déplacé de telle sorte que (0, 0) devient la partie supérieure gauche de la fenêtre de coordonnées. Si VIEW est appelé sans arguments, la fenêtre est remise à l'ensemble de l'écran. Paramètres

 remplir est un attribut.  Le viewport sera rempli avec cet attribut.
   la frontière est un attribut.  Une frontière sera tiré juste à l'extérieur de la fenêtre avec cet attribut.

les erreurs

 Tout des paramètres a une valeur de chaîne: Type mismatch.
   Tout des coordonnées est pas dans [-32768 à 32767]: Overflow.
   Chacune des paires de coordonnées est en dehors de l'écran physique: Illegal appel de fonction.

VIEW PRINT VIEW PRINT top_row À bottom_row

Définit la zone de défilement de texte de l'écran. LOCATE déclarations, le mouvement du curseur et le défilement seront limités à la zone de défilement. Paramètres

 top_row et bottom_row sont des expressions numériques dans [1-24].

Remarques

 Si la syntaxe = {PCjr |  tandy} et KEY OFF est réglé, bottom_row peuvent être 25. Sinon, l'écran ligne 25 ne peut pas faire partie de la zone de défilement.

les erreurs

 top_row ou bottom_row est pas dans [1-24]: Illegal appel de fonction.

ATTENDRE port ATTENDRE, and_mask [, xor_mask]

Attend la valeur de (INP (port) XOR xor_mask) ET and_mask à devenir non nulle. La gestion des événements est suspendue jusqu'à ce que les retours d'attente. Si xor_mask est pas spécifié, la valeur par défaut 0. Remarques

 Un nombre limité de ports de la machine sont émulés dans PC-BASIC.  Voir INP.

les erreurs

 Tout paramètre a une valeur de chaîne: Type mismatch.
   port est pas dans [-32768 à 65535]: Overflow.
   and_mask ou xor_mask ne sont pas dans [0-255]: incompatibilité de type.

WEND WEND

Itère une boucle WHILE-WEND: saute à l'instruction correspondante WHILE, où son état peut être vérifié. Remarques

 boucles WHILE-WEND peuvent être imbriquées.  WEND saute à la dernière instruction WHILE qui n'a pas été fermée par un autre WEND.

les erreurs

 Tous les énoncés WHILE précédents ont été fermées par un autre WEND ou aucune déclaration while a été exécutée avant: WEND sans WHILE.

PENDANT TOUT expr

Lance une boucle WHILE-WEND. Si expr est évaluée à zéro, alors que passe à l'instruction immédiatement après la WEND correspondant. Sinon, l'exécution se poursuit. Paramètres

 expr est une expression numérique.

les erreurs

 Aucune correspondance WEND se trouve: WHILE sans WEND.
   expr a une valeur de chaîne: Type mismatch.

WIDTH (console) num_columns WIDTH [[num_rows] [,]]

Définit la largeur de l'écran 20, 40 ou 80 colonnes. Remarques

 Lors du changement de largeur de l'écran en mode graphique, le mode vidéo est modifié.  Les changements suivants se produisent:
   ECRAN 1 (40) ↔ ECRAN 2 (80)
   ÉCRAN 7 (40) ↔ ÉCRAN 8 (80)
   ÉCRAN 7 (40) ← ÉCRAN 9 (80)
   Écran valeur de largeur 20 est permise uniquement sur Tandy et PCjr.  Le passage à cette largeur des modifications à l'écran 3. En outre, les changements suivants se produisent:
   SCREEN 3 (20) → ECRAN 1 (40)
   SCREEN 3 (20) → ECRAN 2 (80)
   ECRAN 4 (40) → ECRAN 2 (80)
   ECRAN 5 (40) ↔ ÉCRAN 6 (80)

Paramètres

 num_columns est soit un littéral 20, 40 ou 80 ou une expression numérique entre parenthèses.  La virgule arrière est facultative et n'a aucun effet.
   num_rows est facultative et doit être égale à 25. Si la syntaxe = {PCjr |  tandy} est réglé, num_rows peut être [0-25], mais sa valeur est ignorée.

les erreurs

 num_columns est une chaîne d'expression: incompatibilité de type.
   num_columns est pas dans [-32.768 à 32.767]: Overflow.
   num_columns est pas dans [0-255]: Illegal appel de fonction.
   num_columns est pas un littéral et non entre crochets: appel de fonction illégale.
   num_rows est pas dans sa gamme acceptée: Illegal appel de fonction.

WIDTH (périphériques et fichiers) WIDTH {#file_num, | nom_appareil, | LPRINT} num_columns

Définit la largeur de la ligne pour un fichier ou un périphérique. Lorsqu'une opération d'écriture passe au-delà de la largeur de colonne, une séquence CR LF est insérée.

Si un périphérique est spécifié, il n'a pas besoin d'avoir un fichier ouvert à elle; le réglage de largeur sera la largeur par défaut la prochaine fois qu'un fichier est ouvert à ce dispositif.

Si device_name est "LPT1:" ou LPRINT est spécifié, le réglage de la largeur de l'appareil affecte LPRINT et LLIST.

Si device_name est "SCRN:", "KYBD:", ou omis, la largeur de l'écran est modifiée. Dans ce cas, num_columns doit être l'un des 20, 40 ou 80. Voir les notes à WIDTH (console) pour les effets secondaires. Paramètres

 file_num est une expression numérique qui est le numéro d'un fichier ouvert.
   device_name est une expression de chaîne qui est l'un des "KYBD:", "SCRN:", "LPT1:", "LPT2:", "LPT3:", "COM1:", "COM2:", "CAS1:"
   num_columns est une expression numérique.

les erreurs

 device_name est pas un des périphériques autorisés: Nom de fichier incorrect.
   device_name est "SCRN:", "KYBD:" et num_columns ne sont pas 20, 40 ou 80: Illegal appel de fonction.
   file_num ou num_columns sont des chaînes: Incompatibilité de type.
   file_num ou num_columns ne sont pas dans [-32.768 à 32.767]: Overflow.
   file_num ou num_columns ne sont pas dans [0-255]: Illegal appel de fonction.
   file_num est pas un fichier ouvert: le mode de fichier incorrect.

Fenêtre [[ECRAN] (x0, y0) - (x1, y1)]

Définir les coordonnées logiques pour la fenêtre. Si l'écran est pas spécifié, en bas à gauche de l'écran est mappé vers les coordonnées inférieures; en haut à droite de l'écran est mappé sur les coordonnées supérieures. Si l'écran est spécifié, en haut à gauche de l'écran est mappé vers les coordonnées inférieures; la partie inférieure droite de l'écran est mappé sur les coordonnées supérieures.

Si la fenêtre est appelée sans arguments, les coordonnées logiques sont réinitialisés aux coordonnées de viewport. Paramètres

 x0, y0, x1, y1 sont des expressions numériques.

les erreurs

 Tous les coordonnées ont une valeur de chaîne: Type mismatch.
   x0 = x1 ou y0 = y1: Illegal appel de fonction.

WRITE WRITE [# file_num,] expr_0 [{, |;} expr_1] ...

Ecrit des valeurs dans un fichier ou l'écran sous forme lisible par machine. Les valeurs sont séparées par des virgules et la ligne est terminée par une séquence CR LF. Les chaînes sont délimités par des guillemets ". Pas d'espace de remplissage sont insérés.

Lors de l'écriture à l'écran, les mêmes caractères de contrôle sont reconnus comme pour l'instruction PRINT. Paramètres

 expr_0, expr_1, ... sont des expressions dont la valeur doit être imprimée.

les erreurs

 file_num a une valeur de chaîne: Type mismatch.
   file_num est ouvert pour INPUT: mode de fichier incorrect.

Erreurs et Messages Erreurs 1 PROCHAINES sans POUR

Une instruction NEXT a été rencontré pour lesquels aucune correspondance ne peut être relevée. 2 Erreur de syntaxe

La syntaxe de base est incorrecte. Une déclaration ou l'expression a été mal orthographié ou appelé dans l'une des nombreuses façons incorrectes. Cette erreur est également élevé sur une ligne de données si une instruction READ rencontre une entrée de données d'un format incorrect. 3 RETOUR sans GOSUB

Une instruction RETURN a été rencontré pour lesquels aucun appel GOSUB a été faite. 4 Sur DATA

Une instruction READ tente de lire plusieurs entrées de données que l'on peut trouver à l'emplacement actuel de données en avant. 5 Illegal appel de fonction

Une déclaration, la fonction ou l'opérateur a été appelé avec des paramètres en dehors de la plage acceptée. Cette erreur est également soulevée pour une grande variété d'autres conditions - vérifier la référence pour l'instruction ou de la fonction appelée. 6 Overflow

Résultat Une expression numérique ou une valeur intermédiaire est trop grande pour le format de nombre requis. 7 Out of memory

Il n'y a pas assez de mémoire de base gratuite pour terminer l'opération. Trop mémoire est consommée par le programme; variables, les tableaux et les chaînes, ou des piles d'exécution pour les boucles, sous-routines ou fonctions définies par l'utilisateur. 8 numéro de ligne Undefined

Il est fait référence à un numéro de ligne qui n'existe pas dans le programme. 9 Indice hors de portée

Un indice de tableau (en indice) est utilisé qui est hors de la plage réservée à ce tableau par l'instruction DIM. 10 Définition Duplicate

Une déclaration est DIM utilisé sur un tableau qui a été dimensionné avant (implicitement ou explicitement) ou OPTION BASE est appelé d'une manière qui est en conflit avec une définition antérieure implicite ou explicite de l'indice de départ. 11 Division par zéro

Une tentative est faite pour diviser un nombre par zéro ou par un nombre trop petit pour établir une distinction entre zéro à l'intérieur de la précision du format numérique. 12 Illegal directe

Une déclaration DEF FN est utilisé en mode direct. 13 Type mismatch

L'expression utilisée est d'un type qui ne peut pas être converti dans le type requis pour la fonction ou de la déclaration. Le plus souvent, cela est déclenché si un argument de chaîne est fournie à une déclaration ou une fonction qui attend un nombre, ou vice versa. 14 Sur l'espace de chaîne

Il n'y a pas assez de mémoire BASIC libre pour stocker la variable de chaîne. 15 cordes trop longtemps

Un résultat de l'expression de chaîne ou une valeur intermédiaire est supérieure à 255 caractères. 16 formule cordes trop complexe 17 ne peut pas continuer

L'instruction CONT est utilisée dans les cas où la poursuite exécution du programme est impossible. 18 fonction utilisateur Undefined

La fonction FN est appelée avec un nom de fonction pour laquelle aucune définition a été faite par une déclaration DEF FN. 19 No REPRENDRE

Le programme se termine à l'intérieur d'une routine de piégeage d'erreur qui n'a pas été fermée avec REPRENDRE ou END. 20 REPRENDRE sans erreur

Une déclaration de REPRENDRE est rencontrée alors que le programme n'exécute une routine d'erreur de piégeage. 21 utilisé 22 opérande manquant

Une expression de l'opérateur manque un opérande ou d'une fonction ou de la déclaration ne soit pas fournie avec des paramètres suffisants. 23 buffer overflow ligne

Une instruction INPUT ou LINE INPUT rencontré une chaîne d'entrée plus de 255 caractères ou le fichier de programme en texte brut en cours de chargement contient une ligne avec plus de 255 caractères. 24 Dispositif Timeout

La poignée de main a échoué sur un périphérique série ou un périphérique de bande a atteint la fin de la bande. 25 Dispositif Fault 26 POUR LA PROCHAINE sans

Une instruction FOR a été rencontrée pour laquelle aucune instruction NEXT correspondante peut être trouvée. 27 Sur papier

Une tentative est faite pour écrire à une imprimante qui est hors de papier ou à un autre périphérique parallèle qui a soulevé une condition out-of-papier. 28 utilisé 29 TANDIS sans WEND

Une instruction WHILE a été rencontrée pour laquelle aucune déclaration de WEND correspondant peut être trouvé. 30 WEND sans TANDIS

Une déclaration de WEND a été rencontré pour lesquelles aucune instruction WHILE correspondant peut être trouvé. 31-49 utilisé overflow 50 CHAMP

Une tentative est faite pour lire, écrire, ou définir une variable de champ au-delà de la longueur de la mémoire tampon de fichier à accès aléatoire. 51 Erreur interne

La déclaration de TERM est exécuté, mais aucun programme de gestionnaire du terminal a été défini. 52 Numéro de fichier incorrect

Un numéro de fichier est accessible auquel aucun fichier est ouvert, ou le numéro de fichier utilisé dans une instruction OPEN est en dehors de la plage de numéros de fichiers autorisés, ou (confusion) la spécification de fichier est vide, malformés ou contient des caractères illégaux. 53 Fichier non trouvé

Un fichier nommé sur un périphérique de disque ne peut pas être trouvé. 54 Mode de fichier incorrect

existe Le mode de fichier demandé dans une instruction OPEN pas ou est pris en charge pour le périphérique donné, ou la fonction de fichier appelé est pas pris en charge pour cet appareil, ou la fonction ou la déclaration appelée requiert un fichier ouvert pour RANDOM et le fichier est pas. 55 Fichier déjà ouvert

Une tentative est faite pour ouvrir un fichier à un numéro de dossier qui est déjà en cours d'utilisation; ou une tentative est faite pour ouvrir un fichier pour OUTPUT ou APPEND sur un périphérique série, le disque ou la cassette quand un fichier est déjà ouvert pour OUTPUT ou APPEND sur ce dispositif; ou d'une instruction KILL ou NAME est exécuté sur un fichier de disque ouvert. 56 utilisé 57 Erreur de périphérique d'E / S

Une erreur d'E / S est survenue lors de l'entrée / sortie à un dispositif. Ceci inclut les erreurs de Faming, les défaillances de contrôle CRC et de fin de bande inattendue sur les appareils à cassettes. 58 Le fichier existe déjà

Le nouveau nom proposé d'un fichier de disque dans une instruction NAME est déjà en cours d'utilisation. 59-60 utilisé 61 Disque plein

Il y a suffisamment d'espace libre sur le périphérique de disque pour terminer l'opération. 62 fin dernière entrée

Une tentative est faite pour récupérer l'entrée d'un fichier qui a passé sa fin de fichier. 63 Numéro d'enregistrement Bad

Un nombre record de fichiers d'accès aléatoire est référencé qui est en dehors de la plage autorisée. 64 Nom de fichier incorrect

Le nom de fichier ou d'une autre chaîne de paramètres de l'appareil dans une spécification de fichier est malformé ou contient des caractères illégaux. 65 utilisé 66 déclaration directe dans le fichier

Une ligne sans numéro de ligne est rencontrée dans un fichier de programme en texte brut. 67 Trop de fichiers 68 périphériques Non disponible

Une tentative est faite pour accéder à un dispositif qui n'existe pas ou est pas activé. 69 buffer overflow Communication

Un périphérique série reçoit plus de données que ne peut en son tampon. 70 Autorisation refusée

L'accès demandé à un fichier n'est pas accordée en raison de restrictions LOCK, verrouillage du système d'exploitation ou les permissions de fichiers du système d'exploitation insuffisante. 71 Disk not Ready

Le dispositif de disque est prêt pour l'accès. Par exemple, il n'y a aucune disquette dans un lecteur de disquette ou le verrou d'entraînement est ouvert. 72 médias de disque d'erreur 73 Feature avancée 74 Renommer sur les disques

Une tentative est faite d'utiliser l'instruction NAME pour déplacer un fichier d'un périphérique de disque à l'autre. 75 Chemin erreur d'accès / Fichier

Une tentative est faite pour créer un répertoire qui existe déjà ou pour supprimer un répertoire qui ne soit pas vide. 76 Chemin d'accès introuvable

Une instruction OPEN, MKDIR, RMDIR ou CHDIR est exécuté faisant référence à un chemin (parent) qui n'existe pas sur le périphérique de disque. 77 Deadlock

Un code d'erreur qui n'a pas un message qui lui est associé génère le message d'erreur non imprimable.

Si une erreur se produit en mode direct, le message d'erreur est affiché comme ci-dessus. Si l'erreur se produit dans un programme, le message est complété par le numéro de ligne dans lequel l'erreur est survenue. Par exemple, Illégal appel de fonction 100 indique que l'appel de fonction illégale a eu lieu dans le numéro de la ligne 100.

Si une erreur de syntaxe se produit lors de l'exécution du programme, le message d'erreur est suivi d'une liste de la ligne de programme dans lequel l'erreur est survenue, wth le curseur positionné à l'endroit où l'erreur a été soulevée.

Une division par zéro erreur ou, dans un calcul en virgule flottante, un débordement, ne sera pas interrompre l'exécution, sauf si elle se produit au sein d'une routine de gestion d'erreur. Le message d'erreur sera imprimé sur la console et le résultat du calcul de la délinquance sera considérée comme étant la valeur maximale qui correspond à la variable à virgule flottante appropriée. Débordement dans un calcul entier sera toujours interrompre l'exécution comme d'autres erreurs. Autres messages

Pause

 Exécution d'une déclaration ou d'un programme composé a été interrompue par une instruction CONT ou par une interruption du clavier de l'utilisateur (comme Ctrl + Break).  Si l'interruption se produit dans un programme, le message Break sera complété par le numéro de ligne dans laquelle l'interruption a eu lieu. 

? Refaire du début

 L'entrée prévue sur la console pour une instruction INPUT ne correspond pas au format attendu.  Le nombre ou le type d'entrées ne sont pas correctes.  Entrez à nouveau toutes les entrées. 

ref_num ligne défini dans LINE_NUM

 L'instruction RENUM rencontré une référence au numéro de ligne ref_num qui ne sont pas définis dans le programme.  La référence se produit sur le numéro de ligne LINE_NUM.  La undefined référence numéro de ligne ne sera pas renumérotés. 

filename Trouvé.

 Un fichier correspondant à la spécification demandée a été trouvé sur le périphérique de la cassette.  Ce message se produit uniquement en mode direct. 

filename Ignoré.

 Un fichier ne correspond pas à la spécification demandée a été rencontrée sur le dispositif de cassette.  Ce message se produit uniquement en mode direct. 

format de fichier Tokenised de référence technique

Un fichier de programme tokenised sur un périphérique de disque a le format suivant.

octet magique

 FF 

lignes du programme

 Chaque ligne est stocké comme suit:
   Octets Format Signification
   2 Unsigned 16-bit entier little-endian.  Lieu de mémoire de la ligne qui suit le courant.  Il est utilisé en interne par GW-BASIC, mais ignoré quand un programme est chargé.
   2 Unsigned 16-bit entier little-endian.  Le numéro de ligne.
   Variable Tokenised BASIC, voir ci-dessous.  Le contenu de la ligne.
   1 00 (NUL byte) Marqueur de fin de ligne.

Marqueur de fin de fichier

 Un 1A est écrit pour marquer la fin du fichier.  Cette option est facultative;  le fichier sera lu sans problème si elle est omise. 

Tokenised BASIC

Les caractères ASCII imprimables dans la gamme 20-7E sont utilisés pour les chaînes littérales, des commentaires, des noms de variables, et des éléments de syntaxe de l'instruction qui ne sont pas des mots réservés. Les mots réservés sont représentés par leurs mots jetons réservés et littéraux numériques sont représentées par des séquences de jetons numériques. séquences de jetons numériques

littéraux numériques sont stockés dans les programmes tokenised selon la représentation suivante. Tous les chiffres sont positifs; les nombres négatifs sont stockés simplement en précédant le numéro avec EA, le jeton pour -. Classe Octets Format des numéros de ligne indirecte 3 0E suivies d'un 16-bit entier little-endian non signé. entiers Octal 3 0B suivi d'un entier 16 bits little-endian non signé. entiers hexadécimaux 3 0C suivi d'un entier 16 bits little-endian non signé. décimales positif entiers moins de 11 1 Tokens 11-1B représentent 0-10. entiers décimaux positifs moins de 256 2 0F suivi d'un entier non signé 8 bits. Autres entiers décimaux 3 1C suivie d'un complément à deux signé 16-bit entier little-endian. GW-BASIC reconnaîtra un nombre négatif rencontré cette façon, mais il ne sera pas stocker les nombres négatifs s'utilisant le complément à deux, mais plutôt en faisant précéder le nombre positif avec EA. simple précision en virgule flottante numéro 5 1D suivi par un seul de quatre octets dans Microsoft Binary Format. Double précision nombre à virgule flottante 9 1F suivi d'un huit double octet dans Microsoft Binary Format. jetons de mots-clés

La plupart des mots-clés dans PC-BASIC sont des mots réservés. Les mots réservés sont représentés dans un programme tokenised par un jeton simple ou double-octet. La liste complète est ci-dessous.

Tous les noms de fonction et les opérateurs sont des mots réservés et toutes les déclarations commencent par un mot réservé (qui, dans le cas de LET est facultative). Cependant, l'inverse est pas vrai: tous les mots réservés sont des déclarations, des fonctions ou des opérateurs. Par exemple, TO et la CPS (ne se produisent dans le cadre d'une syntaxe de l'instruction mots En outre, certains mots-clés qui font partie de la syntaxe de déclaration ne sont pas réservés. Exemples sont AS, BASE, et ACCESS.

Mots-clés qui ne sont pas réservés mots sont écrits en texte intégral dans la source tokenised.

Un nom de fonction variable ou définie par l'utilisateur ne doit pas être identique à un mot réservé. La liste ci-dessous est une liste exhaustive des mots réservés qui peuvent être utilisés pour déterminer si un nom est légal.

   81 FIN 82 POUR 83 SUIVANT 84 DONNÉES 85 ENTREE 86 DIM 87 LIRE 88 LET 89 GOTO 8A RUN 8B IF 8C RESTORE 8D GOSUB 8E RETURN 8F REM 90 ARRÊT 91 PRINT 92 EFFACER 93 LISTE 94 NOUVEAU 95 SUR 96 ATTENDRE 97 DEF 98 POKE 99 CONT 9C OUT 9D LPRINT 9E LLIST A0 WIDTH A1 AUTRE A2 TRON A3 TROFF A4 SWAP A5 ERASE A6 EDIT A7 ERROR A8 REPRENDRE A9 SUPPRIMER AA AUTO AB RENUM AC DEFSTR AD DEFINT AE DefSng AF DEFDBL B0 LINE B1 TANDIS B2 WEND B3 CALL B7 WRITE B8 OPTION B9 RANDOMIZE BA OUVERT BB FERMER BC LOAD BD MERGE ÊTRE SAUVER BF COLOR C0 CLS C1 MOTOR C2 BSAVE C3 BLOAD C4 SOUND C5 BEEP C6 PSET C7 PRESET C8 ECRAN C9 KEY CA LOCATE CC TO CD ALORS CE TAB (STEP CF D0 USR D1 FN D2 SPC (D3 PAS D4 ERL D5 ERR D6 STRING $ D7 UTILISATION J8 INSTR D9 'DA VARPTR DB CSRLIN DC POINT DD OFF DE INKEY $ E6> E7 = E8 <E9 + EA - EB * EC / ED ^ EE ET EF OU F0 XOR F1 EQV F2 IMP F3 MOD F4 \ FD81 CVI FD82 CVS FD83 CVD FD84 MKI $ FD85 MKS $ FD86 MKD $ FD8B EXTERR FE81 FICHIERS FE82 FIELD FE83 SYSTÈME FE84 NOM FE85 LSET FE86 RSET FE87 KILL FE88 PUT FE89 GET FE8A RAZ CHAÎNE FE8B COMMUNE FE8C FE8D DATE $ FE8E TIME $ FE8F PAINT FE90 COM FE91 CIRCLE FE92 TIRAGE FE93 JEU FE94 TIMER FE95 ERDEV FE96 IOCTL FE97 CHDIR FE98 MKDIR FE99 RMDIR FE9A SHELL FE9B ENVIRON FE9C VIEW FE9D WINDOW FE9E PPAFM FE9F PALETTE FEA0 LCOPY AEED 1 APPELS AEED 5 PCOPY FEA7 BLOCAGE FEA8 UNLOCK FF81 LEFT $ FF82 DROIT $ Ff83 MID $ FF84 SGN FF85 INT FF86 ABS FF87 SQR FF88 ROND FF89 SIN FF8A LOG FF8B EXP FF8C COS FF8D TAN FF8E ATN FF8F FRE FF90 INP FF91 POS FF92 LEN FF93 STR $ FF94 VAL FF95 ASC FF96 CHR $ FF97 PEEK FF98 SPACE $ FF99 octobre $ FF9A HEX $ FF9B LPOS FF9C CINT FF9D CSNG FF9E CDBL FF9F FIX FFA0 PEN FFA1 STICK FFA2 STRIG FFA3 EOF FFA4 LOC FFA5 LOF 

Les mots réservés supplémentaires suivants sont activés par l'option syntax = {PCjr | tandy}.

 BRUIT AEED 4 FEA6 TERME 

Le mot réservé supplémentaire suivant est activé par l'option de débogage. Il est spécifique au PC-BASIC et non présent dans GW-BASIC.

 FFFF DEBUG 

utiliser des jetons internes

Les jetons 10, 1E et 0D sont connus pour être utilisés en interne par GW-BASIC. Ils ne doivent pas apparaître dans un fichier de programme tokenised correctement stocké. Microsoft Binary Format

nombres à virgule flottante dans GW-BASIC et PC-BASIC sont représentés dans Microsoft Binary Format (MBF), qui diffère de la norme IEEE 754 utilisé par la quasi-totalité des logiciels modernes et de matériel. Par conséquent, les fichiers binaires générés soit par BASIC sont entièrement compatibles les uns avec les autres et avec certaines applications modernes pour GW-BASIC, mais pas facilement interchangeables avec d'autres logiciels. QBASIC, par exemple, utilise des flotteurs IEEE.

MBF diffère de l'IEEE dans la position du bit de signe et en utilisant seulement 8 bits pour l'exposant, à la fois en simple et en double précision. Cela rend la gamme des nombres admissibles dans un nombre double précision MBF plus petit, mais leur plus grande précision, que pour un IEEE double: une seule MBF a 23 bits de précision, tandis qu'un double-MBF a 55 bits de précision. Tous les deux ont la même gamme.

Contrairement à l'IEEE, le format Microsoft binaire ne supporte pas les zéros signés, numéros subnormales, infinités ou valeurs non-a-nombre.

MBF nombres à virgule flottante sont représentés en octets comme suit:

Unique

 E0 M3 M2 M1 

Double

 E0 M7 M6 M5 M4 M3 M2 M1 

Ici, E0 est l'octet d'exposant et les autres octets forment la mantisse, pour petit-boutiste de telle sorte que M1 est l'octet le plus significatif. Le bit le plus significatif de M1 est le bit de signe, suivi par les bits les plus significatifs de la mantisse: M1 = s0 F1 F2 F3 F4 F5 F6 F7. Les autres octets contiennent les bits moins significatifs mantisse: M2 = f8 f9 fA fB fC fD fE fF, et ainsi de suite.

La valeur du nombre à virgule flottante est v = 0 si E0 = 0 et v = (-1) s0 × mantisse × 2 E0 - 128 autrement, où la mantisse est formée comme une fraction mantisse binaire = 0. 1 f1 f2 f3 ... format de fichier protégé

Le format protégé est une forme cryptée du format tokenised. GW-BASIC refuserait de montrer le code source de ces fichiers. Ce système de protection pourrait être facilement contournée en changeant un drapeau dans la mémoire. programmes de déprotection ont largement circulé depuis des décennies et l'algorithme de déchiffrement et les clés ont été publiées dans un magazine mathématique.

Un fichier de programme protégé sur un périphérique de disque a le format suivant.

octet magique

 FE 

Charge utile

 Encrypted contenu d'un fichier de programme tokenised, y compris son marqueur de fin de fichier, mais à l'exclusion de son octet magique.  Le chiffrement encription tourne d'un 11-octet et une clé de 13 octets de sorte que la transformation résultante est la même après 143 octets.  Pour chaque octet,
 Soustraire l'octet correspondant de la séquence de 11 octets,
       0B 0A 09 08 07 06 05 04 03 02 01
       Exclusive ou avec l'octet correspondant de la clé de 11 octets
       1D 1E C4 77 26 97 74 59 88 E0 7C
       Exclusive ou avec l'octet correspondant de la clé de 13 octets
       A9 84 8D CD 75 83 43 63 24 83 19 F7 9A
       Ajouter l'octet correspondant de la séquence de 13 octets,
       0D 0C 0B 0A 09 08 07 06 05 04 03 02 01

Marqueur de fin de fichier

 Un 1A est écrit pour marquer la fin du fichier.  Cette option est facultative;  le fichier sera lu sans problème si elle est omise.  Depuis le marqueur du programme tokenised de fin de fichier est inclus dans le contenu crypté, un fichier protégé est généralement un octet plus long que son équivalent non protégé. 

format de fichier BSAVE

Un fichier de vidage de mémoire sur un périphérique de disque a le format suivant.

octet magique

 FD 

Entête

 Octets Format Signification
   2 Unsigned 16-bit entier little-endian.  Segment du bloc de mémoire.
   2 Unsigned 16-bit entier little-endian.  Décalage du premier octet du bloc de mémoire.
   2 Unsigned 16-bit entier little-endian.  La longueur du bloc de mémoire en octets.

Charge utile

 Les octets du bloc de mémoire. 

Bas de page

 Sur Tandy seulement, l'octet magique et les six octets de l'en-tête sont repris ici.  Cette option est facultative;  le fichier sera lu sans problème si elle est omise. 

Marqueur de fin de fichier

 Un 1A est écrit pour marquer la fin du fichier.  Cette option est facultative;  le fichier sera lu sans problème si elle est omise. 

format de fichier cassette

Les fichiers sur la cassette sont stockées sous forme sonore à modulation de fréquence. Le format de la charge utile des fichiers sur la cassette est le même que pour les fichiers sur un périphérique de disque, mais les en-têtes sont différents et les fichiers peut être divisé en morceaux. Modulation

A 1-bit est représenté par une seule période d'onde de 1 ms (1000 Hz). A 0-bit est représenté par une seule période d'onde de 0,5 ms (2000 Hz). le format de l'octet

Un octet est envoyé en tant que 8 bits, le plus significatif en premier. Il n'y a pas ou démarrage stopbits. Format d'enregistrement

Un fichier est constitué de deux ou plusieurs enregistrements. Chaque enregistrement a le format suivant: Longueur Format Signification 256 octets Tous FF 2048 ms onde pilote à 1000 Hz, utilisé pour l'étalonnage. 1 bit 0 Synchronisation bit. 1 octet 16 (SYN) Synchronisation octet. 256 octets du bloc de données. 2 octets Unsigned 16-bit entier big-endian CRC-16-CCITT checksum. 4 octets Tous FF Fin de marqueur d'enregistrement.

Tokenised, protégées et BSAVE fichiers se composent d'un enregistrement en-tête suivi d'un enregistrement unique qui peut contenir plusieurs blocs de données de 256 octets, chacune suivie par les 2 octets CRC. les fichiers de programme de texte et les fichiers de données se composent d'un enregistrement en-tête suivi par plusieurs enregistrements mono-bloc. Format du bloc d'en-tête Octets Format Signification 1 fiche A5 Header octet magique 8 8 caractères Nom du fichier. 1 Type de fichier. 00 pour le fichier de données, 01 pour vidage de la mémoire, 20 ou A0 pour protéger, 40 pour plaine programme de texte, 80 pour le programme tokenised. 2 Unsigned 16 bits little-endian entier Longueur du prochain enregistrement de données, en octets. 2 Unsigned 16-bit little-endian segment entier de l'emplacement de mémoire. 2 Unsigned 16-bit entier little-endian Décalage de l'emplacement de mémoire. 1 00 Fin des données d'en-tête 239 Tous les 01 format de bloc de remplissage de données Octets Format Signification 1 8-bit entier non signé Nombre d'octets de charge utile dans le dernier enregistrement, plus un. Si zéro, l'enregistrement suivant est pas le dernier enregistrement. 255 données utiles. Si tel est le dernier enregistrement, tous les octets non utilisés sont remplis en répétant le dernier octet de la charge utile. Les codes de caractères

Selon le contexte, PC-BASIC traitera un point dans le contrôle des caractères vont comme un caractère de contrôle ou comme un glyphe défini par le codepage actif qui par défaut est codepage 437. points de & h80 ou plus de code sont toujours interprétées comme un glyphe codepage Code . ASCII

Voici une liste de l'American Standard Code for Information Interchange (ASCII). ASCII couvre uniquement les 128 caractères et définit les plages de points de code et h00- & H1F et & H7F comme des caractères de commande qui ne comportent pas un glyphe imprimable qui leur est assignée. Cela inclut des valeurs telles que le caractère de retour chariot (CR) qui met fin à une ligne de programme.

Dans le cadre de cette documentation, le caractère & H1A (SUB) sera généralement indiquée comme EOF car il joue le rôle de marqueur de fin de fichier dans DOS.

 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F

0_ NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 1_ DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 2_! "# $% & '() * +, - / 3_ 0 1 2 3 4 5 6 7 8 9:;. <? => 4_ @ ABCDEFGHIJKLMNO 5_ PQRSTUVWXYZ [\] ^ _ 6_` abcdefghijklmno 7_ pqrstuvwxyz {|} ~ DEL Codepage 437

Ce tableau montre les caractères qui sont produits par les 256 points de code d'un octet lorsque le DOS Latin USA codepage 437 est chargé, ce qui est la valeur par défaut. points de code & h00 et & h20- & H7E sont fixés, tandis que les autres personnages, ainsi que tous les caractères à deux octets, peuvent être redéfinis en chargeant un autre codepage.

 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F

0_ ☺ ☻ ♥ ♦ ♣ ♠ • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼ 1_ ► ◄ ↕! ¶ § ▬ ↨ ↑ ↓ → ← ∟ ↔ ▲ ▼ 2_! "# $% & '() * +, - / 3_ 0 1 2 3 4 5 6 7 8 9:;. <? => 4_ @ ABCDEFGHIJKLMNO 5_ PQRSTUVWXYZ [\] ^ _ 6_` abcdefghijklmno 7_ pqrstuvwxyz {|} ~ ⌂ 8_ ç ü é A A A A ç ê ë è i i i Ä Å 9_ é æ Æ ó ó ó û ù ÿ Ö ü ¢ ¥ £ ₧ ƒ A_ á í ó ú ñ ñ ª º ¿⌐ ¬ ½ ¼ ¡ «» B_ ░ ▒ ▓ │ ┤ ╡ ╢ ╖ ╕ ╣ ║ ╗ ╝ ╜ ╛ ┐ C_ └ ┴ ┬ ├ ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧ D_ ╨ ╤ ╥ ╙ ╘ ╒ ╓ ╫ ╪ ┘ ┌ █ ▄ ▌ ▐ ▀ E_ α ß Γ π Σ σ μ τ Φ Θ Ω δ ∞ φ ε ∩ F_ ≡ ± ≥ ≤ ⌠ ⌡ ÷ ≈ ° ∙ · √ ⁿ ² ■ scancodes codes d'activation

PC-BASIC utilise scancodes PC / XT, qui proviennent de la 83-clé IBM Modèle F clavier fourni avec le PC IBM 5150. La mise en page de ce clavier était tout à fait distinct de claviers standards modernes avec 101 touches ou plus, mais les touches d'un moderne clavier produire le même scancode que la clé avec la même fonction sur le modèle F. par exemple, la clé (sur un clavier US) produit le \ a été situé à côté de la touche Maj gauche sur le clavier Modèle F et a scancode & H2B. Le (US) touche backslash a encore cette scancode, même si elle est maintenant généralement trouvé au-dessus de la touche Entrée.

Pour compliquer encore les choses, claviers pour différents paramètres régionaux ont leur disposition recartographiée dans le logiciel plutôt que dans le matériel, ce qui signifie qu'ils produisent le même scancode que la clé sur un clavier américain est dans le même emplacement, quel que soit le caractère qu'ils produisent effectivement.

Par conséquent, l'un sur un clavier français produira le même scancode que le Q sur un clavier Royaume-Uni ou des États-Unis. Le document US \ clé est identifié avec la clé qui se trouve généralement en bas à gauche de Enter sur les claviers non américains. Par exemple, sur mon clavier UK ceci est la touche #. claviers américains ont une clé supplémentaire à côté de la touche Maj gauche qui sur le clavier du Royaume-Uni est le \. Par conséquent, alors que cette clé est dans le même emplacement et a la même fonction que le modèle F \, il a un scancode différent.

Dans le tableau ci-dessous, les touches sont marquées par leur fonction sur un clavier américain, mais il faut garder à l'esprit que le scancode est lié à la position, pas la fonction, de la clé. Scancode Key Esc 01 1! 02 2 @ 03 3 # 04 4 $ 05 5% 06 6 ^ 07 7 & 08 8 * 09 9 (0A 0) 0B - _ 0C = + 0D Backspace 0E Tab 0F q Q 10 w W 11 e E 12 r R 13 t T 14 y Y 15 u U 16 i I 17 o O 18 p P 19 [{1A]} 1B Entrez 1C Ctrl 1D S 1F d de D d'un a 1E 20 f F 21 g g 22 h h 23 j J 24 k K 25 l L 26

   27 

' "28` ~ 29 Maj gauche 2A \ |? 2B z Z 2C x X 2D c C 2F v V 2F b B 30 n N 31 m M 32, 34/35 droite du clavier Maj 36 <. 33> * PrtSc 37 Alt 38 espace 39 Caps Lock 3A F1 3B F2 3C F3 3D F4 3E F5 3F F6 40 F7 41 F8 42 F9 43 F10 44 Num Lock 45 Scroll Lock Pause du clavier 46 7 Home 47 clavier 9 Pg Up 49 clavier 8 ↑ 48 clavier - clavier 4A 4 ← 4B clavier 5 4C clavier 6 → clavier + 4E clavier clavier 4F 1 Fin 4D 2 ↓ 50 clavier 3 Pg Dn 51 clavier 0 Ins 52 touches Del 53 SysReq 54 \ |. (non-US 102 touches) 56 F11 57 F12 58 Logo gauche (Windows 104 touches) 5B Right Logo (Windows 104 touches) 5C Menu (Windows 104 touches) 5D ひ ら が な / カ タ カ ナ Hiragana / Katakana (japonais 106 touches) 70 \ _ (106 japonais-clé) 73 変 換Henkan (106 japonais-clé) 79 無 変 換 Muhenkan (106 japonais-clé) 7B 半角 / 全 角 Hankaku / Zenkaku (106 japonais-clé) 29 ¥ | (106 japonais-clé) 7D 한자 Hanja (Korean 103-clé) F1 한 / 영 Han / Yeong (103-clé coréen) F2 \? ° (Brazilian ABNT2) 73 clavier. (Brésil) ABNT2 codes 7E e-ASCII

A côté de scancodes, la plupart des touches portent également une valeur de caractère de la documentation GW-BASIC appelle ASCII étendu. Depuis ce terme est plutôt surchargé, nous utilisons l'abréviation e-ASCII exclusivement pour ces valeurs. Les valeurs renvoyées par la fonction INKEY de $ sont des valeurs e-ASCII.

e codes ASCII sont un ou deux octets de long; codes mono-octet sont tout simplement des codes ASCII alors que les codes à deux octets sont constitués d'un caractère NUL plus un code indiquant la touche enfoncée. Certains, mais certainement pas tous, de ces codes sont d'accord avec les scancodes des touches.

Contrairement à scancodes, codes e-ASCII des touches non modifiées et celles des touches modifiées par Shift, Ctrl ou Alt sont tous différents.

Unmodified, Shifted et codes Ctrled e-ASCII sont reliés à la signification d'une clé, et non son emplacement. Par exemple, l'e-ASCII Ctrl + a sont les mêmes sur un français et un clavier américain. En revanche, les codes Alted sont reliés à l'emplacement de la clé, comme scancodes. La disposition du clavier US est utilisé dans le tableau ci-dessous. Key e-ASCII e-ASCII Maj e-ASCII Ctrl e-ASCII Alt Esc 1B 1B 1B 1! 31 21 00 78 2 @ 32 40 00 03 00 79 3 # 33 23 00 7A 4 $ 34 24 00 7B 5% 35 25 00 7C 6 ^ 36 5E 1E 00 7D 7 & 37 26 00 7E 8 * 38 2A 00 7F 9 (39 28 00 80 0) 30 29 00 81 - _ 2D 5F 1F 00 82 = + 3D 2B 00 83 Backspace 08 08 7F 00 8C Tab 09 00 0F 00 8D 00 8E q Q 71 51 11 00 10 w W 77 57 17 00 11 e e 65 45 05 00 12 r R 72 52 12 00 13 t T 74 54 14 00 14 y Y 79 59 19 00 15 u U 75 55 15 00 16 i I 69 49 09 00 17 o O 6F 4F 0F 00 18 p P 70 50 10 00 19 [{5B 7B 1B]} 5D 7D 1D Entrez 0D 0D 0A 00 8F a a 61 41 01 00 1E s s 73 53 13 00 1F d D 64 44 04 00 20 f F 66 46 06 00 21 g g 67 47 07 00 22 h 68 h 48 08 00 23 j J 6A 4A 0A 00 24 k K 6B 4B 0B 00 25 l L 6C 4C 0C 00 26

   3B 3A 

' "27 22` ~ 60 7E \ | 5C 7C 1C z Z 7A 5A 1A 00 2C x X 78 58 18 00 2d c C 63 43 03 00 2F v V 76 56 16 00 2F b B 62 42 02 00 30 n N 6E 4E 0E 00 31 m m 6D 4D 0D 00 32, <2C 3C.> 2E 3E /? 2F 3F PrtSc 00 72 00 46 espace 20 20 20 00 20 F1 00 3B 00 54 00 5E 00 68 F2 00 3C 00 55 00 5F 00 69 F3 00 3D 00 56 00 60 00 6A F4 00 3E 00 57 00 61 00 6C F5 00 3F 00 58 00 62 00 6D F6 00 40 00 59 00 63 00 6E F7 00 41 00 5A 00 64 00 6F F8 00 42 00 5B 00 65 00 70 F9 00 43 00 5C 00 66 00 71 F10 00 44 00 5D 00 67 00 72 F11 (Tandy) 00 98 00 A2 00 AC 00 B6 F12 (Tandy) 00 99 00 A3 00 AD 00 B7 Accueil 00 47 00 47 00 77 Fin 00 4F 00 4F 00 75 PgUp 00 49 00 49 00 84 PgDn 00 51 00 51 00 76 ↑ 00 48 00 48 ← 00 4B 00 87 00 73 → 00 4D 00 88 00 74 ↓ 00 50 00 50 clavier 5 35 35 05 Ins 00 52 00 52 Del 00 53 00 53 Remerciements Collaborateurs

PC-BASIC ne serait pas exister sans les codes contribuant, signaler les bogues, envoyant des patches, et documenter le comportement de GW-BASIC. Merci à tous!

 Rob Hagemans, auteur principal
   Wengier Wu, des corrections de bugs, des conseils pour le soutien CJK
   WJB, corrections de bugs
   Jan Bredenbeek, des corrections de bugs, des conseils pour le soutien de BASICODE
   Ronald Herrera, les tests, la chasse aux bugs
   Miguel Dorta, les essais, les ports série
   Patrik, les essais, les ports série
   Duane, les essais, les ports série

Épaules des géants

PC-BASIC dépend des projets open-source suivants:

 python
   PyGame
   Simple DirectMedia Layer (SDL)
   NumPy
   PyXDG
   Python pour les extensions de Windows (pywin32)
   pyserial
   pexpect
   ANSI | tuyau

Documentation technique[modifier | modifier le wikicode]

Bâtiment PC-BASIC aurait été impossible sans les immenses quantités de documentation technique qui a été mis à disposition en ligne. Il a prouvé ne pas être possible d'établir une liste complète de la documentation utilisée. Un grand merci à tous ceux qui font de l'information technique disponible gratuitement, et des excuses à ceux dont la contribution que je l'ai pas reconnu ici.

format de fichier tokenised GW-BASIC[modifier | modifier le wikicode]

 Norman De Forest Documentation séminale de jetons GW-BASIC.  Cette documentation a été le point de départ pour le développement de PC-BASIC.
   en ligne décodeur GW-BASIC Dan Vanderkam

format de fichier protégé GW-BASIC[modifier | modifier le wikicode]

 Paul Kocher, Le supplément d'ordinateur cryptogramme 19, American cryptogramme Association, Été 1994

Matériel vidéo

 pages PC vintage de John Elliott
   Les pages de TechHelp Dan Rollins sur la mise en page de mémoire vidéo PC
   Great Blog Nerdly Pleasures Hierophant

Microsoft Binary Format

 contributions de forum par Julian Brucknall et Adam Burgoyne

le format de cassette de données

 L'analyse de Mike Brutman du format de la cassette de données IBM PC
   IBM PC des données de cassette Format documentation de Dan Tobias

BASICODE

 la documentation de Janny Looyenga du format BASICODE
   la documentation du Prof. Dr. Horst Völz du format de fichier de cassette BASICODE

Les ports série

 la documentation de Craig Peacock sur l'interface entre le port série
   tutoriel de Christopher E. Strangio sur la norme RS232
   documentation QB64

Informations techniques sur de nombreux sujets

 Vogons
   forums informatiques de cru Erik S. Klein
   Le site QBasic / QuickBasic Pete Peter Berg

Polices

 pack codepage CPIDOS de Henrique Peron
   La police Uni-VGA Dmitry Bolkhovityanov
   Roman Czyborra, Qianqian Fang et GNU unifont d'autres
   polices DOSBox VGA
   CPI police format de fichier de documentation Andries Brouwer

mappages Unicode-codepage

 Le Consortium Unicode et contributeurs
   Projet GNU
   Aivosto
   Charsets Index Konstantinos Kostis de
   IBM CDRA
   Camellia Masaki Tojo

Bibliographie

 Guide de GW-BASIC 3.23 utilisateur, Microsoft Corporation, 1987.
   IBM Personal Computer Hardware Reference Library: BASIC, IBM, 1982.
   Tandy 1000 BASIC, Guide de référence, Tandy Corporation.
   William Barden, Jr., Graphics and Sound pour les 1000s Tandy et PC Compatibles, Microtrend 1987.
   Don Inman et Bob Albrecht, La Référence GW-BASIC, Osborne McGraw-Hill, 1990.
   Thomas C. McIntyre, BLEU: Langue BASIC Essai de l'utilisateur, 1991, disponible en ligne.

Outils de développement

PC-BASIC est développé en utilisant Git contrôle de code source, gEdit et Atom éditeurs de texte sur un système Ubuntu Linux et hébergé sur GitHub et SourceForge.

Emballage et documentation dépend des projets suivants:

 PyInstaller
   Nullsoft Scriptable Système d'installation
   7-Zip
   Le système GNU de base
   Pygame Subset Tom Rothamel pour Android (remplacé par RAPT)
   LXML
   Réduction

Emulateurs

Ces excellents émulateurs ont été des outils indispensables pour documenter le comportement des différents dialectes Microsoft BASIC.

 DOSBox
   DÉSORDRE
   PCE PC Emulator

Licences PC-BASIC interprète

Copyright © 2013-2016 Rob Hagemans.

Code promo valide chez Source https://github.com/robhagemans/pcbasic .

Ce programme est un logiciel libre: vous pouvez le redistribuer et / ou le modifier selon les termes de la GNU General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la licence, ou (à votre choix) toute version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE; sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION À UN USAGE PARTICULIER. Voir la GNU General Public License pour plus de détails.

Vous devriez avoir reçu une copie de la GNU General Public License avec ce programme; sinon, écrivez à la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. documentation PC-BASIC

Copyright © 2014-2016 Rob Hagemans.

Ce travail est distribué sous licence Creative Commons Attribution-ShareAlike 4.0 License International. Menu de navigation

   français
   Créer un compte Tarifs
   Se connecter 
   Page
   Discussion
   Lire
   Modificateur
   Modifier le wikicode
   Historique
   Accueil
   Aide
   L'Agora
   Requête aux admins
   modifications Récentes 

Liens Utiles

   Outils numérique s
   Participer
   Liste de diffusion
   bavarder
   Ressources
   Revue de presse 

Sur le web

   nuitdebout.fr
   @nuitdebout
   @wiki_nuitdebout
   #NuitDebout
   Facebook
   Diaspora
   Tumblr
   Reddit
   Radio Debout
   TV Debout
   Ordre du jour
   Les questions
   Carte des Rassemblements 

Outils

   Pages liées
   Suivi des pages Liées
   Pages spéciales
   Version imprimable
   Adresse version of this
   Informations sur la page
   Sous-pages
   Dernière modification de cette page L'le 9 août 2016 à 15:07.
   Le contenu is available sous licence Creative Commons paternité partage à l'Identique 3.0 Sauf mention Contraire.
   Le logo Nuit Debout de Sébastien Marchal AINSI Que sa typographie sous licence are Creative Commons BY-NC-ND 4.0.