02-11-2009, 03:11 PM
و عليكم السلام و رحمة الله
طالت غيبتك اخي TF6M
نعم... ملاحظة جيدة : الخطأ العمدي خاص بالمتغير : Rootkey
حيث الدالة يجب ان تتاثر بالقيمة التي تمرر اليها...
في حالة التمرين :
الكتابة الصحيحة :
يعني في الحالة الأولى اننا مهما غيرنا القيمة الممررة للمتغير فانه يعالج فقط الــ Hive الخاص بــ Local machine لانه موجود داخل الدالة بصفة قيمة ثابتة...
و الحالة الثانية تعطي القابلية التامة لتمرير كل انواع الــ Hive الموجودة في النظام و معالجتها...
بالتوفيق ان شاء الله
طالت غيبتك اخي TF6M

نعم... ملاحظة جيدة : الخطأ العمدي خاص بالمتغير : Rootkey
حيث الدالة يجب ان تتاثر بالقيمة التي تمرر اليها...
في حالة التمرين :
كود :
function TMain.WriteReg([color=Red]KeyRoot[/color]: HKEY; Key, Value, NewValue: string): Boolean;
var
Reg: TRegistry;
begin
Result := False;
Reg := TRegistry.Create;
Reg.RootKey := [color=red]HKEY_LOCAL_MACHINE[/color];
if Reg.OpenKey(Key, True) then
begin
if not (Reg.ReadString(Value) = NewValue) then
begin
Reg.WriteString(Value, NewValue);
Result := True;
end;
end
else
begin
Result := False;
end;
Reg.CloseKey;
Reg.Free;
end;الكتابة الصحيحة :
كود :
function TMain.WriteReg([color=red]KeyRoot[/color]: HKEY; Key, Value, NewValue: string): Boolean;
var
Reg: TRegistry;
begin
Result := False;
Reg := TRegistry.Create;
Reg.RootKey := [color=red]KeyRoot[/color];
if Reg.OpenKey(Key, True) then
begin
if not (Reg.ReadString(Value) = NewValue) then
begin
Reg.WriteString(Value, NewValue);
Result := True;
end;
end
else
begin
Result := False;
end;
Reg.CloseKey;
Reg.Free;
end;يعني في الحالة الأولى اننا مهما غيرنا القيمة الممررة للمتغير فانه يعالج فقط الــ Hive الخاص بــ Local machine لانه موجود داخل الدالة بصفة قيمة ثابتة...
و الحالة الثانية تعطي القابلية التامة لتمرير كل انواع الــ Hive الموجودة في النظام و معالجتها...
بالتوفيق ان شاء الله

