delphi4arab منتديات دلفي للعرب

نسخة كاملة : التعامل مع مسجل النظام Windows Registry
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
يحب كتابة اسم الوحدة registry ضمن عبارة ال Uses كما يلي:
PHP كود :
interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  
Buttons,registry, ExtCtrls,dateutils;
    
// يجب كتابة  registry في عبارة uses 


2- التصريح عن متحول من نوع TRegistry في عبارة ال var لأي إجرائية مطلوبة كما يلي:
PHP كود :
var
reg:TRegistry; 
3- التصريح عن متحولات لنفس نوع القيمة الموجودة في مسجل النظام فإذا كانت القيمة نصية كان المتحول نصي وإذا كانت رقم كان المتحول من نوع integer وكذللك بالنسبة لبقية أنواع المتحولات كما يلي:
PHP كود :
s1,s2,pass:String;  //متحولين من النوع النصي
k:integer; 

4- إنشاء المتحول وحجز ذاكرة له :

PHP كود :
reg:=TRegistry.Create; 

5- تعيين المفتاح الاساسي الموجود في مسجل النظام :

PHP كود :
reg.RootKey:=HKEY_CURRENT_USER; 

ملاحظة:
المفاتيح الأساسية لمسجل النظام هي :
1-HKEY_CLASSES_ROOT
2-HKEY_CURRENT_USER
3- HKEY_LOCAL_MACHINE
4- HKEY_USERS
5-HKEY_CURRENT_CONFIG

6- فتح المفاتيح الفرعية حيث توجد القيمة المراد تغييرها أو القراءة منها:
PHP كود :
if reg.OpenKey('Control Panel\Desktop\',false) then     //فتح المفتاح للقرائة منه
begin 
7-- إذا أردنا القراءة من القيمة على سبيل المثال (القيمة TimePassed) نكتب الكود :
PHP كود :
pass:= reg.ReadString('TimePassed'); 
وإذا أردنا الكتابة للقيمة السابقة (طبعاً القيمة تكون موجودة ضمن المفاتيح الفرعية) نكتب الكود التالي:

PHP كود :
reg.WriteString('TimePassed',IntToStr(StrToInt(pass)+1)) 


8- إغلاق المفتاح وتحرير الذاكرة:
PHP كود :
reg.CloseKey;
reg.Free; 
و فيما يلي مثال يوضح ما ذكرت:

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var
reg:TRegistry;
s:string;
begin
try
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
if 
reg.OpenKey('Control Panel\Desktop\',false) then
begin
s:= reg.ReadString('
TimePass');

end;

finally
reg.CloseKey;
reg.Free;

ShowMessage(s);
end;
 end; 
يعطيك العافية اخي