Critex v3 |
Wysłany: Nie 18:39, 01 Lut 2009 Temat postu: Auto odpowiadacz na GG |
|
Auto odpowiadacz na GG
1. Napisze jak napisać prosty program, który automatycznie odpowiada osobom na gg i powiadamia ich o naszej nieobecności. Będzie pełnił rolę swoistej automatycznej sekretarki.
2. Z komponentów ściągnąć trzeba będzie tylko THGG, ponieważ reszta jest w systemie.
3. Najpierw zróbmy, żeby nasz program łączył się z serwerem Gadu-Gadu. W tym celu wrzucamy komponent THHG na formę. Zmieńmy mu nazwę (name) na 'gg'.
Teraz wstawmy dwa komponenty Edit, który nadajemy kolejno nazwy 'numer' i 'pass'. W Object Inspector editu 'pass' wartość PasswordChar ustawiamy na '*', co zagwiazdkuje nam hasło. Teraz musimy wstawić na formę przycisk (button), który za pomocą danych wprowadzonych z poprzednio wspomnianych pól połączy nas z serwerem GG. Klikamy dwukrotnie na przycisk i piszemy w nim:
---
gg.Number:=strtoint(numer.text); //Pobiera z pola edit numer gg
gg.Password:=strtoint(pass.text); //Pobiera z pola edit hasło do numeru gg
gg.Connect(500); //Łączy z serwerem
---
Jeszcze można dodać przycisk rozłączający nas z serwera podpinającą pod onClick:
---
gg.status:=0; //Ustawia status na Niedostępny
---
4. Teraz zajmiemy się tym, jak wstawić tą auto odpowiedź Wrzucamy na formę pole tekstowe (memo) i nazywamy je 'odpowiedz'. Następnie zaznaczamy komponent THHG i w zakładce Events dodajemy do OnMesage kod:
---
gg.SendMessage(ggnumber, odpowiedz.text);
---
5. Dobrym pomysłem byłoby też wiedzieć co i kto do nas pisze, żebyśmy mogli potem odpowiedzieć
Żeby to osiągnąć wstawiamy kolejne Pole tekstowe (memo) i nazywamy je 'wiadomosci'. Wygodnie byłoby wstawić w nie scroolbar Teraz, żeby zadziałało do komponentu THHG akcji OnMessage dopisujemy następujący kod:
wiadomosci.Lines.Add('[' +inttostr(ggnumber) +']: ' +MessageContent);
6. Nie głupie byłoby zapisanie tych wiadomości do pliku podczas zamykania programu. To wcale nie jest trudne w wykonaniu. Wystarczy wybrać formę, przejść do zakładki Events i do procedury OnClose dopisać kod:
---
wiadomosci.Lines.SaveToFile('c:\\logi.txt');
---
7. No dobrze, a jeżeli byśmy chcieli ustawić konkretny status, albo opis? Nie ma sprawy. Żeby mieć opis wystarczy znowu wstawić pole tekstowe i nazwać je 'opis' Teraz wstawić przycisk potwierdzający tę operację i do OnClick podpiąć:
---
gg.Description:=opis.Text;
---
Żeby zmieniać status należy wstawić komponent ComboBox, w Object Inspector do items przypisać po kolei statusy i do procedury OnChange podpiąć kod:
---
case ComboBox1.ItemIndex of
0: hgg1.Status:=1; //Dosępny
1: hgg1.Status:=2; //Zaraz Wracam
2: hgg1.Status:=3; //Niewidoczny
3: hgg1.Status:=0; //Niedostępny
end;
---
Teraz wystarczy, że dodasz jakieś elementy graficzne i masz wyjechaną Automatyczną sekretarkę na GG |
|