Página 4 de 6

Tela de PDV

Enviado: 22 Mar 2018 21:36
por microvolution
JoséQuintas escreveu:A saída seria trocar esse elemento do array por um novo, com o novo texto.
sim... exatamente é o que pensei e já estava tentando fazer há muito tempo.
Mas, não estou conseguindo juntar o quebra cabeças pra alterar apenas o elemento específico da wvg_label()

Tela de PDV

Enviado: 23 Mar 2018 10:56
por microvolution
veja aí QUINTAS a tela de PDV com uso do CONSOLE com GTWVG:
pdv - wvg
pdv - wvg
os seguintes códigos inclusos:
1 ) desenhar a tela pela primeira vez:

Código: Selecionar todos

   AAdd( aPaint, { "Box_1_descricao_produto", {|| wvt_DrawColorRect( 00, 00, 02, 79 , , RGB( 063, 096, 150 ))}, 																									{ WVT_BLOCK_LABEL, 00, 00, 03, 79 } } )
   AAdd( aPaint, { "Box_2_cupom_fiscal", {|| wvt_DrawColorRect( 03, 00, 20, 40 , , RGB( 255, 255, 206 ))}, 																									{ WVT_BLOCK_LABEL, 03, 00, 20, 40 } } )
   AAdd( aPaint, { "Box_3_codigo_produto", {|| Wvt_DrawBoxGroup( 03, 41, 05, 79 ) }, { WVT_BLOCK_BOX, 03, 41, 05, 79 } } ) // box pra dentro (fundo) 26/2/18w
   AAdd( aPaint, { "Box_4_quantidade", {|| Wvt_DrawBoxGroup( 07, 41, 09, 79 ) }, { WVT_BLOCK_BOX, 07, 41, 09, 79 } } ) // box alto relevo (pra fora) 26/2/18w
   AAdd( aPaint, { "Box_5_preco_unitario", {|| Wvt_DrawBoxGroup( 11, 41, 13, 79 ) }, { WVT_BLOCK_BOX, 11, 41, 13, 79 } } ) // box só desenhado por fora (não tem relevo algum) 26/2/18w
   AAdd( aPaint, { "Box_6_subtotal", {|| Wvt_DrawBoxGroup( 15, 41, 17, 79 ) }, { WVT_BLOCK_BOX, 15, 41, 17, 79 } } ) // desenha um box na cor selecionada (sem relevo algum) 26/2/18w
   AAdd( aPaint, { "Label1_descricao_produto", {|| Wvt_DrawLabel( 00, 00, HB_AnsiToOem("DESCRIÇÃO DO PRODUTO")	, 00, 00, RGB( 220, 220, 220 )	, RGB( 063, 096, 150 ), "Arial"			, 20, , , , , .f., .f., .f. ) }, 		{ WVT_BLOCK_LABEL, 00, 00, 03, 50 } } )
   AAdd( aPaint, { "Label2_cupom_fiscal", {|| Wvt_DrawLabel( 03, 15, HB_AnsiToOem("CUPOM FISCAL")			, 00, 00, RGB( 000, 000, 000 )	, RGB( 255, 255, 206 ), "VisualLib"		, 24, , , , , .f., .f., .f. ) }, 	{ WVT_BLOCK_LABEL, 03, 15, 03, 50 } } )
   AAdd( aPaint, { "Label3_item_cod_descrica_qt_vrunit_vrtot", {|| Wvt_DrawLabel( 04, 00, HB_AnsiToOem("Ítem Código   Descrição                       Qtd.     Unitário R$     SubTotal R$")			, 00, 00, RGB( 000, 000, 000 )	, RGB( 255, 255, 206 ), "VisualLib"		, 11, 08, , , , .f., .f., .f. ) }, 	{ WVT_BLOCK_LABEL, 04, 00, 03, 50 } } )
   AAdd( aPaint, { "Label4_codigo_produto", {|| Wvt_DrawLabel( 03, 42, HB_AnsiToOem("CÓDIGO DO PRODUTO")		, 00, 00, RGB( 078, 078, 078 )	, RGB( 192, 192, 192 ), "Lucida Console"		, 14, , , , , .f., .f., .f. ) }, 			{ WVT_BLOCK_LABEL, 03, 42, 03, 50 } } )
   AAdd( aPaint, { "Label5_quantidade", {|| Wvt_DrawLabel( 07, 42, HB_AnsiToOem("QUANTIDADE")				, 00, 00, RGB( 078, 078, 078 )	, RGB( 192, 192, 192 ), "Lucida Console"				, 14, , , , , .f., .f., .f. ) }, 					{ WVT_BLOCK_LABEL, 07, 42, 03, 50 } } )
   AAdd( aPaint, { "Label6_preco_unitario", {|| Wvt_DrawLabel( 11, 42, HB_AnsiToOem("PREÇO UNITÁRIO R$")		, 00, 00, RGB( 078, 078, 078 )	, RGB( 192, 192, 192 ), "Lucida Console"		, 14, , , , , .f., .f., .f. ) }, 			{ WVT_BLOCK_LABEL, 11, 42, 03, 50 } } )
   AAdd( aPaint, { "Label7_subtotal", {|| Wvt_DrawLabel( 15, 42, HB_AnsiToOem("SUBTOTAL R$")				, 00, 00, RGB( 078, 078, 078 )	, RGB( 192, 192, 192 ), "Lucida Console"				, 16, , , , , .f., .f., .f. ) }, 			{ WVT_BLOCK_LABEL, 15, 42, 03, 50 } } )
   AAdd( aPaint, { "Gets"  , {|| AEval( GetList, {| oGet | Wvt_DrawBoxGet( oGet:Row, oGet:Col, Len( Transform( oGet:VarGet(), oGet:Picture ) ) ) } ) }, NIL } )
   ExecForm( aPaint )
