Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

1. diel - Úvod, externá triedy v špeciálnej zložke - isim

V tejto sérii článkov si ukážeme ako si naprogramovať jednoduchý instant messenger. Budem vychádzať z isim. Vlastne ho teraz prepisuje, aby to bolo trošku čitateľné a nebola to taká prasárna, ale to sem nepovedal ... Nebudem rozoberať detaily. Ale v kóde nechám potrebnej komentáre. Prípadne nie je problém opýtať sa pod článkom alebo vo fóre. Moc nepočítam s tým, že podľa toho čo budem písať, budeš zostavovať program. Ak áno, je potrebné to pochopiť a písať to sám, ako to začneš kopírovať, tak sa v tom stratíš. Prejdi si tie jednotlivé úryvky kódu a potom si stiahni zdrojový kód, odskúšajte si ho a prejdi si jeho funkcionalitu. Skús si nejaké zmeny. Ide mi hlavne o to, ukázať zaujímavosti, na ktoré som narazil, ktoré sa môžu hodiť, nejaké fičury a problémy na ktoré som narazil a ako som ich riešil, potom kompletný zdrojový kód, pre zvedavcov a Superpátračov as ním aj možnosť si dorábať vlastné fce a urobiť si imko na mieru. Keby ti niečo nebolo jasné, tak sa neváhaj pýtať, aspoň to počástech rozoberieme dopodorbna :)

Čo je Zaujímavý a dobrý vedieť. Ak chcem používať tzv. Live debugging teda upravovať program za behu, je potrebné ho mať spustený pod platformou x86 a ako Debug -> kliknutí na danú Solution -> Properties -> Configuration properties. Ak tam x86 nebude dá sa pridať, niečo ako Add new. Projekt mám .NET FW 3.5 SP1 WinForms x86 AnyCPU.

Najprv si navrhneme funkcionalitu a roztriedenie toho, čím začneme. Toto bude dlhá cesta. Prepojenie jednotlivých prvkov a napojenie je na knižnice protokolov.

Program.cs

  • Kontrola prítomnosti požadovaného .NET FW
  • Mutex aplikácie - môže byť spustená iba raz

MainForm.cs

  • kontakt list

ChatForm.cs

  • Taby jednotlivých konverzácií Vlastné RichTextBox konverzácie (farebné nicky a smajlíci)

    TextBox správa

    Tlačidlo na odoslanie správy (niečo na ňom bude)

  • Vlastné RichTextBox konverzácie (farebné nicky a smajlíci)
  • TextBox správa
  • Tlačidlo na odoslanie správy (niečo na ňom bude)

ChatTab.cs

  • Vlastné komponenta spravujúce taby a ich komponenty

ChatTabPage.cs

  • Vlastné komponenta obsahujúce vyššie spomínané prvky

ContactListVi­ewItem.cs

  • Vlastné komponenta položka kontaktu v kontakt liste obsahujúci navyše informácie o kontakte

ConversationRTB.cs

  • Vlastné komponenta RichTextBox s farebnými nicky, smajlíky a možností skrolovania

Global.cs

  • Všetko čo je statický a dostupný zo vsadí Prístup k okýnkům

    Funkcia messengera (odoslanie, pridanie správy ...)

    Konverter pre prevod objektov jednotlivých knižníc na isim friendly

    Práca s textom

  • Prístup k okýnkům
  • Funkcia messengera (odoslanie, pridanie správy ...)
  • Konverter pre prevod objektov jednotlivých knižníc na isim friendly
  • Práca s textom

ISIMContact.cs

  • Interface nášho kontaktu - definícia vlastností
  • Triedy pre kontakty z jednotlivých knižníc
  • Komparátor kontaktov (dostupnosť, meno)

Login.cs

  • Údaje pre pripojenie k serveru

Pretože je fakt cool mať externé knižnice v priečinku plugins, tak si povieme ako to pošéfit. Najskôr si ich presunieme do požadovanej zložky a znova ju pridáme tentoraz z nej potom na nej klikneme v references -> Properties. Je tam tuším CopyLocal to je to čo zaisťuje kopírovanie knižnice do zložky s programom. Takže už to robiť nebude, muhehe. Teraz vytvoríme ApplicationConfig - normálne pridať súbor a tam je priamo tento súbor v ponuke. A do neho sa dá:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="plugins;" />
    </assemblyBinding>
  </runtime>
</configuration>

 

Všetky články v sekcii
Programujeme vlastné Instant Messenger :: isim ::
Preskočiť článok
(neodporúčame)
Prítomnosť .NET 3.5 SP1 a mutex - isim
Článok pre vás napísal David Jančík
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor je vášnivý programátor. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.
Aktivity