viernes, 9 de septiembre de 2011

Genexus 9.0 - Visual Fox - Leer TXT

/*
&Archivo C(200)
&CntError n(10)
&Error  c(100)
&i n(2)
&IdArchi n(10)
&Linea c(350)
*/
&Archivo='navegacion'                       
        Call('gxSelFile',&Archivo ,'C:\scastriotta\KBS\GX90\UTL\DATA002','HTML' ,'Archivo' , , 0 )
DBase   if file([!&Archivo!])
DBase   [!&IdArchi!] = FOPEN([!&Archivo!],0)       
        If &IdArchi  < 0
            Msg('Error al leer el archivo.')
        Else               
DBase       Store fseek([!&IdArchi!]  ,0) to top           
DBase       Do WHILE .NOT. FEOF([!&IdArchi!])
DBase           [!&Linea!] = FGETS([!&IdArchi!])
                if
            (StrSearch(&Linea,'Update on')>0) .or.
                        (StrSearch(&Linea,'Delete from')>0) .or.  
                        (StrSearch(&Linea,'Insert into')>0)
                Do Case
                    Case StrSearch(&Linea,'Update on')>0
                    &NavAcc = 'Update on'
                    Case StrSearch(&Linea,'Delete from')>0
                    &NavAcc = 'Delete from'
                    Case StrSearch(&Linea,'Insert into')>0
                    &NavAcc = 'Insert into'
                EndCase
               
                DBase           [!&Linea!] = FGETS([!&IdArchi!])
                DBase           [!&Linea!] = FGETS([!&IdArchi!])
                    new
                        NavTable=   &Linea
                        NavAcc  =   &NavAcc
                    endnew
                endif
DBase       EndDo
DBase       fclose([!&IdArchi!] )
            If &CntError = 0
                Msg('El archivo se proceso correctamente')
            Else
                &Error = 'El archivo se proceso con errores(' + trim(str(&CntError )) + ')'
                msg(&Error)
            EndIf
        EndIf
Dbase   Else
            Msg('Error al tratar de leer el archivo.')       
Dbase   Endif

No hay comentarios:

Publicar un comentario