Ir para conteúdo
  • Cadastre-se

dev botao

Barra de rolagem - webbrowser - Espelho do Cupom


  • Este tópico foi criado há 2892 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Estamos exibindo o espelho do cupom fiscal em um componente webbrowser.

Ocorre que a barra de rolagem não se posiciona até o último item, quando é inserido muitos itens ela fica um pouco antes do final, o que faz com que cerca de 2 a 3 ultimos itens do cupom nao sejam exibidos. Alguns casos ela simplesmente fica no inicio e nao rola.

Alguem ja passou por isso e conseguiu resolver?

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Ramon

você usa o codigo abaixo para rolar o espelho do cupom?


procedure WB_ScrollToBottom(WebBrowser: TWebBrowser);

var

  scrollpos: Integer;

  pw: IHTMLWindow2;

  Doc: IHTMLDocument2;

begin

  Doc := WebBrowser.Document as IHTMLDocument2;

  pw := IHTMLWindow2(Doc.ParentWindow);

  scrollpos := pw.Screen.Height;

  pw.scrollBy(0, scrollpos);

end;

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

não é que vá para o topo é que ele refaz o html no webbrowser

para resolver isso eu usei ponteiros, ele não dá nem sinal, seja no xp, vista ou seven

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • Fundadores

Talvez tb seja possível "desabilitar" o Componente WebBrowser durante a atribuição do novo HTML... Ou se houver uma espécie de BeginUpdate EndUpdate melhor ainda...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Comigo aconteceu exatamente isso.

As vezes voltava pro inicio. As vezes mostrava perto do fim.

Testei vários códigos que encontrei na net e nenhum funcionou.

Por fim resolvi trocar por um TMemo, e nos eventos after do acbrecf programei pra mostrar no TMemo o cabeçalho, itens, cancelamento, desconto, etc.

Óbvio que não ficou formatado de forma elegante como em HTML, mas o funciona legal utilizando os eventos.

Att.

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

Link para o comentário
Compartilhar em outros sites

  • Consultores

Olá Cilleni,

Eu já tive esse problema. Acabei descobrindo que havia um Application.processMessages no meu código que estava atrapalhando a posição do WebBrowser. Comentei ele e resolveu.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Moderadores

Boa tarde

já fazia dias que estava com solução para muito dos amigos mas havia esquecido de mencionar

lembrei pois ontem a noite estávamos conversando eu e o régys e lembrei o porque o meu webbrowser funciona certinho

não faço como está no código de exemplo que executa o WB_ScrollToBottom no mesmo procedimento que faz o carregamento do cupom no webbrowser

faço através do evento OnDocumentComplete do WebBrowser, assim ele mesmo terminando o processo de geração do html mas não terminando o seu load

no componente não rolava até o fim

espero ter ajudado a todos

  • Curtir 2
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 7 meses depois ...

Tivemos o mesmo problema, embora tenha tentado várias opções quando o número de item atingia uma determinada quantidade (30 por exemplo) o componente se 'perdia'. Depois de muito tentar resolvemos utilizar o componente TRickView em substituição ao Twebbrowser, que é plenamente utilizável mesmo em sua versão demonstrativa. Funciona muito bem.

www.trichview.com

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Olá Regys, estou com o problema que o NeoBiano mencionou, no meu caso o webbrowser rola até o item 48, depois ele não vai mais, peguei o Demo Daruma que tem na pasta projetos do Acbr, compilei no meu delphi aqui que é o XE5, deu a mesma coisa, ja no demo ele foi até o item 26, depois não rolou mais, será que é a versão do Delphi ? algum problema no componente webbrowser dessa versão do delphi.... muito estranho...

Link para o comentário
Compartilhar em outros sites

Pessoal só para complementar uma "Solução" que consegui encontrar foi colocar a função WB_ScrollToBottom num timer com intervalo bem curto coloquei 1, para funcionar fiz uma mudança na função também, que é checar se existe documento:

 

  Doc := WebBrowser1.Document as IHTMLDocument2;
  if Doc <> nil then
  begin
    pw  := IHTMLWindow2(Doc.parentWindow);
    LockWindowUpdate(WebBrowser1.Handle);
    try
      scrollPos := pw.screen.height;
      pw.scrollBy(0, scrollPos);
    finally
      LockWindowUpdate(0);
    end;
  end;
 
para mim aqui funcionou, porém não sei se é a solução mais correta.......
Link para o comentário
Compartilhar em outros sites

  • Consultores

 

Pessoal só para complementar uma "Solução" que consegui encontrar foi colocar a função WB_ScrollToBottom num timer com intervalo bem curto coloquei 1,

Eu não aconselharia a fazer isso. Pode sobrecarregar o processador.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Então EMBarbosa pensei nisso, mas efetuamos vários testes "estressando" ao máximo as vendas, somente com PDV aberto em um micro, processamento não passou de 20%, isso quando esta passando algum item ou finalizando cupom, depois que para ele fica na casa dos 3%..... efetuando um tratamento devido creio que não tenha esse problema de sobrecarga, mas você teria mais alguma dica sobre o assunto ?

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa noite

eu particularmente só iria chamar a função para rolagem quando existisse alguma mudança no html dentro do webrowser fora isso só mesmo para ficar usando o processamento do micro

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • 1 mês depois ...
  • Membros Pro

Olá, testei as formas dispostas aqui e não consegui uma solução eficiente, quando chega nos 50 itens registrados, ele volta até o item 34, no continuar da passagem, as vezes vai no fim, e outro volta no 34, e ficam se alternando de forma muito estranha, teria outras soluções para esse caso?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2892 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...