![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.
он определяется от текущего каталога процесса