Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa noite senhores,

 

Desenvolvo em java e uso o acbrmonitor para algumas funções no sistema, uma delas é a leitura do peso de balança.Já uso algumas balanças Toledo e funcionam perfeitamente quando configuradas para a velocidade 9600. Porém ao testar com uma balança Filizola Pluris, mesmo configurando para 9600 não comunica. Consigo fazer a leitura normalmente com a dll, porém por algum motivo meu sistema fecha esporadicamente quando usando a dll com  qualquer balança.

 

Existe algo que eu possa fazer para resolver esse problema? Alguém já testou essa balança com o acbr?

 

Grato

  • 6 meses depois ...
  • 10 meses depois ...
Postado
Em 04/03/2015 at 17:27, Daniel Simoes disse:

Não dá pra compreender o que vc precisa... por favor seja mais específico...

Olá Daniel, obrigado pela resposta !!!
Bem, é o seguinte: Estou com dificuldades de criar um arquivo .INI com as configurações da balança.
Gostaria de um exemplo desse tipo de arquivo para ser lido pelo componente ACBrBal, pois não há a possibilidade de buscar essas configurações direto no Banco de dados pois no meu caso o cliente tem 2 balanças diferentes no Check-out,
Ai a utilização de um arquivo .INI será a alternativa mais viável.
Agradeço a atenção.

 

 

 

  • Fundadores
Postado

Isso não foi implementado no exemplo do ACBrBAL, mas é simples...

Você pode ver um exemplo semelhante de como salvar as propriedades do componente para o .INI no exemplo do ACBrECF

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.

Postado

Olá Daniel, gerei esse arquivo .INI.porem a balança não funcionou mais.

Pode me dar uma luz !!!
Não sei se o layout esta certo ou não ou se tem alguma coisa que não consta.
Obrigado

 

Segue ,INI

[Modelo]
Modelo=balToledo
[HandShake]
TACBrHandShake=hsNenhum
[Parity]
TACBrSerialParity=pNone
[Stop]
TACBrSerialStop=s1
[Data]
StrToInt('8')
[Baud]
StrToInt(velba)
[Porta]
portaba

  • Fundadores
Postado

Isso fica a seu critério... que tal "Modelo, Porta, SerialParams"... veja no ECFTeste.ini...

Você pode salvar toda a configuração do "Device" em apenas 1 linha... Veja:

ACBrBAL.Device.ParamsString

 

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.

Postado

Bem consegui criar um .INI . mas ainda estou em dúvida qto aos campos.

   unit Unit78;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,IniFiles, StdCtrls;

type
  TForm78 = class(TForm)
    cbxModelo: TComboBox;
    Button1: TButton;
    edTime: TEdit;
    Label1: TLabel;
    cbxPortaSerial: TComboBox;
    cbxBaundRate: TComboBox;
    cbxDataBits: TComboBox;
    cbxParity: TComboBox;
    cbxStopBits: TComboBox;
    cbxHandshaking: TComboBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form78: TForm78;
  ArqINI : String ;
  INI : TIniFile ;
implementation

{$R *.dfm}

procedure TForm78.Button1Click(Sender: TObject);

begin
 ArqINI:=('C:\configbal.ini');
 INI := TIniFile.Create(ArqINI);
  try
 INI.WriteString ('BALANCA','MODELO',cbxModelo.Text);
 INI.WriteString ('PORTA SERIAL','PORTA',cbxPortaSerial.Text);
 INI.WriteString('BAUND RATE','BAUNDS',cbxBaundRate.Text);
 INI.WriteString('DATA BITS','BITS',cbxDataBits.Text);
INI.WriteString ('PARITY','PARIDADE',cbxParity.Text);
INI.WriteString ('STOP BITS','STOP',cbxStopBits.Text);
 INI.WriteString ('HANDSHAKING','HANDSHAKING',cbxHandshaking.Text);
 INI.WriteString ('TIME OUT','TIME',edTime.Text);


finally
     INI.Free ;
 ShowMessage('Arquivo configbal.ini gerado com sucesso!');
end;
end;
end.
Se  puder me esclarecer quais campos devem conter no .INI

Obrigado

Postado

Olá pessoal, mais uma preciso da ajuda dos amigos.

Fiz a codificação para usar o ACBrBal, porém agora esta dando o seguinte erro Invalid Typecast.
Referente aos seguintes parâmetros de configuração do componente:

   ACBrBAL1.Modelo := TACBrBALModelo (ConfiguracaoBalancaModelo);
  ACBrBAL1.Device.HandShake := TACBrHandShake(ConfiguracaoBalancaHandShaking);
  ACBrBAL1.Device.Parity := TACBrSerialParity(ConfiguracaoBalancaParity);
  ACBrBAL1.Device.Stop := TACBrSerialStop(ConfiguracaoBalancaStopBits);
  ACBrBAL1.Device.Data := ConfiguracaoBalancaDataBits;
  ACBrBAL1.Device.Baud := ConfiguracaoBalancaBaudRate;
  ACBrBAL1.Device.Porta := ConfiguracaoBalancaPortaSerial;

Alguém sabe me responder, estou carregando essas configurações por um arquivo .ini.e as armazeno em uma variável.

