OPEN device FOR purpose AS #handle {LEN = n}

Omschrijving:
Het OPEN commando opent de communicatie met een apparaat (device), hetgeen
kan zijn een disk file, een venster (window), een DLL (dynamic link library) of een seriele communicatie poort.
Het commando moet verteld worden wat te openen, met welk doel, en een goed omschreven unieke naam of "handle"
moet teven gegeven worden zodat andere functies toegang krijgen tot het geopende apparaat.
De "Handles" moeten altijd beginnen met het teken "#" om hun als zodanig te herkennen en te
onderscheiden van andere variabelen. De details voor het gebruik van het OPEN statement worden hieronder getoond.
Het zal nodig zijn om naar de individuele topics te verwijzen bij de uitleg van de het gebruik
van OPEN met de verschillende (devices) apparaten. Opmerking: Elke device dat gedurende normale uitvoering van het programma geopend werd moet
weer afgesloten worden voordat het programma eindigd.
Zie CLOSE Het dynamisch veranderen van de handle van een device tijdens de runtime
kan met het commando MAPHANDLE bewerkstelligd worden.

 

device

Het device om te openen mag zijn:

file


Als het te openen device een bestand is, dan moet de device parameter een toegestane disk bestandsnaam zijn.
Dat mag zijn een uitdrukking ingesloten in een string variabele, of een letterlijke (feitelijke) tekst
tussen aanhalingstekens. Voor verdere codering tips van bestandsnamen , zie Path en Filename.
purpose
Bestanden mogen geopend worden voor de volgende doeleinden: INPUT, OUTPUT, APPEND, RANDOM or BINARY access.
Tenslotte geldt de {LEN=n} parameter voor bestanden die voor RANDOM access zijn geopend.
Voor meer informatie over het openen van bestanden, please see File Operations.
gebruik:
open "c:\readme.txt" for input as #f

window

Als het geopende device een venster moet zijn, dan wordt de device parameter het opschrift (caption) van het venster.
De caption is de tekst gevat in titelbalk van het venster.

purpose
Wanneer de device een venster is, wordt de "purpose" parameter de parameter voor het venster type.
Er zijn vele mogelijke soorten van window typen en deze worden uitgelegd in:
Window Types, Window and Dialog Commands, Graphical User Interface.
gebruik (usage):
open "My Cool Program" for window_nf as #main

dynamic link library

Een DLL (dynamic link library) moet worden geopend voordat enige calls gemaakt kunnen worden
naar de functies van de DLL. Als de device een DLL is dan wordt de device parameter de disk filenaam van die DLL,
tussen aanhalingstekens. See CALLDLL.

purpose
De doeleinde is altijd "for DLL" als we OPEN gebruiken voor een dynamic link library.

usage:
open "c:\myprog\sample.dll" for DLL as #sample

of indien we een Windows API call gebruiken:
open "user32" for DLL as #user32

(U ziet dat de DLLs van Windows standaard gevonden worden.
en we zullen zien dat de meeste Windows DLLs standaard reeds geopend zijn
en niet nogmaals geopend hoeven te worden

serial communications port

Deze OPEN statement opent een seriele communicatie poort voor lezen en schrijven.
De device parameter is de naam van de poort die tussen aanhalingstekes is geplaatst
De syntaxis ziet er alsvolgt uit:

OPEN "COMn:baud,parity,data stop{,options}" for random as #handle

purpose
De purpose is altijd "for random" wanneer we OPEN gebruiken om een communicatie poort te openen.
See " Open "Comn..."

Usage:
Voor het openen van com poort 2 met 9600 baud, 8 data bits, 1 stop bit, geen parity,
gebruik men de volgende regel:
open "com2:9600,n,8,1" for random as #commHandle

#handle

De #handle is een unike naam die gegeven wordt aan de device
zodat die ten alle tijde toegankelijk is voor functies uit het programma.
Gebruik vooral duidelijke (begrijpelijke) omschrijvingen voor de handle.
Het moet starten met het teken # en mag elke alpha-numerieke teken bevatten zolang
geen spatie is. Deze speciale (individuele) handle wordt gebruikt als identificatie
van het geopende device in de latere programma statements.
Mogelijke handle namen zijn:

#commHandle
#newfile
#main
#win
#gdi32
#2

Het is mogelijk om de handle naam tijdens de uitvoering (at runtime) te veranderen.
Dat kan door middel van het MAPHANDLE commando.