2 ) após desenhar a TELA:

Código: Selecionar todos

AAdd( aPaint1, { "Label_preco_unitario"   	, {|| wvg_Label( 12, 64, , "210.0000"	, 00, 00, RGB( 255, 255, 255 )	, RGB( 192, 192, 192 ), "Arial"			, 36, , , , , .f., .f., .f. ) }	, 		{ WVT_BLOCK_LABEL, 12, 64, 12, 64 } } ) // aqui é o preço unitário
AAdd( aPaint1, { "Label_descricao_produto"   	, {|| Wvg_Label( 01, 00, , "KIT EMBREAGEM"		, 00, 00, RGB( 255, 255, 255 )	, RGB( 063, 096, 150 ), "verdana"		, 50, , , , , .f., .f., .f. ) }	, 		{ WVT_BLOCK_LABEL, 01, 00, 01, 00 } } ) // aqui desenha o título do produto após a primeira desenhada de telas
AAdd( aPaint1, { "Label_preco_total" , {|| wvg_Label( 16, 66, , "0,00"	, 00, 00, RGB( 255, 255, 255 )	, RGB( 192, 192, 192 ), "Arial"			, 36, , , , , .f., .f., .f. ) }	, 		{ WVT_BLOCK_LABEL, 12, 50, 12, 50 } } ) // esta linha é do preço de venda que está zerado, apenas pra teste
ExecForm1(aPaint1)
3 ) função EXECFORM()

Código: Selecionar todos

STATIC FUNCTION ExecForm( aPaint )
   LOCAL cColor    := SetColor()
   LOCAL aPnt // sem estas 3 linhas não se consegue cancelar os gráficos da tela 12/3/18w
   aPnt := WvtSetPaint( aPaint ) // sem estas 3 linhas não se consegue cancelar os gráficos da tela 12/3/18w
********
******** se não houver essas linhas, tudo que é feito fica por cima do que já existe. dependendo fica uma coisa horrível 26/2/18w
   SetColor( "N/W" ) // cores básicas da tela
   CLS
   SetColor( "N/W,N/GR*,,,N/W*" ) // ativar cores após limpar a tela
******** se não houver essas linhas, tudo que é feito fica por cima do que já existe. dependendo fica uma coisa horrível 26/2/18w
********
   CAD_PRODUTOS_WVG ()
   WvtSetPaint( aPnt ) // esta função em conjunto a acima finaliza os gráficos da WVG 26/2/18w // se não for aplicada essas linhas, as imagens não desaparecem.  // sem estas 3 linhas não se consegue cancelar os gráficos da tela 12/3/18w
RETURN NIL
4 ) função EXECFORM1()

Código: Selecionar todos

STATIC FUNCTION ExecForm1( aPaint )
   LOCAL cColor    := SetColor() , aPnt
   aPnt := WvtSetPaint( aPaint )
   SetColor( "N/W" ) // cores básicas da tela
   CLS
   SetColor( "N/W,N/GR*,,,N/W*" ) // ativar cores após limpar a tela
   GtSetupPalette() // funcionou só que preciso entender melhor 26/2/18w
   SetColor( cColor ) // esta função em conjunto a abaixo finaliza os gráficos da WVG 26/2/18w //se não for aplicada essas linhas, as imagens não desaparecem.
   WvtSetPaint( aPnt ) // esta função em conjunto a acima finaliza os gráficos da WVG 26/2/18w // se não for aplicada essas linhas, as imagens não desaparecem.
