PDA

Ver la Versión Completa : cambiar extension


paulodb
20-03-2007, 19:49:53
hola gente alguno sabe como poder cambiar la extension de un archivo mediante codigo delphi?

gracias

dec
20-03-2007, 19:59:52
Hola,

Puedes utilizar la función de la unidad "SysUtils" "ChangeFileExt" para obtener la ruta de un archivo "con otra extensión". Si lo que quieres es que los cambios surtan efecto en el propio archivo deberás valerte de la función "RenameFile" combinándola con la anterior, es decir, algo más o menos como esto:


const
archivo = 'C:\archivo.bmp';
begin
RenameFile(archivo, ChangeFileExt(archivo, '.jpg');
end;

delphi.com.ar
20-03-2007, 20:03:08
Si tienes el nombre del archivo en un string, y quieres cambiarle la extención puedes utilizar la función ChangeFileExt definida en la unit SysUtils, y si este archivo es un archivo del FileSystem puedes utilizar RenameFile para cambiar el nombre del archivo:
var
AFileName: TFileName;
begin
AFileName := 'c:\MiArchivo.txt';
Win32Check(RenameFile(AFileName, ChangeFileExt(AFileName, '.dat')));


Saludos!

roman
20-03-2007, 20:09:54
Esos dedos Federico, hay que aceitarlos un poco :D :p

// Saludos

dec
20-03-2007, 20:14:31
Hola,


Esos dedos Federico, hay que aceitarlos un poco


No, no; No es que esté lento Federico sino que yo soy como el rayo y no tengo abuela. :D :D :D

delphi.com.ar
20-03-2007, 20:48:25
Esos dedos Federico, hay que aceitarlos un poco :D :p
Estoy totalmente fuera de forma!! :D...
Creo que mis dos últimas participaciones en hilos nuevos fueron calcadas :D

paulodb
20-03-2007, 20:57:44
La verdad que esta muy bueno para cambiar de extencion pero fijandome bien necesito cambiar por ejemplo un tipo de archivo dbf 4 (dbase IV) que es .dbf a otro tipo dbf 3 (dbase III) que tambien es .dbf. Les agradezco al respuesta
Saludos

egostar
20-03-2007, 22:01:30
oops, Creo que esto da al traste con todo lo anteriormente expuesto.

A esto le llamo yo una pequeña precisión a un problema.:D:confused::eek::rolleyes::cool::mad:


Saludos

paulodb
21-03-2007, 17:35:29
Luego de programar horas y horas y buscar informacion me di cuenta que si reseteo el byte 28 del archivo dbf evitare que salga el error "index not found" (que me indica que los indices del archivo estan estropeados)
Para ello cree una funcion a la cual se le pasa el path o direccion de donde se encuentra la tabla DBF y luego resetea el byte 28.
Buenisismo!:)


procedure PasarDBF3(DireccionTabla : string);
var sArchivo: String ;
F: File of byte;
const Value: Byte = 0;
begin
sArchivo := DireccionTabla;
AssignFile(F, sArchivo);
Reset( F ) ;
Seek(F, 28);
Write(F, Value);
CloseFile( F );
end;