Exemplo: ConfiguracaoBalancaModelo := INI.ReadString ('BALANCA','Modelo','');
Fico no aguardo dos amigos .

Postado

Salvando as configurações :

 fCNF.Balanca:=cmbBalanca.ItemIndex;
 fCNF.COM:=cmbPortaSerial.ItemIndex;
 fCNF.BaudeRate:=cmbBaudRate.ItemIndex;
 fCNF.DataBits:=cmbDataBits.ItemIndex;
 fCNF.Parity:=cmbParity.ItemIndex;
 fCNF.StopBits:=cmbStopBits.ItemIndex;
 fCNF.HandShaking:=cmbHandShaking.ItemIndex;
 

Lendo as configurações:

 procedure AtivarBalanca;
   const
    cmbDataBits : array[0..3] of Integer = (5,6,7,8);
    cmbBaudRate : array[0..11] of Integer = (
     110,300,600,1200,2400,4800,9600,14400,19200,38400,56000,57600);
    cmbPortaSerial : array[0..7] of string[4] = (
     'COM1','COM2','COM3','COM4','COM5','COM6','COM7','COM8');

  begin
   fACBrBAL.Modelo       := TACBrBALModelo(fArquivoIni.Balanca);
   fACBrBAL.Device.Porta := cmbPortaSerial[fArquivoIni.COM];
   fACBrBAL.Device.Baud  := cmbBaudRate[fArquivoIni.BaudeRate];
   fACBrBAL.Device.Data  := cmbDataBits[fArquivoIni.DataBits];
   fACBrBAL.Device.Parity := TACBrSerialParity(fArquivoIni.Parity);
   fACBrBAL.Device.Stop   := TACBrSerialStop(fArquivoIni.StopBits);
   fACBrBAL.Device.HandShake := TACBrHandShake(fArquivoIni.HandShaking);
   fACBrBAL.Ativar;
  end;

Abra o exemplo da balança e analise o form e você matará a charada.

 

Mauro Augusto Souza Lima / Sócio Desenvolvedor

Tels : (24) 2246-0548 - 2246-3051

www.limatech.com.br

limatech.png

Postado
Em 02/02/2016 at 22:37, Mauro Asl disse:

Salvando as configurações :

 fCNF.Balanca:=cmbBalanca.ItemIndex;
 fCNF.COM:=cmbPortaSerial.ItemIndex;
 fCNF.BaudeRate:=cmbBaudRate.ItemIndex;
 fCNF.DataBits:=cmbDataBits.ItemIndex;
 fCNF.Parity:=cmbParity.ItemIndex;
 fCNF.StopBits:=cmbStopBits.ItemIndex;
 fCNF.HandShaking:=cmbHandShaking.ItemIndex;
 

Lendo as configurações:

 procedure AtivarBalanca;
   const
    cmbDataBits : array[0..3] of Integer = (5,6,7,8);
    cmbBaudRate : array[0..11] of Integer = (
     110,300,600,1200,2400,4800,9600,14400,19200,38400,56000,57600);
    cmbPortaSerial : array[0..7] of string[4] = (
     'COM1','COM2','COM3','COM4','COM5','COM6','COM7','COM8');

  begin
   fACBrBAL.Modelo       := TACBrBALModelo(fArquivoIni.Balanca);
   fACBrBAL.Device.Porta := cmbPortaSerial[fArquivoIni.COM];
   fACBrBAL.Device.Baud  := cmbBaudRate[fArquivoIni.BaudeRate];
   fACBrBAL.Device.Data  := cmbDataBits[fArquivoIni.DataBits];
   fACBrBAL.Device.Parity := TACBrSerialParity(fArquivoIni.Parity);
   fACBrBAL.Device.Stop   := TACBrSerialStop(fArquivoIni.StopBits);
   fACBrBAL.Device.HandShake := TACBrHandShake(fArquivoIni.HandShaking);
   fACBrBAL.Ativar;
  end;

Abra o exemplo da balança e analise o form e você matará a charada.

 

Obrigado amigo !!!
Segui sua dica e usei o Form do exemplo para gerar o .INI.
Agora deu certo.

Obrigado pela atenção e pelo exemplo.

Postado

Pessoal mais uma vez peço a ajuda de vocês !!!
Fiz umas adições de modelos de balança no gerador do .INI, porém agora ao iniciar a aplicação de leitura da balança o sistema informa a seguinte mensagem:

 

'''' is not a valid integer value.

Alguém sabe o que isso pode ser ?
Obrigado
 

Postado
2 horas atrás, Mauro Asl disse:

 Isto quer dizer que não existe um número inteiro válido.

Desfaz o que você fez, que encontrará o erro.

Mas no arquivo .INI gerado estão todos campos com valores correspondentes ao componentes.
Estou matelando nisso, pois estou implantando em um PDV não Fiscal, e não tem como deixar setado direto no código por razões comerciais e contratuais

Postado

Amigo Mauro, eu fiz conforme indicado em teu exemplo, e deu tudo certo.
Porém mesmo criando o arquivo de forma correta, ao abrir ele diz que os campos estão vazios.
Mas agradeço toda atenção e colaboração.
Vou tentar reolver essa questão e depois posto a solução final.
Acredito que possa ser de utilidade a outros membros da comunidade.

Abraços e grato pela ajuda e atenção.

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