Power Builder - Ayuda con Archivo Plano

 
Vista:

Ayuda con Archivo Plano

Publicado por Alejandro (1 intervención) el 05/05/2004 18:12:47
Saludos.
El problema es el siguiente. Tengo unos archivos planos con datos de unas tablas, están separados por tabulación. Lo que necesito hacer con estos archivos planos es recorrerlos y en ciretos datos, cambiarlos por otros.

Como puedo hacer para importar estos datos a un datawindow de forma dinámica? o sea, que los datawindows se vayan creando con la misma estructura de esos archivos planos.
O existe otra forma mas óptima de hacer esto?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Importar archivo plano o excel a DW

Publicado por Oscar (1178 intervenciones) el 05/05/2004 20:00:01
Hace algún tiempo se mostró un ejemplo para importar todos los registros de un archivo de excel a un DW en:

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=73&texto=Power+Builder&n1=162894&n2=1&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

El invento también funciona para los registros de un archivo plano. Sólo debes cambiar la línea donde especifica el tipo de archivo a buscar con el Browse. Es decir, tan solo cambiar la extensión: xls por txt:

IF GetFileOpenName ( "Open File", ls_pathname, ls_filename, "XLS","Excel Files(*.xls),*.xls" ) < 1 THEN Return

Cambiar por:

IF GetFileOpenName ( "Open File", ls_pathname, ls_filename, "TXT","Text Files(*.txt),*.txt" ) < 1 THEN Return

Todo lo demás, debes dejar EXACTAMENTE IGUAL...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Archivo Plano

Publicado por Ricardo (1957 intervenciones) el 06/05/2004 22:36:27
Hola que tal:

Tambien pudes utilizar las instrucciones FileOpen para abrir el archivo plano, con li_char = FileRead(archivo, linea) obtienes la linea del primer registro del archivo, para recorrer todo el archivo es como los cursores, creas un do while li_char <> - 100 para saltar al siguiente registro lo colocas antes del loop del do while la misma linea para obtener el siguiente registro como el fetch, es decir li_char = FileRead(archivo, linea).
para mayor referencia sobre los comandos consulta la ayuda.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Archivo Plano continua

Publicado por Ricardo (1957 intervenciones) el 06/05/2004 22:52:50
La estructura seria:

FileOpen(archivo)
li_char = FileRead(archivo, linea)
do while li_char <> - 100
// obtienes los datos
codigo = Long(mid(linea, 8,10))
nombre = mid(linea,11,30)
li_char = FileRead(archivo, linea).
// lo insertas en tu dw
dw_1.SetItem(row, 'campo', valor)
loop

Ahora si, suerte.
PS. para cerra el archivo FileClose(archivo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Archivo Plano

Publicado por Pedro López (68 intervenciones) el 07/05/2004 15:21:08
Si los campos están separados por tabuladores, puedes utilizar la función ImportFile de las Datawindows.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar