FoxPro/Visual FoxPro - Leer lineas de un txt

 
Vista:

Leer lineas de un txt

Publicado por Carlos Ayala G (169 intervenciones) el 20/03/2007 17:03:53
Hola amigos del FOX.

tengo una pequeña duda nesecito leer lineas de un archivo TXT a fin de formar o crear un nuevo archivo .txt , lo que nesecito es pasar todola la informacion del txt menos las LINEAS EN BLANCO.

tambien me ayudaria saber que comnado se utiliza para contar el numero de lineas de un archivo TXT ojo lineas no BYTES.

Esperando su ayuda muchas 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
sin imagen de perfil

RE:Leer lineas de un txt

Publicado por Hector R. De los Santos (270 intervenciones) el 20/03/2007 21:39:46
Que tal...
Bueno yo haria lo siguiente:
Primero pasaria el archivo.txt de origen a una tabla.dbf con :append form archvo.txt sdf, luego elimino los campos en blanco con delete for tabla.campo=" "
Le aplico su pack.
Ya para generar mi nuevo archivo .TXT lo puedes hacer de varias formas.
Si deseas colocarlo en tabulaciones(posiciones especificas) puedes usar el @ say.
Si solo deseas lineas sin pocisiones especifiacas (linea por linea) usa el comando:
copy to.
Para contar los caracteres que tiene una expresion usa el comando len()
ejemplo:
Esto lo pones en un boton
Exportando de .TXT a DBF
use tabla.dbf EXCLUSIVE &Debes usarla de forma exclusiva para que te procese el Pack.
append from oArchivo.TXT sdf
wait wind "Texto Exportado a Tabla...Organizando Datos..." nowait
delete for tabla.campo=" "
pack
wait wind "Datos organizados." nowait

Ya hasta aqui tenemos la data en tabla.dbf
Esto lo pones en otro boton
Pasando de DBF a TXT (Usando @Say) -Es solo un ejemplo :)
nFile="nArchivo.TXT" & Nombre del nuevo archivo .TXT
SET TALK ON &Para que muestre los resultados
SET DEVICE TO file &nFile &Lo que sale va a el archivo
SET PRINTER OFF &No usaremos el printer
linea = 1 &Para mover las lineas
select tabla &Seleccionamos tabla
scan &Se mantiene en un ciclo mientras haya datos
*Voy a suponer que lo que pase todo lo que sea mayo a 10 caracteres
IF LEN(alltrim(tabla.campo))<10
@ linea,0 say padr(campo,15," ")
linea = linea+1
endif
endscan
SET DEVICE TO PRINTER & Saco mi nArchivo
SET PRINT off
wait wind "Archivo Exportado con Exito..." nowait

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

convertir archivo .rtf a txt

Publicado por omar (31 intervenciones) el 30/07/2014 17:16:37
hola como estas quisiera saber si hay un método para pasar un archivo .rtf a .txt lo necesitaría para contar las cantidad de lineas que posee el archivo o la cantidad de caracteres.
desde ya muchas gracias por el aporte que brindas a este foro.-
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

contar caracteres de un archivo .txt

Publicado por melo (31 intervenciones) el 18/08/2014 21:35:32
hola como estas, quisiera saber si hay algún método para contar los caracteres de un archivo .txt o en su defecto la cantidad de linea que posee un archivo .txt
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

contar caracteres de un archivo .txt

Publicado por Fidel José (558 intervenciones) el 19/08/2014 23:29:47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
lcfile="c:\Carpeta\mk_tbnormal.txt"
lnHand=FOPEN(lcFile)
lnBytes=FSEEK(lnHand,0,2)
IF lnBytes=0
      Messagebox("Archivo vacío")
      FCLOSE(lnHand)
      RETURN
ENDIF
 
FSEEK(lnHand,0,0)
lnLineas=0
DO WHILE !FEOF(lnHand)
       =fgets(lnHand,8192)
      lnLineas=lnLineas+1
ENDDO
=fclose(lnHand)
? lnBytes
? lnLineas
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

contar caracteres de un archivo .txt

Publicado por melo (31 intervenciones) el 21/08/2014 20:05:03
hola buenas tardes. solo quería agradecerte por el aporte que me diste era justo lo que estaba necesitando.
mil gracias DIOS TE BENDIGA.-
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

pasar contenido de un textbox a un archivo .txt

Publicado por celso (31 intervenciones) el 22/09/2014 20:00:50
Hola buenas tardes. ante todo quisiera agradecer todo el aporte que me has brindado en este tiempo, me sirvió mucho.
nuevamente el motivo de mi consulta es el siguiente: tengo un archivo .txt en el cual desde un texbox de mi formulario necesito asignar una variable en la linea 5 del archivo .txt que esta vacía y tengo que completarla manualmente con un nro de control el cual me asiga el form.
mi intención es ejecutar el form y se asigne el nro de control al archivo .txt así no tener que cargarlo manualmente.
gracias de antemano por cualquier ayuda que me puedas brindar.-
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

pasar contenido de un textbox a un archivo .txt

Publicado por Fidel José (558 intervenciones) el 23/09/2014 14:04:36
1) Recuerda que si el valor del textbox es tipo numeric, lo debes converitr a caracter.

