السلام عليكم و رحمة الله
عيد فطر مبارك للجميع ان شاء الله
اخواني هذا ملف تسجيل الدخول وجدته عل اليوتوب
لو سمحتم كيف اضيف بالفورم login عدد تسجيل الدخول بثلاثة محاولات فقط و بعد ثلاثة محاولات يتم الخروج من البرنامج مع تسجيل عدد المحاولات المتبقية بالتاكست بوكس 1 و بارك الله فيكم
Public tPwd As Int16 = 0
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
If cboUser.Text = "" Then cboUser.Focus() : Exit Sub
If txtPass.Text = "" Then txtPass.Focus() : Exit Sub
If Check_user() = False Then
MsgBox("كلمة المرور لهذا المستخدم غير صحيحة", MsgBoxStyle.Critical, "رسالة خطأ")
tPwd += 1
TextBox1.Text = 3 - tPwd
If tPwd = 3 Then FRM_mainmenu.Close()
' Exit Sub
End If
Public tPwd As Int16 = 0
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
If cboUser.Text = "" Then cboUser.Focus() : Exit Sub
If txtPass.Text = "" Then txtPass.Focus() : Exit Sub
If Check_user() = False Then
MsgBox("كلمة المرور لهذا المستخدم غير صحيحة", MsgBoxStyle.Critical, "رسالة خطأ")
tPwd += 1
TextBox1.Text = 3 - tPwd
If tPwd = 3 Then FRM_mainmenu.Close()
' Exit Sub
End If
'تعريف متغير لجملة الاستعلام
Dim sql = "select * from user_data WHERE user_name='" & cboUser.Text & "'"
'تشييد موصل البيانات داتا ادبتر
Dim Adp = New OleDb.OleDbDataAdapter(sql, DBConn)
'تشيد مجموعة البيانات
Dim ds = New DataSet
'ملىء مجموعه البيانات
Adp.Fill(ds)
'وضع الجدول في كائن من نوع جدول
Dim dt = ds.Tables(0)
If dt.Rows.Count > 0 Then
Dim dr As DataRow
dr = dt.Rows(0)
Public tPwd As Int16 = 0
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
If cboUser.Text = "" Then cboUser.Focus() : Exit Sub
If txtPass.Text = "" Then txtPass.Focus() : Exit Sub
If Check_user() = False Then
MsgBox("كلمة المرور لهذا المستخدم غير صحيحة", MsgBoxStyle.Critical, "رسالة خطأ")
tPwd += 1
TextBox1.Text = 3 - tPwd
If tPwd = 3 Then FRM_mainmenu.Close()
Exit Sub
End If
'تعريف متغير لجملة الاستعلام
Dim sql = "select * from user_data WHERE user_name='" & cboUser.Text & "'"
'تشييد موصل البيانات داتا ادبتر
Dim Adp = New OleDb.OleDbDataAdapter(sql, DBConn)
'تشيد مجموعة البيانات
Dim ds = New DataSet
'ملىء مجموعه البيانات
Adp.Fill(ds)
'وضع الجدول في كائن من نوع جدول
Dim dt = ds.Tables(0)
If dt.Rows.Count > 0 Then
Dim dr As DataRow
dr = dt.Rows(0)
12-04-24, 04:53 AM (آخر تعديل لهذه المشاركة : 12-04-24, 04:55 AM {2} بواسطة justforit.)
هذا تعديلي على المثال وفق الفكرة اللتي فهمتها
اضفت عمود باسم noa اختصار عدد مرات المحاولة
اضفت دالة لجلب القيمة المخزنة و مقارنتها بما هو مكتوب بـ TextBox1
كما عدلت على كود التحقق بحيث اذا كلمة المرور خاطئة يقوم باضافة رقم بمقدار +1 للحقل المخصص وهو noa
و المثال بسيط ارجو ان يكون فيه المطلوب ولو بصورة اخرى
كل عام و انتم بخير
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
شكرا جزيلا اخي justforit عيد مبارك كل عام و انت بالف خير يا رب
فكرة رائعة من خلال ما فهمته لاني لم اتمكن من تطبيقها من الملف لاني حتى و لو كتبت كلمة المرور صحيحة منذ المرة الاولى تظهر رسالة لقد تجاوزت العدد المسموح به لو ممكن بعد اذنك تشوفلي الخلل وين و بارك الله فيك
أدخل على قاعدة البيانات ..
الحقل الاخير من الجدول (noa)
هذا الحقل يسجل فيه عدد مرات تسجيل الدخول الخاطئة ..
كي يعمل معك البرنامج بثلاث محاولات أذهب وصفر القيم الموجودة في هذا الحقل..
--
فإذا تجاوز الثلاث مرات يمنعه منعاً نهائياً من الدخول مرة أخرى..
- إذا أردت له فقط ثلاث محاولات خاطئة لا غير : عليك بهذه الطريقة.
- واذا أردت السماح له مع كل تشغيل للبرنامج ثلاث محاولات، عليك بالطريقة الأولى..