![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Расширения файлов [Delphi, Windows]
KreZ0n © (2003-08-14 22:50:00)Подскажит какой функцией или процедурой можно изменить расширение файла? Функции ChangeFileExt и ReplaceFileExt возвращают string. Что с ней делать?
SPeller (2003-08-19 05:05:00) [1]
> Алекс (18.08.03 16:35) [13]
Во-первых, функции RenameFile в KOL нет, а во-вторых, взшляните на её реализацию из SysUtils:
function RenameFile(const OldName, NewName: string): Boolean;
begin
{$IFDEF MSWINDOWS}
Result := MoveFile(PChar(OldName), PChar(NewName));
{$ENDIF}
{$IFDEF LINUX}
Result := __rename(PChar(OldName), PChar(NewName)) = 0;
{$ENDIF}
end;
Алекс (2003-08-18 16:35:00) [2]RenameFile('C:\1111\Picture.ico','C:\1111\Picture.bmp') возвращает Boolean
SPeller (2003-08-18 13:41:00) [3]s := 'C:\1111\Picture.ico';
MoveFile( PChar( s ), PChar( ChangeFileExt( s, '.bmp' ) ) );
И не надо изобретать велосипед.
FoxBox (2003-08-18 10:09:00) [4]
> KreZ0n
Не обязательно делать ASSIGN перед RENAME
ORMADA (2003-08-18 08:46:00) [5]ChangeFileExt(ExtractFileName(Application.ExeName), '_')
смотри Help в дельфях по ChangeFileExt ...
SPeller (2003-08-18 03:03:00) [6]s:=ChangeFileExt('C:\1111\Picture.ico','.BMP');
Assign(f,FileName);
Rename(f,s);
А так ещё короче :))
KreZ0n (2003-08-17 22:59:00) [7]Вот решение, короче.
FileName уже определено
var
s:string;
f:file;
begin
s:='C:\1111\Picture.ico';
s:=ChangeFileExt(s,'.BMP');
Assign(f,FileName);
Rename(f,s);
end;
SPeller (2003-08-17 14:55:00) [8]
> var
> s:string;
> begin
> s:='C:\1111\Picture.ico';
> s:=ChangeFileExt(s,'.BMP');
> end;
>
> в результате s='C:\1111\Picture.BMP'
Точно? А мне кажется он на диске таким же и останется.
KreZ0n (2003-08-16 00:11:00) [9]KPP я знаю эту функцию, но что мне делать с твоим s?
FoxBox (2003-08-15 10:36:00) [10]procedure Rename(var F; Newname:string);
Одно условие: если файл Newname сущствует, ничего не затрется, не переименуется. Так что проверяй, если существует файл с именем Newname, то... сам знаешь чего...
FoxBox (2003-08-15 10:36:00) [11]111
FoxBox (2003-08-15 10:34:00) [12]procedure Rename(var F; Newname:string);
Одно условие: если файл Newname сущствует, ничего не затрется, не переименуется. Так что проверяй, если существует файл с именем Newname, то... сам знаешь чего...
KPP (2003-08-15 10:30:00) [13]Предположим у тебя файл C:\1111\Picture.ico
а тебе нужно изменить расширение на BMP
var
s:string;
begin
s:='C:\1111\Picture.ico';
s:=ChangeFileExt(s,'.BMP');
end;
в результате s='C:\1111\Picture.BMP'
посмотри хелп по ChangeFileExt function
там и пример есть
SPeller (2003-08-15 04:54:00) [14]Что-то типа MoveFile( OldFileName, NewFileName );