Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kursovaya / Poyasnitelnaya_zapiska.doc
Скачиваний:
19
Добавлен:
23.02.2016
Размер:
745.47 Кб
Скачать

Раздел 3

РУКОВОДСТВО ПРОГРАММИСТА

В данном разделе перечислены и описаны все функции, которые используются в программе:

  • Главное окно, в котором находится TListBox, кнопки, определяющие все главные функции программы.

  • Дополнительные окна, для интерфейса пользователя и удоства использования программы.

3.1. Главное окно

Процедура выводит на экран всю информацию о процессоре средствами функций WinAPI.

procedure TForm1.SpeedButton1Click(Sender: TObject);

var

SysInfo:TSystemInfo;

begin

listbox1.items.Clear;

GetSystemInfo(SysInfo);

with ListBox1.Items,SysInfo do

begin

Add('ProcessorArchitecture: '+IntToStr(wProcessorArchitecture));

Add(FloatToStr(dwPageSize)+' Kb page size');

Add(Format('Lowest memory address accessible to applications and DLL - %p',[lpMinimumApplicationAddress]));

Add(Format('Highest memory address accessible to applications and DLL - %p',[lpMaximumApplicationAddress]));

Add('OEMID:'+IntToStr(dwOemId));

Add('ActiveProcessorMask:'+IntToStr(dwActiveProcessorMask));

Add(IntToStr(dwNumberOfProcessors)+' - number of processors');

Add('ProcessorType:'+IntToStr(dwProcessorType));

case wProcessorLevel of

3:Add('Intel 80386 processor level');

4:Add('Intel 80486 processor level');

5:Add('Intel Pentium processor level');

end;

Add(FloatToStr(dwAllocationGranularity/1024)+' Kb - granularity with which virtual memory is allocated');

Add('ProcessorRevision:'+IntToStr(wProcessorRevision));

end;

end;

Процедура выводит на экран всю информацию об оперативной памяти ПК средствами функций WinAPI.

procedure TForm1.SpeedButton2Click(Sender: TObject);

var

MemoryStatus:TMemoryStatus;

begin

ListBox1.Items.Clear;

MemoryStatus.dwLength:=SizeOf(MemoryStatus);

GlobalMemoryStatus(MemoryStatus);

with MemoryStatus do

begin

listbox1.items.Add(IntToStr(dwMemoryLoad)+'% использованно памяти');

listbox1.items.Add(IntToStr((dwTotalPhys div 1024) div 1024)+' Мб всего физической памяти');

listbox1.items.Add(IntToStr((dwAvailPhys div 1024) div 1024)+' Мб доступно физической памяти');

listbox1.items.Add(IntToStr((dwTotalPageFile div 1024) div 1024)+' Мб всего виртуальной памяти');

listbox1.items.Add(IntToStr((dwAvailPageFile div 1024) div 1024)+' Мб доступно виртуальной памяти');

listbox1.items.Add(IntToStr((dwTotalVirtual div 1024) div 1024)+' Мб адресное виртуальное простанство текущего процесса');

listbox1.items.Add(IntToStr((dwAvailVirtual div 1024) div 1024)+' Мб доступно виртуального адресного пространства текущего процесса');

end;

end;

Процедура выводит на экран серийный номер винчестера средствами функций WinAPI.

procedure TForm1.SpeedButton7Click(Sender: TObjectvar);

SerialNum:Word;

a,b:DWORD;

Buffer:array [0..255] of Char;

begin

ListBox1.Items.Clear;

