para impresoras Matriciales de Punto de Ventas (POS). Hay que instalar la impresora generica solo texto de windows. Deja que windows controle todo... No Importa si es
USB, de Red, Serial o Paralela.
- Code: Select all Expand view
Function PrintDosForWin()
Local cTexto := ""
Local ON_GRANDE := CHR(27) + CHR(33) + CHR(16) // Para Impresoras Epson
Local OFF_GRANDE := CHR(27) + CHR(33) + CHR(01) // Para Impresoras Epson
Local cPrinter := GetDefaultPrinter() // Seleciona la Impresora Por Defecto de Windows
Local CRLF := CHR(13) + CHR(10)
Local cFileName := "texto.prn"
cTexto += "Esta es la primera linea del texto" + CRLF
cTexto += Replicate( "*-", 20 ) + CRLF
cTexto += ON_GRANDE + "LETRAS GRANDES" + OFF_GRANDE + CRLF
cTexto += "Esta es otra linea de texto..." + CRLF
cTexto += PADL( "Izquierza", 40 ) + CRLF
cTexto += PADC( "CENTRALIZADO", 40 ) + CRLF
cTexto += PADR( "Derecha", 40 ) + CRLF
cTexto += PADC( "< Linea Final >", 40, "-" ) + CRLF
If WriteStream( cFileName, cTexto )
// Envia la Impresion al Spool de Windows
PrintFileRaw( cPrinter, cFileName, "Impresion En Formato DOS desde Windows" )
FERASE( cFileName )
EndIF
Return Nil
// Esta Funcion la encontre por ahi...
FUNCTION WriteStream( cFile, cStream )
LOCAL nHandle := FCreate( cFile )
IF FError() <> 0
RETURN( .F. )
ENDIF
FWrite( nHandle, cStream, Len(cStream) )
FClose( nHandle )
RETURN ( FError() == 0 )