martes, 28 de agosto de 2012

Archivos ASCII Delimitados


&Archivo = trim(&Directorio) + 'Datos.txt'
&Longitud = &Valor1.Length() + &Valor2.Length() + &Valor3.Length()
//caracter delimitador entre campos
//Si se quiere especificar el caracter de tabulación como separador,
//el valor de este parámetro debe ser el string “\t”.
//variable de tipo character
&fdel= ','
//caracter delimitador de los campos strings
//variable de tipo character
&sdel ='"'
//dfropen Abre un archivo de texto para su procesamiento.
//Es la primera función que hay que llamar para comenzar a leer un archivo de texto.
// devuelve 0 si la operacion es satisfactoria
&i = dfropen(&Archivo, &Longitud, &fdel, &sdel)

//Lee el siguiente registro (línea) del archivo de texto delimitado
// devuelve 0 si la operacion es satisfactoria
&jj=dfrnext( )
do while &jj = 0 .or. &jj=-3
     &i = dfrgnum( &Valor1)
     &i = dfrgtxt( &valor2, &valor2.Length())
     &i = dfrgnum( &valor3 ) 
     &jj=dfrnext( )
enddo
&i = dfrclose( )

referencias:
http://www.gxtechnical.com/gxdlsp/pub/genexus/java/docum/manuals/7.0/java70sp14.htm

2 comentarios:

  1. El uso de las funciones "dfr" es más bien contraproducente para la lectura y escritura de ficheros TXT. Siempre he preferido una rutina propia.

    ResponderEliminar
    Respuestas
    1. te agradezco el comentario,
      no he tenido hasta ahora ningun problema con esas funciones, aunque tambien se puede usar directamente mediante codigo nativo en genexus o mediante librerias externas
      saludos!!

      Eliminar

Si te ha servido de algo mi aportación, deja tu comentario, gracias