багрепорт:: RQ_GetStatus всегда возвращает 0
- xternalx
- Не в сети
- Elite Member
Меньше
Больше
- Сообщений: 201
- Спасибо получено: 0
15 года 2 мес. назад #1
от xternalx
xternalx создал тему: багрепорт:: RQ_GetStatus всегда возвращает 0
собственно, субж.
Менял свой статус на free fr chat, dnd, и им подобные, а эта функция все равно говорит что я onlne =(
Менял свой статус на free fr chat, dnd, и им подобные, а эта функция все равно говорит что я onlne =(
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Vinum
- Не в сети
- Premium Member
Меньше
Больше
- Сообщений: 159
- Спасибо получено: 0
15 года 2 мес. назад - 15 года 2 мес. назад #2
от Vinum
Vinum ответил в теме RE: багрепорт:: RQ_GetStatus всегда возвращает 0
Получить свой статус:
Либо отловить изменение статуса:Либо можно выдернуть статус из
CONTACTINFO INT uin
STATUS
BOOL invisible
ISTRING displayed name
ISTRING nick
ISTRING first
ISTRING last
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.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- dek
- Не в сети
- Moderator
Меньше
Больше
- Сообщений: 2528
- Спасибо получено: 0
15 года 2 мес. назад #3
от dek
dek ответил в теме RE: багрепорт:: RQ_GetStatus всегда возвращает 0
xternalx В топике
неправильно отображает статусы
не похожие проблемы обсуждали?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- xternalx
- Не в сети
- Elite Member
Меньше
Больше
- Сообщений: 201
- Спасибо получено: 0
15 года 2 мес. назад #4
от xternalx
xternalx ответил в теме RE: багрепорт:: RQ_GetStatus всегда возвращает 0
Друзья, спасибо вам! я чего то так запарился, что про поиск забыл совсем
перекомпилил амнезию, терь там можно всякие клевые штучки делать
скоро опубликую релиз
перекомпилил амнезию, терь там можно всякие клевые штучки делать
скоро опубликую релиз
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Модераторы: bass, vazooza, Delphuk, dek, TiMeTraSheR, LaDyStRaNGe, d0CeNT, Rapid D
Время создания страницы: 0.253 секунд