delphi4arab منتديات دلفي للعرب
بخصوص كتابة قيمة رجستري بدلفي.. - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : بخصوص كتابة قيمة رجستري بدلفي.. (/showthread.php?tid=675)



بخصوص كتابة قيمة رجستري بدلفي.. - مبتدأ جدا - 06-03-2009

السلام عليكم .. أردت أن أدرج قيمة ما في مفتاح رجستري ... لن تكون هنالك مشكلة إذا كانت القيمة حرفية أو عشرية ولكن الإشكال عندما تكون هاته القيمة بهذا الشكل-إنظر الصورة-
[صورة: d41d99e3cd.png]

فكيف أحل هذا الاشكال؟
((كونوا بخير))


بخصوص كتابة قيمة رجستري بدلفي.. - Goblin - 06-03-2009

[COLOR="RoyalBlue"]السلام عليكم و رحمة الله و بركاته

عليك اخي بقراءة هذا الكتاب, سيفيدك كثيرا عن الRegistry.[/COLOR]


بخصوص كتابة قيمة رجستري بدلفي.. - TF6M - 06-03-2009

أخي طارق أظن أنك تريد كتابة قيمة Binary ?
----------------------------------------------

هناك عده طرق لذلك (أعرف البعض منها فقط ؟؟) :

1- عن طريق تحميل القيمة من ملف Binary كمثال :

كود :
procedure TForm1.Button1Click(Sender: TObject); Var Data:TMemoryStream; Begin Data:=TMemoryStream.Create; Data.LoadFromFile('1.bin'); With Tregistry.Create Do Begin RootKey:=Hkey_Local_Machine ; Try If OpenKey('\software\microsoft\windows\currentversion\run',False) Then WriteBinaryData('Tab',Data,SizeOf(Data)); Finally CloseKey; Free; End; End; Data.Free; end;

------------------------------------------------------------------------------
هنا كتبنا محتوى الملف 1.bin في الـ Tab بإستخدام الدالة : WriteBinaryData
------------------------------------------------------------------------------
هدا تعريفها :

كود :
procedure TRegistry.WriteBinaryData(const Name: string; var Buffer; BufSize: Integer); begin PutData(Name, @Buffer, BufSize, rdBinary); end;

-------------------------------------------------------------------------------

2- تعريف متغير جديد من نوع مصفوفة :

كود :
procedure TForm1.Button1Click(Sender: TObject); Const Tab : Array [0..4] Of String[2] = ('00','01','fa','d0','ee'); Var Data:String; I:Integer; Begin With Tregistry.Create Do Begin RootKey:=Hkey_Local_Machine ; Try If OpenKey('\software\microsoft\windows\currentversion\run',False) Then For I:= 0 To Length(Tab) Do Begin Data:=Tab[I]; WriteBinaryData('Tab',Data,SizeOf(Data)); End; Finally CloseKey; Free; End; End; end;

-------------------------------------------------------------------------------

****ا أن أكون قد أفدتك .
(ملاحظة : إذا كانت الطريقتين خاطئتين ****ا منكم التصحيح و التوجيه)


بخصوص كتابة قيمة رجستري بدلفي.. - مبتدأ جدا - 06-03-2009

Goblin
بورك فيك .. حملته اخي... ولكن فقط **** طريقة كتابة هذه القيم ..يعني هل يجب علي ادراج تابع للتحويل ما أم ماذا؟


بخصوص كتابة قيمة رجستري بدلفي.. - مبتدأ جدا - 06-03-2009

tf6mehboul
بورك فيك أخي إسلام ..المشكلة في نوع هذه القيمة فقط


بخصوص كتابة قيمة رجستري بدلفي.. - TF6M - 06-03-2009

و انا مادا فعلت ؟؟ طريقتين لكتابة أي قيمة من نوع Bin
-------------------------------------------------------

فقط أدخل قيمك في السورس ؟؟ (عوض فقط)


بخصوص كتابة قيمة رجستري بدلفي.. - مبتدأ جدا - 06-03-2009

أفهمك وهذا ماكنت سأفعله ولكن لا أخال أن القيمة ثنائية ضف إلى وجود ''hex" .. بمعنى آخر ما نوع هاته القيمة..(كن بخير))


بخصوص كتابة قيمة رجستري بدلفي.. - TF6M - 06-03-2009

مبتدأ جدا كتب :أفهمك وهذا ماكنت سأفعله ولكن لا أخال أن القيمة ثنائية ضف إلى وجود ''hex" .. بمعنى آخر ما نوع هاته القيمة..(كن بخير))

القيم التي يمكن أن نكتبها أو ان نقرأها من الريجيستري :

1- string
2- binary
3- dword
4- multi-string value
5- expandable

-----------------------------------------------------------

جرب أنشأ قيمة bin في الريجيستري (يدويا) ثم إعمل exporter و قلي مادا ستجد ؟.


بخصوص كتابة قيمة رجستري بدلفي.. - مبتدأ جدا - 06-03-2009

بورك فيك مجددا ... ما قصدته من قولي كنت سأقوم به هو WriteBinaryData لا غير.. سأحاول فهم الطريقتين.