Ejemplo de Impresion Tipo DOS

Ejemplo de Impresion Tipo DOS

Postby pablovidal » Tue Apr 07, 2009 3: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: 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 )
 
Saludos,

Pablo Alberto Vidal
/*
------------------------------------------------------
Harbour 3.2.0, Fivewin 17.02, BCC7
------------------------------------------------------
*/
User avatar
pablovidal
 
Posts: 401
Joined: Thu Oct 06, 2005 10:15 pm
Location: Republica Dominicana

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 18 guests