багрепорт:: RQ_GetStatus всегда возвращает 0

Больше
15 года 2 мес. назад #1 от xternalx
собственно, субж.
Менял свой статус на free fr chat, dnd, и им подобные, а эта функция все равно говорит что я onlne =(

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 года 2 мес. назад - 15 года 2 мес. назад #2 от Vinum
Получить свой статус:
function RQ_GetCurrentStatus:integer;
var
 data:Pointer;
begin
 data:=CallStr(char(PM_GET)+char(PG_STATUS));
 Result:=_byte_at(data,5)
end;

Либо отловить изменение статуса:
procedure RQ__ParseStatusChanged(data:pointer; var uin:integer; var new_status, old_status, new_invisibility, old_invisibility:byte);
begin
 uin:=_int_at(data, 6);
 new_status:=_int_at(data,10);
 old_status:=_int_at(data,11);
 new_invisibility:=_int_at(data,12);
 old_invisibility:=_int_at(data,13);
end;
................................

PE_STATUS_CHANGED:
begin
 RQ__ParseStatusChanged(data,uin,ns,os,ni,oi);
 if uin=твой_UIN then...
Либо можно выдернуть статус из

CONTACTINFO INT uin
STATUS
BOOL invisible
ISTRING displayed name
ISTRING nick
ISTRING first
ISTRING last
type
 TContactInfo=record
   UIN:integer;
   Status:byte;
   Invisible:boolean;
   DisplayedName, First, Last:string
 end;
..................
function RQ_GetContactInfo(uin:integer):TContactInfo;
var
 data:Pointer;
 tempCI:ContactInfo;
 a:array[0..50]of char;
 i:integer;
begin
 data:=CallStr(char(PM_GET)+char(PG_CONTACTINFO)+_int(uin));
 for i:=0 to 50 do begin
  a[i]:=Char(_byte_at(data,i));
 end;
 with tempCI do begin
  UIN:=_int_at(data,9);
  Status:=_byte_at(data,13);
  Invisible:=boolean(_byte_at(data,14));
  DisplayedName:=_istring_at(data,15);
  i:=15+4+Length(DisplayedName);
  First:=_istring_at(data,i);
  i:=i+4+Length(First);
  Last:=_istring_at(data,i);
 end;
 Result.UIN:=length(a);
 Result:=tempCI;
end;
..............
showmessage(inttostr(RQ_GetContactInfo(uin).Status))
Последнее редактирование: 15 года 2 мес. назад пользователем Vinum.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 года 2 мес. назад #3 от dek
xternalx В топике неправильно отображает статусы не похожие проблемы обсуждали?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 года 2 мес. назад #4 от xternalx
Друзья, спасибо вам! я чего то так запарился, что про поиск забыл совсем :(
перекомпилил амнезию, терь там можно всякие клевые штучки делать :)
скоро опубликую релиз :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: bassvazoozaDelphukdekTiMeTraSheRLaDyStRaNGed0CeNTRapid D
Время создания страницы: 0.250 секунд
Работает на Kunena форум