TcpClienttan gelen string paketi ayrıştırmak için BilgiyiAl diye bir function yazdım ama ben bu functiondan geriye iki değer döndürmek istiyorum.
Kod: Tümünü seç
var
KalanMesaj:string;
function TForm1.BilgiyiAl(GelenBilgi: string): string;
var
Sonuc:string;
BasYeri:Smallint;
begin
BasYeri:=pos('//',GelenBilgi);
if BasYeri > 0 then
begin
Sonuc:=copy(GelenBilgi,0,BasYeri-1);
Result:=copy(GelenBilgi,0,BasYeri-1);
end;
KalanMesaj:=copy(GelenBilgi,basyeri+2,length(GelenBilgi) - BasYeri + 2);
end;
Kod: Tümünü seç
procedure TForm1.YeniUyeKaydiniYap;
begin
IBTable1.insert;
IBTable1KULLANICIADI.value:=BilgiyiAl(kalanmesaj);
IBTable1E_MAIL.Value:=BilgiyiAl(kalanmesaj);
IBTable1TEL.Value:=BilgiyiAl(KalanMesaj);
IBTable1.Post;
end;
procedure TForm1.TcpServerOnEXecute(AThread: TIdPeerThread);
var
GelenMesaj,DonenSonuc:string;
begin
GelenMesaj:='Yeni Üye//Ahmet yılmaz//birisi@hotmail.com//0262254666//';
DonenSonuc:=BilgiyiAl(GelenMesaj);
if DonenSonuc='Yeni Üye' then
begin
YeniUyeKaydiniYap(KalanMesaj);
end;
end;