Дипломная работа: Разработка программы приема и передачи сообщений в локальной сети Microsoft

buffer:='';

for i:=0 to Memo1. Lines. Count‑1 do

buffer:=buffer+Memo1. Lines. Text+#10+#13;

name1:='';

namesize:=MAX_COMPUTERNAME_LENGTH + 1;

GetMem (name, MAX_COMPUTERNAME_LENGTH + 1);

GetComputerName (name, namesize);

name2:=name;

for i:=0 to namesize‑1 do

begin

name1:=name1+name2^;

name2:=name2+1;

end;

FreeMem (name);

buffer:=name1+#0+Edit1. Text+#0+buffer;

s:=LPSTR (buffer);

WriteFile (handle, s^, length (buffer) – 2, lpNumberOfBytesWritten, NIL);

if length (buffer) – 2<>lpNumberOfBytesWritten then

begin

ShowMessage ('Error when writing file. Number Of Bytes Written: '+IntToStr (lpNumberOfBytesWritten));

end;

CloseHandle (handle);

end;

Button1. Enabled:=True;

end;

Используя функции NetBIOS, процедура Tform2.NBName определяет. является ли адресат пользователем удалённой машины или данное имя является самим компьютером, а также, не является ли адресат рабочей группой сети Microsoft.

Также, часть данной процедуры определяет, запущена или нет на данной машине ещё одна программа «всплывающих сообщений». Так как для совместимости с аналогичными программами требуется указать одно и то же имя почтового слота (в данном случае, имя компьютера, на котором запущено данное приложение), то при наличии другой подобной программы показывается окно с кодом ошибки. Код ошибки определяется средствами NetBIOS и в данной дипломной работе реализована процедурой NBName.

Рис. 1.11. Ошибка при создании почтового слота


К-во Просмотров: 561
Бесплатно скачать Дипломная работа: Разработка программы приема и передачи сообщений в локальной сети Microsoft