|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
FABIO_1979 Aprendiz
Registrado: Sexta-Feira, 10 de Agosto de 2012 Mensagens: 299
|
Enviada: Qui Jan 31, 2013 7:30 pm Assunto: incompatible types integer and string (RESOLVIDO) |
|
|
Boa noite amigos
Criei uma procedure para ler umas variáveis de um arquivo ini ocorre que esta dando o seguinte erro:
incompatible types integer and string
Código: | private
{ Private declarations }
public
{ Public declarations }
m,p,b : String;
procedure config();
end;
// Inserindo Intens //
procedure TForm1.Plateconfig;
var
confi :TiniFile;
Begin
confi:=Tinifile.Create(':\loja master\plate_config.ini');
m:=confi.ReadString('config','modelo',m);
p:=confi.ReadString('config','porta',p);
b:=confi.ReadString('config','baud',b);
confi.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
config();
ACBRECF1.ModeloStr:=(M);
ACBRECF1.Porta:=(P);
ACBRECF1.Device.Baud:=(B);
end; |
Como poderia resolver isto?
Editado pela última vez por FABIO_1979 em Dom Fev 10, 2013 1:52 pm, num total de 1 vez |
|
Voltar ao Topo |
|
|
Ghost_Rider Colaborador
Registrado: Segunda-Feira, 6 de Outubro de 2003 Mensagens: 4437
|
Enviada: Qui Jan 31, 2013 9:13 pm Assunto: |
|
|
A propriedade Baud é integer, vc esta passando uma string....
Faça assim :
ACBRECF1.Device.Baud:=StrToInt(B); |
|
Voltar ao Topo |
|
|
FABIO_1979 Aprendiz
Registrado: Sexta-Feira, 10 de Agosto de 2012 Mensagens: 299
|
Enviada: Sex Fev 01, 2013 2:49 pm Assunto: |
|
|
Obrigado deu certo no entanto, quando início o sisema da a seguinte mensagem:
"MODELO NÃO DEFINIDO"
O arquivo ini ficou assim:
[Config]
modelo=ecfDaruma
porta=COM6
baud=115200
aqui embaixo leio a procedure que lê o ini e passo para o componente
procedure TForm1.Button2Click(Sender: TObject);
begin
ateconfig;
P:=acbrecf1.Porta;
M:=acbrecf1.ModeloStr;
ACBRECF1.Device.Baud:=StrToInt(B);
end; |
|
Voltar ao Topo |
|
|
Ghost_Rider Colaborador
Registrado: Segunda-Feira, 6 de Outubro de 2003 Mensagens: 4437
|
Enviada: Sáb Fev 02, 2013 8:57 am Assunto: |
|
|
Bom amigo, vamos lá...
O componente ACBr assim como outro qualquer, tem propriedades e eventos, e assim como qualquer outro componente, precisa de dados para que possa executar suas rotinas...
O componente para ECF do ACBr é igual nesse sentido,ou seja, assim que você fecha o programa todas suas propriedades perdem o valor, assumindo apenas os valores default do próprio componente..
Sendo assim, a propriedade porta, modelo e baud se PERDEM ao fechar o programa, entendeu ??? ou seja, tem que ficar num INI e dai ao carregar o programa você passar os valores, assim:
Acbr.Porta := porta;
Acbr.modelo := modelo;
Acbr.baud := velocidade;
Observe que vc ta fazendo ao contrario
P:=acbrecf1.Porta;
M:=acbrecf1.ModeloStr;
ACBRECF1.Device.Baud:=StrToInt(B);
Outra coisa, deixa o baud por padrão em 9600...apenas impressoras mais modernas utilizam uma velocidade maior que essa...
Abraço... |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|