Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Имя запускаемого файла. [D7, WinXP]


Gear ©   (2005-07-22 11:05:00) 

Добрый день! Подскажите как узнать в запущенной консольной программе узнать имя её exe-файла?


Gear   (2005-07-22 14:44:00) [1]

да...сорри сглючило ..всё работает, спасибо!


Ботвин Дмитрий   (2005-07-22 14:43:00) [2]

Да вы чё? код

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

begin
writeln(ParamStr(0));
end.

рабочий!!! Я сам тока что проверил :-)))


alpet   (2005-07-22 13:40:00) [3]

Насчет числа 395 загадка, т.к. MAX_PATH = 260.


alpet   (2005-07-22 13:35:00) [4]

Глянул в MSDN - GetModuleHandle вобщем не нужно, заместо него 0.


alpet   (2005-07-22 13:34:00) [5]

Fay ©   (22.07.05 13:31) [11]
Фиг знает, скопировал из имеющегося источника программ. Может в ранних осях это бы предел на "длинное имя файла" + "путь к нему".


Fay   (2005-07-22 13:31:00) [6]

2 alpet ©   (22.07.05 13:02) [10]
395 - Это что ?


alpet   (2005-07-22 13:02:00) [7]

[2] - лучший из возможных вариант.
Еще можно так (ala WinAPI):

function ExeName: string;
var
  pstr: array [0..395] of char;
begin
GetModuleFileName (GetModuleHandle (0), pstr, 396);
result := pstr;
end;


Digitman   (2005-07-22 12:53:00) [8]


> консольной


а какая разница, консольная она у тебя или не консольная ?

надо понимать, если бы не консольной она была, то решение тебе известно ?


Чапаев   (2005-07-22 12:27:00) [9]

> Лишнее
ReadLn? Лишнее. Но для таких горе-писателей без него -- никак.


R768   (2005-07-22 12:17:00) [10]

GetModuleFileNameStr
??


Ботвин Дмитрий   (2005-07-22 12:09:00) [11]

ExtractFileName(Application.ExeName) не катит?


Anatoly Podgoretsky   (2005-07-22 11:59:00) [12]

Чапаев ©   (22.07.05 11:42) [4]
Лишнее


Чапаев   (2005-07-22 11:42:00) [13]

Сисутилсы зачем?
В конце ReadLn поставь...


GLFox   (2005-07-22 11:39:00) [14]

Что значит ничего... Так не бывает.


Gear   (2005-07-22 11:34:00) [15]

program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils;

begin
 writeln(ParamStr(0));
end.

ничего не выводит :(


GLFox   (2005-07-22 11:14:00) [16]

ParamStr(0)


Наверх

Титульная страница Поиск, карта сайта Написать письмо