Skip to content

[Delphi] Piszemy prosty chat! Część 1 – wstępniak

by matergames on Luty 11th, 2010

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:Screen 1

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 :)

Podziel się:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • MySpace
  • Twitter
  • Add to favorites
  • Blip
  • Flaker
  • Grono
  • Kciuk.pl
  • LinkedIn
  • Live
  • Slashdot
  • Śledzik
  • Wykop
No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS