Programlama yapalım ve Öğrenelim. - Delphi Eğitim242
  Ana Sayfa
  .NET Eğitim Notları
  Visual C# .NET Örnek Kodları
  VisualBasic.NET Örnek Kodları
  J# Örnekleri
  ASP.NET Örnek Kodları
  Delphi Eğitim
  => Delphi Eğitim1
  => Delphi Eğitim2
  => Delphi Eğitim3
  => Delphi Eğitim4
  => Delphi Eğitim5
  => Delphi Eğitim6
  => Delphi Eğitim7
  => Delphi Eğitim8
  => Delphi Eğitim9
  => Delphi Eğitim10
  => Delphi Eğitim11
  => Delphi Eğitim13
  => Delphi Eğitim14
  => Delphi Eğitim15
  => Delphi Eğitim16
  => Delphi Eğitim17
  => Delphi Eğitim18
  => Delphi Eğitim19
  => Delphi Eğitim20
  => Delphi Eğitim21
  => Delphi Eğitim22
  => Delphi Eğitim23
  => Delphi Eğitim24
  => Delphi Eğitim25
  => Delphi Eğitim26
  => Delphi Eğitim27
  => Delphi Eğitim28
  => Delphi Eğitim29
  => Delphi Eğitim30
  => Delphi Eğtim31
  => Delphi Eğitim32
  => Delphi Eğitim33
  => Delphi Eğitim34
  => Delphi Eğitim35
  => Delphi Eğitim36
  => Delphi Eğitim37
  => Delphi Eğitim38
  => Delphi Eğitim39
  => Delphi Eğitim40
  => Delphi Eğitim41
  => Delphi Eğitim42
  => Delphi Eğitim43
  => Delphi Eğitim44
  => Delphi Eğitim45
  => Delphi Eğitim46
  => Delphi Eğitim47
  => Delphi Eğitim48
  => Delphi Eğitim49
  => Delphi Eğitim50
  => Delphi Eğitim51
  => Delphi Eğitim52
  => Delphi Eğitim53
  => Delphi Eğitim54
  => Delphi Eğitim55
  => Delphi Eğitim56
  => Delphi Eğitim57
  => Delphi Eğitim58
  => Delphi Eğitim59
  => Delphi Eğitim60
  => Delphi Eğitim61
  => Delphi Eğitim62
  => Delphi Eğitim63
  => Delphi Eğitim64
  => Delphi Eğitim65
  => Delphi Eğitim66
  => Delphi Eğitim67
  => Delphi Eğitim68
  => Delphi Eğitim69
  => Delphi Eğitim70
  => Delphi Eğitim71
  => Delphi Eğitim72
  => Delphi Eğitim73
  => Delphi Eğitim74
  => Delphi Eğitim75
  => Delphi Eğitim76
  => Delphi Eğitim77
  => Delphi Eğitim78
  => Delphi Eğitim79
  => Delphi Eğitim80
  => Delphi Eğitim81
  => Delphi Eğitim82
  => Delphi Eğitim83
  => Delphi Eğitim84
  => Delphi Eğitim85
  => Delphi Eğitim86
  => Delphi Eğitim87
  => Delphi Eğitim88
  => Delphi Eğitim89
  => Delphi Eğitim90
  => Delphi Eğitim91
  => Delphi Eğitim92
  => Delphi Eğitim93
  => Delphi Eğitim94
  => Delphi Eğitim95
  => Delphi Eğitim96
  => Delphi Eğitim97
  => Delphi Eğitim98
  => Delphi Eğitim99
  => Delphi Eğitim100
  => Delphi Eğitim101
  => Delphi Eğitim102
  => Delphi Eğitim103
  => Delphi Eğitim104
  => Delphi Eğitim105
  => Delphi Eğitim106
  => Delphi Eğitim107
  => Delphi Eğitim108
  => Delphi Eğitim109
  => Delphi Eğitim110
  => Delphi Eğitim111
  => Delphi Eğitim112
  => Delphi Eğitim113
  => Delphi Eğitim114
  => Delphi Eğitim115
  => Delphi Eğitim116
  => Delphi Eğitim117
  => Delphi Eğitim118
  => Delphi Eğitim119
  => Delphi Eğitim120
  => Delphi Eğitim121
  => Delphi Eğitim122
  => Delphi Eğitim123
  => Delphi Eğitim124
  => Delphi Eğitim125
  => Delphi Eğitim126
  => Delphi Eğitim127
  => Delphi Eğitim128
  => Delphi Eğitim129
  => Delphi Eğitim130
  => Delphi Eğitim131
  => Delphi Eğitim132
  => Delphi Eğitim133
  => Delphi Eğitim134
  => Delphi Eğitim135
  => Delphi Eğitim136
  => Delphi Eğitim137
  => Delphi Eğitim138
  => Delphi Eğitim139
  => Delphi Eğitim140
  => Delphi Eğitim141
  => Delphi Eğitim142
  => Delphi Eğitim143
  => Delphi Eğitim144
  => Delphi Eğitim145
  => Delphi Eğitim146
  => Delphi eğitim147
  => Delphi Eğitim148
  => Delphi Eğitim149
  => Delphi Eğitim150
  => Delphi Eğitim151
  => Delphi Eğitim152
  => Delphi Eğitim153
  => Delphi Eğitim154
  => Delphi Eğitim155
  => Delphi Eğitim156
  => Delphi Eğitim157
  => Delphi Eğitim158
  => Delphi Eğitim159
  => Delphi Eğitim160
  => Delphi Eğitim161
  => Delphi Eğitim162
  => Delphi Eğitim164
  => Delphi Eğitim165
  => Delphi Eğitim166
  => Delphi Eğitim167
  => Delphi Eğitim168
  => Delphi Eğitim169
  => Delphi Eğitim170
  => Delphi Eğitim171
  => Delphi Eğitim172
  => Delphi Eğitim173
  => Delphi Eğitim174
  => Delphi Eğitim175
  => Delphi Eğitim176
  => Delphi Eğitim177
  => Delphi Eğitim178
  => Delphi Eğitim179
  => Delphi Eğitim180
  => Delphi Eğitim181
  => Delphi Eğitim182
  => Delphi Eğitim183
  => Delphi Eğitim184
  => Delphi Eğitim185
  => Delphi Eğitim186
  => Delphi Eğitim187
  => Delphi Eğitim188
  => Delphi Eğitim189
  => Delphi Eğitim190
  => Delphi Eğitim191
  => Delphi Eğitim192
  => Delphi Eğitim193
  => Delphi Eğitim194
  => Delphi Eğitim195
  => Delphi Eğitim196
  => Delphi Eğitim197
  => Delphi Eğitim198
  => Delphi Eğitim199
  => Delphi Eğitim200
  => Delphi Eğitim201
  => Delphi Eğitim202
  => Delphi Eğitim203
  => Delphi Eğitim204
  => Delphi Eğitim205
  => Delphi Eğitim206
  => Delphi Eğitim207
  => Delphi Eğitim208
  => Delphi Eğitim209
  => Delphi Eğitim210
  => Delphi Eğitim211
  => Delphi Eğitim212
  => Delphi Eğitim213
  => Delphi Eğitim214
  => Delphi Eğitim215
  => Delphi Eğitim216
  => Delphi Eğitim217
  => Delphi Eğitim218
  => Delphi Eğitim219
  => Delphi Eğitim220
  => Delphi Eğitim221
  => Delphi Eğitim222
  => Delphi Eğitim223
  => Delphi Eğitim224
  => Delphi Eğitim225
  => Delphi Eğitim226
  => Delphi Eğitim227
  => Delphi Eğitim228
  => Delphi Eğitim229
  => Delphi Eğitim230
  => Delphi Eğitim231
  => Delphi Eğitim232
  => Delphi Eğitim233
  => Delphi Eğitim234
  => Delphi Eğitim235
  => Delphi Eğitim236
  => Delphi Eğitim237
  => Delphi Eğitim238
  => Delphi Eğitim239
  => Delphi Eğitim240
  => Delphi Eğitim241
  => Delphi Eğitim242
  İletişim

