اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

طلب كود من الحذف الا عن طريق رقم سري


dx2003
إذهب إلى أفضل إجابة Solved by محب العلم,

الردود الموصى بها

  • أفضل إجابة

حياك الله أخي ،

العملية تتم بفحص كلمة السر في حدث عند الحدف (يعني قبيل الحذف) تضع الكود الآتي :

كود


Private Sub Form_Delete(Cancel As Integer)

TimerId = SetTimer(0, 0, 1, AddressOf TimerProc)
str_Title = "إدخال كلمة المرور"
str_Prompt = "الرجاء إدخال كلمة مرور"

If InputBox(str_Prompt, str_Title) = "good" Then
Exit Sub
Else
Cancel = True
End If

End Sub

 




لاحظ هنا أننا من خلال صندوق الادخال InputBox ندخل كلمة السر قبل الحذف فإن كانت صحيحة لا نعمل شيء بمعنى exit sub نخرج من الإجراء، وإن كانت خاطئة نلغي عملية الحذف وذلك عن طريق الكود cancel = true حيث cancel كما تلاحظ هي معلمة الحدث .

أما بالنسبة لطباعة النجوم عند إدخال كلمة السر في صندوق الإدخال فهذه لوحدها حكاية وهي مرتبطة بالكود الموجود في الوحدة النمطية التي في المثال والتي يتم تفعيلها قبيل طلب صندوق الإدخال بواسطة الجمل الآتية

كود
TimerId = SetTimer(0, 0, 1, AddressOf TimerProc)
str_Title = "إدخال كلمة المرور"
str_Prompt = "الرجاء إدخال كلمة مرور"

 



إذا أردت حل بسيط جدا بدون النجوم stars (****) التي تظهر مكان كلمة السر يكون الحل هكذا


كود


Private Sub Form_Delete(Cancel As Integer)

If InputBox("إدخال كلمة المرور", "الرجاء إدخال كلمة مرور") = "good" Then
Exit Sub
Else
Cancel = True
End If

End Sub

 



وبإمكانك في هذه الحالة حذف الوحدة النمطية

delete.rar

أنصحك بالحل الكامل وهو الحل الأول



تحياتي لك

تم تعديل بواسطه أبا عمر
رابط هذا التعليق
شارك

  • 6 years later...

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information