Ir para conteúdo
  • Cadastre-se

dev botao

busca preço GERTEC G2 S


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 647 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores
Postado
26 minutos atrás, Carlos Paiva disse:

BOM dia
o acbr  lida com esses terminais de Busca Preço ?

GERTEC G2 S ?

 

Obrigado

Bom dia @Carlos Paiva!
Não temos um componente nativo específico.
Mas o ACBrMonitor tem a implementação de um servidor compatível com o Busca Preço da Gertec.
É usado o ACBrTCPServer para isso.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Fundadores
  • Solution
Postado

Veja os eventos implementados no componente TCPServerTC, do ACBrMonitorPLUS

procedure TFrmACBrMonitor.TCPServerTCConecta(const TCPBlockSocket: TTCPBlockSocket;
  var Enviar: ansistring);
var
  IP, Id: ansistring;
  Indice: integer;
begin
  TCPBlockSocket.SendString('#ok');

  Id := Trim(TCPBlockSocket.RecvPacket(1000));
  IP := TCPBlockSocket.GetRemoteSinIP;
  Indice := mTCConexoes.Lines.IndexOf(IP);
  if Indice < 0 then
  begin
    mTCConexoes.Lines.Add(IP);
    AddLinesLog('T.C. Inicio Conexão IP: [' + IP + '] ID: [' + Id +
      ']' + ' em: ' + FormatDateTime('dd/mm/yy hh:nn:ss', now));
  end;
end;

procedure TFrmACBrMonitor.TCPServerTCDesConecta(const TCPBlockSocket: TTCPBlockSocket;
  Erro: integer; ErroDesc: string);
var
  IP: string;
  Indice: integer;
begin
  if not Assigned( TCPBlockSocket ) then
     Exit;

  IP := TCPBlockSocket.GetRemoteSinIP;
  AddLinesLog('T.C. Fim Conexão IP: [' + IP + '] em: ' +
    FormatDateTime('dd/mm/yy hh:nn:ss', now));

  Indice := mTCConexoes.Lines.IndexOf(IP);
  if Indice >= 0 then
    mTCConexoes.Lines.Delete(Indice);
end;

procedure TFrmACBrMonitor.TCPServerTCRecebeDados(const TCPBlockSocket: TTCPBlockSocket;
  const Recebido: ansistring; var Enviar: ansistring);
var
  Comando, Linha: ansistring;
  Indice, P1, P2: integer;
begin
  { Le o que foi enviado atravez da conexao TCP }
  Comando := StringReplace(Trim(Recebido), #0, '', [rfReplaceAll]);  // Remove nulos

  if pos('#live', Comando) > 0 then
  begin
    Comando := StringReplace(Comando, '#live', '', [rfReplaceAll]); // Remove #live
    TCPBlockSocket.Tag := 0;                      // Zera falhas de #live?
  end;

  if Comando = '' then
    exit;

  AddLinesLog('TC: [' + TCPBlockSocket.GetRemoteSinIP + '] RX: <- [' + Comando + ']');

  if copy(Comando, 1, 1) = '#' then
  begin
    Comando := copy(Comando, 2, Length(Comando));
    P1 := 0;
    P2 := 0;
    Indice := fsSLPrecos.IndexOfName(Comando);
    if Indice >= 0 then
    begin
      Linha := fsSLPrecos[Indice];
      P1 := Pos('|', Linha);
      P2 := PosAt('|', Linha, 3);
    end
    else
      Linha := edTCNaoEncontrado.Text;

    if P2 = 0 then
      P2 := Length(Linha) + 1;

    Enviar := '#' + copy(Linha, P1 + 1, P2 - P1 - 1);
    Enviar := LeftStr(Enviar, 45);

    TCPBlockSocket.Tag := 0;  // Zera falhas de #live?
    AddLinesLog('     TX: -> [' + Enviar + ']');
  end;
end;

 

  • Curtir 1
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.

×
×
  • 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.