[Coco] multiple windows on a screen in Basic09

Bob Devries devries.bob at gmail.com
Thu Jan 14 20:19:54 EST 2010


Hi Wayne,

Have you thought about using CWArea in Basic09 to change the apparent window
you're writing to? At first I though that CWArea would clear the winow when
it is called, but that doesn't seem to be the case.

I'll come up with an example RSN.

Regards, Bob Devries

--
Besides a mathematical inclination, an exceptionally good mastery of one's
native tongue is the most vital asset of a competent programmer.

Edsger W.Dijkstra, 18 June 1975

----- Original Message -----
From: "Wayne Campbell" <asa.rand at gmail.com>
To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
Sent: Friday, January 15, 2010 9:20 AM
Subject: Re: [Coco] multiple windows on a screen in Basic09



> Hi Bob,

>

> The error is in the OPEN statement. You are opening #wpath1 and #wpath2

> both to /w1. #wpath2 needs to be /w2.

>

> Wayne

>

> ----- Original Message -----

> From: "Bob Devries" <devries.bob at gmail.com>

> To: <coco at maltedmedia.com>

> Sent: Thursday, January 14, 2010 1:53 PM

> Subject: [Coco] multiple windows on a screen in Basic09

>

>

>> Hi all,

>>

>> I have been trying to emulate what Wayne Campbell is trying to do, that

>> is, to have two active windows on a single screen using Basic09.

>>

>> Now I know that this is possible, since there was an example shell script

>> on the original OS9 System disk called "window.glr4". This script

>> produced three active windows on a graphics screen, and opened a shell in

>> two of them.

>>

>> I'm trying to emulate this in Basic09, but so far, no luck.

>>

>> Here's what I have:

>>

>> PROCEDURE twowin

>> DIM x:INTEGER

>> DIM a$:STRING[80]

>> DIM wpath1,wpath2:BYTE

>> OPEN #wpath1,"/w1":UPDATE

>> OPEN #wpath2,"/w1":UPDATE

>> RUN gfx2(wpath1,"DWSet",2,0,0,80,20,0,1,1)

>> RUN gfx2(wpath2,"DWSet",0,0,21,80,4,2,3)

>> RUN gfx2(wpath1,"Select")

>> PRINT #wpath1,"Output window"

>> RUN gfx2(wpath2,"Select")

>> PRINT #wpath2,"Input window"

>> INPUT #wpath2,"Type a line",a$

>> RUN gfx2(wpath1,"Select")

>> PRINT #wpath1,a$

>> RUN gfx2(wpath2,"Select")

>> RUN gfx2(wpath2,"CurXY",0,0)

>> RUN gfx2(wpath2,"Clear")

>> FOR x=1 TO 10000

>> NEXT x

>> RUN gfx2(wpath2,"DWEnd")

>> RUN gfx2(wpath1,"DWEnd")

>> CLOSE #wpath2

>> CLOSE #wpath1

>> END

>>

>> The code when run, gives an error 184, "Window already defined". I have

>> also tried 255 as the first parameter (window type), to no avail.

>>

>> According to the Basic09 manual, the use of 0 and 255 are special case

>> window types, "0" specifies the current screen, and 255 "Current display

>> screen. Use when putting several windows on the same physical screen"

>> (Basic09 Reference, page 9-34)

>>

>> Has anyone else ever tried this? Since it's possible using a shell

>> script, in my view it _should_ be possible using Basic09.

>>

>> Regards, Bob Devries

>>

>> --

>> Besides a mathematical inclination, an exceptionally good mastery of

>> one's native tongue is the most vital asset of a competent programmer.

>>

>> Edsger W.Dijkstra, 18 June 1975

>>

>> --

>> Coco mailing list

>> Coco at maltedmedia.com

>> http://five.pairlist.net/mailman/listinfo/coco

>

>

> --

> Coco mailing list

> Coco at maltedmedia.com

> http://five.pairlist.net/mailman/listinfo/coco





More information about the Coco mailing list