Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom  dia!

Estou fazendo o PDV e gostaria de alterar a cor de background daquele WebBrowser (wbBobina) que é reflexo do cupom?

Como posso fazer isso?

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

Postado

No componente ACBrEcf o meu MemoParams, está da seguinte forma:

 

[Cabecalho]
LIN000=<center><b>Nome da Empresa</b></center>
LIN001=<center>Nome da Rua , 1234  -  Bairro</center>
LIN002=<center>Cidade  -  UF  -  99999-999</center>
LIN003=<center>CNPJ: 01.234.567/0001-22    IE: 012.345.678.90</center>
LIN004=<table width=100%><tr><td align=left><code>Data</code> <code>Hora</code></td><td align=right>COO: <b><code>NumCupom</code></b></td></tr></table>
LIN005=<hr>

[Cabecalho_Item]
LIN000=ITEM   CODIGO     DESCRICAO
LIN001=QTD         x UNITARIO       Aliq     VALOR (R$)
LIN002=<hr>
MascaraItem=III CCCCCCCCCCCCCC DDDDDDDDDDDDDDDDDDDDDDDDDDDDDQQQQQQQQ UU x VVVVVVVVVVVVV AAAAAA TTTTTTTTTTTTT

[Rodape]
LIN000=<hr>
LIN001=<table width=100%><tr><td align=left><code>Data</code> <code>Hora</code></td><td align=right>Projeto ACBr: <b><code>ACBR</code></b></td></tr></table>
LIN002=<center>Obrigado Volte Sempre</center>
LIN003=<hr>

[Formato]
Colunas=48
HTML=1
HTML_Title_Size=4
HTML_Font=<font size="5" face="Lucida Console">

Penso que deve ser algo do tipo:

bgcolor="FF0000"

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

Postado

 

Boa tarde!

nunca tive a curiosidade de modificar mas acredito que sim pois é um html que é gerado!

Hum.
Tentei mudar a cor aplicando o seguinte código:

<bgcolor="FF0000">

Mas não funcionou, acredito que deva existir uma sintaxe específica do ACBr para realizar a alteração das cores.

 

 

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

Postado (editado)
Tente o seguinte amigo;

function ColorToHTML(const Color: TColor): string;
var
  ColorRGB: Integer;
begin
  ColorRGB := ColorToRGB(Color);
  Result := Format('#%0.2X%0.2X%0.2X',
    [GetRValue(ColorRGB), GetGValue(ColorRGB), GetBValue(ColorRGB)]);
end;

WebBrowser1.Navigate(Format('about:<body bgcolor="%s" style="overflow:hidden"/>', [ColorToHTML(clRed)]));

 

Fonte: http://stackoverflow.com/questions/9760969/tembeddedwb-and-background-color

ou http://www.swissdelphicenter.ch/en/showcode.php?id=1254

 

Editado por Solivan
  • Curtir 2

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Postado (editado)
Tente o seguinte amigo;

function ColorToHTML(const Color: TColor): string;
var
  ColorRGB: Integer;
begin
  ColorRGB := ColorToRGB(Color);
  Result := Format('#%0.2X%0.2X%0.2X',
    [GetRValue(ColorRGB), GetGValue(ColorRGB), GetBValue(ColorRGB)]);
end;

WebBrowser1.Navigate(Format('about:<body bgcolor="%s" style="overflow:hidden"/>', [ColorToHTML(clRed)]));

 

Fonte: http://stackoverflow.com/questions/9760969/tembeddedwb-and-background-color

ou http://www.swissdelphicenter.ch/en/showcode.php?id=1254

 

Valeu amigo, deu certo!


Tive que fazer uns ajustes para ficar do jeito que eu queria.

Vou documentar aqui no forum a solução completa, caso alguém um dia precise.

Adicionei essa procedure:

procedure TfrmTelaPDV.LoadDocFromString(ABrowser: TWebBrowser; const HTMLString: WideString);
var
  v: OleVariant;
  HTMLDocument: IHTMLDocument2;
begin
  if not Assigned(ABrowser.Document) then
  begin
    ABrowser.Navigate('about:blank');
    while ABrowser.ReadyState <> READYSTATE_COMPLETE do
      Application.ProcessMessages;
  end;
  HTMLDocument := ABrowser.Document as IHTMLDocument2;
  v := VarArrayCreate([0, 0], varVariant);
  v[0] := HTMLString;
  HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
  HTMLDocument.Close;
end;

Adicionei essa function:

function TfrmTelaPDV.ColorToHTML(const Color: TColor): string;
var
  ColorRGB: Integer;
begin
  ColorRGB := ColorToRGB(Color);
  Result := Format('#%0.2X%0.2X%0.2X',
    [GetRValue(ColorRGB), GetGValue(ColorRGB), GetBValue(ColorRGB)]);
end;

Criei essa outra function para converter cores em RGB.

function TfrmTelaPDV.HexToTColor(sColor : string) : TColor;
begin
      Result := RGB(
      StrToInt('$'+Copy(sColor, 1, 2)),
      StrToInt('$'+Copy(sColor, 3, 2)),
      StrToInt('$'+Copy(sColor, 5, 2))) ;
end;

Na procedure WB_LoadHTML eu concatenei o HTMLCode com um código CSS que aplica uma determinada cor, retira as bordas e as barras de rolagem.

procedure TfrmTelaPDV.WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
var
  sl: TStringList;
  ms: TMemoryStream;
begin
  WebBrowser.Navigate('about:blank');
   LoadDocFromString(wbBobina, Format('<body style="background-color:%s; scrollbar-base-color:%s;  overflow:hidden; border-style: none; "/>',
  [ColorToHTML(HexToTColor('ffffc8')), ColorToHTML(HexToTColor('ffffc8'))]));


  while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
   Application.ProcessMessages;

  if Assigned(WebBrowser.Document) then
  begin
    sl := TStringList.Create;
    try
      ms := TMemoryStream.Create;
      try
        sl.Text := HTMLCode  + '<body style="background-color:#ffffc8; scrollbar-base-color:%s;  overflow:hidden; border-style: none; "/>';
      
        sl.SaveToStream(ms);
        ms.Seek(0, 0);
        (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms));


      finally
        ms.Free;
      end;
    finally
      sl.Free;
    end;
  end;
end;

No evento FormActive do formulário realizei a chamada da função da seguinte forma:

  LoadDocFromString(wbBobina, Format('<body style="background-color:%s; scrollbar-base-color:%s;  overflow:hidden; border-style: none; "/>',
  [ColorToHTML(HexToTColor('ffffc8')), ColorToHTML(HexToTColor('ffffc8'))]));

Ficou Show de bola.

O resultado final:

Cupiom.png

 

Onde que marca como RESOLVIDO?

Editado por joaolenosi
  • Curtir 1

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

  • Este tópico foi criado há 3376 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.