У меня есть клиент и серверные приложения. Я использую приложение для привязки в обе стороны. На стороне сервера У меня база данных SQLite На стороне клиента Нет базы данных; Клиент, получающий данные из базы данных сервера. С кодом сервера Я думаю, что все в порядке. Проблема с клиентом, я не могу Сплит !!! Я написал код на стороне клиента. Может кто-нибудь сказать мне, где моя ошибка ??? Как разделить r3.Text: = AResource.Value.AsString; ?Как разделить строку на SplitString или разделитель?
стороне сервера Код:
procedure TfServerPage.tAProfileResourceReceived(const Sender: TObject;
const AResource: TRemoteResource);
var
result:string;
r1,r2,r3:TstringList;
begin
if AResource.Hint='List' then
begin
//ShowMessage(AResource.Value.AsString);
r1:=TStringList.Create;
r2:=TStringList.Create;
r3:=TStringList.Create;
rQuery.Open;
while not rQuery.Eof do
begin
r1.add(rQuery.FieldByName('username').AsString);
r2.add(rQuery.FieldByName('password').AsString);
r3.add(rQuery.FieldByName('nickname').AsString);
rQuery.Next;
end;
result:=r1.Text+#13+r2.Text+#13+r3.text;
tAProfile.SendString(tManager.RemoteProfiles.First,'List2',result);
end;
end;
стороне клиента Код:
procedure TfAuth.tAProfileResourceReceived(const Sender: TObject;
const AResource: TRemoteResource);
var i:integer;
r3,s1,s2,s3:TStringList;
begin
if AResource.Hint='List2' then
begin
r3:=TStringList.Create;
r3.Text:=AResource.Value.AsString; // <-From Server
s1:=TStringList.Create;
s2:=TStringList.Create;
s3:=TStringList.Create;
s1.Text:=SplitString(r3.Text,#13)[0]; //Split username
s2.Text:=SplitString(r3.Text,#13)[1]; //password
s3.Text:=SplitString(r3.Text,#13)[2]; //nickname
for i := 0 to r3.Count do
begin
StringGrid1.Cells[0,i]:=s1[i];
StringGrid1.Cells[1,i]:=s2[i];
StringGrid1.Cells[2,i]:=s3[i];
end;
end;
end;
Я думаю, вы должны написать 's1.Add (SplitString (r3.Text, # 13) [0 ]); 'Вместо' s1.Text: = SplitString (r3.Text, # 13) [0] ';' – Sami