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

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

Как получить путь к exe файлу своего приложения


Страницы:   1 2

Illin ©   (2004-09-21 11:18:00) 

Как получить путь к exe файлу своего приложения


Tano   (2004-09-22 22:09:00) [1]

Со времен Pascal использую ParamStr(0) - так как более стандартного и надежного нету.
RootAppDir:=ExtractFilePath(ParamStr(0)) - дает искомый путь. Эту ерунду лучше писать в initialize какого-нибудь общего для программы модуля - сборника сервисных функций, который в главном файле проекта должен быть прописан в USES первым (на тот случай, если при инициализации остальных модулей путь нужен).


Stefan   (2004-09-22 10:45:00) [2]

Попробую так (используется в библиотеках + если в проге нет формы, а значит и Application)

// Получить путь к ЕХЕ-файлу
GetModuleFileName(0, Buf, MAX_PATH);

Только не забудь перевести Char (переменная Buf) в String


Рамиль   (2004-09-22 09:03:00) [3]

HF-Trade ©   (22.09.04 7:25) [18]
Запусти приложение
ShellExecute(Self.Handle, 'open', Project1.exe, nil, 'C:\', SW_SHOWNORMAL);
и посмотри что дает в нем GetCurrentDir

Тройки не заслуживаешь, если только с минусом:)


КаПиБаРа   (2004-09-22 07:36:00) [4]

HF-Trade ©   (22.09.04 7:25) [18]
Создай ярлык для приложения. Создай на диске C каталог "Геморой". В поле рабочая папка ярлыка напиши "c:\Геморой".
Теперь для получения гемороя достаточно запустить приложение.

==============================
Человек, любящий жизнь,
не насилует ее своими мыслями.
==============================


antonn   (2004-09-22 07:27:00) [5]

extractFilename(paramstr(0)) - имя
extractfilepath(paramstr(0)) - путь


HF-Trade   (2004-09-22 07:25:00) [6]


> КаПиБаРа ©   (22.09.04 06:29) [17]
> При запуске своей проги получаеш геморой.
> Садись... два...


Хочу триии...
А в чем гимор?


КаПиБаРа   (2004-09-22 06:29:00) [7]

HF-Trade ©   (22.09.04 0:32) [16]
При запуске своей проги получаеш ее директорию.


При запуске своей проги получаеш геморой.
Садись... два...

=======================================
Не могу молчать, когда меня не слушают!
=======================================


HF-Trade   (2004-09-22 00:32:00) [8]

Пример-

procedure TForm1.FormCreate(Sender: TObject);
Begin
Label1.Caption:=GetCurrentDir;
end;
end.

При запуске своей проги получаеш ее директорию.


Defunct   (2004-09-22 00:16:00) [9]

Zhekson   (21.09.04 12:40) [12]
LOL ;)

LOL - Laugh Out Loud

Это не обзывательство, просто признак того что кому-то смешно, а ваши постинги действительно веселят ;)


Dimaxx   (2004-09-21 22:17:00) [10]

GetModuleFilename - так можно получить откуда угодно. Хоть из библиотеки. Подсовываем HInstance и вперед.


ghg   (2004-09-21 13:05:00) [11]

если именно путь то
ExtractFilePath(application.exename)
либо
ExtractFilePath(paramstr(0))


Zhekson   (2004-09-21 12:40:00) [12]

>Ozone ©   (21.09.04 12:28) [10]

Да я и не обижаюсь.

А вообще я тебе вот, что скажу:
Всё нужно делать красиво и подкалывать в том числе, а LOL - абривиатура трёх, не родных, слов, т.е. т(в)ы обозначил, то что понял, что я торможу, а поправить меня не можешь или не хочешь. Не больше, не меньше.

В итоге: Чего т(в)ы добивался своим LOL_ом?


Zhekson   (2004-09-21 12:30:00) [13]

>Sandman25 ©   (21.09.04 12:26) [9]

согласен на 100%. спасибо.


Ozone   (2004-09-21 12:28:00) [14]

Zhekson   (21.09.04 12:13) [8]

И не надо обижаться... :)


Sandman25   (2004-09-21 12:26:00) [15]

[5] Zhekson   (21.09.04 11:59)

Лучше в initialzation засунуть, чтобы не считать заново для каждого объекта.


Zhekson   (2004-09-21 12:13:00) [16]

>Ozone ©   (21.09.04 12:01) [6]

Я ещё не обиделся, т.к. не знаю, что такое LOL. Но всё равно ценю твой талант - помогать людям, а не умничать, как некоторые...

> Рамиль ©   (21.09.04 12:03) [7]

торможу. Спасибо, что не LOL :)))


Рамиль   (2004-09-21 12:03:00) [17]

Zhekson   (21.09.04 11:59) [5]
Это отрывок кода TApplication


Ozone   (2004-09-21 12:01:00) [18]

Zhekson   (21.09.04 11:59) [5]

LOL :)))


Zhekson   (2004-09-21 11:59:00) [19]

>Рамиль ©   (21.09.04 11:52) [4]

Зачем так закручено??? Чем будет отличаться например:

 public
   exe_name: string;

procedure TForm1.FormCreate(Sender: TObject);
begin
exe_name := ParamStr(0);
end;


Рамиль   (2004-09-21 11:52:00) [20]

m52   (21.09.04 11:44) [2]
property ExeName: string read GetExeName;

function TApplication.GetExeName: string;
begin
 Result := ParamStr(0);
end;


Страницы:   1 2

Наверх

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