Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2017-07

ejecutar un CopyFile

4 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

hfiandor

Estimados colegas:

En una aplicación necesito copiar un fichero .db

Tengo en el uses el FileUtil, el LazFileUtils y el LazUtils.

Hago lo siguiente:

try
    sour:=camino_BD+'\Clasificadores.db';
    sour:=#39 + sour + #39;  //para ponerle single quote
    dest:=camino_BD+'\Copia_Clasificadores.db';
    dest:=#39 + dest + #39;
mensa('sour: '+sour);
mensa('dest: '+dest);
    copyfile(sour,dest);
except
  On E:Exception do
  begin
    ShowMessage(E.Message);
  end;
end;

Hasta aquí, el programa no da error, aunque no copia el fichero.

Consulté el WikiLeaks y trato de hacerlo como se indica.

Si me pueden dar alguna ayuda, voy a aprender y agradecerlo mucho.

Saludos

Ing. Héctor F. Fiandor Rosario

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170711/3a2c66e5/attachment.html>

Reply by email

Maikel Enrique Pernía Matos
to hfiandor
hfiandor wrote 63 lines
Estimados colegas: En una aplicación necesito copiar un fichero .db Tengo en el uses el FileUtil, el LazFileUtils y el LazUtils. Hago lo siguiente: try sour:=camino_BD+'\Clasificadores.db'; sour:=#39 + sour + #39; //para ponerle single quote dest:=camino_BD+'\Copia_Clasificadores.db'; dest:=#39 + dest + #39; mensa('sour: '+sour); mensa('dest: '+dest); copyfile(sour,dest); except On E:Exception do begin ShowMessage(E.Message); end; end; Hasta aquí, el programa no da error, aunque no copia el fichero. Consulté el WikiLeaks y trato de hacerlo como se indica. Si me pueden dar alguna ayuda, voy a aprender y agradecerlo mucho. Saludos Ing. Héctor F. Fiandor Rosario _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es

Héctor:

En una app que hice algún tiempo atrás necesitaba copiar ficheros, por lo que cree un TDialog que mostraba el proceso de la copia, te muestro el procedimiento de la copia, la llamada al procedimeinto isFree asigna el parametro a la variable CanClose evitando que el usuario cierre el dialogo antes de finalizada la copia.

<code>
procedure TfrmProgress.CopyFileDlg(sourcePath, targetPath : string);
var
   source,
   target  :file of byte;
   Buffer   :array[0..4096] of char;
   progress :integer;
   length :longint;
begin
  frmProgress.isFree(false);
  AssignFile(source, sourcePath);
  reset(source);
  AssignFile(target, targetPath);
  rewrite(target);
  length:=FileSize(sourcePath);
  frmProgress.ProgressBar.Max:=length;
  frmProgress.ProgressBar.Min:=0;
  while length > 0 do
  begin
     BlockRead(source, Buffer[0], SizeOf(Buffer), progress);
     length := length - progress;
     BlockWrite(target, Buffer[0], progress);
     frmProgress.ProgressBar.Position :=
frmProgress.ProgressBar.Position + progress;
     frmProgress.Refresh;
  end;
  CloseFile(source);
  CloseFile(target);
  frmProgress.isFree(true);
  frmProgress.Close;
end;
</code>
Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Nestor Echeverría
to hfiandor: Estimados colegas: En una aplicación necesito copiar un fichero .db Tengo en el uses el…

Hola Héctor, buen día.

Aquí abajo te pego una parte de código mostrando como yo copiaba un archivo (esto era una aplicación de control de llamadas en una central telefónica).

Como verás, usaba FileUtil y luego la función CopyFile ( En _edit1.text_ tenía el destino de la copia y el nombre del archivo era fijo: _ctrltel.ctl_).

Espero sirva de algo.

Saludos.

uses
Classes, SysUtils,FileUtil, LResources, Forms, Controls, Graphics, Dialogs,

   Buttons, StdCtrls, ComCtrls, SdpoSerial;
procedure TForm1.Button1Click(Sender: TObject);
var a:boolean;
begin
   SdpoSerial1.Active:=false;
   CloseFile(Flog);
   a:=CopyFile('ctrltel.ctl',Edit1.text);
   if a then showmessage('Exportado satisfactoriamente')
    else showmessage ('Error en la exportación');
    SdpoSerial1.Active:=true;
    Append( Flog )
end;
hfiandor wrote 53 lines
Estimados colegas: En una aplicación necesito copiar un fichero .db Tengo en el uses el FileUtil, el LazFileUtils y el LazUtils. Hago lo siguiente: try sour:=camino_BD+'\Clasificadores.db'; sour:=#39 + sour + #39; //para ponerle single quote dest:=camino_BD+'\Copia_Clasificadores.db'; dest:=#39 + dest + #39; mensa('sour: '+sour); mensa('dest: '+dest); copyfile(sour,dest); except On E:Exception do begin ShowMessage(E.Message); end; end; Hasta aquí, el programa no da error, aunque no copia el fichero. Consulté el WikiLeaks y trato de hacerlo como se indica. Si me pueden dar alguna ayuda, voy a aprender y agradecerlo mucho. Saludos Ing. Héctor F. Fiandor Rosario _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170711/f543a282/attachment.html>

Reply by email

Martin Gomez
to hfiandor: Estimados colegas: En una aplicación necesito copiar un fichero .db Tengo en el uses el…

Héctor,
La función CopyFile no hace raise de error, sólo devuelve un booleano indicando si la copia funcionó.

http://wiki.lazarus.freepascal.org/CopyFile

por otro lado, creo que los #39 son innecesarios (puedo estar equivocado)

2017-07-11 7:20 GMT-03:00 hfiandor via Lazarus-es < lazarus-es en lists.lazarus-ide.org>:

Show quoted text 64 lines
Estimados colegas: En una aplicación necesito copiar un fichero .db Tengo en el uses el FileUtil, el LazFileUtils y el LazUtils. Hago lo siguiente: try sour:=camino_BD+'\Clasificadores.db'; sour:=#39 + sour + #39; //para ponerle single quote dest:=camino_BD+'\Copia_Clasificadores.db'; dest:=#39 + dest + #39; mensa('sour: '+sour); mensa('dest: '+dest); copyfile(sour,dest); except On E:Exception do begin ShowMessage(E.Message); end; end; Hasta aquí, el programa no da error, aunque no copia el fichero. Consulté el WikiLeaks y trato de hacerlo como se indica. Si me pueden dar alguna ayuda, voy a aprender y agradecerlo mucho. Saludos Ing. Héctor F. Fiandor Rosario _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es
​ Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program. ​ ​ *Linus Torvalds* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170711/3f095f87/attachment-0001.html>

Reply by email