delphi4arab منتديات دلفي للعرب
التعامل مع مسجل النظام Windows Registry - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6)
+--- قسم : دلفي والتعامل مع النظام و الذاكرة (https://delphi4arab.net/forum/forumdisplay.php?fid=20)
+--- الموضوع : التعامل مع مسجل النظام Windows Registry (/showthread.php?tid=1406)



التعامل مع مسجل النظام Windows Registry - issamdnn - 16-12-2009

يحب كتابة اسم الوحدة 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; 



التعامل مع مسجل النظام Windows Registry - issamdnn - 16-12-2009

و فيما يلي مثال يوضح ما ذكرت:

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; 



RE: التعامل مع مسجل النظام Windows Registry - mohamed49 - 14-05-2018

يعطيك العافية اخي