|
Delphi Charon 1 - Příklad komunikace a NVT
Příklad jednoduché komunikace s obecným TCP/IP zařízením v Borland Delphi 5 demonstruje jednoduchý klientský terminál vybavený základními příkazy NVT (Network Virtual Terminal) a rozšířením pro I/O funkce.
Jedná se o velmi jednoduchou aplikaci, která má pouze demonstrativní účely a lze ji plně využít pro tvorbu vašich vlastních aplikací. Pozornost je zaměřena hlavně na korektní řešení síťové části, včetně detekce uzavření spojení ze strany serveru.
Chcete-li ve vaší aplikaci ovládat I/O piny pomocí NVT (v příkladu použito jako ovládání LED a zpětné čtení "svítí" / "nesvítí"), oceníte tento příklad, protože nebudete muset podrobně studovat NVT dokumentaci!
Popis metod zdrojového kódu
- procedure ConnectBtnClick(Sender: TObject);
(* Tato rutina je volána tlačítkem Connect/Disconnect a otevírá, příp. uzavírá TCP/IP spojení s Charonem. *)
- procedure ClientSocketConnect(Sender: TObject;
Socket: TCustomWinSocket);
(* Rutina je tzv. call-back, je volána programem po navázání úspěšného spojení.
Povoluje některá tlačítka, např. Send text a posílá Charonu příkaz <AYT>. *)
- procedure ClientSocketError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
(* Call-back rutina, která loguje na obrazovku chyby v TCP/IP spojení. *)
- procedure AYTBtnClick(Sender: TObject);
(* Metoda, posílající do Charonu příkaz <AYT>. *)
- procedure ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket);
(* Rutina obsluhující data přijatá z Charonu. Zpracovává NVT odpovědi, loguje přijatý text na obrazovku apod. *)
- procedure WriteLEDBtnClick(Sender: TObject);
(* Metoda volaná při změně některého z checkboxů (zaškrtávátek) I/O, posílá tyto změny do Charonu. *)
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
(* Call-back metoda volaná při ukončení aplikace. Stará se o uzavření TCP/IP spojení a "závěrečný úklid". *)
- procedure ClearBtnClick(Sender: TObject);
(* Tato metoda smaže okno záznamníku (log window). *)
- procedure ReadLEDBtnClick(Sender: TObject);
(* Metoda žádající Charon o zaslání stavu vstupů (reakcí je zobrazení stavu vstupů osmi LED diodami v okně programu). *)
- procedure SendBtnClick(Sender: TObject);
(* Metoda posílá text ze vstupního řádku na sériový výstup Charonu. *)
- procedure FormCreate(Sender: TObject);
(* Call-back metoda inicializující okno aplikace při jejím startu. *)
- procedure FormDestroy(Sender: TObject);
(* Call-back metoda volaná při ukončení aplikace. Ruší hlavní okno programu. *)
- procedure CloseBtnClick(Sender: TObject);
(* Metoda reagující na tlačítko Close (ukončit program). *)
- procedure Label4Click(Sender: TObject);
procedure Label6Click(Sender: TObject);
procedure Label7Click(Sender: TObject);
(* Tyto tři metody reagují otevřením okna WWW browseru na stránkách HW Group. *)
- procedure ClientSocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
(* Call-back rutina, která je volána při uzavření spojení. Zakazuje některá tlačítka apod. *)
- procedure HandleButtons( Active : boolean );
(* Pomocná rutina, starající se o povolení tlačítek dle stavu, v němž se program nachází. *)
Download zdrojových kódů a spustitelného programu
-
dphi_ch1com_example.zip
\MainForm.pas, MainForm.dfm, Charon.dpr a ostatní zdrojové soubory
\Program\Charon.exe, Charon.ini
|