Fórum Alguem pode explicar #187894

10/10/2003

0

Pessoal tenho esse pedaço de codigo e gostaria de entender.
Sei que isso para quem sabe deve ser chato de explicar mas eu estou aprendendo agora ! Por favor me ajuda!


procedure TForm1.csRead(Sender: TObject; Socket: TCustomWinSocket);
var s,t:string;
i,j:integer;
partbeg,partend:integer;
params:array[1..4] of string;
begin
s := socket.ReceiveText;
memo1.lines.add(´Recieved: ´+s);

partbeg := 0;
partend := 0;

t:=s;
for i := 1 to 3 do begin
partend := Pos(´ ´, t);
params[i] := Copy(t, 1, partend - 1);
Delete(t, 1, partend);
end;
params[4] := t;
delete(params[4],length(params[4]),1);

label2.Caption := params[4]+´->´+params[3];



end;


Obrigado


Estudante

Estudante

Responder

Posts

10/10/2003

Henry

Brother assim, vo te explica o que eu sei:
1)procedure TForm1.csRead(Sender: TObject; Socket: TCustomWinSocket);
Esse é o procedimento aonde a ação vai ser realizada.

2)var s,t:string;
i,j:integer;
partbeg,partend:integer;
Aqui é aonde ele declara as variaveis que serão usadas no codigo.
s,t: string. ´s´ e ´t´ são variaveis do tipo string, assim com i,j são integer(conjunto numerico dos inteiros), partbeg e partend tambem.

3)params:array[1..4] of string;
Isso aqui nào sei te explica.

4) begin
s := socket.ReceiveText; // A variavel S, sera o texto recebido pela socket
memo1.lines.add(´Recieved: ´+s); // Adiciona ´recieved + o texto dentro do memo

partbeg := 0; //Inicia a variavel partbeg com 0
partend := 0; // mesma coisa
t:=s; // A variavel t vai recebe do s.

A partir daqui não manjo mais.
for i := 1 to 3 do begin
partend := Pos(´ ´, t);
params[i] := Copy(t, 1, partend - 1);
Delete(t, 1, partend);
end;
params[4] := t;
delete(params[4],length(params[4]),1);

label2.Caption := params[4]+´->´+params[3];

Espero que tenha ajudado, um abracó, Henry.


Responder

Gostei + 0

10/10/2003

Beppe

Complementando a explicação do Henry
A partir daqui não manjo mais. for i := 1 to 3 do begin partend := Pos(´ ´, t); params[i] := Copy(t, 1, partend - 1); Delete(t, 1, partend); end; params[4] := t; delete(params[4],length(params[4]),1); label2.Caption := params[4]+´->´+params[3]; Espero que tenha ajudado, um abracó, Henry.


t:=s;
for i := 1 to 3 do begin
// localiza o primeiro espaço em na string t
partend := Pos(´ ´, t);
// a string em params[i] recebe um uma cópia de t até antes do espaço
params[i] := Copy(t, 1, partend - 1);
// deleta a parte de t até aquele espaço
Delete(t, 1, partend);
end;
// recebe o resto de t
params[4] := t;
delete(params[4],length(params[4]),1);

label2.Caption := params[4]+´->´+params[3];

Em suma o que este loop faz é quebrar a string t em pedaços aonde tem um espaço e colocar no array, sem os espaços.

Ataliba


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar