FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Hola muchísimas gracias por responder en primer lugar te cuento ecfisa que el código que me pasaste me da error de compatibilidad de tipos en las líneas que contienen
el error es [dcc32 Error] Pagos.pas(85): E2010 Incompatible types: 'PAnsiChar' and 'PWideChar' //// Eso por una parte por la otra nlsgarcia la verdad me funciona lo que me pasaste pero si tocas la pantalla o haces algo mientras copia se tilda la verdad tendría que mirar a ver que pasa pero la copia lo hace bien una pregunta!!! Es posible que mientras copia al directorio de destino le cambie la extencion *.rtf por *.doc desde ya muchas gracias por todo !!!! |
#2
|
||||
|
||||
gdlrinfo,
Cita:
Nelson. |
#3
|
|||
|
|||
Que tal
Significa que se congela deja de tabajar no funciona mas jajajaj y da un error ---> list index out of bounds (4) y no sigue procesando gracias
|
#4
|
||||
|
||||
gdlrinfo,
Cita:
Te comento que en las pruebas realizadas, el código del Msg #3 funciono según lo esperado, sin importar si se mueve o pulsa el formulario Voy a hacer unas modificaciones al código, que incluyan el cambio de extensión a los archivos copiados y en lo que este disponible lo publico. Espero sea útil Nelson. |
#5
|
|||
|
|||
Graciassss
Te agradezco muchísimo tu ayudaaaaa espero entonces tu modificación y desde ya sinceramente muchísimas gracias !!!!! Saludos !!!!!
|
#6
|
||||
|
||||
Cita:
No puedo afirmarlo por que veo que usas una versión de Delphi mas avanzada que la mía, pero intenta de este modo:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
||||
|
||||
gdlrinfo,
Cita:
Cita:
Cita:
Revisa este código: El código anterior en Delphi 7 bajo Windows 7 Professional x32, es la versión 2 del código propuesto en el Msg #3 el cual permite: copiar de forma recursiva todos los archivos de un directorio y subdirectorios fuente a un directorio destino en función de una mascara de copia. Nota: 1- La copia de archivos se hace por medio de un hilo, lo cual permite que la aplicación no se bloque durante el proceso. 2- En el caso de haber archivos en el directorio y subdirectorios fuente con el mismo nombre, estos se copiaran al directorio destino con el mismo nombre más un prefijo (_Número), que indica la cantidad de veces que el archivo se repite, ejemplo: File.txt, File_1.txt, File_2, ... , File_N.txt 3- En el ejemplo, solo puede estar un hilo de copia activo a la vez, esto se puede modificar fácilmente para tener varios procesos de copia activos según se requiera. 4- Por simplicidad de código, solo se incluyo como referencia visual un contador de copia (Copiado XX de YY), que indica el archivo que esta siendo copiado en un momento determinado al directorio destino. 5- Se elimino el uso del componente TFileListBox, mejorando la velocidad de copia y eliminado potenciales problemas de Not Thread Safe. 6- Si no se especifica la extensión de los archivos a copiar (TCopyFiles.FileExt), se copiaran todos los archivos recursivamente del directorio fuente al destino. 7- Si se especifica una nueva extensión (TCopyFiles.FileExtNew), se copiaran todos los archivos recursivamente del directorio fuente al destino con la nueva extensión. Espero sea útil Nelson. |
#8
|
|||
|
|||
Genioooo
Amigoo eres un genio funciona de maravillas muchísimas gracias!!!!!
|
#9
|
|||
|
|||
Buenas
Buenas nlsgarcia como estas quisiera hacerte una consulta, en la búsqueda cuando copio hay algunos archivos que tienen unas siglas que no me interesa copiar, esos archivos son puntuales por ejemplo 4878-rib-jij.rft --> este tiene la sigla RIB y no me interesa copiarlo, el tema es que estuve pensando como evitar copiarlo y lo único que se me ocurre es que a medida que va buscando lo archivos lee una el nombre repasándolo como una cadena de texto y compare, si existe la palabra rib o cam o cac, que son las que no tengo que copiar, pero me da la sensación que se haría extremadamente lento el copiado, crees que puede haber otra forma de hacerlo ? desde ya muchas gracias como siempre !!!!!
|
#10
|
||||
|
||||
gdlrinfo,
Cita:
Pregunto: 1- ¿En que tipo de aplicación esta instalada esta rutina?, ¿Cual es el objetivo de la aplicación?. 2- ¿La aplicación en cuestión es de índole comercial o académica?, ¿En que país es utilizada?. 3- ¿Cual es el promedio de archivos copiados normalmente?, ¿Cual es la frecuencia de uso de la aplicación?. 4- ¿Cual es el tamaño promedio de los archivos a copiar?, ¿Cual es el tiempo promedio de copia de todos los archivos?. 5- La máquina donde se ejecuta la aplicación ¿Es Servidor o Standalone?, ¿Cuales son las características técnicas de la máquina en cuestión a nivel de Procesador, Disco y Memoria?. 6- Si se discrimina los archivos a ser copiados, ¿Cuantas siglas a excluir de la copia deberían ser consideradas?. Espero sea útil Nelson. Última edición por nlsgarcia fecha: 30-09-2014 a las 05:32:43. |
#11
|
||||
|
||||
Cita:
Por ejemplo, si no sabes a que tasa de MB/s se puede saturar el disco, no sabes si lo que haces es o no rapido. Una vez que sabes cual es el techo de desempeño, puedes realmenten empezar a tomar decisiones. En especial, porque la mayor parte del tiempo las rutinas/subsistemas que uses son ya suficientemente rapidos y el problema esta principalmente en la eleccion de las estructuras de datos y algoritmos globales (no locales). Con respecto a tu pregunta: En vez de filtrar lo "invalido", filtro lo *valido*. Como sabes que algo es el dato correcto? Chequea contra eso y no al revez (lo invalido tiene una tendencia hacia el infinito!) Puede ser con una mascara, una expresion regular o contra una BD en memoria (quizas usando un hashtable). Ya que el I/O (todo lo que sea manejo de archivos, sockets, BD, etc) tiende a ser lo mas lento, veraz que lo que sea que hagas en codigo tiene un impacto minimo.
__________________
El malabarista. |
#12
|
|||
|
|||
Buenas
Que tal Nelson:
En cuanto a tus preguntas la primera: 1.- El objetivo del programa es hacer una copia de archivos guardados de un disco a otro no es gran cosa pero si están en varias carpetas y esto antes se hacia a mano simplemente es por simplificar trabajo que nos hacia perder mucho tiempo nada mas . 2.- La aplicación la uso para tareas personales y se usa en argentina. (repito lo anterior solo es para facilitar algunos procesos que a mano son engorrosos) 3.- los archivos promedio son 6.000 a 10.000 la frecuencia es 3 veces a la semana. 4.- los archivos son solo RTF que pesan al rededor de 1mb cada uno, todos los archivos los esta copiando en un promedio de 7 minutos si son al rededor de 10.000 sino no dura mas de 5 minutos.. 5.- La maquina donde de ejecutan son varias y casi todas tienen las mismas prestaciones la mayoría tiene 6gb de ram, micro de 6 núcleos, y discos de 1tb. 6.- si discriminamos hay 5 tipos que no copiaría por ejemplo (rib- cac - cam - rgi - rg) estas, están en el nombre del archivo es decir los archivos que tienen estas siglas no hay que copiarlos por ejemplo un nombre seria algo asi CCO-P-10015-RIB-1880810.RTF ---> este casualmente no es necesario copiarlo. Gracias por tu interés y te agradezco!!! un abrazo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Búsqueda de archivos ordenada por fecha | Faust | Varios | 10 | 26-07-2010 16:43:21 |
Habilitar Boton de Busqueda al enfocar Objetos Especificos | ygkw | API de Windows | 6 | 01-11-2006 15:53:11 |
Busqueda de archivos | jdattoli | OOP | 1 | 26-08-2005 19:44:24 |
Busqueda de Archivos | jorgito | PHP | 7 | 03-08-2005 18:50:04 |
Busqueda de archivos | Nathan | Varios | 1 | 17-03-2004 17:27:38 |
|