Показать сообщение отдельно
  #2  
Старый 23.09.2007, 18:23
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

Эх!Даю куски своей лабораторной работы со второго курса!

//Узнаем тип процессора
Код:
function GetProcessorType:integer;
var sysInfo:TSystemInfo;
begin GetSystemInfo(sysInfo); 
Result:=sysInfo.dwProcessorType;
end;

//Чтобы узнать общий объем физической и виртуальной памяти
//достаточно воспользоваться API функцией GlobalMemoryStatus.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var MemoryStatus: TMemoryStatus;
begin
  Memo1.Lines.Clear;
  MemoryStatus.dwLength := SizeOf(MemoryStatus) ;
  GlobalMemoryStatus(MemoryStatus) ;
  with MemoryStatus
  do
    begin
      Memo1.Lines.Add(IntToStr(dwMemoryLoad) +
        '% использованно памяти') ;
      Memo1.Lines.Add(IntToStr(dwTotalPhys) +
        ' Всего физической памяти (в байтах)') ;
      Memo1.Lines.Add(IntToStr(dwAvailPhys) +
        ' Доступно физической памяти (в байтах)') ;
      Memo1.Lines.Add(IntToStr(dwTotalPageFile) +
        ' Всего виртуальной памяти (в байтах)') ;
      Memo1.Lines.Add(IntToStr(dwAvailPageFile) +
        ' Доступно виртуальной памяти (в байтах) ') ;
      Memo1.Lines.Add(IntToStr(dwTotalVirtual) +
        ' Адресное виртуальное простанство текущего процесса') ;
      Memo1.Lines.Add(IntToStr(dwAvailVirtual) +
        ' Доступно байт виртуального адресного пространства текущего процесса') ;
   end;
end;


//Сетевая карта

Код:
function GetNetworkConnections: String;
var
 ByteWritten, NeedBytes: DWORD;
 lpConnections, lpTmpCon: PRasEntryName;
 dwError: DWORD;
 I: Integer;
begin
 Result := '';
 ByteWritten := 0;
 NeedBytes := SizeOf(TRasEntryName);
 lpConnections := HeapAlloc(GetProcessHeap, HEAP_ZERO_MEMORY, NeedBytes);
 if lpConnections <> nil then
 try
   lpConnections^.dwSize := NeedBytes;
   dwError := RasEnumEntries(nil, nil, lpConnections, @NeedBytes, @ByteWritten);
   if dwError = ERROR_BUFFER_TOO_SMALL then
   begin
     lpConnections := HeapReAlloc(GetProcessHeap, HEAP_ZERO_MEMORY,
       lpConnections, NeedBytes);
     dwError := RasEnumEntries(nil, nil, lpConnections, @NeedBytes, @ByteWritten);
   end;
   if dwError = ERROR_SUCCESS then
     if ByteWritten <> 0 then
     begin
       lpTmpCon := lpConnections;
       for I := 0 to ByteWritten - 1 do
       begin
         Result := Result + '  - ' + lpTmpCon^.szEntryName + sLineBreak;
         Inc(lpTmpCon);
       end;
     end;
 finally
   HeapFree(GetProcessHeap, 0, lpConnections);
 end;
end;

//Имя компа

Код:
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; 
Ответить с цитированием