Performans Object Explorer Oluşturma

 

unit PerfObjAppf;

 

interface

 

uses

      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

      Dialogs,

      ExtCtrls, ComCtrls, StdCtrls, Buttons, Registry;

 

type

      TMainForm = class( TForm )

            ToolBar : TPanel;

            tvPerfObj : TTreeView;

            lvCounters : TListView;

            btnGo : TButton;

            Timer1 : TTimer;

            btnClose : TBitBtn;

            btnClear: TButton;

            procedure FormCreate( Sender : TObject );

            procedure FormClose( Sender : TObject; var Action :

      TCloseAction );

            procedure FormCloseQuery( Sender : TObject; var CanClose :

      Boolean );

            procedure btnGoClick( Sender : TObject );

            procedure Timer1Timer( Sender : TObject );

            procedure lvCountersDragDrop(Sender, Source: TObject; X, Y:

      Integer);

            procedure lvCountersDragOver(Sender, Source: TObject; X, Y:

      Integer;

                  State: TDragState; var Accept: Boolean);

            procedure btnClearClick(Sender: TObject);

      private

            { Private declarations }

            procedure PopulateTree;

            procedure QueryData( AKey : string );

      public

            { Public declarations }

      end;

 

var

      MainForm : TMainForm;

 

implementation

 

{$R *.DFM}

 

var

      Reg : TRegistry;

 

procedure TMainForm.PopulateTree;

var

      Node1, Node2, Node3 : TTreeNode;

      i, j, k : integer;

      SL, SL2, SL3 : TStringList;

