私はクライアントとサーバーのアプリを持っています。 私は両方の側でテザリングアプリケーションを使用しています。 サーバー側ではSQLiteデータベースを使用 クライアント側データベースはありません。 クライアントがServerデータベースからデータを取得しています。 サーバコードの場合は大丈夫だと思います。クライアントの問題、私は分割することはできません!私はクライアントサイドにコードを書いた。誰かが私の間違いはどこにあるのですか? 分割する方法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