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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2013, 14:14   #1
DelhiProgramer
Пользователь
 
Регистрация: 10.08.2012
Сообщений: 84
По умолчанию Передача нескольких чисел строкой

Возможно у меня странный вопрос, но как мне передать несколько чисел одним сообщением через сокеты, чтоб я мог их потом разобрать? Например числа 12, 356, 7. Я не знаю заранее их длину. Как это сделать?
DelhiProgramer вне форума Ответить с цитированием
Старый 16.06.2013, 15:24   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Ставь между ними особый разделитель и потом парсь свою строку.
FaTaL вне форума Ответить с цитированием
Старый 16.06.2013, 18:48   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Что за бред...
Массив интов передавай (как массив байтов)
TwiX вне форума Ответить с цитированием
Старый 16.06.2013, 19:06   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Массив интов передавай (как массив байтов)
Это конечно лучше. Но ТС же хочет именно строку передать.
FaTaL вне форума Ответить с цитированием
Старый 16.06.2013, 19:24   #5
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

FaTaL, он хочет передать массив чисел, и не знает как корректно это сделать
TwiX вне форума Ответить с цитированием
Старый 16.06.2013, 19:54   #6
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от DelhiProgramer Посмотреть сообщение
Возможно у меня странный вопрос, но как мне передать несколько чисел одним сообщением через сокеты, чтоб я мог их потом разобрать? Например числа 12, 356, 7. Я не знаю заранее их длину. Как это сделать?
Формируй массив и передавай или так(для примера):
Код:
var Text: String;
begin
Text:='12;356;7;'; //советую оставлять последний раздилитель 
СlientSocket1.Address:='127.0.0.1'; //передаем тебе
ClientSocket1.Port:=1001; //чтоб бранбраузер не матирился
ClientSocket1.Open;
ClientSocket1.Socket.SendText(Text);
if ClientSocket1.Socket.ReceiveText='принято' then
begin 
ShowMessage('принято');
ClientSocket1.Close;
exit;
end;
end;

//прием(onClientRead)
var
i: integer;
Text: String; 
a1,a2,a3: integer;
begin
Text:=Socket.ReceiveText;
i:=pos(';',Text); //ищем раздилитель
a1:=strtoint(Copy(Text,1,i-1));
Delete(Text,1,i-1);
i:=pos(';',Text);
a2:=strtoint(Copy(Text,1,i-1));
Delete(Text,1,i-1);
i:=pos(';',Text);
a3:=strtoint(Copy(Text,1,i-1));
Delete(Text,1,i-1);
Socket.SendText('принято');
ShowMessage(IntToStr(a1) + ',' + IntToStr(a2) + ',' + IntTostr(a3));
end;
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 16.06.2013, 21:29   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Массив интов передавай (как массив байтов)
Вот именно. Массив 4-х байтовых целых чисел надо передавать.
Зачем тебе лишний разбор строки? Это же не HTTP?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Квадраты нескольких 3-xзначных чисел оканчиваются 3 цифрами, которые составляют исходные числа. Найти эти числа. Паскаль zig1 Паскаль, Turbo Pascal, PascalABC.NET 2 12.10.2011 09:32
Ввести несколько чисел (кол-во чисел запрашивать с экрана). Определить, сколько чисел, меньших заданного Lirika Помощь студентам 0 08.05.2010 21:39
Random вывод нескольких чисел без повторений leonw Общие вопросы Delphi 4 05.09.2009 13:15
Перевод нескольких чисел в строке krappt Общие вопросы C/C++ 2 09.07.2009 23:11
Передача массива из чисел в функцию x007 Общие вопросы C/C++ 3 21.04.2009 23:39