Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   copyfile con * (https://www.clubdelphi.com/foros/showthread.php?t=17200)

jonmendi 28-12-2004 14:07:50

copyfile con *
 
hola
alguien me podría decir porque no me funciona el siguiente código?
(el código está en varias líneas para que se entienda mejor)

nombre:= 'FER'+(table1.fieldbyname('campo1').asstring);
nombre1:= pchar('C:\clientes\'+nombre+'20B.*');
CopyFile(pchar(nombre1),pchar(nombre1),true);

Acaso no se pueden usar *-s? Si lo hago sin ellos no me da ningún problema.

Muchas gracias,
y también a todos los que me habéis contestado mis anteriores preguntas.

Un saludo

Neftali [Germán.Estévez] 28-12-2004 15:31:37

Cita:

Empezado por jonmendi
...
CopyFile(pchar(nombre1),pchar(nombre1),true);

Segun ésto, estás intentando copiar un achivo sobre sí mismo. :confused:

NOTA: Utiliza TAGS para el código delphi; Con eso conseguirás que se lea de forma más clara.;)

Edgar++ 28-12-2004 22:35:00

Si tu pregunta es si con esa funcion se pueden copiar varios archivos utilizando el *, la respuesta es no, para hacer eso tenes que copiar uno por uno con algun bucle...

jonmendi 29-12-2004 08:15:57

hola de nuevo!

pues si que el código ese se intenta copiar asimismo. Pero bueno, el correcto era:

nombre:= 'FER'+(table1.fieldbyname('campo1').asstring);
nombre1:= pchar('C:\clientes\'+nombre+'20B.*');
nombre2:= pchar('C:\clientesfijos\'+nombre+'20B.*');
CopyFile(pchar(nombre1),pchar(nombre2),true);

Gracias a ambos, ya me han dicho que parece que no se pueden usar los *-s. Hare algún bucle.
Gracias, y un saludo

roman 29-12-2004 09:09:56

Puedes evitar al bucle usando este procedimiento:

Código Delphi [-]
uses
  ShellApi;

procedure CopyFiles(Source, Dest: String);
var
  FileOpInfo: TShFileOpStruct;

begin
  FillChar(FileOpInfo, SizeOf(FileOpInfo), 0);
  FileOpInfo.wFunc := FO_COPY;
  FileOpInfo.pFrom := PChar(Source + #0);
  FileOpInfo.pTo := PChar(Dest);
  FileOpInfo.fFlags := FOF_SIMPLEPROGRESS;

  ShFileOperation(FileOpInfo);
end;

que usarías así:

Código Delphi [-]
CopyFiles('C:\clientes\' + nombre + '20B.*', 'C:\clientesfijos');

// Saludos


La franja horaria es GMT +2. Ahora son las 02:05:37.

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