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:
|
|
|
|