procedure TForm1.Button1Click(Sender: TObject);
begin
if not RenameFile('С:\Documents and Settings\User\Мои документы\Мои рисунки\Вася',
'С:\Documents and Settings\User\Мои документы\Мои рисунки\Коля')
then ShowMessage('Не найден !');
end;
Как указать путь при переименовании файлов
Код:
По умолчанию диск ( С )
Вопрос :Как указать путь к файлу что бы он не был привязан к определенному
диску (C,D,E...),а только к тому на котором в данный момент запущена система.
функция GetWindowsDirectory. Первая буква пути это и есть путь буква диска, на котором стоит система.
Код:
function GetWindowsDirectory(lpBuffer: PChar; uSize: UINT): UINT;
Функция помещает в lpBuffer путь к системной папке "Windows". Например "C:\Windows"... Извлекаем первый символ, который и будет сисетмным диском загруженной системы.
P.S. Пользуйте поиском по сайту...
Цитата:
функция GetWindowsDirectory. Первая буква пути это и есть путь буква диска, на котором стоит система.
Чуточку опоздал... :)
Что то не пошло...Либо я неправильно объяснил.Мне надо что бы программа установленная,допустим ,на диске С и работала с файлами из этого диска.Если установлена на Е,то и переименовывала файлы на Е.
А... Ну так бы сразу сказали... тогда поможет функция paramstr(0), которая возвращает полное имя программы, из которой эта функция была вызвана.... :)
SergPas если можно немного поподробней ?
Цитата:
SergPas если можно немного поподробней ?
А куда ещё подробней?!
Допустим Ваша программа Project1.exe находится в каталоге "D:\Install\Programs\"... тогда paramstr(0) вернет "D:\Install\Programs\Project1.exe"... Из этой строки извлекаете нужную букву диска...
showmessage('Буква текущего диска - '+ParamStr(0)[1]);
Цитата:
ParamStr(0)[1]
Ну или так...
Так что никаких ухищрений вообще предпринимать не нужно. Т.е. "\Install\Programs\Project1.exe".
Если кого заинтересовал этот вопрос то сейчас код выглядит так:
procedure TForm1.Button1Click(Sender: TObject);
begin
if not RenameFile(ParamStr(0)[1]+':\Documents and Settings\User\Мои документы\Мои рисунки\Вася',
ParamStr(0)[1]+'С:\Documents and Settings\User\Мои документы\Мои рисунки\Коля')
then ShowMessage('Не найден !');
end;
Цитата: andriano
Если не указывать букву диска, то файл по умолчанию подразумевается на том диске, где находится рабочая папка программы.
Так что никаких ухищрений вообще предпринимать не нужно. Т.е. "\Install\Programs\Project1.exe".
Так что никаких ухищрений вообще предпринимать не нужно. Т.е. "\Install\Programs\Project1.exe".
Далеко не всегда. Текущий каталог (относительно которого это условие и соблюдается) может быть неявно сменен вызванными функциями ОС/библиотек.