Страница 1 из 1

CommFortGetData ID18

Добавлено: 12:10, 17.02.2012
Jenya-Grin
Нужно получить список пользователей, у меня пока что получилось получить лишь 1го...

Скриншот:
Scr_078.png
(8.28 КБ) 231 скачивание
Подскажите как правильно пожалуйста )))

Re: CommFortGetData ID18

Добавлено: 15:04, 17.02.2012
SV
В серверном плагине я получаю так список пользователей в канале, ещё бы ты получил список пользователей, тебе нужно через цикл.

Код: Выделить всё

function ChanelsUser(chanel,user:WideString):Ansistring;
var
 aData,aReciviedData : AnsiString;
 users, ip, s :WideString;
 people,i,iReadOffset,iBufLength: Integer;
 bInBuffer : PAnsiChar;
begin
   iReadOffset := 0; 
  aData:=fTextToAnsiString(user)+
  fTextToAnsiString(chanel);

  iBufLength := CommFortGetData(dwPluginID, 1081, nil , 0, PAnsiChar(aData), Length(aData));
  SetLength(aReciviedData, iBufLength); 
  CommFortGetData(dwPluginID, 1081, PAnsiChar(aReciviedData), Length(aReciviedData), PAnsiChar(aData), Length(aData));
  people := fReadInteger(PAnsiChar(aReciviedData), iReadOffset);

 for i := 1 to people do
 begin
  users := fReadText(PAnsiChar(aReciviedData), iReadOffset);
  ip:=fReadText(PAnsiChar(aReciviedData), iReadOffset);
  showmessage(IntToStr(people)+Users+IP);
 end;
end;

Re: CommFortGetData ID18

Добавлено: 19:10, 17.02.2012
Jenya-Grin
Большое спасибо. У меня получилось ))

Даже заметил что в документации разработки плагинов есть ошибки

Re: CommFortGetData ID18

Добавлено: 21:03, 17.02.2012
SV
Jenya-Grin писал(а):Большое спасибо. У меня получилось ))

Даже заметил что в документации разработки плагинов есть ошибки
Я тоже это заметил, т.к ещё идет приём ip адреса.

Re: CommFortGetData ID18

Добавлено: 04:34, 18.02.2012
Maxim Mirgorodsky
пользователь() и текст(имя пользователя) - это разные вещи.

Re: CommFortGetData ID18

Добавлено: 04:39, 18.02.2012
Jenya-Grin
Maxim Mirgorodsky писал(а):пользователь() и текст(имя пользователя) - это разные вещи.
Всёже опечатки в документации есть.
Приходилось методом тыка узнавать
входящие данные меняя типы переменных.
Так как иногда написано "Иконка пользователя" Integer, на самом деле "IP адрес" string;

Re: CommFortGetData ID18

Добавлено: 15:13, 18.02.2012
SV
Jenya-Grin писал(а):
Maxim Mirgorodsky писал(а):пользователь() и текст(имя пользователя) - это разные вещи.
Всёже опечатки в документации есть.
Приходилось методом тыка узнавать
входящие данные меняя типы переменных.
Так как иногда написано "Иконка пользователя" Integer, на самом деле "IP адрес" string;
Вот вот я про это же, так же выяснял методом тыка.

Re: CommFortGetData ID18

Добавлено: 13:13, 20.02.2012
Maxim Mirgorodsky
Просьба указать конкретное место ошибки.

Re: CommFortGetData ID18

Добавлено: 16:01, 20.02.2012
Jenya-Grin
Maxim Mirgorodsky писал(а):Просьба указать конкретное место ошибки.
Их много, если буду пользоваться документацией, тогда буду оповещать.

Re: CommFortGetData ID18

Добавлено: 16:41, 20.02.2012
Maxim Mirgorodsky
Зачем же тогда информировать что ошибок много если не можете указать ни на одну? Вы не могли спутать термины "пользователь()" и "текст(имя пользователя)"?

Re: CommFortGetData ID18

Добавлено: 17:29, 20.02.2012
SV
Maxim Mirgorodsky писал(а):Зачем же тогда информировать что ошибок много если не можете указать ни на одну? Вы не могли спутать термины "пользователь()" и "текст(имя пользователя)"?
Вот допустим :

Код: Выделить всё

Список пользователей в канале, к которому подключен виртуальный пользователь  

ID: 1081
Блок данных (исходящий): текст(имя виртуального пользователя) + текст(канал)
Блок данных (входящий): число(количество) + пользователь()*количество
С входящим блогом данных приходит параметр IP, как я показывал в коде во втором посте.
people - эта переменная получает число пользователей
users - эта переменная получает имя пользователя
ip - эта переменная получает ip пользователя

Re: CommFortGetData ID18

Добавлено: 18:33, 20.02.2012
KGB
SV писал(а): Вот допустим :

Код: Выделить всё

Список пользователей в канале, к которому подключен виртуальный пользователь  

ID: 1081
Блок данных (исходящий): текст(имя виртуального пользователя) + текст(канал)
Блок данных (входящий): число(количество) + пользователь()*количество
С входящим блогом данных приходит параметр IP, как я показывал в коде во втором посте.
people - эта переменная получает число пользователей
users - эта переменная получает имя пользователя
ip - эта переменная получает ip пользователя
А там и должен приходить IP. Да и иконка должна. Как выше написали уже неоднократно, "пользователь()" != "текст(имя_пользователя)". Функция работает именно так, как указано в документации.

Re: CommFortGetData ID18

Добавлено: 18:36, 20.02.2012
SV
Всё равно надо было указывать в документации, что бы избежать в дальнейшем таких вопросов.
Я вот например не знал что ещё приходят данные которые не указаны в документации.

Re: CommFortGetData ID18

Добавлено: 18:41, 20.02.2012
KGB
Там это и описано. Перед описанием функций, на отдельной странице.
Соглашения при работе с блоком данных писал(а):пользователь(описание)

текст(имя пользователя) + текст(IP-адрес пользователя) + число(иконка пользователя)

Иконки пользователя:
0 - Мужская
1 - Женская
2 - Неизвестна (офлайн)

Re: CommFortGetData ID18

Добавлено: 18:42, 20.02.2012
SV
KGB писал(а):Там это и описано. Перед описанием функций, на отдельной странице.
Соглашения при работе с блоком данных писал(а):пользователь(описание)

текст(имя пользователя) + текст(IP-адрес пользователя) + число(иконка пользователя)

Иконки пользователя:
0 - Мужская
1 - Женская
2 - Неизвестна (офлайн)
Сори видел, но забыл что описание на отдельной странице.