comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: How to get the application path
Date: Tue, 24 Jul 2007 07:11:58 -0400
Date: 2007-07-24T07:11:58-04:00	[thread overview]
Message-ID: <ud4yiawe9.fsf@stephe-leake.org> (raw)
In-Reply-To: 1185204459.328520.240930@z24g2000prh.googlegroups.com

Adam Beneschan <adam@irvine.com> writes:

> On Jul 23, 5:34 am, Stephen Leake <stephen_le...@stephe-leake.org>
> wrote:
>> Rangdalf <rangd...@hotmail.com> writes:
>> > Hi,
>>
>> > In C# there is something like Application.startupPath. Is there a
>> > package or function to get this path.
>> > I can get the current directory but I need the application one.
>>
>> In Ada 95, Ada.Command_Line.Command_Name returns the executable name,
>> which usually (not always) has the full path
>
> I really have to question this.  I tried it using GNAT on Linux, and
> (as I expected) Command_Name simply returns whatever was the first
> token I entered on the shell command line---i.e. argv[0] (which is
> what the Ada 95 manual hints that Command_Name should return).

Yes, that is exactly what it does.

I guess in the cases I use it, I always launch a program by specifying
its full path.

That is typically the case for launching from an icon, for example.

> ; that is the application
>> path.
>>
>> There may be a better solution in Ada 2005.
>
> If we assume that Command_Name returns the name of some (executable)
> file that may or may not be a full path name, then
> Ada.Directories.Full_Name (Ada.Command_Line.Command_Name) should
> return the full path, 

Yes, this is the right solution.

> if the default directory hasn't been changed with
> Ada.Directories.Set_Directory.

Why should this depend on the "default directory"? LRM A.16 (71) says
Full_Name returns "the full name of the file". LRM A.16 (47) defines
"full name" as you would expect, with no reference to "default directory".

I'll update my code to use this, so it is more robust.

-- 
-- Stephe



  parent reply	other threads:[~2007-07-24 11:11 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-23  7:20 How to get the application path Rangdalf
2007-07-23 12:06 ` qouify
2007-07-23 12:34 ` Stephen Leake
2007-07-23 15:27   ` Adam Beneschan
2007-07-23 16:27     ` Markus E Leypold
2007-07-24 11:14       ` Stephen Leake
2007-07-24 11:35         ` Markus E Leypold
2007-07-23 16:37     ` Dmitry A. Kazakov
2007-07-24 11:11     ` Stephen Leake [this message]
2007-07-24 11:44       ` Niklas Holsti
2007-07-24 19:33         ` Randy Brukardt
2007-07-24 20:30           ` Niklas Holsti
2007-07-24 22:01             ` Markus E Leypold
2007-07-24 21:56           ` Markus E Leypold
2007-07-26 10:39             ` Stephen Leake
2007-07-30 23:38               ` Markus E.L.
2007-08-02  4:31                 ` Randy Brukardt
2007-08-02 22:23                   ` Markus E.L. 2
2007-07-24 14:07       ` Robert A Duff
2007-07-24 14:58         ` Adam Beneschan
2007-07-25 10:05         ` Stephen Leake
2007-07-24 14:55       ` Adam Beneschan
2007-07-24 15:41         ` Markus E Leypold
2007-07-25 19:13           ` Randy Brukardt
2007-07-23 18:51 ` Georg Bauhaus
replies disabled

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