- •Реферат
- •Оглавление
- •Раздел 1 5
- •Раздел 2 1
- •Раздел 3 4
- •Раздел 1.
- •Реестр Windows 3.1
- •Реестр Windows nt 3.1
- •Hkey_current_user
- •Hkey_users
- •Hkey_local_machine
- •Hkey_classes_root
- •Hkey_current_config
- •Hkey_dyn_data
- •Раздел 2.
- •Delphi 2009
- •Delphi 2010:
- •Delphi xe:
- •Delphi xe2:
- •Delphi xe3:
- •Delphi xe4:
- •Раздел 3
- •Список использованных источников
Раздел 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.
Используя собранные данные и знания был создан сайт для риэлтерской компании . В котором можно посмотреть дом или квартиру либо из нутрии, либо снаружи и так же посмотреть ценны на интересующие Вас объекты и прокансультироватся с консультантом.