![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
помогите!!! [D7, WinXP]
Ищущий помощи © (2007-09-16 16:09:00)Нужно написать прогу по диагностике программного и аппаратного обеспечения ПК
Сергей М. (2007-09-16 16:54:00) [1]
> Lacmus © (16.09.07 16:51) [8]
Малацца максимка)
Приведенное тобой есть ничто иное как "Тест ОС,памяти,процессора и т.д")
Lacmus (2007-09-16 16:51:00) [2]>Ищущий помощи (16.09.07 16:35) [3]
:-)
unit Unit38;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm38 = class(TForm)
Edit1: TEdit;
TreeView1: TTreeView;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form38: TForm38;
implementation
{$R *.dfm}
uses
ActiveX, ComObj;
procedure TForm38.Button1Click(Sender: TObject);
var
Node: TTreeNode;
i: Integer;
Enumerator: IEnumVariant;
WbemLocator, WbemServices, WbemObjectSet: Variant;
Properties: IEnumVariant;
Property_, System: OleVariant;
j: LongWord;
sProperty: string;
begin
WbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
WbemServices := WbemLocator.ConnectServer;
WbemObjectSet := WbemServices.InstancesOf(Edit1.Text);
Enumerator := IEnumVariant(TVarData(WbemObjectSet._NewEnum).VDispatch);
// TreeView1.Items.BeginUpdate;
try
TreeView1.Items.Clear;
while Enumerator.Next(1, System, j) = S_OK do try
Node := TreeView1.Items.Add(nil, '');
try
Node.Text := VarToStr(System.Caption);
except end;
Properties := IEnumVariant(TVarData(System.Properties_._NewEnum).VDispatch);
while Properties.Next(1, Property_, j) = S_OK do begin
try
if VarIsArray(Property_.Value) then begin
sProperty := '';
for i := 0 to VarArrayHighBound(Property_.Value, 1) do begin
if i > 0 then
sProperty := sProperty + ',';
sProperty := sProperty + VarToStr(Property_.Value[i])
end
end else
sProperty := VarToStr(Property_.Value);
except
sProperty := '';
end;
if sProperty <> '' then
TreeView1.Items.AddChild(Node, VarToStr(Property_.Name) + '=' + sProperty);
end;
Node.Expand(False);
Application.ProcessMessages
except
end
finally
// TreeView1.Items.EndUpdate
end
end;
procedure TForm38.FormCreate(Sender: TObject);
begin
Edit1.Text := 'Win32_Bios'
end;
end.
Юрий Зотов (2007-09-16 16:48:00) [3]> Ищущий помощи (16.09.07 16:41) [5]
Если Вы это мне, то спасибо. Но лучше Вы бы все же задали вопрос. Потому что в сабже Вы написали не вопрос, а задачу. Да и ту обрисовали нечетко.
А задачу, которую Вы обрисовали, код [4] вполне решает. Притом еще и безошибочно.
Сергей М. (2007-09-16 16:42:00) [4]
> Ищущий помощи (16.09.07 16:41) [5]
У него-то есть)
А вот тебе пора ликбез пройти)
Ищущий помощи (2007-09-16 16:41:00) [5]А у тебя есть чувство юмора!!!
Ищущий помощи (2007-09-16 16:35:00) [6]Нужны хот какие-нибуть исходники на delphi! Тест ОС,памяти,процессора и т.д. Зарание благодарин.
Юрий Зотов (2007-09-16 16:35:00) [7]begin
WriteLn('Прога по диагностике программного и аппаратного обеспечения ПК.');
WriteLn('Ждите, идет сбор и обработка информации...');
Sleep(5000);
WriteLn('Результат диагностики: на данном ПК программное и аппаратное обеспечение присутствует.');
WriteLn('Нажмите Enter.');
ReadLn
end.
boa_kaa (2007-09-16 16:16:00) [8]и што?
homm (2007-09-16 16:12:00) [9]Я согласен помочь.