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

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

GetFullPathName


F$ ©   (2010-04-08 17:00:00) 

из относительного пути получаю абсолютный (как я понял это зависит от места где лежит exe проекта).


procedure TMainForm.Button1Click(Sender: TObject);
var
SomeFile : array[0..MAX_PATH-1] of Char;
FullFileName : array[0..MAX_PATH-1] of Char;
FileName : PChar;
begin
SomeFile := '.\Database\New.dat';
GetFullPathName(@SomeFile, // Указатель на строку,содержащую реальное имя файла
  SizeOf(FullFileName), // Размер буфера,который получит полное имя файла(путь+имя)
  FullFileName,          // Указатель на буфер,который получит полное имя файла(путь+имя)
  FileName); // Указатель на буфер,который получит адрес (4 байта),указывающий на имя файла в буфере
  ShowMessage(FullFileName);
end;


Теперь собственно вопрос: как сделать так, чтобы абсолютный путь определялся исходя из заданной мною директории (скажем C:\),  а не места, где лижит exe.


Anatoly Podgoretsky   (2010-04-08 19:41:00) [1]

> Медвежонок Пятачок  (08.04.2010 17:14:06)  [6]

ExpandFileName converts the relative file name into a fully qualified path name.


Anatoly Podgoretsky   (2010-04-08 19:35:00) [2]

> F$  (08.04.2010 17:09:04)  [4]

SetCurrentDir


Медвежонок Пятачок   (2010-04-08 17:14:00) [3]

Функция добавляет к имени текущего каталога имя файла, указанное в параметре FileName.

Неужели?

ShowMessage(ExpandFileName('..\..\Test.txt'))


F$   (2010-04-08 17:13:00) [4]

chDir. тему можно закрывать.


F$   (2010-04-08 17:09:00) [5]


>  ExpandFileName


Функция добавляет к имени текущего каталога имя файла, указанное в параметре FileName.

а указать текущий каталог


Медвежонок Пятачок   (2010-04-08 17:06:00) [6]

делаешь expandfilename своему файлу.
делаешь тоже самое для начального каталога.
вычитаешь строки, получаешь искомый путь от начального каталога


Anatoly Podgoretsky   (2010-04-08 17:05:00) [7]

> F$  (08.04.2010 17:00:00)  [0]

Неверное использование функции, она для этого не предназначена. Тебе нужен ExpandFileName


Медвежонок Пятачок   (2010-04-08 17:01:00) [8]

а он и так определяется не с того места где лежит exe.
он определяется от текущего каталога процесса


Наверх

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