Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.acorn.programmer > #6311

Re: How to run cmd line task from within a BASIC program

Date 2022-01-05 07:58 +0000
From Matthew Phillips <spam2011m@yahoo.co.uk>
Newsgroups comp.sys.acorn.programmer
Subject Re: How to run cmd line task from within a BASIC program
Message-ID <4c90eca559.Matthew@sinenomine.co.uk> (permalink)
References <37b525a459.Paul@outlook.com> <53513ba459.harriet@bazleyfamily.co.uk>

Show all headers | View raw


In message <53513ba459.harriet@bazleyfamily.co.uk>
 on 2 Jan 2022 Harriet Bazley  wrote:

> On 1 Jan 2022 as I do recall,
>           Paul Stewart  wrote:
> 
> > I have a little WIMP program I have written in BASIC.
> > As part of the Run file, it runs a *command and out puts results to a 
> > file.  This works fine.
> > 
> > However I would like to be able to run the same command within a procedure 
> > in the program to allow the file to be refreshed.
> > 
> > I have tried using SYS "OS_CLI","ifconfig -a > <Wimp$ScrapDir>.ifinfo"
> > This has the desired effect, being that it sends output of ifconfig -a to 
> > the ifinfo file in the scrap folder.  However the program stops at this 
> > point :(  Having opened a task window, and entered BASIC.  Running the 
> > above SYS command exits BASIC and returns to command prompt.  Obviously 
> > the same is occurring when attempting to run as part of the program and 
> > explains why it just stops without any error.
> > 
> > Is SYS "OS_CLI" the correct command I should be using for this?  Or is 
> > there another equally simple command to use that allows the program to 
> > continue after it has run?
> > 
> I think you probably need to do "SYS Wimp_StartTask" rather than trying
> to use OSCLI.
> 
> See https://www.riscosopen.org/forum/forums/11/topics/1753 , for
> example.

This comes from IfConfig being a separate program rather than being part of
an operating system module.  You can find it in
$.!Boot.Resources.!Internet.bin

The way the Wimp works any task when it is running is essentially
single-tasking and running another program via the command line interpreter
replaces the current program in memory.  That's why you have to ask the Wimp
to do it via Wimp_StartTask.

The WISC OS Wimp is all a big conjuring trick so that you can seemingly
multi-task on an operating system which is little different from the BBC
Micro really.  The low-level stuff like the command line interpreter knows
nothing about multi-tasking.

-- 
Matthew Phillips
Durham

Back to comp.sys.acorn.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

How to run cmd line task from within a BASIC program Paul Stewart <narrowboat-paul@outlook.com> - 2022-01-01 21:10 +0000
  Re: How to run cmd line task from within a BASIC program Harriet Bazley <harriet@bazleyfamily.co.uk> - 2022-01-02 01:06 +0000
    Re: How to run cmd line task from within a BASIC program Paul Stewart <narrowboat-paul@outlook.com> - 2022-01-02 20:29 +0000
    Re: How to run cmd line task from within a BASIC program Matthew Phillips <spam2011m@yahoo.co.uk> - 2022-01-05 07:58 +0000
      Re: How to run cmd line task from within a BASIC program druck <news@druck.org.uk> - 2022-01-05 18:02 +0000
  Re: How to run cmd line task from within a BASIC program Gerph <gerph@gerph.org> - 2022-01-19 16:53 -0800
    Re: How to run cmd line task from within a BASIC program Paul Stewart <narrowboat-paul@outlook.com> - 2022-01-20 19:54 +0000

csiph-web