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

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

Сейчас я хочу показать вам как на 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.



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

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

    Андрей 13 Nov 2011 в 00:00 #
    У меня пишет "Too many actual parameters".
    ierecumi 15 Oct 2011 в 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;
    Игорь 11 Sep 2011 в 00:00 #
    Админ, если даёшь уроки, то давай их без ошибок, или ехидным голоском предупреждай "я хочу поиметь вам мозг, вставил намеренно ошибки, чтобы вы разобрались и нашли ошибки". Выбери что-то одно, а то пахнет не обучением, а кривыми руками. Я и без ковыряния в твоих ошибках могу развиваться, а не тупо копировать код.
    Иван 06 Aug 2011 в 00:00 #
    вы наверное создали вместо Form - Frame!!!
    во Frame код не работает!!!
    а вот в Form все отлично показывает!!!
    R@t 06 Aug 2011 в 00:00 #
    Не обижайтесь ребята, и большинство из вас мнят себя программерами? Ей богу смешно!
    Судя по всему вы не знаете ни Delpyi, ни ООП, ни ...

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