La Web del Programador: Comunidad de Programadores
 
    Pregunta:  46508 - IMPORTAR ARCHIVOS DE TEXTO DE ANCHO FIJO A UN DATAWINDOWS
Autor:  Edwin Arteaga Chavez
Hola, por favor alguien me podrìa dechir como importar archivos de texto de ancho fijo a un datawindows...gracias

  Respuesta:  Luis Macias
Buenas!!!

Existen dos maneras:

1) El codigo mas sencillo a implementar (para mi gusto por la posibilidad de jugar con los datos) es abriendo un archivo (FILEOPEN) y dandole lectura secuencial (FILEREAD), luego obtienes cada columna de tu archivo "partiendo" el renglon leido en cada columna fija
ls_col1 = MID (ls_renglon, 1, 20)
ls_col2 = MID (ls_renglon, 21, 20)
ls_col3 = MID (ls_renglon, 41, 20)

Asi para cada columna que involucre un renglon.

Luego insertas en tu DW
ll_ren = dw.InsertRow (0)

Para terminar metiendo los datos en el renglon insertado.

dw.SetItem (ll_ren, 'col1', ls_col1)
dw.SetItem (ll_ren, 'col2', ls_col2)
dw.SetItem (ll_ren, 'col3', ls_col3)

Y listo.
esto obvio es metiendole codigo a patin a un evento que va a ser el encargado de realizar la lectura.

2) Utilizando el metodo ImportFile del datawindow

dw.ImportFile
que recibe 6 parametros:
a) Archivo: Nombre y ruta del archivo a importar
b) Renglon de inicio: A partir de que renglon del archivo comenzara a leer (default 1).
c) Renglon de fin: Hasta que renglon del archivo leera (default fin de archivo)
d) Inicio columna: A partir de que columna en tu archivo comenzara la importacion (default 1)
e) Fin columna: Hasta que columna realizara la importacion (el default es el numero de columnas del archivo).
f) Inicio columna dw: A partir de que columna en el DW metera la informacion.

Cabe aclarar que este metodo yo casi nunca lo utilizo dado que no es tan versatil para realizar el manejo de la informacion. Tambien ten en cuenta que solo puedes leer archivos TXT separado por tabuladores y (creo) BDF!

Saludos!