Учимся в 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.



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

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

    Виктор 18 Oct 2010 в 00:00 #
    Я хуею ребята!Это просто пиздец!Если вы крабы,нубы,долбоебы или просто идиоты которые из программирования в Delphi и умеют только поставить Delphi на комп и скопипастить текст то Идите НАХЕР Кретины!Ну а те кто понимают об чем идет речь молчат и громко уссцыкаюцца в глубине души!Автору респект.Всем спасибо за внимание!
    З.Ы.:С леня и ГришаК я солидарен!
    леня 15 Oct 2010 в 00:00 #
    нубство полное
    текст переписать уже не могут
    ГришаК 04 Oct 2010 в 00:00 #
    Вот идиоты... пишут тупые комментарии хотя все прекрасно работает (пара недочетов найдена мной и все).
    Жалеется на енд??? удаляете все енды и тупо тыкаете интер. он сам поставит их сколько нужно.
    Жалуется на скобки? епть - что мешало вспомнить математику и убрать лишние???

    Ребят, я хуею, чес слово.
    Игорь 02 Sep 2010 в 00:00 #
    еммм хелп!!! у мя чет ошыбка с ендом который стоит после этого исходника!! вот весь код ! что не так?
    procedure TForm5.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.
    Vigi 07 Aug 2010 в 00:00 #
    D10
    Работает но вот в таком виде:

    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) +′ Доступно байт виртуального адресного пространства текущего процесса′) ;

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