[Coco] Fwd: Re: Redirection.
Bill Pierce
ooogalapasooo at aol.com
Fri Apr 3 23:02:48 EDT 2020
Charlie, My "MShell" project is a fine example.
The MShell module reroutes the "stdin" to the pipe and all other modules have "stdout" on the pipe.
Any "Text" output from ANY module/sub-module will follow the pipe to the MShell module and MShell uses it's own HiRez text routine to print to the screen.
Anything received on the pipe that is non-text, is considered a command and routed to MShell's command parser which allows it to handle special graphics and menu commands.
Any data that is non-command is then considered an error and aborted (in theory).
Since MShell is the parent module and set's up the initial module, all modules called (linked, chained, or forked) by the initial module will inherit the initial modules pipes.
I got the whole idea from Mike Knudsen's "UltiMusE3", which uses pipes in much the same way. I expanded Mike's idea and made use of OS-9's modularity and allow multiple modules to be swapped in real time, all based on pipes for communication.
The whole "pipe" system is kind of confusing to get your head around, but once you do, it's not that complicated.
Info on the pipe function can be found in the OS-9/NitrOS9 manual in the ... wait for it... "Pipe" section.
Bill P.
-----Original Message-----
From: coco <coco at jechar.ca>
To: Coco List <coco at maltedmedia.com>
Sent: Thu, Apr 2, 2020 4:37 pm
Subject: [Coco] Fwd: Re: Redirection.
OK I have tried not working so could you send me
three things.
1. A program "A" that produces the output.
2. A program "B" that takes program "A"'s output and
processes it in some way to produce the final output.
3. A OS9 script that illustrates how to use these programs
together.
Don't care about the details whatever is easy.
Just need to see an example to understand the
principals.
Charlie
-------- Original Message --------
Subject: Re: [Coco] Redirection.
Date: 2020-04-02 14:56
From: Dave Philipsen <dave at davebiz.com>
To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
Reply-To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
Nothing special has to be done. It just works.
As long as your programs use STDIN and STDOUT which are the paths
to/from the keyboard and terminal display, they will work with
redirected input/output.
> On Apr 2, 2020, at 11:26 AM, coco at jechar.ca wrote:
>
>
> In os9 one should be able to pipe the output of one process
> into another does anyone have an example of how this works
> for basic09 or can it only be done in another language.
>
> What I want is a program that can accept the text output by
> another program just as if it were typed into a INPUT text$
> statement by a user.
>
> So two questions:
>
> 1. How to design test1.b09 so that you could redirect
> another os9 program such as dir to act as it's input.
>
> 2. Does anything special have to be done so that a program
> test2.b09 can redirect it's output to act as the input for
> test1.b09 at the command line.
>
> Do you have any sample code that shows how I could set this
> up.
>
> Charlie.
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
--
Coco mailing list
Coco at maltedmedia.com
https://pairlist5.pair.net/mailman/listinfo/coco
More information about the Coco
mailing list