За някои може би ще е интересно как да направят програмите си да общуват през Lan. За целта аз използвах компонента ALMailSlot, които ще трябва и вие да си го свалите. Ако искате съвсем сам да си направите всичко можете да се консултирате с неговия сурс и да разберете как бачка mailslot в \/\/indows. Аз не съм се занимавал да го интегрирам в програмата, защото смятам, че така се изпуска възможността да се възползваме от хубавия компонент, който е направил човека. За да пращате нещо на някой ви трябва само името на компютъра (local machine) и текста, който сте измислили. Ето какво съм направил в програмата...
{tazi
procedura se izvikva sled proverkata za hotword i proverqva dali sa pusnati
GetPar1 ili GetPar2, za da dobavq St kum Par1(komputer) i Par2(komanda)} procedure CompileCmd; procedure
SendCmd(const APar1,APar2: string); begin |
Този mailslot е направо чудесен. Можете дори сега да си направите една програмка да изгаврите някой в залата.
Тъй като TMain.MailSlot1NewMessage (какво се прави при получаване на команда) си има коментари няма да я изкарвам тук. Забележете само:
if
Copy(Text,0,1)<>'l'
then begin if LastTime=Copy(Text,0,7) then exit; LastTime:=Copy(Text,0,7); Delete(Text,0,7); end; |
Ето тук от получения Text си отрязваме времето на изпращане и проверяваме дали вече не сме го получавали веднъж. Щеше да има проблеми, ако две команди се изпратят за 1 сек, но не ми се вярва да успеете да напишете ;cmd;pc09;b?; и ;cmd;pc09;ex; за толкова кратко.
назад |
напред
|