const

      Enum = 'SystemCurrentControlSetcontrolPerfStatsEnum';

begin

      // Fill the Performance Object Tree

      Reg.RootKey := HKEY_LOCAL_MACHINE;

      SL := TStringList.Create;

      SL.Sorted := true;

      SL2 := TStringList.Create;

      SL2.Sorted := true;

      SL3 := TStringList.Create;

      SL3.Sorted := true;

      try

            with Reg, tvPerfObj.Items do

                  begin

                  Clear;

                        // Create the root node

                  Add( nil, 'Performance Objects' );

                  OpenKey( Enum, False );

                  GetKeyNames( SL );

                  CloseKey;

                  for i := 0 to SL.Count - 1 do

                  begin

                        OpenKey( Enum + '' + SL[i], False );

                        CloseKey;

                        // and add 1st level child nodes

                        Node1 := tvPerfObj.Items[0];

                        Node2 := AddChild( Node1, SL[i] );

                        // get the characteristics of the

      object

                        OpenKey( Enum + '' + SL[i], False );

                        GetKeyNames( SL2 );

                        CloseKey;

                        for j := 0 to SL2.Count - 1 do

                        begin

                             // loop through it adding

      the characteristics

                             OpenKey( Enum + '' + SL[i]

      + '' + SL2[j], False );

                             GetValueNames( SL3 );

                             Node3 := AddChild( Node2,

      SL2[j] );

                             for k := 0 to SL3.Count -

      1 do

                                   AddChild( Node3,

      SL3[k] + ': ' + ReadString( SL3[k] ) );

                             CloseKey;

                        end;

                  end;

            end;

            // Expand the first node of the tree

            tvPerfObj.Items[0].Expand( False );

      finally

            SL.Free;

            SL2.Free;

            SL3.Free;

      end;

end;

 

procedure TMainForm.QueryData( AKey : string );

var

      I, FBuffer: integer;

begin

      { Pass StartStat to initiate data collection

            Pass StopStat to terminate data collection

            Pass StatData to retrieve data  }

      Reg.RootKey := HKEY_DYN_DATA;

      Reg.OpenKey( 'PerfStats' + AKey, False );

            try

                  with lvCounters do

                  for i := 0 to Items.Count - 1 do

                  begin

                        Reg.ReadBinaryData( Items[i].Caption,

      FBuffer, SizeOf( Integer ) );

                             // retrieve the counter data

                        if ( AKey = 'StatData' ) then

                             Items[i].Subitems[0] :=

       IntToStr( FBuffer );

                  end;

      finally

            Reg.CloseKey;

      end;

end;

 

procedure TMainForm.FormCreate( Sender : TObject );

begin

      Reg := TRegistry.Create; // create the registry object

      PopulateTree;

end;

 

procedure TMainForm.FormClose( Sender : TObject; var Action : TCloseAction );

begin

      Reg.Free;  // free the registry object

end;

 

procedure TMainForm.FormCloseQuery( Sender : TObject; var CanClose : Boolean );

begin

      // Make sure data collection has been terminated

      if Timer1.Enabled then

            QueryData( 'StopStat' ); // stop collecting stats

end;

 

procedure TMainForm.btnGoClick( Sender : TObject );

begin

      if Timer1.Enabled then

      begin

            btnGo.Caption := '&Start';

            Timer1.Enabled := False;

            QueryData( 'StopStat' ); // stop data collection

      end

      else

      begin

            btnGo.Caption := '&Stop';

            Timer1.Enabled := True;

            QueryData( 'StartStat' ); // start data collection

      end;

      BtnClear.Enabled := not Timer1.Enabled;

end;

 

procedure TMainForm.Timer1Timer( Sender : TObject );

begin

      QueryData( 'StatData' ); //get the counter data

end;

 

procedure TMainForm.lvCountersDragDrop(Sender, Source: TObject; X,

      Y: Integer);

var

      Item : TListItem;

begin

      with lvCounters do

      begin

            Item := Items.Add;

            Item.Caption := TTreeView(Source).Selected.Parent.Text +

      '' +

                  TTreeView(Source).Selected.Text;

            { create a subitem so we can add the counter data later }

            Item.SubItems.Add( '' );

      end;

end;

 

procedure TMainForm.lvCountersDragOver(Sender, Source: TObject; X,

      Y: Integer; State: TDragState; var Accept: Boolean);

begin

      { Allow the list view to accept a dragged object only

            if the timer is off, the source is the tree view, and

            the selected item is a counter }

      Accept := not Timer1.Enabled and (Source is TTreeView) and

            (TTreeView(Source).Selected.Level = 2);

end;

 

procedure TMainForm.btnClearClick(Sender: TObject);

begin

      lvCounters.Items.Clear;

end;

 

end.

 

Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol