Saludos a todos.
Alguno puede facilitarme un ejemplo de los comandos de la TDOSPRN para cortar el papel automaticamente con esta impresora ?
EPSON TM-T2DII Receipt 5
Agradeceré mucho.
//------------------------------------------------------------------------------
FUNCTION CortaPapel(cImpresora)
LOCAL cFileTemp, cString
cFileTemp:= GetTempFilename( Application:CurrentDir() + "Spool" )
cString:= ""
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= chr(27)+"m"
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
IF WriteStream( cFileTemp, cString )
WIN_PrintFileRaw( cImpresora, cFileTemp, "Cut_Paper" )
IF hb_FileExists( cFileTemp )
FErase( cFileTemp )
ENDIF
ENDIF
RETURN ( FError() == 0 )
***************
*CORTA EL PAPEL
***************
Function CortarPapel()
Local IMfac
Local cPorta
Local cPrinter
//LANZAMOS LA IMPRESION DEL CORTE DE PAPEL
cPorta := PrnGetPort()
cPrinter := PrinterPortToName( cPorta )
IMfac := TDosPrn():New(".\dbfs\lamtem\cortapapel.txt")
IMfac:StartPage()
IMfac:say(0,0,chr(027) + chr( 105 ) ) //Corte de papel
IMfac:EndPage()
IMfac:End()
PrintFileRaw( cPrinter, TrueName(".\dbfs\lamtem\cortapapel.txt"), "Corta Papel" )
return nil
//-------------------------------------//
Function CortarElPapel()
LOCAL oPrn
local nLin := 0
local nCol1:=2
local nCol2:=7
local nCol3:=20
local nCol4:=30
local cPort:= "LPT1"
local cPrinter := Alltrim(GetDefaultPrinter())
LOCAL cDoc := cNewFileName("C:\FAP_TEMP\Prueba","TXT")
local nAgregLnsCorte := 5
//Creamos carpeta donde se deposita temporalmente .txt de la factura
if !lIsDir("C:\FAP_TEMP")
lMKdir("C:\FAP_TEMP")
endif
nLin := 2
oPrn := TDosPrn():New(cDoc)
oPrn:StartPage()
oPrn:Say( nLin, nCol1, PADC("ESTA ES EMPRESA DUMMY",38) )
nLin+= 1
oPrn:Say( nLin, nCol1, PADC("Chinandega",38) )
nLin+= 2
oPrn:Say( nLin, nCol1, "Aqui va Codigo, Descrip, Canti, Precio" )
nLin+= 1
oPrn:Say( nLin, nCol1, "Aqui va Codigo, Descrip, Canti, Precio" )
nLin+= nAgregLnsCorte //Agreg lineas en blanco para linea del corte
oPrn:Say( nLin, nCol1, "" )
// Ninguno de estos hace el corte del papel
// CortarPapel( "Chr(27)+Chr(100)+Chr(0)+Chr(27)+Chr(105)" )
// oPrn:say(nLin,0,chr(027) + chr( 105 ) )
oPrn:EndPage()
oPrn:End()
PrintFileRaw( cPrinter, TrueName(cDoc), "CorteP" )
Ferase(cDoc)
return nil
[b]29 86 1[/b] (corte completo)
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 68 guests