Fórum Problema com VARIAVEL... PRECISO MUITO DE AJUDA ! #169546
15/07/2003
0
rocedure TForm1.Timer1Timer(Sender: TObject);
var
i: integer;
begin
i:=0;
if SpeedButton1.Down=true then
i:=i+1;
if SpeedButton2.Down=true then
i:=i+2;
if SpeedButton3.Down=true then
i:=i+4;
if SpeedButton4.Down=true then
i:=i+8;
if SpeedButton5.Down=true then
i:=i+16;
if SpeedButton6.Down=true then
i:=i+32;
if SpeedButton7.Down=true then
i:=i+64;
if SpeedButton8.Down=true then
i:=i+128;
ClientSocket1.Socket.SendText(inttostr(i));
E o programa servidor recebe:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
comando: string;
begin
comando:= Socket.ReceiveText;
ParallelPort1.Data:= StrToInt (comando);
O problema é o seguinte, quando fico enviando dados direto para o servidor a partiri do cliente, chega uma hora que dá este erro: ... Is not a valid integer value, isto se deve pois ao servidor receber as integers, ele está confundindo, está juntando uma com outra.
GOSTARIA DE SABER se tem um jeito de fazer com que o servidor não confunda as integers.
RODRIGO!
Ropesca
Curtir tópico
+ 0Posts
16/07/2003
Rjanuzzi
Pelo que eu entendi, o erro sá acontece deposi que vc clica muitas vezes nos botões, ou seja, vc está aumentando cada vez mais o valor da variável i.
Será que vc não estourou a capacidade da integer.
Acho difícil, pois vc teria que clicar muito, mas de repente pode ser isso.
nesse caso vc pode usar o tipo Longint.
rjanuzzi
Gostei + 0
16/07/2003
Kroki
Não declare > I:integer;
Mas sim > I:byte;
if.......then i:=255;
if.......then i:=128;
Vc não precisa converter para Hex,o Delphi lê 128 ena paralela trata como $80,ou vc pode usar direto I:=$80 (128);
Gostei + 0
16/07/2003
Ropesca
Isto mesmo, isso ocorre quando se clica bastante vezes.
Não entendi muito bem sua resposta, tendo em vista que é preciso somar o valor de cada botão acionado para aí sim poder calcular e mandar os bytes certos para a LPT.
Gostei + 0
16/07/2003
Kroki
Porque vc tem que somar os numeros?
Porque vc tem que usar o Timer nos botoes?
Gostei + 0
16/07/2003
Demian Soares
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)