![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Bangladesh |
|
|||
![]() AsBest ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1089 Регистрация: 4.9.2004 Где: Калининград Репутация: нет Всего: 17 |
Вся фишка в том, что я шарю как добыть непосредственно имя файла, который запущен, с полным путём к нему, но мне нужен просто путь, без имени файла в конце для того, чтобы по умолчанию предлогать его для сохранения. как это сделать?
Это сообщение отредактировал(а) I, GyoZ - 5.5.2005, 12:40 -------------------- ок |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
ExtractFilePath(ParamStr(0))
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
ExtractFilePath(const FileName: string) предложенный Alex, возвращает путь к каталогу (включая указание диска и слэш перед именем файла), вырезанный из строки с полным именем файла FileName.
ExtractFileDir(const FileName: string) возвращает путь к каталогу (включая указание диска), вырезанный из строки с полным именем файла FileName. (без последнего слеша) FileName можно передавать как Alex, т.е. ParamStr(0). А можно и так: Application.ExeName -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Зачем дублировать функцию? |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Yanis, и где дубль? Что продублировано? ExtractFilePath и ExtractFileDir или ParamStr(0) и Application.ExeName? Что? Это пары совершенно разных функций! Да, ParamStr(0) и Application.ExeName возвращают одно и то же, но это разные функции! Application.ExeName, например, ты не сможешь использовать в DLL, а ParamStr(0) можно! Так что не нужно этого, нет тут дублирования.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Yanis |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Они возвращают одно значение потому, что Application.ExeName совойство TApplication, значением которого является работа метода GetExeName. А GetExeName реализован вот так:
Так, что ParamStr(0) тождественно равносилен Application.ExeName. К тому же при Delphi преобразует вызов функции ParamStr(0) как непосредственный вызов в асме, т.е. call. А при использовании Application.ExeName вызов этих самых call происходит 2 раза, - но это мелочи =) |
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
"Тождественно равносилен" не означает дубль! Хоть функции приходят к одному и тому же, но это РАЗНЫЕ ФУНКЦИИ! И в некоторых ситуациях (с той же DLL к примеру) замена одной функции другой не будет равносильной.
В общем, не будем засорять тему, если хочешь поспорить, пиши в РМ -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Bangladesh |
|
|||
![]() AsBest ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1089 Регистрация: 4.9.2004 Где: Калининград Репутация: нет Всего: 17 |
всем спасибо, вы мне помогли =)
-------------------- ок |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |