Sekretarka (odpowiadacz) w Delphi.

Bezel21

Użytkownik
Dołączył
Maj 22, 2007
Posty
104
Witam.
Niektórzy z Was pewnie zastanawiają się jak napisać sekretarke do Gadu Gadu w oparciu o komponent Thgg.
Sekretarka prosta, ale funkcjonalna i przydatna. Dla początkujących ten artykuł pewnie będzie podstawą do pisania waszych rozbudowanych sekretarek.
Więc zabierzmy się do pracy:
Oczywiście w sekretarce będzie trzeba się jakoś połączyć do serwera, czyli mamy już kawałek kodu do wpisania, ale najpierw postaw na formie 2 Edity. Edit1 to będzie numer Gadu Gadu, z którym będzie się łączyć program. Edit2, hasło. Połóż jeszcze na formę button. Wpisz w zdarzeniu OnClick:

Kod:
If (Edit1.Text = '') or (Edit2.Text = '') then //jeżeli edit1 i edit2 jest puste to...
Raise Exception.Create('Pole z numerem ani hasłem nie może byc puste!'); //zareaguj na wyjątek.
If (Edit1.Text <> '') and (edit2.Text <> '') then //jeżeli edit1 i edit2.text jest różne od '' to...
Hgg1.Number:=StrToInt(Edit1.text); //edit1 to numer,
Hgg1.Password:=Edit2.Text; //edit2 to haslo
{laczenie i zmiana statusu na dostepny}
Hgg1.connect(-1);
Hgg1.Status:=usAvailable;

Jego Caption ustaw na "Laczenie", czy jakoś tak...
OK, łączenie gotowe. Teraz należało by zrobić rozłączanie, czyli kładziemy na formie Button2, caption "Rozłącz" albo podobnie. Kawałek kodu:

Kod:
Hgg1.Disconnect; //rozlaczanie
{czyszczenie edit1 i edit2}
Edit1.Text:='';
Edit2.Text:='';

Teraz należało by zrobić najważniejszą funkcje "Sekretarki", czyli ...odpowiadanie
smile.gif

Wygeneruj zdarzenie OnMessage komponentu Hgg i wpisz tam:

Kod:
Hgg1.SendMessage(GGNumber, Memo1.Text); //jeżeli ktoś napisze odpisz na ten nr trescia Memo1...

Czyli po tym kodzie powinneś wywnioskować, że na formie powinien pojawić się również memo1, którego treścią będzie odpowiadać nasza sekretarka jeżeli ktoś napisze.

Teraz, jeżeli ktoś napisze wiadomość powinna się znaleść również w naszym programie więc w zdarzeniu OnMessage dodaj również linijkę:

Kod:
{dodaj do memo godzinę, numer i tresc wiadomosci}
Memo2.lines.add('O godzinie ' + TimeToStr(Time) + ' Napisał numer: ' + inttostr(GGNumber)+ ' wiadomosc: '+(MessageContent));

Czyli powinneś postawić 2 memo... teraz
<


Ok, gotowe pewnie nie wiesz jak to wszystko powinno mniej więcej wyglądać, ale pomyślałem o tym i zamieszczam ScreenShota:

2c759228f7e8dd2c.jpg


Mam nadzieje, że artykuł się podoba. Pozdrawiam!
W razie problemów pisać!
 

grzonu

Były Moderator
Dołączył
Grudzień 26, 2006
Posty
1390
<div class='quotetop'>CYTAT(Bezel21 @ 26.09.2008, 19:11) <{POST_SNAPBACK}></div>
Niektórzy z Was pewnie zastanawiają się jak napisać sekretarke do Gadu Gadu w oparciu o komponent Thgg.[/b]

Pewnie wręcz nie moge spać przez to.

A tak na serio to byly juz takie poradniki.
 

adikx

Użytkownik
Dołączył
Maj 21, 2007
Posty
415
Dobrze napisany tutek.
Masz komentarze w kodzie co się bardzo przydaje początkującym.

Trochę - za to ,że pozostawiłeś nazwy domyślne np Edit1 lub Hgg1.
Przy małym programiku nie ma to znaczenia ale przy większej ilości editów buttonów komuś kto zobaczy źródło może się zakręcić w głowie.
Dlatego radzę zmień na edtNumber, edtPass, btnConnect itp.

Pozdrawiam AdiKX
 

Bezel21

Użytkownik
Dołączył
Maj 22, 2007
Posty
104
<div class='quotetop'>CYTAT(adikx @ 27.09.2008, 10:41) <{POST_SNAPBACK}></div>
Dobrze napisany tutek.
Masz komentarze w kodzie co się bardzo przydaje początkującym.

Trochę - za to ,że pozostawiłeś nazwy domyślne np Edit1 lub Hgg1.
Przy małym programiku nie ma to znaczenia ale przy większej ilości editów buttonów komuś kto zobaczy źródło może się zakręcić w głowie.
Dlatego radzę zmień na edtNumber, edtPass, btnConnect itp.

Pozdrawiam AdiKX[/b]

Nazwy komponentów to nie żaden problem, ale w następnych tutorialach będę zmieniać nazwy komponentów.
Pozdrawiam, Bezel21..
 
Do góry Bottom