Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

Postado
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?
Postado

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?
  • Moderadores
Postado

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_Transparent-02.png
 

 

Postado (editado)

É 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
  • Consultores
Postado

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.
Postado

Eu até consegui ler o arquivo ini e joga-lo em um uns edits, gostaria mesmo de saber como faria para, converter às variaveis e joga os valores no componente

  • Consultores
Postado

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.
Postado (editado)

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
  • Fundadores
Postado

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.

Postado (editado)

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
Postado (editado)

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
Postado

ô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.

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