Ir para conteúdo
  • Cadastre-se

dev botao

Acbrecf


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

Recommended Posts

Boa noite amigos

 

 

Consegui enviar as configurações para o arquivo INI:

 

 

 

 

[ACBR]

Modelo=ecfDaruma

Porta=COM6

Baud=115200

 

 

 

A minha duvida é:

 

há uma maneira de através, do ACBR ele pegar estas configurações diretamente do INI?

 

Ou se houver outra maneira...  

Link para o comentário
Compartilhar em outros sites

var
  Cfg : TIniFile;
begin
  Cfg := TIniFile.Create('Plate_Config.ini');
  try
  ACBrECF1.Modelo := Cfg.ReadString('Config','Modelo','');
  ACBrECF1.Porta := Cfg.ReadString('Config','Porta','');
  ACBrECF1.Device.Baud := Cfg.ReadString('Config','Baud','');
  finally
  Cfg.Free;
  end;
  end;
 
 
Mas esta dando imcompatibilidade pq modelo é INTEGER e o ini esta em String ecfDaruma  ai minha duvida agora é como faço para resolver isso?
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Estude os fontes do Demo, projeto ECFTeste.dpr... lá ele lê os parâmetros de um .INI e seta nos componentes ACBr

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

Boa tarde amigo por gentileza esta dando a seguinte mensagem:

 

 

procedure TForm1.Button2Click(Sender: TObject);
var
// variável que irá conter o arquivo
config : TIniFile;
// variável que irá armazenar parâmetro a ser lido do arquivo
m,p,b :Stringl;
 
begin
// associa o arquivo de configuração a variável
config := TIniFile.Create('C:\Loja Master\Plate_Config.ini');
//variável param recebe 12345
m := config.ReadInteger('CONFIG','Modelo','');
p := config.ReadInteger('CONFIG','Porta','');
b := config.ReadInteger('CONFIG','Baud','');
acbrecf1.Modelo:=(m);
acbrecf1.Porta:=(p);
acbrecf1.Device.Baud:=(B);
 
 
Incompatible types integer and estring:
 
 
Esta dando esta mensagem por conta do fato de eu ter transformado para integer e ter enviado assim para o ini ai na hora de ler preciso lê-los tb em formato integer poderia me dar uma dica de como fazer isto?
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Com sua pergunta já respondeu a si mesmo, uma variável string querendo receber uma informação integer!!!

 

m,p,b :Stringl;

m := config.ReadInteger('CONFIG','Modelo','');
p := config.ReadInteger('CONFIG','Porta','');
b := config.ReadInteger('CONFIG','Baud','');

 

no caso vai ser só você corrigir e ler uma string ReadString ;)

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

É verdade srsrsr Mas o erro esta dando aqui:

 

 

acbrecf1.Modelo:=(m);
acbrecf1.Porta:=(p);
acbrecf1.Device.Baud:=(.B)
 
 
Pq é assim eu estou enviando Integer para o arquivo ini:
 
 
[Config]
Modelo=4
Porta=544
Baud=544
Editado por Plate2013
Link para o comentário
Compartilhar em outros sites

  • Consultores

Baud é um valor inteiro e você está atribuindo uma variável string sem convertê-la.

Já modelo é do tipo enumerado TACBrECFModelo declarado na Unit UACBrECF.pas.

 

Usando essas variáveis string sem converter não vai conseguir mesmo.

[]'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

  • Consultores

O código de exemplo está no programa demo. Veja lá como é feito.

[]'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

Já olhei no exemplo e estou conseguindo mandar as configurações para o ini,  ocorre que já testei o ini com showmessage e ele lê os valores que mando para o arquivo INI:

 

[Config]

 

modelo=ecfDaruma
porta=COM6
baud=115200
 
 
Mas quando inicio o sistema dá a seguinte mensagem:
 
modelo não definido!
 
Agora fiz assim:
 
Procedure que lê o arquivo ini
 
 
procedure TForm1.ateconfig;
var
ateconfi :TiniFile;
Begin
ateconfi:=Tinifile.Create('c:\config_config.ini');
m:=ateconfi.ReadString('config','modelo','m');
p:=ateconfi.ReadString('config','porta','p');
b:=ateconfi.ReadString('config','baud','b');
ateconfi.Free;
end;
 
Depois pego os valores lidos na procedure e passo para o componente:
 
procedure TForm1.Button2Click(Sender: TObject);
begin
ateconfig;
P:=acbrecf1.Porta;
M:=acbrecf1.ModeloStr;
ACBRECF1.Device.Baud:=StrToInt(.B);
end;
 
Editado por Plate2013
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Acho que você realmente NÃO leu os fontes do Projeto ECFTeste

 

procedure TForm1.cbxModeloChange(Sender: TObject);
begin
  try
     ACBrECF1.Modelo := TACBrECFModelo( cbxModelo.ItemIndex ) ;
  except
     cbxModelo.ItemIndex := Integer( ACBrECF1.Modelo ) ;
     raise ;
  end ;
end;
 

 

O Modelo deve ser gravado como Inteiro

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

Boa tarde.

 

 

Eu vi tanto que esta parte do código uso-a para setar a impressora no sistema e dá certo consigo configurar e ao mesmo tempo gravar as informações no ini, mas meu problema é que quando reinicio as configurações somem e isso ocorre só quando reinicio. desculpe algum transtorno mas estou tentando aprender a usar o acbr da melhor maneira.

Editado por Plate2013
Link para o comentário
Compartilhar em outros sites

Depois pego os valores lidos na procedure e passo para o componente:

 

procedure TForm1.Button2Click(Sender: TObject);
begin
ateconfig;
P:=acbrecf1.Porta;
M:=acbrecf1.ModeloStr;
ACBRECF1.Device.Baud:=StrToInt(. B);
end;
 

 

A atribuição não é o inverso não manu ?

 

Vc está novamente atribuindo valores para as variaveis , somente o baud vc fez correto .

 

faz assim : 

 

procedure TForm1.Button2Click(Sender: TObject);
begin
ateconfig;

acbrecf1.Porta := P ;

acbrecf1.ModeloStr := M ;
ACBRECF1.Device.Baud :=StrToInt( B);

end ;

Editado por marcelo_sp
Link para o comentário
Compartilhar em outros sites

ôpa consegui resolver a questão e de quebra aprendi a usar o acbr é como p amigo, EMBarbosa disse: Têm de ler, li com mais cuidado o exemplo e consegui não complicado, e o resultado ficou ótimo agora funciona com a maioria senão todas as impressoras relevantes do mercado, obrigado pessoal da acbr, agora vou começar a implantar a nfe.

Link para o comentário
Compartilhar em outros sites

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