if GetVolumeInformation('c:\',Buffer,SizeOf(Buffer),@SerialNum,a,b,nil,0) then

begin

ListBox1.Items.Add('Серийные номер винчестера:');

ListBox1.Items.Add(IntToStr(SerialNum));

end;

end;

Процедура выводит на экран всю информацию видеокарте и видеорежимах, доступных на данном ПК средствами функций WinAPI.

procedure TForm1.SpeedButton10Click(Sender: TObject); //видеоадаптеры и видеорежимы

var

lpDisplayDevice:TDisplayDevice;

DevMode:TDevMode;

S:String;

i,j,k:integer;

dwFlags:DWORD;

cc:DWORD;

begin

ListBox1.Items.Clear;

lpDisplayDevice.cb:=sizeof(lpDisplayDevice);

dwFlags:=0;

cc:=0;

while EnumDisplayDevices(nil,cc,lpDisplayDevice,dwFlags) do

begin

Inc(cc);

ListBox1.Items.add(lpDisplayDevice.DeviceString);

end;

ListBox1.Items.Add(' ');

// Подготовка структуры lpDisplayDevice

lpDisplayDevice.cb:=sizeof(lpDisplayDevice);

// Получение списка видеоадаптеров

i:=0;

while EnumDisplayDevices(nil,i,lpDisplayDevice,0) do

begin

Inc(i);

ListBox1.Items.Add('***** '+lpDisplayDevice.DeviceString + ' *****');

ListBox1.Items.Add(' DeviceName = '+lpDisplayDevice.DeviceName+' - '+lpDisplayDevice.DeviceString);

S:=lpDisplayDevice.DeviceName;

j:=0;

ListBox1.Items.Add(' Мониторы: ' );

// Получение списка мониторов

while EnumDisplayDevices(@S[1],j,lpDisplayDevice,0) do

begin

inc(j);

ListBox1.Items.add(' DeviceMonitor = '+lpDisplayDevice.DeviceName+' - '+lpDisplayDevice.DeviceString);

end;

k:=0;

ListBox1.Items.Add(' Видеорежимы: ' );

// Получение списка поддерживаемых видеорежимов

while EnumDisplaySettings(Pchar(S), k, DevMode) do

begin

ListBox1.Items.Add(' --- режим № '+IntToStr(k)+' ---');

inc(k);

ListBox1.Items.Add('DevMode.dmDeviceName = '+DevMode.dmDeviceName);

ListBox1.Items.Add('DevMode.dmBitsPerPel = '+IntToStr(DevMode.dmBitsPerPel));

ListBox1.Items.Add('DevMode.dmPelsWidth = '+IntToStr(DevMode.dmPelsWidth));

ListBox1.Items.Add('DevMode.dmPelsHeight = '+IntToStr(DevMode.dmPelsHeight));

ListBox1.Items.Add('DevMode.dmDisplayFrequency = '+IntToStr(DevMode.dmDisplayFrequency)+' Гц');

end;

end;

end;

3.1. Дополнительное окно «Информация о пользователе»

Функция выводит на экран всю информацию о системном имени ПК средствами функций WinAPI.

function GetComputerNetName:string; //узнаем имя компьютера

var

buffer:array[0..255] of Char;

size:DWORD;

begin

size:=256;

if GetComputerName(buffer,size) then

Result:=buffer

else Result:= '';

end;

Функция выводит на экран всю информацию об имени текущего пользователя средствами функций WinAPI.

function GetCurrentUserName:String; //узнаем имя текущего пользователя

const

cnMaxUserNameLen=254;

var

sUserName:String;

dwUserNameLen:DWORD;

begin

dwUserNameLen:=cnMaxUserNameLen-1;

SetLength(sUserName,cnMaxUserNameLen);

GetUserName(PChar(sUserName),dwUserNameLen);

SetLength(sUserName,dwUserNameLen);

Result:=sUserName;

end;

Процедура вызывает две вышеназванные функции и выводит на экран приоритеты данного пользователя (что пользователь может делать в системе) средствами функций WinAPI.

procedure TForm2.SpeedButton1Click(Sender: TObject);

const

TokenSize=800; // расчет (SizeOf(Pointer)=4 *200)

var

hToken:THandle;

pTokenInfo:PTOKENPRIVILEGES;

ReturnLen:Cardinal;

i:Integer;

PrivName:PChar;

DisplayName:PChar;

NameSize:Cardinal;

DisplSize:Cardinal;

LangId:Cardinal;

begin

Memo1.Lines.Clear;

Edit1.text:=GetComputerNetName; //вызываем функцию имени "имя компьютера"

Edit2.text:= GetCurrentUserName; //вызываем функцию "имя пользователя"

GetMem(pTokenInfo, TokenSize);

if not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken) then ShowMessage('OpenProcessToken error');

if not GetTokenInformation(hToken, TokenPrivileges, pTokenInfo, TokenSize, ReturnLen) then

ShowMessage('GetTokenInformation error');

GetMem(PrivName, 255);

GetMem(DisplayName, 255);

for i := 0 to pTokenInfo.PrivilegeCount - 1 do

begin

DisplSize := 255;

NameSize := 255;

LookupPrivilegeName(nil, pTokenInfo.Privileges[i].Luid, PrivName, Namesize);

LookupPrivilegeDisplayName(nil, PrivName, DisplayName, DisplSize, LangId);

memo1.lines.Add(PrivName +^I + DisplayName);

end;

FreeMem(PrivName);

FreeMem(DisplayName);

FreeMem(pTokenInfo);

end;

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Данный раздел содержит краткое руководство пользователя по работе с программой, а также описание всех имеющихся окон и методы взаимодействия с ними.

4.1.Главное окно

Главное окно имеет удобный и интуитивно понятный интерфейс. Главное окно, на которое попадает пользователь программой InfoPC – это окно с приветствием и навигацией по программе. На нижней панели программы находятся кнопки переключения. С помощью этих кнопок можно легко перемещаться по окнам программы и работать с ее функционалом.

Рис.4.1.Вид главного окна

Далее можно проверить работоспособность программы, например выберем информацию об оперативной памяти:

Первое дополнительное окно, которое мы рассмотрим это «Информация о пользователе»:

Рис.4.2.Вид при активации доп. окна «Информация о пользователе»

Далее проверим на работоспособность дополнительное окно «Локальные диски», предназначенное для просмотра содержимого локальных дисков и съемных устройств:

4.3.Окно «Локальные диски»

Далее перейдем в окно «Дополнительная информация». Тут содержится информация, которая не попала не в один из разделов но является так же многозначительной:

Рис.4.4.Вид окна «Дополнительная информация»

ВЫВОДЫ

В процессе работы были рассмотрены аналоги сайтов с чатами , так же аналоги риэлтерские сайты компаний . По примерам которых и создан риэлтерский сайт с чатом , для онлайн консультаций с специалистами .

Так же для разработки был изучены и рассмотрены языки вэб-программирования , такие как HTML , PHP и JavaScript.Что в процессе написания сайта и чата пригодилось в первую очередь.

Сайт был разработан в NotePad , что для многих пользователей компьютеров блокнот . Но с одним нюансом , для быстрой разработки в этом приложение подсвечивается синтаксис и функции . Для простоты в написание сайта . Так же была задействована среда Aptana studio для разработки на PHP.

Используя собранные данные и знания был создан сайт для риэлтерской компании . В котором можно посмотреть дом или квартиру либо из нутрии, либо снаружи и так же посмотреть ценны на интересующие Вас объекты и прокансультироватся с консультантом.

Соседние файлы в папке kursovaya