Nie wystarczyło zajrzeć do Readme?
Opis komponentu HGG.
Instalacja
Aby móc zainstalować komponent wymagany jest pakiet Indy w wersji 9.x (
http://www.indyproject.org/indy/downloads/Indy_9_00_14_src.zip). Gdy już go mamy,należy wybrać zakładkę Component, a następnie Install component. Najłatwiej zainstalować do nowej paczki - wybieramy zakładkę Into new package. W polu Unit file name wybieramy plik komponentu (hgg.pas), a w polu Package file name dobieramy nową paczkę - nazwa dowolna. W nowym oknie wybieramy Compile, a następnie Install. Jeśli wszystko pójdzie okej komponent pokaże się w zakładcę HAKGERSoft Components i od tej chwili będzie można go używać.
Logowanie się na serwer GG
Przed zalogowaniem trzeba wpisać dane swojego konta GG: czyli numer GG (Number) oraz hasło (Password) w inspektorze obiektów. Połączenia dokonujemy metodą Connect. Jeżeli dane były poprawne i nastąpiło pomyślne zalogowanie - wystąpi zdarzenie onLogin. W przeciwnym przypadku- onLoginFailed. Automatycznie został ustawiony status na niewidoczny. Aby się rozłączyć - metoda Disconnect. W każdej chwili można również sprawdzić czy jesteśmy prawidłowo zalogowani na serwer GG - właściwość Logged.
Zmiana statusu
Możliwe są 4 stany konta: niedostępny, dostępny, zaraz wracam oraz niewidoczny. Ustawia się je poprzez własciwość Status (odpowiednio: 0, 1, 2, 3). Do aktualnego statusu można też dodać opis (właściwość Description). Aby ustawić status niedostępny + opis należy pierw ustawić opis, a później status na niedostępny (gdyż status niedostępny (0) równoważny jest z rozłączeniem).
Wysyłanie wiadomości
Aby wysłać wiadomość do jakiegoś numeru GG trzeba uruchomić metodę SendMessage, np: HGG.SendMessage(99999, 'Jakaś wiadomość
'); Wiadomość nie powinna być dłuższa niż 1989 znaków.
Odbieranie wiadomości
Gdy ktoś przyśle nam wiadomość wykona się zdarzenie onMessage. Parametry zdarzenia to: GGNumber - numer GG użytkownika, MessageContent - zawartość wiadomości, MessageTime - czas nadejścia wiadomości.
Obsługa listy kontaktów
Komponent posiada wewnętrzną strukturę pozwalającą na obsługę swojej listy kontaktów. Aby dodać kogoś do listy służy metoda AddUser, np: HGG.AddUser(10110110, 'Zenek'); Pierwszy parametr określa numer GG użytkownika, drugi - nazwę na liście. Obojętne jest czy dodajemy użytkowników będąc połączonym czy też nie. Użytkownicy na liście kontaktów są ponumerowani - możemy któregoś skasować poprzez DelUser, np: HGG.DelUser(4); usunie użytkownika o index`ie 4-tym. Możemy też zablokować kogoś, np: HGG.BlockUser(2020220);, jak widać w parametrze podajemy tu numer GG delikwenta.
Aby wyświetlić listę kontaktów posłuży metoda GetUser, która podaje informacje o użytkowniku na podstawie numeru index`u na liście. Przykładowo, aby dodać do Memo listę kontaktów:
var
i: Integer;
begin
for i := 0 to HGG.UsersCount - 1 do
Memo1.Lines.Add('Nazwa usera : ' + HGG.GetUser(i).Name + ' Numer GG: ' + IntToStr(HGG.GetUser(i).Number));
end;
UsersCount określa ilość użytkowników na liście kontaktów. Oprócz wyżej opisanych pól Name i Number dostępne są: Status (okresla aktualny status użytkownika, 0, 1, 2 lub 3 - jeżeli użytkownik nas zablokuje będzie oznaczony statusem 4), Description (aktualny opis użytkownika), IP (numer IP użytkownika - pokazuje tylko jeśli użytkownik ma nas w swojej liście kontaktów), ImageSize (maksymalna wielkość obrazków, jakie można wysyłać do użytkownika).
Aby zmieniać na bieżąco aktualne stany użytkowników należy obsłużyć 2 zdarzenia: onGotUserList (gdy nadchodzi lista kontaktów zaraz po zalogowaniu z serwerem) oraz onUserChangeStatus (pojedyncza zmiana statusu jakiegoś użytkownika). Najłatwiej w obu tych zdarzeniach oświeżać całą listę poprzez ponowne załadowanie do używanego komponentu (np. ListView czy Memo) opisywaną już metodą GetUser.