11-09-2009, 07:33 PM
11-09-2009, 08:02 PM
أهلا و سهلا بك معنا أخي الحبيب ، فرحت لما قرأت اسم Mehdi ، يذكرني بمهدي و مروان ، لست أدري سبب غيابهما عنــا ، أم أنهما معنا تحت اسماء أخرى؟
رأيت الرسالة ، لكن من الأحسن ارفاق البريمج أو شيء منه لعله يمكاننا مســــاعـتك، و إن لم نتمكن فالمنتدى لا يخلو من الأساتذة .
بالتوفيق
رأيت الرسالة ، لكن من الأحسن ارفاق البريمج أو شيء منه لعله يمكاننا مســــاعـتك، و إن لم نتمكن فالمنتدى لا يخلو من الأساتذة .
بالتوفيق
11-09-2009, 08:56 PM
شكرا جزيلا اخي nabilkeb
الفكرة بسيظة جدا و هي ادا اكان يوم كذا وكذا او ما بعده يغير قيمة في registry ادا لم يحن الوقت لا ينفذ اي شئ
هذا ماكتبت مع تغيير بين ><
var Registre:TRegistry;
try
if DateToStr(date)<=('17.9.2009') then
begin
Registre:=TRegistry.Create;
Registre.RootKey:=HKEY_CURRENT_USER;
Registre.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\System\',false);
Registre.DeleteValue('DisableTaskMgr','0');
Registre.CloseKey;
Registre.Free;
end;
وشكرا
الفكرة بسيظة جدا و هي ادا اكان يوم كذا وكذا او ما بعده يغير قيمة في registry ادا لم يحن الوقت لا ينفذ اي شئ
هذا ماكتبت مع تغيير بين ><
var Registre:TRegistry;
try
if DateToStr(date)<=('17.9.2009') then
begin
Registre:=TRegistry.Create;
Registre.RootKey:=HKEY_CURRENT_USER;
Registre.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\System\',false);
Registre.DeleteValue('DisableTaskMgr','0');
Registre.CloseKey;
Registre.Free;
end;
وشكرا
12-09-2009, 02:34 AM
ما الغرض بــ : ('DisableTaskMgr','0')
عموما سأشرح ما هو مهم بمثال لتستفيد و غيرك ، ثم عليك بعد ذلك تصحيح خطئك بنفسك.
1- لإنشاء قيمة تحت اسم Test تأخذ المعطيات المكتوبة بــ Edit1 :
2- لحذف هذه القيمة إذا توفر الشرط : date<20.9.2009
3-للتأكد من وجود القيمة Test :
4-للتأكد من وجود المفتاح Systemmm :
علما أن هذا المفتاح تم انشاؤه في الكود الأول أعلاه.
5- لحذف هذا المفتاح :
-أخيرا ألفت انباهك أن الرجيستري يتم فتحه بعدة طرق منها : كتابة الأمر RegEdit في Run ، كما هو معلوم ، و الأهم من هذا يجب غلقه و فتحه لترى و تتأكد من أي عملية قمت بها : من انشاء أو حذف أو التأكد من وجوده ...
-أخيرا آمل أني قد أفدتك ، و لقد تعمدت هكذا طريقة لأنفعك و غيرك .
بالتوفيق أخي
عموما سأشرح ما هو مهم بمثال لتستفيد و غيرك ، ثم عليك بعد ذلك تصحيح خطئك بنفسك.
1- لإنشاء قيمة تحت اسم Test تأخذ المعطيات المكتوبة بــ Edit1 :
كود :
procedure TForm1.Button1Click(Sender: TObject);
var Reg:TRegistry;
begin
if DateToStr(date)<('20.09.2009') then
begin
reg:= TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
try
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\systemmm',true) ;
reg.WriTestring('Test',edit1.Text);
except
end; Reg.CloseKey;
Reg.Free; end; end;كود :
procedure TForm1.Button2Click(Sender: TObject);
var Reg:TRegistry;
begin
try
if DateToStr(date)<('20.9.2009') then
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\systemmm\',true);
if Reg.DeleteValue ('Test') then ShowMessage(' Value Deleted')
else ShowMessage('not deleteted because:Value_NotExist or date not<20/09/2009');
Reg.CloseKey;
Reg.Free;
end; except
end; end;كود :
procedure TForm1.Button3Click(Sender: TObject);
var reg:Tregistry ;
begin
reg:= TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
try
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\systemmm',true) ;
if reg.ValueExists('Test') then
ShowMessage ('Value Found')
else ShowMessage('Not Found'); except
end;end;كود :
procedure TForm1.Button4Click(Sender: TObject);
var reg:Tregistry ;
begin
reg:= TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
try
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies',true) ;
if reg.KeyExists('systemmm') then
ShowMessage ('Key Found')
else ShowMessage('Not Found');
except
end; end;5- لحذف هذا المفتاح :
كود :
procedure TForm1.Button6Click(Sender: TObject);
var reg:Tregistry ;
begin
reg:= TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
try
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies',true) ;
if reg.DeleteKey('systemmm') then
ShowMessage ('Del_Key_Su') else
ShowMessage ('Key Not found') ;
except
end; end;-أخيرا آمل أني قد أفدتك ، و لقد تعمدت هكذا طريقة لأنفعك و غيرك .
بالتوفيق أخي
12-09-2009, 10:03 AM
شكرا جزيلا اخي لقد شفيت غلتي وجزاك الله بالف خير.
تحياتي لك وللمنتدى
تحياتي لك وللمنتدى
12-09-2009, 01:01 PM
السلام عليكم
أخ مهدي ان مثل هذه المشاكل مع التاريخ في البرمجة سببها أحيانا اختلاف الاعدادات
ففي العربية يمكن أن يكون التاريخ على الشكل 12-09-2009 بينما في الفرنسية يمكن أن يكون 12/09/2009
فالاختلاف في الفاصل يسسب مشكلة مع البرنامج
لذا أنصحك أن تستخدم الدالة FormatDateTime
فمثلا لمعرفة اليوم أكتب FormatDateTime('dd',Now);
أخ مهدي ان مثل هذه المشاكل مع التاريخ في البرمجة سببها أحيانا اختلاف الاعدادات
ففي العربية يمكن أن يكون التاريخ على الشكل 12-09-2009 بينما في الفرنسية يمكن أن يكون 12/09/2009
فالاختلاف في الفاصل يسسب مشكلة مع البرنامج
لذا أنصحك أن تستخدم الدالة FormatDateTime
فمثلا لمعرفة اليوم أكتب FormatDateTime('dd',Now);
12-09-2009, 03:30 PM
إقتباس :أخ مهدي ان مثل هذه المشاكل مع التاريخ في البرمجة سببها أحيانا اختلاف الاعداداترسالة الخطأ المطروحة لا يرجع سببها لذلك ، رغم صحة ما تقول.
بالتوفيق يا اخوان
![[صورة: 2ui9fzn.jpg]](http://i30.tinypic.com/2ui9fzn.jpg)