Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/37: Рейтинг темы: голосов - 37, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 39
1

Узнать корневой каталог

11.05.2012, 19:39. Показов 7195. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Подскажите пожалуйста как можно узнать программно полный путь где лежит проект? Если я перенесу программу на другой компьютер с другими папками, то прога должа получить полный путь своего нахождения. Буду очень благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2012, 19:39
Ответы с готовыми решениями:

Пользователь вводит каталог и надо узнать в нём размер всех каталогов и подкаталогов
Всем привет!Мужики спасайте. Есть такая задачка. Пользователь вводит каталог и надо узнать в нём...

Корневой каталог
Добрый день! Вот, что надо сделать. Где найти хоть что-нибудь? :cry: Для подтверждения, что вы...

Корневой каталог
Есть 2 -ве папки, вторая вложена в корневую www. В обоих есть хтассе, содержит: Options -Indexes...

Корневой каталог
Ребят подскажите пожалуйста, есть вопрос. Вот предположим в пхп можно указывать путь к файлу не...

15
143 / 122 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
11.05.2012, 20:15 2
есть функция для этого GetCurrentDir - возвращает текущее положение в каталоге
0
2836 / 1645 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
11.05.2012, 20:33 3
ParamStr(0) попробуй.
А GetCurrentDir возвращает текущий каталог, который может и не совпадать с тем, откуда запущена прога.
0
143 / 122 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
11.05.2012, 20:50 4
интересно как эт он не будет совпадать... в таком случае????
C++
1
2
3
4
5
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    AnsiString  CurDir = GetCurrentDir();
}
0
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 39
11.05.2012, 20:50  [ТС] 5
Большое спасибо!
0
67 / 67 / 10
Регистрация: 20.02.2012
Сообщений: 234
11.05.2012, 20:54 6
А зачем всё так сложно, можно сделать всё намного проще.
Писать например не "D:\Program Files\C++ Builder 6\Projects\Моя программа\Музыка Часть-1"
А писать "Моя программа\Музыка Часть-1"
Это как пример.
0
Эксперт С++
8482 / 6149 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2012, 21:00 7
C++
1
Application->ExeName; // Путь к экзешнику
C++
1
ExtractFileDir(Application->ExeName); // Путь к его каталогу
Pirat-SR,не стоит потому как есть неособо умно написанные программы которые запустят твое приложение из своего каталога и оно не будет работать так как не найдет свои файлы в чужем каталоге
1
2836 / 1645 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
11.05.2012, 22:02 8
Цитата Сообщение от QWIPQ Посмотреть сообщение
интересно как эт он не будет совпадать... в таком случае????
Можно запустить через ярлык, в свойствах которого поменять. Можно запустить из командной строки с любым текущим каталогом. Или если сама прога меняла (например, в процессе использования OpenDialog'а).
0
Эксперт С++
8482 / 6149 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2012, 22:16 9
В ярлыке можно и правильно задать рабочий каталог.
Это вопрос опытности пользователя и требований предъявляемых им.
0
143 / 122 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
11.05.2012, 22:16 10
Somebody и что хочешь сказать что будет адрес браться ярлыка??? какая разница как вызывать программу... вызывается она все равно из одного места!!! а место вызова является местом последнего открытого каталога!!!
0
Эксперт С++
8482 / 6149 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2012, 22:20 11
что хочешь сказать что будет адрес браться ярлыка???
Да именно так если в нем не прописан рабочий каталог
0
143 / 122 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
11.05.2012, 23:03 12
ок, рабочий каталог не прописан, откуда вызывается программа??? последнее обращение куда идет???
допустим ярлык на столе а прога в папке, что позже вызывается ярлык или екзе файл???
0
Эксперт С++
8482 / 6149 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2012, 23:04 13
Рабочим каталогом будет рабочий стол,соответсвенно будут проблемы
0
143 / 122 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
11.05.2012, 23:11 14
тогда вопрос с какого??? ведь екзешник вызывается последним и должен возвращаться последним адрес по которому он открыт....
0
67 / 67 / 10
Регистрация: 20.02.2012
Сообщений: 234
11.05.2012, 23:12 15
Цитата Сообщение от Avazart Посмотреть сообщение
Рабочим каталогом будет рабочий стол,соответсвенно будут проблемы
Тоже столкнулся с такой проблемой когда просто копировал Project1.exe на рабочий стол, а когда нажал правой кнопкой мыши на Project1.exe потом "Отправить->Рабочий стол (создать ярлык)", то всё нормально.
0
Эксперт С++
8482 / 6149 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2012, 23:16 16
Ярлык-"программа(процесс)-родитель" его каталог наследуется вашим приложением (дочерний процесс).

Таже ерунда происходит при запуске с помощью ShellExecute() без указания директории.
2
11.05.2012, 23:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2012, 23:16
Помогаю со студенческими работами здесь

Как восстановить корневой каталог?
подскажите как восстановить корневой каталог, видимо проблема в HDD, как я и подозревал раньше

Как установить корневой каталог в FolderBrowserDialog?
Как установить корневой каталог в FolderBrowserDialog из textbox?

Как сделать текущим корневой каталог флешки?
Здравствуйте! Подскажите, как заставить cmd сменить свою директорию на флешку? Хочется...

Сериализация. Запись данных в один корневой каталог
Здравствуйте,столкнулся с такой проблемой,имеется база xml ,заношу данные и когда одна запись ,то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru