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

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

Расширения файлов [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 );


Наверх

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