Editbox em pdv frente de caixa
Moderador: Moderadores
Editbox em pdv frente de caixa
ola pra todos, estou fazendo um pdv - frente de caixa e notei em varios sistemas que usam texto tipo editbox para mostrar as mercadorias vendidas, gostaria de saber se realmente é usado o editbox e se for como fazer para mostrar sempre os ultimos itens quando termina o numero de itens no espaco visivel, como gobottom de uma banco de dados. desde ja agradeço.
Editbox em pdv frente de caixa
use o listbox, acredito q vc irá ter um melhor controle
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Editbox em pdv frente de caixa
Veja se o controle tem a opção de ir para o final.nilv escreveu:como fazer para mostrar sempre os ultimos itens quando termina o numero de itens no espaco visivel, como gobottom de uma banco de dados. desde ja agradeço.
Em último caso, o Windows tem algo parecido com KEYBOARD, basta usar o handle da janela.
Só não mencionou qual é a LIB, isso faz diferença sobre a solução.
Num primeiro momento, essa tela pode ser até gtwvg ou gtwvw, ainda mais porque está no tópico do Harbour.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Fernando queiroz
- Usuário Nível 4

- Mensagens: 779
- Registrado em: 13 Nov 2014 00:41
- Localização: Porto Alegre/RS
Editbox em pdv frente de caixa
@ 457,96 RICHEDIT oRichedit1 TEXT cRichedit1 SIZE 544,471 ;
STYLE ES_MULTILINE +WS_BORDER+ES_WANTRETURN+ES_AUTOVSCROLL +WS_VSCROLL ;
FONT HFont():Add( 'Courier',0,-13,400,,,)
oRichedit1:Anchor := 161
Abrindo a Venda:
cRichedit1 += "PEDIDO ##"+STRZERO(MEMVAR->nNUMNOT,6,0) + '## ' + DTOC(MEMVAR->dDAT_HOJE) + " " + TIME() + HB_EOL()+ HB_EOL()
Colocando um Item novo no Pedido
cRichedit1 += "##"+STR(MEMVAR->nCODPRO,13,0) + '# ' + SUBSTR(PRODUTOS->DESPRO,1,30) + HB_EOL()
cRichedit1 += " " + STR(MEMVAR->nQTDPRO,10,3)+" " + PRODUTOS->TIPUNI + " X " + STR(PRODUTOS->PREVEN,10,2)+ " = " + STR((PRODUTOS->PREVEN * MEMVAR->nQTDPRO),10,2) + HB_EOL()
formVendas:oRichedit1:SETTEXT(cRichedit1)
formVendas:oRichedit1:SETFOCUS()
Adicionando Mais itens ja existente no Pedido
cRichedit1 += "##"+STR(MEMVAR->nCODPRO,13,0) + '# ' + SUBSTR(PRODUTOS->DESPRO,1,30) +" ADD"+ HB_EOL()
cRichedit1 += " " + STR(ITENS->QTDPRO,10,3)+" " + PRODUTOS->TIPUNI + " X " + STR(PRODUTOS->PREVEN,10,2)+ " = " + STR((PRODUTOS->PREVEN * ITENS->QTDPRO),10,2) + HB_EOL()
formVendas:oRichedit1:SETTEXT(cRichedit1)
formVendas:oRichedit1:SETFOCUS()
Removendo item do Pedido
cRichedit1 += "##"+STR(MEMVAR->nCODPRO,13,0) + '# ' + SUBSTR(PRODUTOS->DESPRO,1,30) +" DEL"+ HB_EOL()
cRichedit1 += " " + STR(ITENS->QTDPRO,10,3)+" " + PRODUTOS->TIPUNI + " X " + STR(PRODUTOS->PREVEN,10,2)+ " = " + STR((PRODUTOS->PREVEN * ITENS->QTDPRO),10,2) + HB_EOL()
formVendas:oRichedit1:SETTEXT(cRichedit1)
formVendas:oRichedit1:SETFOCUS()
STYLE ES_MULTILINE +WS_BORDER+ES_WANTRETURN+ES_AUTOVSCROLL +WS_VSCROLL ;
FONT HFont():Add( 'Courier',0,-13,400,,,)
oRichedit1:Anchor := 161
Abrindo a Venda:
cRichedit1 += "PEDIDO ##"+STRZERO(MEMVAR->nNUMNOT,6,0) + '## ' + DTOC(MEMVAR->dDAT_HOJE) + " " + TIME() + HB_EOL()+ HB_EOL()
Colocando um Item novo no Pedido
cRichedit1 += "##"+STR(MEMVAR->nCODPRO,13,0) + '# ' + SUBSTR(PRODUTOS->DESPRO,1,30) + HB_EOL()
cRichedit1 += " " + STR(MEMVAR->nQTDPRO,10,3)+" " + PRODUTOS->TIPUNI + " X " + STR(PRODUTOS->PREVEN,10,2)+ " = " + STR((PRODUTOS->PREVEN * MEMVAR->nQTDPRO),10,2) + HB_EOL()
formVendas:oRichedit1:SETTEXT(cRichedit1)
formVendas:oRichedit1:SETFOCUS()
Adicionando Mais itens ja existente no Pedido
cRichedit1 += "##"+STR(MEMVAR->nCODPRO,13,0) + '# ' + SUBSTR(PRODUTOS->DESPRO,1,30) +" ADD"+ HB_EOL()
cRichedit1 += " " + STR(ITENS->QTDPRO,10,3)+" " + PRODUTOS->TIPUNI + " X " + STR(PRODUTOS->PREVEN,10,2)+ " = " + STR((PRODUTOS->PREVEN * ITENS->QTDPRO),10,2) + HB_EOL()
formVendas:oRichedit1:SETTEXT(cRichedit1)
formVendas:oRichedit1:SETFOCUS()
Removendo item do Pedido
cRichedit1 += "##"+STR(MEMVAR->nCODPRO,13,0) + '# ' + SUBSTR(PRODUTOS->DESPRO,1,30) +" DEL"+ HB_EOL()
cRichedit1 += " " + STR(ITENS->QTDPRO,10,3)+" " + PRODUTOS->TIPUNI + " X " + STR(PRODUTOS->PREVEN,10,2)+ " = " + STR((PRODUTOS->PREVEN * ITENS->QTDPRO),10,2) + HB_EOL()
formVendas:oRichedit1:SETTEXT(cRichedit1)
formVendas:oRichedit1:SETFOCUS()
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Editbox em pdv frente de caixa
Vc pode usar um GRID, e sempre que atualizar as informações nele, deixar o foco sempre na última linha.
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
Editbox em pdv frente de caixa
Pode tentar isso:
hwg_Re_insertText( ThisForm:oEdit:handle, ::cText ) // Insere o texto no RICH, o cursor posiciona na última linha
hwg_Re_insertText( ThisForm:oEdit:handle, ::cText ) // Insere o texto no RICH, o cursor posiciona na última linha
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Editbox em pdv frente de caixa
Interessante.
por um lado, a "mais GUI" seria o grid, porque não fica preso a um fonte "console".
por outro lado, o fonte console pode criar uma semelhança maior com o cupom fiscal, dependendo do cupom fiscal.
Leve em conta o conjunto: o que precisa pra controlar a venda inteira, impressão, etc.
Veja qual conjunto terá um melhor aproveitamento de fonte.
Se usar um array ou um banco de dados, pode ser que facilite usar algo relacionado, pra mostrar/controlar/imprimir.
É por onde eu escolheria, pelo melhor custo/benefício.
por um lado, a "mais GUI" seria o grid, porque não fica preso a um fonte "console".
por outro lado, o fonte console pode criar uma semelhança maior com o cupom fiscal, dependendo do cupom fiscal.
Leve em conta o conjunto: o que precisa pra controlar a venda inteira, impressão, etc.
Veja qual conjunto terá um melhor aproveitamento de fonte.
Se usar um array ou um banco de dados, pode ser que facilite usar algo relacionado, pra mostrar/controlar/imprimir.
É por onde eu escolheria, pelo melhor custo/benefício.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Editbox em pdv frente de caixa
Se escolher um GRID, pode salvar as informações da venda ( no momento em que vende ) em um Array, em um DBF ou em uma tabela SQL, fica mais fácil de manipular, usar o GRID é como usar o Excel, linha x coluna.
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
Editbox em pdv frente de caixa
Esta funcion en C coloca el cursor al final de un EditBox.
ej.
SetEnd( hWndEditBox )
HB_FUNC ( SETEND )
{
HWND hWnd = hb_parnl (1);
int iLen = GetWindowTextLength( hWnd );
SendMessage( hWnd, EM_SETSEL, iLen, iLen );
SendMessage( hWnd, EM_SCROLLCARET, 0 , 0 ) ;
}
ej.
SetEnd( hWndEditBox )
HB_FUNC ( SETEND )
{
HWND hWnd = hb_parnl (1);
int iLen = GetWindowTextLength( hWnd );
SendMessage( hWnd, EM_SETSEL, iLen, iLen );
SendMessage( hWnd, EM_SCROLLCARET, 0 , 0 ) ;
}
Editbox em pdv frente de caixa
Dr Claudio,
Para posicionar em uma linha especifica como fica a função ?
Para posicionar em uma linha especifica como fica a função ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
Editbox em pdv frente de caixa
Hola Alexandre,asimoes escreveu:Dr Claudio,
Para posicionar em uma linha especifica como fica a função ?
cambiar esta linea:
int iLen = GetWindowTextLength( hWnd );
Por esta:
int iLen = hb_parnl(2);
Pasar a la funcion como segundo parametro la linea deseada.
Editbox em pdv frente de caixa
Posicionou na coluna não na linha, fiz assim:
Código: Selecionar todos
HB_FUNC ( GOTOLINE )
{
HWND hWnd = hb_parnl (1);
int iLen = hb_parnl(2);
SendMessage( hWnd, EM_SETSEL, iLen, iLen );
SendMessage( hWnd, EM_SCROLLCARET, 0 , 0 ) ;
}
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
Editbox em pdv frente de caixa
Esa funcion posiciona en un determinado caracter, el EditBox no trabaja con lineas/columnas, todo el contenido es tratado como una unica string.
Para localizar una determinada linea, hay que obtener la string del EditBox, hacer una split con los CRLF, y luego calcular el numero del caracter que corresponde al inicio de la linea en cuestion.
Para localizar una determinada linea, hay que obtener la string del EditBox, hacer una split con los CRLF, y luego calcular el numero del caracter que corresponde al inicio de la linea en cuestion.
Editbox em pdv frente de caixa
Já que não tem como a gente simulaClaudio Soto escreveu:Esa funcion posiciona en un determinado caracter, el EditBox no trabaja con lineas/columnas, todo el contenido es tratado como una unica string.
Para localizar una determinada linea, hay que obtener la string del EditBox, hacer una split con los CRLF, y luego calcular el numero del caracter que corresponde al inicio de la linea en cuestion.
Código: Selecionar todos
nLinha := 1
FOR I:=0 TO nLinha
hwg_Keyb_event( VK_DOWN )
NEXT
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Editbox em pdv frente de caixa
Ajustes:
Código: Selecionar todos
SetTop( ThisForm:oEdit:handle )
nLinha := 3
FOR I:=1 TO nLinha STEP 2
hwg_Keyb_event( VK_DOWN )
NEXT
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