RETURN NIL
obs.:
1 - a função CAD_PRODUTOS_WVG() não postei, pois é a parte dos GETs;
2 - percebi que se não colocar os GETs antes de chamar a função EXECFORM() eles não aparecem;
3 - as funções EXECFORM() e EXECFORM1() são idênticas, pois, se eu não fizer duas chamadas não aparecem os gráficos, ou não aparecem os GETs. Bom mesmo é resumir/limpar o código pra ficar mais enxuto/profissional com apenas uma chamada à função EXECFORM().
É isso aí, por enquanto.
Vlw pessoal!
:*

Tela de PDV

Enviado: 23 Mar 2018 11:00
por microvolution
ah! mais observações:
1 - se não colocar o CLS - mesmo depois da tela pronta, os gráficos da EXECFORM1() não são desenhados
2 - É como eu sempre disse e volto a dizer. As libs free não possuem manuais, apenas exemplos. No caso da GTWVG - até mesmo o QUINTAS, já disse por diversas vezes, que não tutoriais, apenas pouquíssimos exemplos de uso do WVT, mas, dos WVG, quase nada. Temos que ficar "chutando" e "atirando pedras em avião" por não saber o "caminho por onde andar" e o "porto pra ancorar".

Tela de PDV

Enviado: 26 Abr 2018 22:31
por evaldo
https://prnt.sc/jamrtj
https://prnt.sc/jamrtj
olá pessoal,
esse PDV eu fiz em 2001 com clipper 5,2 (100%) sem usar lib de terceiro, ele estava em produção ate 2007, eu tinha cliente com ele com 8PDV on line
como vi esse tópico resolvi postar, com poucos ajuste podera implementar NFC-e com ACBR, se alguem tiver interesse e for utilizar posso enviar os fonte sem custo.

skype: soft.tres
e-mail: soft-tres.com.br

Tela de PDV

Enviado: 26 Abr 2018 22:49
por JoséQuintas
evaldo escreveu:esse PDV eu fiz em 2001 com clipper 5,2 (100%) sem usar lib de terceiro
Eu diria que é impossível.
Visivelmente usa recursos gráficos e o Clipper 5.2 não tinha isso.

Tela de PDV

Enviado: 26 Abr 2018 22:55
por JoséQuintas
microvolution escreveu:veja aí QUINTAS a tela de PDV com uso do CONSOLE com GTWVG:
Estranhei esta parte. Não deveria ser função?
Pelo que imagino é pra bloquear uma parte da tela.

Código: Selecionar todos

{ WVT_BLOCK_BOX, 03, 41, 05, 79 } 

Tela de PDV

Enviado: 26 Abr 2018 23:48
por evaldo
https://prnt.sc/janckf

corrigindo a versao do COMPILADOR 5.3B rev. 338 1996

Tela de PDV

Enviado: 14 Ago 2018 20:04
por Fernando queiroz
DESENVOLVENDO rotina de PDV
DESENVOLVENDO rotina de PDV

Tela de PDV

Enviado: 14 Ago 2018 20:07
por Fernando queiroz
ABERTURA DO CAIXA
ABERTURA DO CAIXA

Tela de PDV

Enviado: 14 Ago 2018 20:08
por Fernando queiroz
TELA DE SUPRIMENTO
TELA DE SUPRIMENTO

Tela de PDV

Enviado: 14 Ago 2018 20:13
por Fernando queiroz
PDVFECHAMENTO.jpg

Tela de PDV

Enviado: 14 Ago 2018 20:13
por Fernando queiroz
PDVALIVIO.jpg

Tela de PDV

Enviado: 14 Ago 2018 20:14
por Fernando queiroz
PDVCANCELA.jpg

Tela de PDV

Enviado: 14 Ago 2018 20:15
por Fernando queiroz
PDVPAGAMENTO.jpg

Tela de PDV

Enviado: 14 Ago 2018 20:19
por Fernando queiroz
AMIGOS gostaria de criticas e sugestões sobre as telas do me PDV.

algumas duvidas surgiram tais como:

Se o Operador do Caixa sair - tenho de travar o caixa com senha ?

Se no Fechamento do caixa tenho de colocar os valores supridos e aliviados do caixa?

A minha ideia de ITEM vai ser acumulando no mesmo produto itens iguais , o que acham disso ?

:D :D :D :D :D