Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-01-2009
PallyRS PallyRS is offline
Miembro
 
Registrado: nov 2008
Ubicación: Nuevitas - Cuba
Posts: 43
Poder: 0
PallyRS Va por buen camino
Thumbs up Cómo copiar un archivo (Solucionado)

Hola Foro:

Quisiera saber como permitir que los usuarios cuando accionen un botón se copie solamente un fichero determinado, digamos fichero.zip, hacia el lugar que ellos decidan.

Cuando el cuadro de dialogo Open me habre el fichero no se copia.

Gracias.

Última edición por PallyRS fecha: 29-01-2009 a las 19:31:52. Razón: Solucionado
Responder Con Cita
  #2  
Antiguo 16-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Una cosa es abrir el cuadro de diálogo que permita a los usuarios escoger un archivo, y otra copiarlo. Mediante el diálogo "TOpenFile" puedes dar a elegir la ruta del archivo a copiar, y con el diálogo "TSaveFile" podrá determinarse la ruta del archivo de destino. Sin embargo, al final tendrás que usar una función como "CopyFile()" o "CopyFileEx()", una vez tengas las rutas de origen y de destino. Si tienes alguna duda hazla saber.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 16-01-2009
PallyRS PallyRS is offline
Miembro
 
Registrado: nov 2008
Ubicación: Nuevitas - Cuba
Posts: 43
Poder: 0
PallyRS Va por buen camino
Hola dec y al Foro

Pues algo aqui no me funciona, mira lo que tengo:

Código Delphi [-]
if SaveDialog.Execute then
     begin
       CopyFile('C:\EmpreQuiN\Mesaprueba\MesaPrueba.zip',SaveDialog.Files);

¿Cómo es que debe quedar para que funcione?

Gracias

Última edición por dec fecha: 16-01-2009 a las 21:12:05. Razón: Usar las etiquetas DELPHI
Responder Con Cita
  #4  
Antiguo 16-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Si lo haces como dices, debes obtener un error, y, el mismo mensaje de error te estará diciendo algo. Es bien referir los mensajes de errores aquí, cuando preguntamos algo, puesto que esto ayuda a obtener una posible solución. En este caso al menos se trata de que el segundo parámetro de la función "CopyFile" ha de ser del tipo "PChar", y tú estás pasando una propiedad del diálogo que es del tipo "TStrings".

Lo siguiente igual te ayuda a hacerte una idea. Inicia un nuevo proyecto en Delphi, sitúa un botón en el formulario, y, en su "onclick", copia este código, que, podrá y aun deberá refinarse lo que se quiera, pero, ya digo, igual puede valer para hacerte una idea:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  target, destiny: PChar;
begin
  with TOpenDialog.Create(nil) do
  begin
    Title := 'Elige el archivo a copiar';
    try
      if Execute() then begin
        target := PChar(FileName);
        with TSaveDialog.Create(nil) do
        begin
          FileName := target;
          Title := 'Elige dónde copiar el archivo';
          try
            if Execute() then begin
              destiny := PChar(FileName);
              if CopyFile(target, destiny, false) then
                ShowMessage('El archivo se copió correctamente')
              else
                ShowMessage('Ops... no pudo copiarse el archivo');
            end;
          finally
            Free();
          end;
        end;
      end;
    finally
      Free();
    end;
  end;
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 17-01-2009
Bpascal Bpascal is offline
Miembro
 
Registrado: ene 2009
Posts: 14
Poder: 0
Bpascal Va por buen camino
Cita:
Pues algo aqui no me funciona, mira lo que tengo:
CopyFile('C:\EmpreQuiN\Mesaprueba\MesaPrueba.zip',SaveDialog.Files);
deves usar savedialog.filename envez de savedialog.files:

CopyFile('C:\EmpreQuiN\Mesaprueba\MesaPrueba.zip',SaveDialog.FILENAME);
Responder Con Cita
  #6  
Antiguo 17-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Bpascal
deves usar savedialog.filename envez de savedialog.files:

CopyFile('C:\EmpreQuiN\Mesaprueba\MesaPrueba.zip',SaveDialog.FILENAME);
¡Eso ya lo he dicho yo!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 20-01-2009
PallyRS PallyRS is offline
Miembro
 
Registrado: nov 2008
Ubicación: Nuevitas - Cuba
Posts: 43
Poder: 0
PallyRS Va por buen camino
Hola dec, Bpascal & Foro

Gracias por sus respuestas, todas las variantes que probé resultaron correcta, pero aún sigo con la duda....

Con el dialogo de seleccionar ficheros, los usuarios pueden seleccionarme cualquiera. ¿Se podría programar para que solamente apareciaera el Dialogo de Salvar y copiar un fichero determinado?

Gracias
Responder Con Cita
  #8  
Antiguo 20-01-2009
PallyRS PallyRS is offline
Miembro
 
Registrado: nov 2008
Ubicación: Nuevitas - Cuba
Posts: 43
Poder: 0
PallyRS Va por buen camino
Hola Foro:

Gracias a todos, ya solucione el problema. Me ha quedado así.

Código Delphi [-]
procedure TFSalva.DelButClick(Sender: TObject);
var
  Fichero, Copiar: PChar;
begin
  Fichero:='C:\Archivos de programa\EmpreQuiN\MesaPrueba\Datos\MesaPrueba.zip';
  if SaveDialog.Execute then
     begin
       Copiar:=Pchar(SaveDialog.FileName);
       CopyFile(Fichero,Copiar,True);
       ShowMessage('Fichero copiado con exito');
     end;
end;

Lo copié por si le sirve a alguien, y gracias a dec y BPascal
Responder Con Cita
Respuesta



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
Copiar archivo de un fichero Paulao Varios 2 11-04-2008 19:27:13
Ej. Copiar Archivo shulygart Varios 4 16-11-2005 02:36:41
Copiar Archivo john_mvf Varios 2 04-07-2005 20:15:07
copiar un archivo alcides Varios 4 13-05-2005 20:55:50
Copiar un archivo JODELSA Varios 6 27-01-2004 21:40:00


La franja horaria es GMT +2. Ahora son las 06:52:06.


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