Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите разобраться с директориями

69K
20 мая 2011 года
GALAVA
10 / / 19.05.2011
Помогите разобраться с директориями.
Есть готовая прога. Открывает .тхт - файлы. Компиляция и последующая установка создают директорию(С:\\Program Files... и т.д.) сама прога копирует файлы в новую директорию, но ссылается на старые файлы(D:\\Новая папка... и т.д. ). Компилятор - Smart Install Maker, но дело видимо в ссылках обращений формы к файлам. Как построить динамическое обращекие проги к cобcтвенной директории?
278
20 мая 2011 года
Alexander92
1.1K / / 04.08.2008
Вызываете GetCurrentDirectory() (или соответствующий .NET-аналог) сразу после запуска и запоминаете возвращаемое значение как рабочий каталог.
69K
20 мая 2011 года
GALAVA
10 / / 19.05.2011
Цитата: Alexander92
Вызываете GetCurrentDirectory() (или соответствующий .NET-аналог) сразу после запуска и запоминаете возвращаемое значение как рабочий каталог.



Благодарю. Все сработало!
Код теперь выглядит так:

char *buf = (char*) malloc(100);
GetCurrentDirectory(100, buf);
Panel6->Caption = buf;
if(ListBox1->ItemIndex==0)
{
RichEdit1->Lines->Clear();
String sd;
sd = buf;

RichEdit1->Lines->LoadFromFile(sd+"\\Books\\Vvedenie.txt");
}
if(ListBox1->ItemIndex==1)
{
RichEdit1->Lines->Clear();
RichEdit1->Lines->LoadFromFile(sd+"\\Books\\Osnovi.txt");
}

69K
20 мая 2011 года
GALAVA
10 / / 19.05.2011
RichEdit1 - отказывается принимать значение типа char в адресной строке, а через строку sd; работает, как ни странно, нормально...
14
20 мая 2011 года
Phodopus
3.3K / / 19.06.2008
Цитата: GALAVA
Как построить динамическое обращекие проги к cобcтвенной директории?


Что понимается под собственной директорией? Рабочий каталог или каталог где программа лежит?

278
21 мая 2011 года
Alexander92
1.1K / / 04.08.2008
Цитата: GALAVA

Код теперь выглядит так:

char *buf = (char*) malloc(100);
GetCurrentDirectory(100, buf);
Panel6->Caption = buf;
if(ListBox1->ItemIndex==0)
{
RichEdit1->Lines->Clear();
String sd;
sd = buf;

RichEdit1->Lines->LoadFromFile(sd+"\\Books\\Vvedenie.txt");
}
if(ListBox1->ItemIndex==1)
{
RichEdit1->Lines->Clear();
RichEdit1->Lines->LoadFromFile(sd+"\\Books\\Osnovi.txt");
}



А где вызов free() после malloc()? Или дальше по коду?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог