Page 1 of 1

display de precios

Posted: Tue Jan 19, 2016 5:33 am
by Loren
Compañeros, buenos días:

¿Alguien sabe como se controla y gestiona un display de precios, tipo supermercado, donde el cliente ve en tiempo real el precio de cada artículo y el importe total? Van conectados al puerto LPT1 o incluso al puerto USB del TPV. Entiendo que se controla mediante secuencia de ESC, tipo CHR

¿Algún pequeño ejemplo orientativo, por favor?

Gracias.
LORENZO.

Re: display de precios

Posted: Wed Jan 20, 2016 2:20 am
by Willi Quintana
Hola Lorenzo, lo hacia de este modo, con un visor lcd conectado el puerto com1..

Code: Select all

..
VisorLCD(cProducto, cCosto)
..

//--------------------------------------------------------------------
Function VisorLCD(vLinea1,vLinea2,vModo)
local cDcb, nBytes, vCade
local nComm, nError, oComx, lVisorLcd, oPrn, cNumEst, vComx, cQCom
DEFAULT vLinea1 := "BIENVENIDOS A"
DEFAULT vLinea2 := _DELEN3(oApp:cMaster)
DEFAULT vModo := 0

Return .f.

vComx := "COM1"
vCade := Space(20)

vLinea1 := SubStr(vLinea1,1,20)
vLinea2 := SubStr(vLinea2,1,20)

If ( nCOMM := OpenComm(vComx,1024,128 )) <> 0
  Return .f.
EndIf       //MsgAlert(vLinea1+CRLF+vLinea2,vComx)

BuildCommDCB(vComx+":9600,n,8,1", @cDCB)
SetCommState( @cDCB )
FlushComm(nCOMM,1)
FlushComm(nCOMM,0)
WriteComm(nComm,Chr(12))   // inicializar

SysWait(oApp:nDelay)   // oApp:nDelay = 1

DO CASE

  CASE vModo = 0
    WriteComm(nComm,Chr(27)+Chr(17))

  CASE vModo = 1
    WriteComm(nComm,Chr(27)+Chr(18))

  CASE vModo = 2
    WriteComm(nComm,Chr(27)+Chr(19))

ENDCASE
SysWait(oApp:nDelay)

WriteComm(nComm,Chr(27)+Chr(81)+Chr(65)+vLinea1+Chr(13))
SysWait(oApp:nDelay)

WriteComm(nComm,Chr(27)+Chr(81)+Chr(66)+vLinea2+Chr(13))
SysWait(oApp:nDelay)

CloseComm(nCOMM )

Return .t.