Учимся в delphi получать информацию о системе

Опубиковано: 29.05.2008 г., автор: , просмотров: 70045

Сейчас я хочу показать вам как на Delphi быстро и без использования компонентов узнать информацию о системе. Для начала создадим новую форму и бросим на неё: компонент Button (кнопка) и компонент Memo (многострочный редактор) оба с закладки Standart. После чего в обработчик кнопки вставляем следующий код:

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;

P.S. В данном примере используется API функция GlobalMemoryStatus.



Похожие материалы

    Последние из рубрики

    NOiSY 03 May 2013 в 00:00 #
    Выдает типа у меня 4GB, хотя у меня 12GB
    PS, Win7x64 Ultimate
    Нур-Мохмад 02 Jun 2012 в 00:00 #
    Тем, кто хочет получить память в кб или мб:
    1) Для Кб разделите на 1024.
    2) Для Мб разделите на 1 048 576. (1024*1024)
    Серега 02 May 2012 в 00:00 #
    Решил задачку
    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;


    end.
    Серега 02 May 2012 в 00:00 #
    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;
    Ошибка в послендей строке
    Серега 02 May 2012 в 00:00 #
    Memo1.Lines.Add(IntToStr(dwTotalPhys) +′ Всего физической памяти (в байтах)′)) ;
    матюгается

    ОтменитьДобавить комментарий