[Delphi] Piszemy prosty chat! Część 1 – wstępniak
Chwilę już nic nie pisałem, postanowiłem coś tutaj umieścić ![]()
Swego czasu stworzyliśmy dla muhacka kanał IRC, ale niestety nie za wiele osób z niego korzystało, zwykle świeciło tam pustkami.
Dlatego też jakiś już czas temu postanowiłem napisać w delphi specjalnie do chatu stworzoną aplikację – niestety pomysł też nie wypalił.
Dzisiaj zacznę pisać jak taką aplikację stworzyć – krok po kroku.
Zanim zaczniesz zapoznaj się z użytym tu językiem programowania – delphi.
Linki do stron z kursami:
Pascal:
http://www.pascal.eu.org/
http://turbopascal.skryptoteka.pl/index-noflash.html
Delphi:
http://4programmers.net/Delphi/Kompendium
http://swiatinformatyki.ovh.org/delphi.php
Do tego będą nam potrzebne ClientSocket i ServerSocket – do ściągnięcia tutaj: http://members.multimania.co.uk/marekblck/socks.zip
Zacznijmy!
Odpalamy Delphi (ja korzystam z wersji 7), powinna pojawić się nam już gotowa forma ![]()
Wrzucamy na nią:
Memo (nazwa msgs) – do wyświetlania wiadomości
ClientSocket – nasze gniazdo do łączenia się z serwerem
XpManifest – dla nadania „xpkowego” wyglądu
ListView (nazwa ppl) – dla wyświetlenia innych użytkowników
2xEdit (nazwy odpowiednio: ip oraz msg) – do wpisania IP serwera oraz wiadomości
2xbutton (nazwy odpowiednio: ipbtn oraz msgbtn) – połączenie z serwerem / wysłanie wiadomości
Ustawiamy sobie komponenty według uznania, u mnie wygląda to teraz tak:
Zmieniamy w ListViev – viewstyle na vsReport, klikamy na [...] przy columns i dodajemy kolumny: # oraz nick
Przechodzimy do ClientSocket i ustawiamy: name na klient i port na port na którym ma działać chat (ja ustawiłem na 666).
Zmieniamy w msgs ReadOnly na true.
Dwuklikiem na ipbtn tworzymy procedurę ipbtnClick o zawartości:
klient.address:=ip.text; //ustawiamy IP w socketcie klient.active:=true; //aktywujemy go ipbtn.Enabled:=false; //dezaktywujemy przycisk
Oraz tworzymy procedurę klientError o treści:
ErrorCode:=0; //przecież sami zajmiemy się błędem :) msgs.Lines.Add('Błąd - nie ma połączenia z serwerem ('+ip.text+':'+inttostr(klient.port)+')'); //dodajemy do memo ładną informację
To był tylko wstępniak, tak naprawdę jeszcze nie zaczęliśmy tego pisać, ale to był tylko przedsmak, kolejna, już pełnoprawna część niedługo
