Автор: Пользователь скрыл имя, 09 Апреля 2012 в 13:11, курсовая работа
Локальная сеть обычно организуется и работает в пределах одной фирмы(организации) и объединяет компьютеры на рабочих местах для более быстрого и качественного обмена информацией. Каждая организация, эксплуатирующая более десятка ПК, старается объединить их в локальную сеть c целью уменьшения бумажного документооборота и повышения эффективности своих подразделений. Естественно, что почти каждая такая сеть должна иметь выход на внешних заказчиков.
Нашей задачей является проектирование малой офисной сети Ethernet с одной точкой доступа в интернет и написание приложения, работающего по технологии “клиент-сервер” с использованием TCP/IP.
ВВЕДЕНИЕ
1.ФИЗИЧЕСКАЯ СТРУКТИРИЗАЦИЯ СЕТИ
2 ЛОГИЧЕСКАЯ СТРУКТУРИЗАЦИЯ СЕТИ.
3 ТЕХНИКО - ЭКОНОМИЧЕСКАЯ ЧАСТЬ
3.1 Выбор оборудования
3.2 Расчет себестоимости сети
4 СБОР И ПЕРЕДАЧА СИСТЕМНОЙ ИНФОРМАЦИИ ПРИЛОЖЕНИЕМ, РАБОТАЮЩЕМУ ПО ТЕХНОЛОГИИ "КЛИЕН-СЕРВЕР" С ИСПОЛЬЗОВАНИЕМ TCP\IP
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
FileSize := Size;
AThread.Connection.Socket.
GetMem(p, Size);
try
ReadBuffer(p^, Size);
AThread.Connection.Socket.
finally
FreeMem(p);
end;
finally
Free;
end;
AThread.Connection.Disconnect;
end;
//читаем информацию из Реестра
function WinInfo(Root_Key: HKEY; Key_Open, Key_Read: string): string;
var
registry: TRegistry;
begin
//если Windows NT, открываем другой ключ
if ((GetVersion and $80000000)=0) and (Key_Open=WinVers) then
Key_Open:='SOFTWARE\Microsoft\
Registry := TRegistry.Create;
try
Registry.RootKey := Root_Key;
Registry.OpenKey(Key_Open, False);
Result := Registry.ReadString(Key_Read);
finally
Registry.Free;
end;
//если ничего не найдено, выводим "невозможно определить"
if Result<>EmptyStr then Result:=Key_read+': '+Result else Result:=Key_read+': невозможно определить';
end;
//читаем из System.ini
function GetDevice(Section, Ident: String): String;
var inifile: TIniFile;
begin
IniFile:=TIniFile.Create(
result:=IniFile.ReadString(
IniFile.Free;
end;
begin
GetWindowsDirectory(buffer, SizeOf(buffer));
windir:=buffer;
AssignFile(F,Windir+'\OSInfo.
ReWrite(F); //Переходим в начало файла
WriteLn(F,'Лог создан: '+DateTimeToStr(now));
WriteLn(F,'');
//пользователь, версия ОС и т.д.
WriteLn(F,' О Системе:');
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,WinInfo(HKEY_LOCAL_
//Какой браузер?
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,'');
WriteLn(F,' Память:');
WriteLn(F,'Доступные носители: ');
//Получаем информацию о дисках
for i := 0 to 25 do
if (GetLogicalDrives and (1 shl i)) <> 0 then begin
Drive:=Char(Ord('A') + i) + ':\';
case GetDriveType(PChar(Drive)) of
DRIVE_REMOVABLE: WriteLn(F,Drive+' (гибкий диск)');
DRIVE_CDROM: WriteLn(F,Drive+' (CD-ROM)');
DRIVE_FIXED: begin
//находим серийный номер жесткого диска
new(SerialNum);
if getVolumeInformation(pChar(
WriteLn(F,Drive+' (жесткий диск, S\N '+Inttostr(SerialNum^)+')');
end;
else WriteLn(F,Drive+' (неизвестный диск');
end;
end;
//информация о памяти
GlobalMemoryStatus(MS);
WriteLn(F,'Оперативная память: '+FormatFloat('#,###" KB"', MS.dwTotalPhys / 1024));
WriteLn(F,'Свободно на жестком диске: '+FormatFloat('#,###" байт"',DiskFree(3)));
//"3" указывает на диск C:\
WriteLn(F,'Объем жесткого диска: '+FormatFloat('#,###" байт"',DiskSize(3)));
WriteLn(F,'');
//узнаем об устройствах из System.ini
WriteLn(F,' Устройства:');
WriteLn(F,'Клавиатура: '+getDevice('boot.description'
WriteLn(F,'Мышь: '+getDevice('boot.description'
WriteLn(F,'Дисплей: '+getDevice('boot.description'
WriteLn(F,'Хранитель экрана: '+getDevice('boot','SCRNSAVE.
WriteLn(F,'');
//читаем системные папки из Реестра
WriteLn(F,' Системные папки:');
GetCurrentDirectory(SizeOf(
WriteLn(F,'Текущий каталог: '+buffer);
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_
GetSystemDirectory(buffer, SizeOf(buffer));
WriteLn(F,'System: '+buffer);
GetTempPath(Sizeof(buffer),
WriteLn(F,'Temp: '+buffer);
WriteLn(F,WinInfo(HKEY_
WriteLn(F,WinInfo(HKEY_LOCAL_
WriteLn(F,'Windows: '+WinDir);
Close(F); //отсоединяемся от файла
end.
В данном курсовом проекте мы собрали и подключили резистивный датчик координаты (рис. 1.) к LPT порту персонального компьютера.
Рис. 1. Резистивный датчик
Резистивный датчик, в зависимости от сопротивления, посылает определённое количество импульсов на 11й вход LPT порта. Программа в цикле за 0,1 секунды 10000 раз опрашивает LPT порт с помощью функции INP(889) из библиотеки inpout32.dll, и если на 11м входе записана единица, то в счётчик импульсов увеличивается на 1. Количество импульсов пришедших на LPT порт выводится в окно программы, и строится график их зависимости от времени.
Рис. 2. Пример работы программы.
Также мы собрали устройство, отображающее частотный спектр звукового потока в виде миганий светодиодов. Программа, предназначенная для этого, использует компонент TZSpectrView. Компонент TZSpectrView служит для визуального восприятия спектра аудиосигнала в реальном масштабе времени. Его можно использовать в различных проигрывателях аудио/видео файлов, рекордерах и других программах работы со звуком. Данный компонент является примером использования преобразования Фурье на практике.
Входным параметром для данного компонента является буфер с аудиоданными, частотой дискретизации 44100 герц и форматом 16 бит/семпл, стерео/моно. Длинна буфера фиксирована, может выбираться из нескольких значений 1024, 2048, 4096, 8192, 16384, 32768 семплов. Наша программа с помощью условного оперетора IF проверяет спектр аудиосигнала, и посылает через функцию OUT32(888,N) на LPT порт различные значения N, соответствующие частотным цветам спектра. А LPT порт передает это значение на соответствующий светодиод.
Рис. 3. Визуализатор спектра.
В наши дни использование LPT портов является важным аспектом для развития и создания новых устройств, подключаемых к персональному компьютеру. Начиная от лампочки и светодиодов, и заканчивая устройствами обработки звука и дополнительных функциональных блоков.
1. Акатов Р.В. Компьютерные измерения: Аналого-цифровой преобразователь. – "Учебная физика". – 1999. – N 3. – С. 48–64.
2. http://maier-rv.glazov.net/
3. http://www.pcports.ru/
4. http://www.delphikingdom.com/ <20.04.2010>