اخواني الاعزاء السلام عليكم ورحمة الله كرما وليس امرا ارجو من لديه العلم والخبره ان يخبرني كيف يمكنني ان اتحكم بملف الرجيستري الخاص بالويندوز 98 عن طريق برنامج بلغة الدلفي حيث يمكنني البرنامج من القراءه والاضافه والتعديل في ملف الرجيستري ..... والله يحفظكم
كيف يمكن التحكم في ملف الرجيستري ؟
أخي هناك unit اسمها Registry تستطيع استخدامها للعمل ضمن الريجيستري
وهناك توابع للكتابة والقراءة من مفاتيح الريجيستري مثل ReadKey ...
راجع المساعد لمزيد من المعلومات حول هذا الأمر
اخي العزيز الرجيسري سهلة جدا مع الدلفي حيث ان استعملتها لإنشاء elasse مضادالفيروسات الدي اعطيتكم اياه سابقا راجعه
وان شاء الله تجدني في الخدمة
rootkey
تصرح فيها path الاول
openkey لفتح مفتاح
deletkey
لحذف مفتاح
.....الخ
في المرة المقبلة اعديك امثلة واضحة وشكرا
لا انسى عيد مبارك
اخواني الاعزاء السلام عليكم ورحمة الله وبركاته
شكرا جزبلا على الرد السريع
شكرا اخي غياث على الاجابه الجميله ولو اني مافهمت ماذا تقصد وسوف اوضح لك الامر لماذا بعد قليل :o
شكرا اخي باتي ولو اني زعلت من جملة ( اخي العزيز الرجيسري سهلة جدا مع الدلفي ) :'(
اخواني انا لم اعمل بالدلفي ولكني قد عملت على الباسكال منذ 9 سنوات ولم امارسها منذ ذلك الحين . السبب في سؤالي انني عملت على السي بلس بلس ووجدت صعوبه في استخدام السوكيت وايضا في التحكم في ملف الرجيستري وقد سمعت بالدلفي لذلك انا سألت هذا السؤال لارى رأي مبرمجين الدلفي في لغتهم عن طريق غير مباشر اي هل من السهوله بمكان التحكم في ماذكرت او يجدون صعوبه في ذلك .
على العموم انتم تعلمون ان جميع اللغات واحده اي من يستطيع ان يبرمج باللغه هذه يستطيع ان يبرمج بتلك .
واشكركم مره اخرى على حسن تعاونكم واسأل الله ان يجعله في ميزان حسناتكم
اخ غياث ماذا تقصد بـ Unit هل هي شبيهه بالكلاس في السي .
واخيرا ارجو من الاخ باتي ان يضع المثال الذي ذكره .
وتقبلو مني فائق تحياتي واحترامي (f)
السلام عليكم
اخي العزيز لا تفهمني خطأ لان قصدي هو ان اشجعك لا غير
لان الرجيستري سهلة حقا مع دلفي عكس الفيجوالvb مع ذلك انا اسف
اما الان هذا مثال عن كيف تجعل برنامجك عند انطلاق الجهاز .
procedure TForm1.FormCreate(Sender: TObject);
var
reg:tregistry;//التصريح بمتغيرة
begin
reg:=tregistry.Create;
try//قبول إنثاءالمتغيرة
reg.RootKey:=HKEY_CURRENT_USER;فتح المسار الاول
if reg.OpenKey('SoftwareMicrosoftWindowsCurrentVersionrunonce',true) then //اذا وجد و تم فتح المسار
if not reg.ValueExists('pati')then // اا لم نجد قيمة مصرح فيها مسار برنامجك
reg.WriteString('pati','"'+paramstr(0)+'"');//اكتب patiوضع فيها مسار بنامجك
finally
reg.CloseKey;//غلق المفتاح
reg.Free;//تحريره من الذاكرة
end;*****************************************************************************
هدا الإجراء يقوم بمحو او بمسح مفتاح من الرجيسترس حيث تقدم له كل من
المسار الاولROOT
المسارالمتبقي PATHKEY
اسم المتاحDELKEY
procedure removekey(ROOT :HKEY;PATHKEY:string;DELKEY:string); var reg:tregistry; begin Reg:=TRegistry.Create; try reg.RootKey:=ROOT; reg.OpenKey(PATHKEY,true); if reg.KeyExists(DELKEY) then reg.DeleteKey(DELKEY); finally reg.Free; end; end;
ارجو انني لم اطل عليك في الرد وإن شاء الله تكون اجابتي هي ماتريده واسف مرة اخر
كما اشكركم اخي tmaaa لانك لم تتاخر في الرد على اخى
honest
تم تعديل هذه المشاركة بواسطة romanof في 20 أبريل 2006 في 20:27
اسف على الخطا
لاني كتبت باسمك اخي biker فلم انتبه
اخي الكريم
السلام عليكم ورحمة الله وبركاته
و هنا تجد مثال اخر
http://www.arabteam2000.com/vb/showthread....?threadid=19380
ايه يا جماعه انا كل ما ادخل على وصله تطلعنى بره اتلكدو من الروابط
للأسف الروابط لاتعمل
:( :( :( :( :( :( :(
********************************************************************************
آخر وصايا سيدنا محمد صلى الله عليه وسلم:الصلاة الصلاة وما ملكت أيمانكم

هاجر اللذائذ وانبـرى ليثـاً بادغـال الشـرا
بـاع الحيـاة رخيـصـة لله والله اشـتـرى
خذو مني فؤادي وامنحوني سلاحي أمتطي صهو المنون
فإني لم أعش لأذوق ذلاً ولا لأذوب في حضن حنون
موقع الفريق الاسلامي المتحد للبرمجة والإلكترونيات
إيميلي هو:Aboalnoor@maktoob.com
ياهو :adnanalabuo@yahoo.com
هوت ميل:AdnanAlabuo@hotmail.com
محرك البحث اكيد يعمل [:
اخي العزيز
ارجو أن يفيدك الكود التالي
Function GetFromReg(Section, Ident, DefaultVal: String): String;
var
ADCRegistry: TRegIniFile;
begin
try
ADCRegistry := TRegIniFile.Create('Any name you want');
Result := ADCRegistry.ReadString(Section, Ident, DefaultVal);
finally
ADCRegistry.Free;
ADCRegistry := nil;
end;
end;
Function PutToReg(Section, Ident, Value: String): String;
var
ADCRegistry: TRegIniFile;
begin
try
ADCRegistry := TRegIniFile.Create('Any name you want');
ADCRegistry.WriteString(Section, Ident, Value);
finally
ADCRegistry.Free;
ADCRegistry := nil;
end;
end;وفي الملف المرفق مثال ايضا
هذا الموضوع مغلق.