Page 1 of 1

Un modulo Touch hecho con FWH

Posted: Wed Sep 27, 2006 8:21 pm
by gabo
Image

Saludos
GABO

Va de nuevo el link...

Posted: Wed Sep 27, 2006 8:30 pm
by gabo
espero que ahora si funcione

Image

Saludos

Como haces los botones?

Posted: Thu Sep 28, 2006 5:23 pm
by leandro
Amigo primero que todo excelente trabajo.. de verdad que se ve espectacular. Felicitaciobes :D

Segundo que todo me gustaria saber como hiciste los botones sobre todo los verdes de la derecha. Excelente diseño.

Posted: Thu Sep 28, 2006 10:39 pm
by gabo
Leandro

Los controles de la pantalla son xBrowse, ButtonBmp y Todos los botones de la derecha son TsButton de manuel mercado.. la clase te permite pintar los botones con aparencia degradada tanto cuando tiene el foco y aun no teniendolo..
gracias por tu comentario.. la pantalla es el modulo principal de captura, pero depues esta la entrada de datos por teclado virtual.. y muchas opciones mas
saludos
GABO

Re: Va de nuevo el link...

Posted: Fri Sep 29, 2006 10:39 pm
by Armando Picon
Lo que hiciste es espectacular!!!

Tengo una aplicación para restaurantes que lo tengo en desarrollo pero me quedé en la selección de los platos. Al ver tu aplicación mejor no sigo. Para cuando lo termines a ver si te lo promociono en Perú.
gabo wrote:espero que ahora si funcione

Image

Saludos

Posted: Sat Oct 07, 2006 8:29 am
by Silvio
Dear GAbo,

Can YOU release a sample source code of this ?

Regards

Posted: Sat Oct 07, 2006 3:05 pm
by jllinas
Esta muy bien....

Una sola pregunta: ¿Que tiene "traspaso" como propósito? ¿Que hace esta opcion/botón?

Posted: Sat Oct 07, 2006 6:38 pm
by wmormar
jllinas wrote:Esta muy bien....

Una sola pregunta: ¿Que tiene "traspaso" como propósito? ¿Que hace esta opcion/botón?
jllinas,

Traspaso es para pasar (valga la rebusnancia) el consumo de una mesa a otra.

:lol:

Que hace el boton traspaso

Posted: Tue Oct 10, 2006 12:26 am
by gabo
El boton "traspaso" lo que realiza es cambiar el producto de una mesa "10" a la mesa "20".. a veces el cajero o vendedor (mesero) se equivoca en la captura

Code: Select all


 DEFINE DIALOG oDlgMesas RESOURCE "DLG_PRODUCTOSCOMANDERO" OF oApp:oWndMain;
        TITLE "MESA: " + aDatosMesa[1] + " " + aDatosMesa[3]

 REDEFINE BUTTONBMP aBtnsConsu[1] ID 600 OF oDlgMesas BITMAP "BMP_NUEVACOMANDA";
          PROMPT "&Agregar" TEXTBOTTOM

 REDEFINE BUTTONBMP aBtnsConsu[2] ID 605 OF oDlgMesas BITMAP "BMP_MASUNO";
          ACTION OnActionMasUno(oBrwConsu, oSaysGet) ;
          PROMPT "(+) Uno"+CRLF+" " TEXTBOTTOM
.
.
.


 // Botones de lineas ----------------------------
 REDEFINE SBUTTON aBtnsLines[ 1] ID 900 OF oDlgMesas
.
.

 // Botones de productos por lineas ----------------------------
 REDEFINE SBUTTON aBtnsProdu[ 1] ID 914 OF oDlgMesas
 REDEFINE SBUTTON aBtnsProdu[ 2] ID 915 OF oDlgMesas
 REDEFINE SBUTTON aBtnsProdu[ 3] ID 916 OF oDlgMesas
.
.
.

