Sabtu, 14 Mei 2011

Mengganti RegisteredOwner & Organization

Mengganti RegisteredOwner & Organization

Sebelum Anda meneruskan tutorial Delphi ini, Anda harus memahami seluk beluk registry terlebih dahulu. Silahkan baca sekilas ulasan registry di sini.
Tutorial ini akan menjelaskan tentang cara mengganti RegisteredOwner dan RegisteredOrganization pada komputer Anda. RegisteredOwner dan Organization tersebut dapat kita lihat pada Control Panel - System, lalu pada bagian Registerd To. Untuk mengganti RegisteredOwner secara "manual" (melalui registry editor) dapat Anda lihat di sini.

Langkah pertama sebelum memanipulasi nilai pada registry adalah dengan memberitahukan terlebih dahulu key yang akan diakses. Caranya dengan mengubah properti RootKey. Isi properti ini adalah HKey_Classes_Root, HKey_Current_User, HKey_Local_Machine, atau HKey_Users. Secara default nilai dari properti ini adalah HKey_Current_User, sehingga bila Anda tidak mengisi properti tersebut, Delphi akan menganggap sebagai HKey_Current_User.
Contoh :


var

   MyReg : TRegistry;
begin
   MyReg := TRegistry.Create;
   MyReg.RootKey := HKey_Local_Machine;
   ........
   MyReg.Free;
end;


Langkah kedua adalah membuka subkey yang akan dimanipulasi, yaitu dengan cara memanggil fungsi OpenKey. Deklarasi fungsi OpenKey adalah sebagai berikut :

function OpenKey(const Key: string; CanCreate: Boolean): Boolean;
Terdapat dua parameter yang harus diisi. Parameter pertama bertipe string yang merupakan subkey yang akan dibuka. Sedangkan parameter kedua bertipe boolean, yang akan menentukan apakah subkey tersebut akan dibuat atau tidak. Bila parameter ini bernilai true, maka Delphi akan membuat subkey tersebut jika di registry belum ada. Sebaliknya bila bernilai false, subkey tersebut tidak akan dibuat meskipun di registry belum ada. Fungsi OpenKey ini akan mengembalikan nilai true jika inisialisasi berhasil dan mengembalikan false jika gagal.
Untuk mengganti RegisteredOwner tersebut, subkey-nya adalah :
 \SOFTWARE\Microsoft\Windows\CurrentVersion\
Maka, kode yang harus kita tulis adalah :


MyReg.RootKey := HKEY_LOCAL_MACHINE;

MyReg.OpenKey := ('\SOFTWARE\Microsoft\Windows\ CurrentVersion', false);


Setelah langkah di atas, selanjutnya Anda bisa membaca atau menulis data pada registry. Untuk membaca data pada registry Anda dapat menggunakan ReadString, ReadInteger, dll (baca pd file Help-nya Delphi). Sedangkan untuk menulis data pada registry gunakan WriteString, WriteInteger, dll.
Kode di bawah ini menunjukkan cara pembacaan data pada registry, yang hasilnya dituliskan pada komponen Edit1.

Edit1.Text := MyReg.ReadString ('RegisteredOwner'); 

Edit2.Text := MyReg.ReadString ('RegisteredOrganization');


Sedangkan untuk menuliskan data pada registry gunakan cara berikut :

reg.WriteString ('RegisteredOwner', Edit1.Text); 
reg.WriteString ('RegisteredOrganization', Edit2.Text); 

Kode selengkapnya adalah sebagai berikut :

unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, registry; 
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations } 
public
{ Public declarations }
end;
var
Form1: TForm1;
reg : TRegistry;
implementation
{$R *.DFM}
procedure TForm1.Button2Click(Sender: TObject);
begin
Close; // menutup form
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey ('\Software\Microsoft\Windows\CurrentVersion', false);
Edit1.Text := reg.ReadString ('RegisteredOwner');
Edit2.Text := reg.ReadString ('RegisteredOrganization');
reg.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey ('\Software\Microsoft\Windows\CurrentVersion', false);
reg.WriteString ('RegisteredOwner', Edit1.Text);
reg.WriteString ('RegisteredOrganization', Edit2.Text);
reg.Free;
end;
end.


Tidak ada komentar:

Posting Komentar

Silahkan Poskan Komentar anda!