FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ejemplo de Impresion Tipo DOS
Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Ejemplo de Impresion Tipo DOS
Posted: Tue Apr 07, 2009 03:48 PM
Saludos este es un pequeño ejemplo de como he implementado la impresion
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 (fw): Select all Collapse
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 )
Saludos,



Pablo Alberto Vidal

/*

------------------------------------------------------

Harbour 3.2.0, Fivewin 17.02, BCC7

------------------------------------------------------

*/

Continue the discussion