![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
problemas con la copia *.*
Saludos Gente del Foro, He estado usando los comandos delete File o Copyfile acompañado de *.*, para copiar todo el contenido o borrar todo el contenido de un diskette, y me ha dado errores, hay alguna forma de hacer estas copia o eliminacion usando el wildcard *.* como el dos desde una aplicacion delphi. Por favor caulquier ayuda sabria agradecerla. Hasta pronto
|
|
#2
|
||||
|
||||
|
Prueba esto:
Código:
procedure TForm1.Button1Click(Sender: TObject); var MiDir:String;//Donde está los ficheros MisFicheros:String;//Cadena que contiene el nombre con comodines Rbusqueda:TSearchRec;//Está definida en la unidad SysUtils begin MiDir:='A:\'; MisFicheros:='*.Dbf'; if FindFirst(MiDir+MisFicheros,faanyfile, Rbusqueda)= 0 then begin DeleteFile(Pchar(MiDir+Rbusqueda.Name)); //Borro el primer si Existe //Busco todos los del mismo patrón y los borro While FindNext(Rbusqueda) = 0 do begin DeleteFile(Pchar(MiDir+Rbusqueda.Name)); end; //Ambas funciones devuelven 0 si la búsqueda tiene éxito. end;
__________________
Guía de Estilo de los Foros Cita:
|
|
#3
|
|||
|
|||
|
igual te puede servir un truco que hay en mi web sobre la utilización de FindFirst y FindNext (es el truco 2 y la web en la firma)
|
|
#4
|
||||
|
||||
|
O quizás mejor:
Código:
procedure Tselecdir.borrarClick(Sender: TObject);
procedure borradentro(directorio:string);
var
n:integer;
Rbusqueda : TSearchRec;
begin
n := FindFirst(directorio+'\*.*',faanyfile, Rbusqueda);
while n=0 do begin
if (rbusqueda.Name <> '..') and
(rbusqueda.Name <> '.') then begin
if (rbusqueda.Attr = faDirectory) then begin
borradentro(directorio+'\'+rbusqueda.Name);
rmdir(directorio+'\'+rbusqueda.Name);
end else
deletefile(directorio+'\'+Rbusqueda.name) ;
end;
n := FindNext(Rbusqueda);
end;
end;
var
diractivo:string;
begin
//hago el de defecto el padre, sino.. error I/O16
chdir('..');
GetDir(0,diractivo);
borradentro(DirectLB.directory );
rmdir(DirectLB.directory);
DirectLB.directory := diractivo;
end;
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
![]() |
|
|
|