comp.lang.ada
 help / color / mirror / Atom feed
From: Per Sandberg <per.sandberg@sandat.dyndns.org>
Subject: Re: Is there some way of calling a system command?
Date: Tue, 26 Nov 2013 19:24:30 +0100
Date: 2013-11-26T19:24:30+01:00	[thread overview]
Message-ID: <20131126192430.45ba47f3@lufsen.sandat.dyndns.org> (raw)
In-Reply-To: 78030be6-8fe4-4514-85fc-a2627507628f@googlegroups.com

Why not just 
	GNAT.OS_Lib.spawn
or
	GNAT.Expect.*
?
/Persan


On Tue, 26 Nov 2013 07:35:26 -0800 (PST)
tolkamp <f.tolkamp@gmail.com> wrote:

> Op zondag 11 juni 2006 15:19:12 UTC+2 schreef
> jimmaure...@worldnet.att.net:
> > Aldebaran wrote:
> > > I am a newbie Ada-programmer and need help with this topic.
> > > In C one can launch a system command, for instance through
> > >  the following function.
> > >
> > >  system("ls ");
> > >
> > > or in JAVA
> > >
> > >  exec("ls");
> > >
> > > Is there some similar  way of calling a system command in ADA?
> > 
> > The easiest way is to simply call the C system command.
> > The example below was run on my Windows XP system.
> > 
> > with Interfaces.C.Strings;
> > use Interfaces.C.Strings;
> > 
> > procedure System_Example is
> >    function System_Call(Command : Chars_Ptr) return
> > Interfaces.C.Int; pragma Import(Convention => C, Entity =>
> > System_Call, External_Name => "system");
> >    Rc : Interfaces.C.Int;
> > 
> > begin
> >    Rc := System_Call(New_String("dir"));
> > 
> > end System_Example;
> > 
> > The important part of the example is the creation of a function
> > specification I have named System_Call. That function specification
> > take a parameter of Chars_Ptr, which corresponds to a C char *.
> > The function specification is used as the Ada interface to the C
> > system call. The compiler is notified of that association through
> > the pragma Import. That pragma causes the compiler to link the C
> > system command and call it whenever System_Call is called in the
> > Ada code.
> > 
> > Jim Rogers
> 
> Thank you for your reaction.
> For me this is not very understandable.
> Where must I put the directory path to the executable?
> Is this "dir" in  Rc := System_Call(New_String("dir"));?
> 


  parent reply	other threads:[~2013-11-26 18:24 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-11  8:46 Is there some way of calling a system command? Aldebaran
2006-06-11 13:19 ` jimmaureenrogers
2006-06-11 14:35   ` Aldebaran
2006-06-15 14:03   ` Michel Simeon
2006-06-15 14:11     ` Ludovic Brenta
2006-06-15 14:57       ` Michel Simeon
2013-11-26 15:35   ` tolkamp
2013-11-26 16:10     ` adambeneschan
2013-11-26 18:54       ` tolkamp
2013-11-26 19:49         ` adambeneschan
2013-11-26 21:03           ` Dirk Heinrichs
2013-11-27  7:02           ` Georg Bauhaus
2013-11-27 14:10             ` Eryndlia Mavourneen
2013-11-27  8:52           ` Jacob Sparre Andersen
2013-11-27 18:56           ` tolkamp
2013-11-26 18:24     ` Per Sandberg [this message]
2013-11-26 18:58       ` Jeffrey Carter
2013-11-26 20:31         ` Dmitry A. Kazakov
2013-11-26 22:52           ` Randy Brukardt
2013-11-28  5:37         ` Per Sandberg
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox