![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Hola ecfisa,
Si, conocia los metodos señalados en los puntos 1 y 2. Mi consulta va mas en la línea de lo que indicas en el punto 3, en la parte de identificar cuando se genera una nueva línea en el archivo (en tiempo real) y entonces leer la linea completa y procesarla. Es un buen comienzo el que me indicas asi que empezaré por ahí :-) Gracias ecfisa. |
|
#2
|
|||
|
|||
|
Hola mamcx,
tomo nota del retardo necesario aunque de phyton no tengo ni papa, je,je Al final de la pagina que referencias aparece este codigo, si controlas delphy y phyton podrias orientarme en la adaptación del código?: Muchas gracias. def tail_f(file): interval = 1.0 while True: where = file.tell() line = file.readline() if not line: time.sleep(interval) file.seek(where) else: yield line Which then allows you to write code like: for line in tail_f(open(sys.argv[1])): print line, |
|
#3
|
||||
|
||||
|
paquechu,
Cita:
El código anterior lee de forma continua por medio de un control TTimer cada 100 ms la última línea de un archivo de texto y la adiciona a un control TListBox para su posterior procesamiento. Nota: Este código fue probado con un archivo de texto de 2.000.000 de líneas de forma satisfactoria. Espero sea útil ![]() Nelson. Última edición por nlsgarcia fecha: 23-03-2013 a las 03:26:08. |
|
#4
|
||||
|
||||
|
Seria bueno almacenar cuantas lineas habian en la lectura anterior y luego restarlas, porque un log puede recibir varias lineas nuevas mientras esta el timer esperando.
__________________
El malabarista. |
|
#5
|
|||
|
|||
|
Vaya!, perdonad, estaba enfrascado con el tema de marras todo este tiempo....
Le he echado un vistazo al código. Dices que puedes cargar 2.000.000 de lineas en el tstringlist, aunque no se el tamaño maximo (no de lineas) sino de memoria que se puede cargar con un tstringlist. Lo voy a probar, me preocupa el tiempo de carga y el consumo excesivo de memoria. Muchas gracias :-) |
|
#6
|
|||
|
|||
|
Hola de nuevo,
Os pego el trozo de codigo (aparecen variables declaradas globalmente) en el que estoy trabajando que de momento parece que me funciona aunque seguro que se puede mejorar/optimizar, pero es por donde voy :-)
|
|
#7
|
||||
|
||||
|
Para eso lo mejor puede ser usar el api de windows, que permite colgar un hook o como se llame que "avisa" cada vez que se modifique el archivo que quieras. No me acuerdo que función es, pero existe.
EDITO: Una busqueda en google por "delphi file notification" devielve un motón de entradas parecidas a esta: http://www.delphi-central.com/compon...ification.aspx
__________________
"la única iglesia que ilumina es la que arde" Anonimo |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|