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

فكيف أحل هذا الاشكال؟
((كونوا بخير))
[دعواتكم لنا وللمسلمين بالتوفيق والنجاح...
الرد
#2
[COLOR="RoyalBlue"]السلام عليكم و رحمة الله و بركاته

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


الملفات المرفقة
.rar   RegistryInDelphi.part1.rar (الحجم : 651 ك ب / التحميلات : 195)
.rar   RegistryInDelphi.part2.rar (الحجم : 52.9 ك ب / التحميلات : 106)
الرد
#3
أخي طارق أظن أنك تريد كتابة قيمة 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;

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

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

الرد
#4
Goblin
بورك فيك .. حملته اخي... ولكن فقط **** طريقة كتابة هذه القيم ..يعني هل يجب علي ادراج تابع للتحويل ما أم ماذا؟
[دعواتكم لنا وللمسلمين بالتوفيق والنجاح...
الرد
#5
tf6mehboul
بورك فيك أخي إسلام ..المشكلة في نوع هذه القيمة فقط
[دعواتكم لنا وللمسلمين بالتوفيق والنجاح...
الرد
#6
و انا مادا فعلت ؟؟ طريقتين لكتابة أي قيمة من نوع Bin
-------------------------------------------------------

فقط أدخل قيمك في السورس ؟؟ (عوض فقط)
I'M Fly Like A G6

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

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

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

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

جرب أنشأ قيمة bin في الريجيستري (يدويا) ثم إعمل exporter و قلي مادا ستجد ؟.
I'M Fly Like A G6

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


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم