Imprimir a un archivo de Texto

Hola Expertos
Necesito saber como imprimir una factura hecha en un sistema hecho en visual fox pro 6.0, para que no vaya al impresor si no a un archivo de texto.
De antemano
Muchas Gracias
Respuesta
1
Tienes varias opciones: La más popular es como sigue:
set printer to 'c:\factura.txt'
set device to printer
@01,01 say 'un dato'
@02,01 say 'Otro dato'
set printer to
set device to screen
Con esto el sistema no imprimirá la salida de @say sino simplemente creara el archivo de texto factura.txt.
Luego este archivo puedes manipularlo como quieras.
Otra opción es crear el archivo de texto con la función Fcreate(), fptus(), fclose() pero es manual, no interviene la impresora, si utilizas @say es tu opción, si necesitas ejemplo de las funciones fcreate() y compañía me avisas.
Experto agradezco mucho tu ayuda, pero no se mucho de programación en visual fox, y no tengo el programa fuente del mismo.
Ahora mi pregunta seria... puedo emular la creación de un archivo de texto como si fuera una impresión normal.
Este es una Ejemplo de lo que necesito que haga.
%!
(factura.jdt) STARLM
FECHA1!09/09/99
CORREL!000000032
FECHA1! 23/02/2006 FECHA DE INICIO DEL CERTIFICADO
FECHAE!09/10/09
CLIENT!sClienteCorporacionNombre ! sClienteOrigen !sContacto
DETALL! sCodigoBarrasAlm ! sCodigoBarrasVenta!sArticulo ! nCantidad !sDescripcion ! nPrecioUnitario !nDescTotalLinea !nTotalGeneral
DETALL! 0000999999999999 ! 0999999! CAJA ! 34 ! ARROZ ! 2.00 ! 0.00 ! 68.00
DETALL! 0000999999999999 ! 0999999! CAJA ! 34 ! ARROZ ! 2.00 ! 0.00 ! 68.00
DETALL! 0000999999999999 ! 0999999! CAJA ! 34 ! ARROZ ! 2.00 ! 0.00 ! 68.00
DETALL! 0000999999999999 ! 0999999! CAJA ! 34 ! ARROZ ! 2.00 ! 0.00 ! 68.00
DETALL! 0000999999999999 ! 0999999! CAJA ! 34 ! ARROZ ! 2.00 ! 0.00 ! 68.00
DETALL! 0000999999999999 ! 0999999! CAJA ! 34 ! ARROZ ! 2.00 ! 0.00 ! 68.00
DETALL! 0000999999999999 ! 0999999! CAJA ! 34 ! ARROZ ! 2.00 ! 0.00 ! 68.00
DETALL! 0000999999999999 ! 0999999! CAJA ! 34 ! ARROZ ! 2.00 ! 0.00 ! 68.00
totals! Sumas ! Exentas ! Iva ! suma_total
%%Eof
Muchas Gracias por tu tiempo
Si, justamente el ejemplo anterior que te envíe hace eso, en vez de imprimir datos a la impresora los envía a un archivo normal.
El comando @say funciona de la sigt forma.
@fila, columna say 'Hola'
Fila y columna debes especificarle como si fuera una matriz la pantalla o la hoja, el texto 'hola' entre comillas (simples o dobles no hay problema) le indican que es un string o texto, si quieres concatenar dos valores debes transformarlo a texto, por ej.
@10,2 say 'Total de la Factura :'+str(xTotalFactura)
Str() es una función que transforma una variable del tipo numérico a carácter.
Si necesitas más documentaciones sobre estos comandos puedes consultar la ayuda de foxpro o me avisas.
Gracias amigo, pero no se mucho de Visual Fox Pro, y el programa ya esta compilado y no se mucho de programación.
Saludos
Muchas gracias por tu tiempo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas