Delphi 7 - Путь к своему файлу

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
The visitor
Сообщения: 1
Зарегистрирован: 04 окт 2010, 22:46

Пожалуйста, подскажите, как в Delphi 7 узнать путь к своему приложению?
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

ParamStr (0) - даст полный путь + имя исполняемого файла (это и в Pascal-е также работает).
Ну а далее разбить полученную строку на части.
Как разбить - если есть системные функции (в Delphi 6, кажется, был в каком-то юните набор подобных фцнкция - выдекления пути, имени, расширения) воспользоваться ими. Если нет, то самому написать небольшую функцию. Принцип такой - ищем первый С КОНЦА символ '\'. Все, что до него - это путь, все, что после нее - имя файла.
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Все еще проще )))
ShowMessage( application.ExeName ) - здесь и путь и имя файла

ExtractFilePath(application.ExeName) - Будет только путь.
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

Dr_Grizzly писал(а):Все еще проще )))
Где ж проще, если ParamStr - стандартная библиотечная функция не только Delphi, но и даже TurboPascal.
application.ExeName - здесь и путь и имя файла
application.ExeName - Будет только путь.
Фантастиш. Два идентичных выражения в разных случаях возвращают разные результаты? Принимает телепатический сигнал от пользователя?
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

BBB писал(а):Где ж проще, если ParamStr - стандартная библиотечная функция не только Delphi, но и даже TurboPascal.

Фантастиш. Два идентичных выражения в разных случаях возвращают разные результаты? Принимает телепатический сигнал от пользователя?

Ну что ж Вы так утрируете ))) Функция ExtractFilePath( ) - возвращает только путь к файлу. Т.е. эта функция избавляет пользователя писать собственную функцию по извлечению пути к файлу. А application.ExeName - как раз содержит путь и имя файла полностью.
Раз уж пользователь запросил для Дельфи7, я и дал полный развернутый с примером вариант.

ShowMessage(application.ExeName) - здесь и путь и имя файла

ShowMessage(ExtractFilePath(application.ExeName)) - Будет только путь.

ExtractFileName( <полный путь с файлом> ) - вернет только имя файла с расширением.
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

Виноват, использование ExtractFilePath я проглядел, читал невнимательно.
Но, собственно, основной "спор" не об этом.
Я о том, как получть полное имя исполняемого файла.
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Ничего ;) Бывает )))
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
Ответить