На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Соблюдайте общие правила форума
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Указывайте точные версии Delphi и используемых сетевых библиотек.

Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.

Внимание:
попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

Модераторы: Krid, Rouse_
  
> Client-server Sockets Stringgrid
    Наставьте на путь истинный. Пытаюсь отправить содержимое одной строки на сервер, чтобы тот принял и вставил данные в таком же виде (в разных столбцах). Получилось, но данные отправляются в 1 строку таблицы и при повторной отправке перезаписываются в той же строке.
    Хочу сделать, чтобы при получении данных они вставлялись в новую строку (динамически созданную) - подскажите примером.

    Отправляю на сервер:
    ExpandedWrap disabled
      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;

    Получаю:
    ExpandedWrap disabled
      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;
      Цитата GrabbeR @
      Хочу сделать, чтобы при получении данных они вставлялись в новую строку (динамически созданную)

      почему я не вижу код типа вот такого?
      ExpandedWrap disabled
        RowCount:= RowCount + <кол-во_принятых_строк>;


      Добавлено
      Вообще, всё как-то криво выглядит. Я б так делать не стал, мучение одно.
        Цитата min@y™ @

        То понятно, мня интересует как сделать запись в каждый следующий столбец? В этом участке.
        ExpandedWrap disabled
            with StringGrid1 do begin
             RowCount:=st.Count;
             for r := 0 to RowCount -1 do
              Rows[r].CommaText:=st[r];
            end;
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0.0632 ]   [ 15 queries used ]   [ Generated: 25.08.26, 14:55 GMT ]