|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Client-server Sockets Stringgrid
Наставьте на путь истинный. Пытаюсь отправить содержимое одной строки на сервер, чтобы тот принял и вставил данные в таком же виде (в разных столбцах). Получилось, но данные отправляются в 1 строку таблицы и при повторной отправке перезаписываются в той же строке.
Хочу сделать, чтобы при получении данных они вставлялись в новую строку (динамически созданную) - подскажите примером. Отправляю на сервер: Код:
procedure TForm1.Button3Click(Sender: TObject); var r: Integer; s:string; begin s:=''; with StringGrid1 do begin for r := 0 to RowCount -2 do s:=s+Rows[r].CommaText+#13#10; end; ClientSocket1.Socket.SendText(s); end; Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var st : TStringList; r: Integer; begin st:=TStringList.Create; st.Text:=Socket.ReceiveText; with StringGrid1 do begin RowCount:=st.Count; for r := 0 to RowCount -1 do Rows[r].CommaText:=st[r]; end; st.free; end; |
#2
|
||||
|
||||
Что-то здесь не так - говорите строку (какую?), передаете столбец, при приёме аналогично - куда вставлять не видно, попробуйте так: при передаче (вместо Rows нужно Cols)
Код:
... s:=''; for i:= 0 to StringGrid1.Cols[1].Count-1 do s:= s +StringGrid1.Cols[1][i]+#$D#$A; ... Код:
... StringGrid1.Cols[1]:=st; ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |