Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2011, 14:16   #1
krosh87
Новичок
Джуниор
 
Регистрация: 17.08.2010
Сообщений: 2
Печаль Передача динамического массива

Подскажите пожалуйста как передать двумерный динамический массив с помощью сокетов Tclientsocket и Тserversoket, пример пишу пока на одномерном и он не работает может думаю вообще не в том направлении

procedure TForm1.Button1Click(Sender: TObject);
begin

if clientsocket1.Active = false then
clientsocket1.Active := true;

end;

procedure TForm1.ServerSocket1ClientConnect(S ender: TObject;
Socket: TCustomWinSocket);

var
mas: array of String;
i : Integer;
begin

setlength(mas,2);
mas[0] := 'a';
mas[1]:= 'b';
Socket.SendBuf(mas,sizeof(mas));

end;


procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
len: Byte;
buf : array of string;

begin

len:=Socket.ReceiveLength;
setlength(buf,len);
Socket.ReceiveBuf(buf,len);
showmessage(buf[1])

end;
krosh87 вне форума Ответить с цитированием
Старый 24.02.2011, 14:30   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

не забывайте что строки это массивы тоже.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.02.2011, 14:33   #3
krosh87
Новичок
Джуниор
 
Регистрация: 17.08.2010
Сообщений: 2
По умолчанию

у меня просто есть таблица в бд программа считывает данные из этой таблицы причем таблица постоянно увеличивается, я думаю это не есть хорошо побегать циклами по таблицы и записывать это все в строку разделяя ее определенными символами чтобы потом ее считать
Может массив и передается но у меня проблема считыванием этого массива!
krosh87 вне форума Ответить с цитированием
Старый 24.02.2011, 18:39   #4
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

когда сервер передает даные нужно указывать на какои по шету клиент
Код:
Socket.SendBuf(mas,sizeof(mas));
замените на
Код:
  ServerSocket1.Socket.Connections[0].SendBuf(mas, SizeOf(mas));
если не получица поместите ету строку в событие
Код:
procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
  Socket: TCustomWinSocket);
VirusN13

Последний раз редактировалось ArtGrek; 24.02.2011 в 18:42.
ArtGrek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объявление динамического массива katena88 Общие вопросы C/C++ 45 19.06.2012 21:53
Содержание динамического массива Bish Microsoft Office Excel 6 18.05.2010 15:45
Передача двумерного динамического массива в метод Дырдин Общие вопросы C/C++ 1 19.03.2010 09:45
Передача динамического массива как параметр ф-ции kurdt Общие вопросы Delphi 2 26.04.2009 17:35