Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-08-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
extraer informacion de un archivo .txt

buenas tardes compañeros me han pedido que programe un algoritmo que sea capaz de separar ciertos campos de un arcivo .txt los cuales seran insertados en una bd, he estado viendo ejemplos de como hacerlo, pero creo que la estructura de este archivo es un poco mas compleja anexo un fragmento

Código:
To:    Timon Tours                                     Printed on 09-AUG-2010
        MASTIL NO.2 INT 2 XXXXXXXXXXXX                           23:46:15
        PUERTO VALLARTA, JALISCO, MX
        48351
        Fax :
        Email   : XXXXXX
 From:  XXXXXXXXXXXXX
        22 Aerial Place NE
        XXXXXXXXXXXXXXX
        T2E 3J1     Fax : XXXXXXXXX


                         Supplier daily activity report
 Destination : PVR
  COMPONENT ADDED ------------------------------------------------------------
  ----------------------------------------------------------------------------

 Comp. code : PVRTRA  XXXXXXXXXXXXXXXXXXXXX
 Category   : ALLE    Return Transfers to XXXXXXXXXXXXXXXX

 From date :  14-AUG-2010

 No          Booking             Conf Pax name
  1        607872(2)                   MR   NURANEY, NIZAR
                                       MRS  NURANEY, SALMA
                                       MS   NURANEY, NAVIDA
                                       MR   NGUYEN, KHANG QUOC
                                       MRS  VELJI, ZOREEN
                                       MR   VELJI, MEBS
     + CHLD                            MSTR VELJI, IMRAN                  Age:7
     + CHLD                            MISS VELJI, JAIDE                  Age:4

 No          Booking             Conf Pax name
  2        631974(6)                   MR   OGBEBOR, JOSEPH
                                       MRS  OGBEBOR, OYINDAMOLA
     + CHLD                            MSTR OGBEBOR, PAUL                 Age:10
     + CHLD                            MSTR OGBEBOR, JOSEPH OSASUEHI      Age:8
     + CHLD                            MISS OGBEBOR, GABRIELLE            Age:6

    -> 7 PF 14-AUG-10 WS2306 YEG/PVR  DEP 10:45 ARR 16:46
       8 PF 21-AUG-10 WS2307 PVR/YEG  DEP 17:35 ARR 21:36
  ----------------------------------------------------------------------------
alguna idea de como empezar a programarlo, gracias por cualquier comentario
Responder Con Cita
  #2  
Antiguo 12-08-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si los ficheros son siempre de estructura similar, deberás intentar acceder por las zonas que conoces; Es decir buscar aquellas partes de texto que están cerca de lo que necesitas obtener y que siempre son iguales:

* To:
* From:
* Destination :
...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 12-08-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
gracias neftali por el tip intentare programarlo y comento.
Responder Con Cita
  #4  
Antiguo 12-08-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
NO ME FIJE QUE ERA PARA PHP... pero creo que la idea podria servir...

En algun momento de mi vida tube que realizar algo parecido pero en clipper...

Como lo hice en su momento...

1) Defini una tabla que contenia
i) Fila_Del_Campo
ii) Columna de Inicio del Campo
ii) Largo del campo
ii) Tipo del campo
ii) Nombre_Campo
Deberia quedar asi:
Suponiendo que se estan leyendo esto:
Cita:
To: Timon Tours Printed on 09-AUG-2010
MASTIL NO.2 INT 2 XXXXXXXXXXXX 23:46:15
Fila-Columna-Largo-Tipo-Nombre
-------------------------------
2 27 12 TITULO

2) Luego puedes cargar el contenido en un TStringsList y proceder a realizar la busqueda de los datos que se definieron.

Como lo haria yo
Código Delphi [-]

   Lineas.LoadFromFile(fArchivo);
   
   While Not Formato.Eof Do
   begin
          strLinea:=Lineas[formato.fieldbyname('FILA').AsInteger];
          Valor:=Copy(strLinea, Formato.FieldByName('COLUMNA').AsInteger,Formato.FieldByName('LARGO').AsInteger)
         {En valor debe estar el contenido que requieres...}
          Formato.next;
          
   End;



Espero haberte ayudado...
Responder Con Cita
  #5  
Antiguo 12-08-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
gracias cloayza por el comentario pero no se si funcione por que el archivo puede tener n veces las cabeceras y los datos, creo que no podria controlarlo especificando la fila y columna por que las filas, columnas se seguirian aumentando segun el archivo que reciba por lo cual al leer el archivo n+1 ya no coincidirian, a menos que lleve el control de cuantos row he leido (datos de las personas que llegan) y eso se lo aumente al row que tengo guardado en la bd los datos lo probare para verque tal funciona
Responder Con Cita
  #6  
Antiguo 12-08-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Creo que podrias identificar cuando comienza una nueva cabezera y aplicar el algorimo en cada ocacion...

Si todos las cabezeras comienzan con "To:" o buscas un texto unico...Podrias tratar cada bloque de datos como un si fuera un solo archivo...

Saludos
Responder Con Cita
  #7  
Antiguo 23-08-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
hola por fin emepezare a programar esto, saben me he fijado que los encabezados como To:, Printed on, Fax :, Email : etc.... siempre estan en la misma posicion pero no encuentro que funciones de php son las que debo de utilizar para posicionarme sobre estas palabras sabras de alguna guia donde pueda verlas


saludos.
Responder Con Cita
  #8  
Antiguo 15-10-2010
elarys elarys is offline
Miembro
 
Registrado: abr 2007
Posts: 94
Poder: 18
elarys Va por buen camino
yo hice algo parecido con archivos de texto de este tipo en donde respetan un orden y entonces lo tome como si estuviera leyendo una matriz, leia linea por linea y lo iva despedazando, sabiendo que desde el primer caracter al 4 por ejemplo tenia ciertos datos, del 5 al 10 otro dato y asi,

la linea 1 tenia x datos
la linea 2 otros datos y asi.

Y creo que iva utilizando copy en delphi... en php ni idea si abra alguna funcion como esta.
Responder Con Cita
  #9  
Antiguo 16-10-2010
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
gracias elarys ya hace tiempo que solucione el problema con funciones de cadena saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Extraer informacion de un pdf ponchote Varios 2 06-04-2010 20:28:13
Extraer informacion de una web Roger007 Internet 1 15-04-2008 21:02:13
Extraer informacion de un fichero mp3 miguel_e Varios 3 25-09-2007 19:22:22
Extraer informacion de mi aplicacion Cecil Varios 3 07-07-2007 19:11:41
extraer informacion de una tabla kloud C++ Builder 0 05-02-2006 16:21:38


La franja horaria es GMT +2. Ahora son las 21:25:22.


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
Copyright 1996-2007 Club Delphi