// carga los botones de las lineas

 FOR EACH oBtn IN aBtnsLines
     IF hb_EnumIndex() <= Len( aLineas )
       oBtn:cCaption:= Str2Lines( AllTrim( aLineas[ hb_EnumIndex(), 1 ] ), " " )
                       //Str2Lines( AllTrim(produc->DESC1), " " )

       oBtn:nClrText:= { |oB| If( oB:lMouseOver, CLR_WHITE, CLR_RED ) }
       oBtn:nClrBack:= { |oB| If( oB:lMouseOver, { nRgb(0,119,176), nRgb(255,255,255), 1 }, ;
                                                 { nRgb(128,128,255), nRgb(255,255,255), 1 } ) }
       oBtn:cargo   := { .F., aLineas[hb_EnumIndex(), 3] }
       oBtn:bAction := { || AEVAL( aBtnsLines, ;
                          { |oB| IF( oB:lEverPress, (oB:lEverPress:= .F., oB:cargo[1]:= .F.,;
                             oB:nClrBack:= { nRgb(128,128,255), nRgb(255,255,255), 1 },oB:refresh() ), .F. ) } ), ;
                            oBtn:cargo[1]:= !oBtn:cargo[1], ;
                        If( oBtn:cargo[1], ;
                          ( oBtn:lEverPress := .T., ;
                            oBtn:nClrBack:= { nRgb(0,119,176 ), nRgb(255,255,255), 5 }, ;
                            GetProductoPorLinea( oBtn:cargo[2], aBtnsProdu, oBrwConsu, aBtnScroll, ;
                                                 oSaysGet, oFntBrow ) ) , ;
                          ( oBtn:lEverPress := .F., oBtn:cargo[2]:= "   ",;
                            oBtn:nClrBack:= { nRgb(128,128,255), nRgb(255,255,255), 1 } ) ), ;
                            oBtn:refresh() }
       oBtn:oFont:= oFntSays
       oBtn:Refresh()
     ELSE
        oBtn:disable()
     ENDIF
 NEXT

 // Botones de scroll de lineas y productos por lineas
 REDEFINE BUTTONBMP aBtnScroll[1] ID 912 OF oDlgMesas BITMAP "BMP_UP_BTN";
          ACTION OnActionUpLines( @aBtnsLines, aLineas, aCargos, aBtnScroll, oBrwConsu, aBtnsProdu )

 REDEFINE BUTTONBMP aBtnScroll[2] ID 913 OF oDlgMesas BITMAP "BMP_DOWN_BTN";
          ACTION OnActionDownLines( @aBtnsLines, aLineas, aCargos, aBtnScroll, oBrwConsu, aBtnsProdu )

 REDEFINE BUTTONBMP aBtnScroll[3] ID 938 OF oDlgMesas BITMAP "BMP_UP_BTN";
          ACTION OnActionUpProducto( aBtnsProdu, aBtnScroll )

 REDEFINE BUTTONBMP aBtnScroll[4] ID 939 OF oDlgMesas BITMAP "BMP_DOWN_BTN";
          ACTION OnActionDownProducto( aBtnsProdu, aBtnScroll )

 REDEFINE BUTTONBMP oBtnExit ID 549 OF oDlgMesas BITMAP "BMP_SALIRTPV" ;
          PROMPT "S" + CRLF + "a"  + CRLF + "l"  + CRLF + "i"  + CRLF + "r"+CRLF + " ";
          ACTION ( lSalida:= TRUE, oDlgMesas:End() );
          TEXTBOTTOM

 WITH OBJECT oBrwConsu:= TXBrowse():New( oDlgMesas )
      :nHeaderHeight       := 25
      :nRowHeight          := 35
      :nMarqueeStyle       := MARQSTYLE_HIGHLROW
      :nColDividerStyle    := LINESTYLE_LIGHTGRAY
      :nRowDividerStyle    := LINESTYLE_LIGHTGRAY
      :lColDividerComplete := .T.
      :lHScroll            := .T.
      :lVScroll            := .T.
      // :oFont               := oFntBrow
      :bChange:= {|| oSaysGet[6]:SetText( RTRIM( consum->NOTA1 ) + " " + RTRIM(consum->NOTA2) ), ;
                     oSaysGet[6]:refresh() }
 END
 WITH OBJECT oCol := oBrwConsu:AddCol()
      :bStrData  := { || TRANSFORM( consum->CANTIDAD, "999,999" ) }
      :cHeader   := "Cantidad"
      :nDataStrAlign:= AL_RIGHT
      :nWidth    := 40
      :cHeader   := "Canti"
      :oHeaderFont:= oFntHead
      :oDataFont  := oFntBrow
 END
 WITH OBJECT oCol := oBrwConsu:AddCol()
      :bStrData  := { || HB_OemToAnsi(consum->NOMB_PROD) }
      :nWidth    := 200
      :cHeader   := "Nombre del producto"
      :oHeaderFont:= oFntHead
      :oDataFont  := oFntBrow
 END
.
.
.

 oBrwConsu:SetRDD()
 oBrwConsu:CreateFromResource(550)

 REDEFINE GSAY oSaysGet[1] VAR aVars[1] ID 750 OF oDlgMesas PICTURE '99,999,999' ;
.
.
.

 ACTIVATE DIALOG oDlgMesas ;
          ON INIT ( OnInitProductos( @aVars, @aConsumo ), oBrwConsu:SetFocus() ) ;
          ON PAINT DrawBitmap( oDlgMesas:hDC, oBmpFondo:hBitmap, 0, 0, oBmpFondo:nWidth(), ;
                   oBmpFondo:nHeight(),  aBtnsConsu[1]:disable(), aBtnsConsu[1]:hide(), ;
                   aBtnsConsu[1]:refresh(), aBtnsConsu[8]:disable(), aBtnsConsu[8]:hide(), aBtnsConsu[8]:refresh());
          CENTERED VALID ( oFntSays:End(), oFntGets:End(), oFntBrow:End(), ;
                           oFntTota:End(), DestroyBtns( aBtnsLines ), ;
                           DestroyBtns( aBtnScroll ), DestroyBtns( aBtnsProdu ),  nPageLines:= 0, ;
                           nElemenLines:= 12, consum->( ORDSCOPE( 0, NIL ) ), ;
                           consum->( ORDSCOPE( 1, NIL  ) ), lSalida )

Saludos

Posted: Tue Oct 10, 2006 9:15 am
by Silvio
GOOD ...Mr Gabo

can I see the Str2Lines() function ?

REGARDS

Posted: Tue Oct 10, 2006 2:53 pm
by gabo
Hi, silvio
the function Str2Lines() it is an adaptation the function Str2a() the what32. the function Str2Lines() returns a string with character CRLF in the place the character Space

example:
a:= Str2Lines("Hi silvio is a example")

? a

Hi
Silvio
is
a
example

Regards
GABO

Posted: Tue Oct 10, 2006 9:40 pm
by Silvio
I have a problem :
I created a coffee touch screen bar
I can to set ( configuration) each button on product but when I inset the description on a button it run bad because I founding a function to divide the strings
example

cod :=1
desc:="Prosciutto cotto con formaggio e pomodoro"

I wanted insert on a button
"Prosciutto cotto"
"con formaggio"
"e pomodoro"

Have you an idea ?

Posted: Wed Oct 11, 2006 11:08 pm
by gabo
Silvio,

my mail is gornelas at prodigy.net.mx

Regards

GABO