Club Delphi  
    FTP   CCD     Enlaces   Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Desplegado
  #1  
Antiguo 02-01-2008
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
mcalmanovici Va por buen camino
Renombrar archivo

Hola gente:
tengo el siguiente problema: estoy ejecutando un archivo .dat desde un servidor remoto, y luego que lo ejecuto lo quiero renombrar a .dat.done.
Para hacer esto utilizo el siguiente código:
Código Delphi [-]
  newName := '\\10.10.30.20 \Iridium\CDRs\CDH99809kkk.dat.done';
  if RenameFile('\\10.10.30.20\Iridium\CDRs\CDH99809kkk.dat', newName)    then
    ShowMessage('newName.dcu renamed OK')
  else
    ShowMessage('newName.dcu rename failed with error : '+ IntToStr(GetLastError));
  CloseFile(Arch);

cuando ejecuto esto en GetLastError me dá el código 32 y por lo tanto no me renombra el archivo que quiero.
No tengo idea que estoy realizando mal. Ya busqué por todos lados en internet y no encuentro solución.

Muchas gracias por anticipado por vuestra ayuda.

Mariano.
Responder Con Cita
  #2  
Antiguo 02-01-2008
Khronos Khronos is offline
Miembro
 
Registrado: abr 2007
Posts: 298
Khronos Va por buen camino
Si el archivo esta en ejecución no lo podrás renombrar, prueba a cerrarlo primero y luego a renombrarlo

Salu2
Responder Con Cita
  #3  
Antiguo 02-01-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Moderador
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.197
marcoszorrilla Va por buen camino
Yo utilizo el componente NMTP que viene con Delphi, me conecto al servidor y luego hago:
Código Delphi [-]
    Try
    NMFTP.Rename(cFichero,EdFichero.Text);
    Except
    ShowMessage('Error al cambiar de nombre al fichero.');
    end;


Y me conecto así:
Código Delphi [-]
procedure TfrExpterminales.btConectarClick(Sender: TObject);
begin
btDesconectar.Enabled :=True;
btListar.Enabled :=True;
btEliminar.Enabled:=True;
btSubir.Enabled :=True;
btDescargar.Enabled :=True;

btConectar.Enabled :=False;

pnEstado.Caption:='Servidor Conectado';
pnEstado.Font.Color:=ClGreen;
pnEstado.BevelOuter:=bvRaised;

NMFTP.Host := HostTxt.Text;
NMFTP.Port := StrToInt(PortTxt.Text);
NMFTP.Timeout := 5000;
NMFTP.UserID := UserTxt.Text;
NMFTP.Password := PassTxt.Text;
  try
  NMFTP.Connect;
  except
  On E:Exception do
  writeln(E.message);
  end;
end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 02-01-2008 a las 15:40:13.
Responder Con Cita
  #4  
Antiguo 02-01-2008
Avatar de Neftali
Neftali Neftali is offline
Aporreador de teclados
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 13.377
Neftali Va por buen camino
Ya tienes suficientes permisos para realizar la operación.
Hay una función que te devuelve el texto asociado a ese error, el problema es que ahora no recuerdo cual...
__________________
Neftalí -web - MyDropBox-
Guía de estilo, Guía alternativa, TAG's.
*Añade tu foto al Club*

(UPDATE) TrackInfo v.1.7b

Contactar con el Clubdelphi


P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 02-01-2008
dec dec is offline
Moderador
 
Registrado: dic 2004
Posts: 11.704
dec Va por buen camino
Hola,

La función a la que se refiere Neftalí creo que es "SysErrorMessage". En todo caso, podría ser que la función "RenameFile" no admitiera archivos "en red"... lo cierto es que trato de encontrar la ayuda de esta función en MSDN y no aparece nada... fuera de la plataforma .NET... Igual no estoy buscando en el lugar adecuado.
__________________
David Esperalta
www.davidesperalta.com
Responder Con Cita
  #6  
Antiguo 02-01-2008
Avatar de Neftali
Neftali Neftali is offline
Aporreador de teclados
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 13.377
Neftali Va por buen camino
A esa me refería; Puedes utilizar:

Código Delphi [-]
  ShowMessage(SysErrorMessage(GetLastError));
__________________
Neftalí -web - MyDropBox-
Guía de estilo, Guía alternativa, TAG's.
*Añade tu foto al Club*

(UPDATE) TrackInfo v.1.7b

Contactar con el Clubdelphi


P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 02-01-2008
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
mcalmanovici Va por buen camino
Gracias.

Cita:
Empezado por Khronos Ver Mensaje
Si el archivo esta en ejecución no lo podrás renombrar, prueba a cerrarlo primero y luego a renombrarlo

Salu2
Gente:
muchas gracias por las contestaciones de todos.
Efectivamente no estaban cerrando el archivo antes de renombrarlo..
Lo cerre antes de renombrarlo y funciono todo bien.

Saludos,
Mariano.
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
renombrar field reina Varios 0 12-07-2006 17:11:01
renombrar un fichero EfrainSanmiguel Varios 4 16-12-2005 20:32:55
Renombrar Tablas mapner Firebird e Interbase 3 17-05-2004 17:23:25
renombrar tablas access hthon Tablas planas 1 13-06-2003 18:33:46
Renombrar directorio acertij022 Varios 2 24-05-2003 05:09:33


La franja horaria es GMT +2. Ahora son las 08:29:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi