Fórum Descobri problema em meu programa. COMO ARRUMAR? #169299
14/07/2003
0
OLá pessoal, descobri no meu programa um erro, este erro está no codigo abaixo:
[b:3e60d9f868]Programa cliente envia :[/b:3e60d9f868]
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));
[b:3e60d9f868]E o programa servidor recebe:[/b:3e60d9f868]
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!
[b:3e60d9f868]Programa cliente envia :[/b:3e60d9f868]
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));
[b:3e60d9f868]E o programa servidor recebe:[/b:3e60d9f868]
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
+ 0
Responder
Posts
14/07/2003
Demian Soares
seguinte, nao ha erros no seu programa, nao na logica, mas por um pequeno detalhe, como vc efetua operacoes e a elas soma numeros o integer (inteiro) tem um limite de tamanho... vc deveria usar uma variavel de tipo long (longo), ou fazer tratamento para enviar para uma string. vc esta estourando a capacidade do campo integer.. somente isso.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)