2) Puedes utilizar este procedimiento, combinando FileToStr() con funciones de bajo nivel.
2.1) Fijate si donde va el reemplazo tiene una equivalencia, o tag.
Equivalencia: NumeroRegistro = 60
Tag <NumeroRegistro>60</NumeroREgistro>
<NUmeroREgistro=60/> && este caso, en realidad, es igual al primero.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
* Estos pueden ser parámetros de una función o método
lcFile="c:\Theodore\OpenOnShut.txt"	&& archivo txt
lcAdd="512"							&& caracter que se agrega
lnLinePut=5							&& línea que se modifica
lcSep=" = "							&& Separador
 
LOCAL lcString,lnLines,lnHand,lnSep
LOCAL ARRAY galines(1),gasep(1)
 
* Coloca el archivo en una variable String
lcString=FILETOSTR(lcFile)
* Genera un array con el contenido del archivo
lnLines=ALINES(galines,lcString)
* Reemplazo
IF lnLines>=lnLinePut
 
	* Elimina el separador si existe
	lnSep=ALINES(gasep,gaLInes[lnLinePut],1,ALLTRIM(lcSep))
	gaLines[lnLinePut]=gaSep[1]+lcSep+lcAdd
 
	* Vuelve a generar el archivo
	lnHand=FCREATE(lcFile)
	FOR i=1 TO lnLines
		=FPUTS(lnHand,gaLines[i])
	ENDFOR
	=FCLOSE(lnHand)
ENDIF
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

pasar contenido de un textbox a un archivo .txt

Publicado por celso (31 intervenciones) el 24/09/2014 16:07:40
hola buenos dias: como estas gracias por la pronta respuesta ni bien lo aplique a mi formulario y te digo como me fue.
muchas gracias DIOS te bendiga.-
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

no se visualisa los form en pc que no tenga instalado vfp

Publicado por celso (31 intervenciones) el 29/10/2014 03:37:40
Hola buenas noches:
ante todo quisiera agradecerte por todo el aporte que me brindaste en mis consulta tanto vos como el resto del foro. He enriquecido notablemente mis conocimientos gracias a este foro. A la vez te informo qie ya he finalizado con mi aplicación y funciona a la perfección.
lo que si he notado que al instalarlo en otra pc que no tenga instalado el vfp 9 la aplicación simplemente no se ejecuta.
Ya he copiado la libreria de vfp, WindowState =0, WindowsType=0 y show windows=2.
Este es el Prg desde donde genero el ejecutable y lo tengo establecido como principal

SET SAFE OFF
_SCREEN.VISIBLE =.F.
CLEAR EVENT
CLOSE ALL
CLEAR PROGRAM
RELEASE ALL
DO FORM copimodi
set safe off
READ EVENTS

como te comento en la pc que tengo instalado el vfp9 funciona a la perfección. no así en las otras PCs.-
desde ya como te comente agradezco mucho tu ayuda y de todo el foro.-
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

no se visualisa los form en pc que no tenga instalado vfp

Publicado por Fidel José (558 intervenciones) el 29/10/2014 22:42:59
Hola Celso
Prueba esta manera de convocar al form principal y revisa las líneas de configuración.
Las sentencias comentadas (*) no corresponden al lugar donde las pones.
Te recomiendo el uso de ON SHUTDOWN. La rutina de cierre "CierreProg()" que acompaño la colocas en el mismo main.prg como está acá. Este es un ejemplo mínimo.

Recuerda que todos los forms que se abran a partir de "CopiModi" tienen que ser ShowWindow=1 (pudiendo ser Desktop=.t.) o ShowWindow=2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SET SAFE OFF
SET TALK OFF
SET NOTIFY OFF
_SCREEN.VISIBLE =.F.
*CLEAR EVENT
*CLOSE ALL
*CLEAR PROGRAM
*RELEASE ALL
 
ON SHUTDOWN DO CIERREPROG
public CopiModi
DO FORM copimodi NAME CopiModi
READ EVENTS
ENDPROC
 
PROCEDURE CIERREPROG
CLOSE DATA
RELEASE frmCopiModi
CLEAR EVENTS
QUIT

Nota: Más que copiar las librerías te conviene usar el instalador de runtime para la versión que tengas.
Para Visual Fox 9.0 SP2, busca en google "VFP9SP2RT.exe".
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
sin imagen de perfil

RE:Leer lineas de un txt

Publicado por Ernesto Hernandez (4623 intervenciones) el 20/03/2007 23:47:27
revisa las funciones de bajo nivel
FCHSIZE( ) , FCLOSE( ) , FCREATE( ) , FEOF( ) , FFLUSH( ) , FGETS( ) , FPUTS( ) ,
FREAD( ) , FSEEK( ) , FWRITE( )

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:Leer lineas de un txt

Publicado por Plinio (7841 intervenciones) el 21/03/2007 15:52:09
Si a eso se le agrega que con FILETOSTR() se puede llevar a la memoria, que con STRTRANS() se pueden eliminar las lineas en blanco y que con ALINE se pueden copiar todas las lineas a un arreglo (ALEN(arreglo,1) daria la longitud del arreglo en filas)
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