تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ادخال كلمة السر بطريقة متميزة؟
#1
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

يوجد للتكست بوكس خاصية اسمها PassWordChar
ان تم وضع * بها

فهذا معناه، ان الادخال سوف يكون عبارة عن نجوم

ولكن ارغب ان اطبق طريقة مغايرة، هي اظنها افضل من الطريقة التقليدية ( ********** ) على النحو التالي

بفرض ان كلمة السر هي 123456

عند كتابة الرقم 1 يجب ان يكون 1 وليس *
عند كتابة الرقم التالي وهو 2 يصبح 1 على شكل نجمة والرقم 2 ظاهر اي هكدا *2
عند كتابة الرقم التالي وهو 3 يصبح الرقم السابق (2) عبارة عن * اي هكدا **3

وهكذا
ودلك كما هو في البرامج الحديثة ، حيت فيها اتاحة مجال متميزة للمستثمر برؤية مايدخل من قيم

ملاحظة
( كل رقم يتم ادخاله ......بعد فاصل زمني معين ) يجب ان يتحول الى *
وذلك حتى نضمن ان اخر رقم من كلمة السر يتحول الى *

ارجو ممن اتضحت له الفكرة، تزويدي بالكود المناسب
والف شكر
الرد
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته


لدي فكرة لكن لا يسعنى تذكر طريقة الكود وهو القيام برسم الرمز داخل الحدث KeyPressبدلالة موضع مؤشر الكتابة بواسطة GetPositionFromCharIndex الخاص بـ TextBox مع تشغيل المؤقت Timer1 الذي بدورة يعمل Refresh لاستعادة الشكل السري للرموز مع إيقاف نفسه


السلام عليكم ورحمة الله وبركاته
الرد
تم الشكر بواسطة: سعود , 3booody , mohammed moh , sooriaty03
#3
السلام عليكم ورحمة الله وبركاته

طريقة غير احترافية وغير مكتملة 100% اتمنى نصائحكم بها؟

كود :
Private Sub Wait(ByVal n As Short)
        On Error Resume Next
        Dim S As New Stopwatch
        S.Start()
        Do While S.ElapsedMilliseconds < n
            Application.DoEvents()
        Loop
        S.Stop()
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        On Error Resume Next
        TextBox1.PasswordChar = ""
        TextBox1.Select(TextBox1.TextLength, TextBox1.TextLength)
        TextBox1.Text = TextBox1.Text.Replace(TextBox1.Text.Chars(TextBox1.TextLength - 2), "*")
        Wait(500)
        TextBox1.PasswordChar = "*"
    End Sub
    Dim pass As String = ""
    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        On Error Resume Next
        If e.KeyChar.ToString = " " Then
            e.Handled = True
            Exit Sub
        End If
        If e.KeyChar = Chr(8) Then
            If TextBox1.SelectedText = 0 Then
                pass = pass.Substring(0, pass.Length - 1)
            Else
                'مشكلة في حال تحديد نص وازالته
            End If
        Else
            pass &= e.KeyChar.ToString
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox(pass)
    End Sub
الرد
تم الشكر بواسطة: sherif khalid , sooriaty03 , @@أبورائد@@ , mohammed moh
#4
و عليكم السلام و رحمة الله
جرب هذا الكود أولا ضع تاكست بوكس واحد و واحد تايمر و شاك بوكس على الفورم + اترك الأسماء الإفتراضية كما هي
ثم ضع هذا الكود
كود :
Private passKey As String = String.Empty
    Private ignoreKeys As New List(Of Keys) From {Keys.Left, Keys.Up, Keys.PageUp, Keys.Home, Keys.Space}

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        
        Dim emptyMenu As New ContextMenu
        TextBox1.ContextMenu = emptyMenu
        
        Timer1.Interval = 1000
        Timer1.Stop()
    End Sub

    Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles TextBox1.PreviewKeyDown
        If e.KeyData = Keys.Tab Then
            e.IsInputKey = True
        End If
    End Sub

    Private Sub TextBox1_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseUp
        TextBox1.SelectionStart = TextBox1.TextLength
    End Sub

    Private Sub TextBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        Timer1.Stop()
        If ignoreKeys.Contains(e.KeyCode) OrElse e.Control OrElse e.KeyData = Keys.Tab Then
            e.SuppressKeyPress = True
            Return
        End If
    End Sub

    Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        e.Handled = True
        If e.KeyChar = ChrW(Keys.Escape) Then
            passKey = String.Empty
        ElseIf e.KeyChar = ChrW(Keys.Back) Then
            If passKey.Length = 1 Then
                passKey = String.Empty
            ElseIf passKey.Length > 1 Then
                passKey = passKey.Substring(0, passKey.Length - 1)
            Else
                Return
            End If
        ElseIf e.KeyChar = ChrW(Keys.Return) Then
            HideAllKeys()
            MessageBox.Show(passKey)
            Return
        Else
            passKey &= e.KeyChar.ToString
        End If

        If passKey.Length = 0 Then
            TextBox1.Text = ""
        ElseIf passKey.Length = 1 Then
            TextBox1.Text = passKey
        Else
            TextBox1.Text = New String("*"c, passKey.Length - 1) & passKey(passKey.Length - 1)
        End If
        TextBox1.SelectionStart = TextBox1.TextLength
        If passKey.Length > 0 Then
            Timer1.Start()
        End If
    End Sub

    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        Timer1.Stop()
        HideAllKeys()
    End Sub

    Private Sub HideAllKeys()
        TextBox1.Text = New String("*"c, passKey.Length)
        TextBox1.SelectionStart = TextBox1.TextLength
    End Sub


    Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
        If CheckBox1.Checked = True Then
            TextBox1.Text = passKey
        Else
            HideAllKeys()
        End If
    End Sub
بالتوفيق
الرد
تم الشكر بواسطة: sooriaty03 , @@أبورائد@@ , 3booody , hoob computer , kafi2030
#5
السلام عليكم و رحمة الله و بركاته,

أخي محمد, جزاك الله خيراً على هذا الكود الرائع و السريع و الخفيف Smile

لقد إستعملته في مشروع صغير أود طرحه في المنتدى عن قريب إن شاء الله, و كان ممتازاً.



تحياتي
الرد
تم الشكر بواسطة: mohammed moh
#6
السلام عليكم

عالسريع مارأيكم بهذا الكود:
PHP كود :
Private Sub TextBox2_TextChanged(sender As System.ObjectAs System.EventArgsHandles TextBox2.TextChanged
        Thread
.Sleep(300)
        
TextBox2.PasswordChar "*"
    
End Sub

    
Private Sub TextBox2_KeyPress(sender As System.ObjectAs System.Windows.Forms.KeyPressEventArgsHandles TextBox2.KeyPress
        TextBox2
.PasswordChar ""

    
End Sub 

الرد
تم الشكر بواسطة: الشاكي لله , mohammed moh , kafi2030 , Ameer syria
#7
كود حلو أخوية سجاد, بس شنو الفرق بينه و بين كود الأخ محمد؟

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



تحياتي
الرد
تم الشكر بواسطة:
#8
مثل متشوف عدد الاسطر قليل وتستطيع ان تزيد او تقلل السرعة عن طريق الـThread بزيادة الملي ثانية

لم اجرب كود الاخ محمد لكن عالسريع كتبت هذا الكود اعلاه
الرد
تم الشكر بواسطة: hoob computer
#9
السلام عليكم

بدات بتجريب الكود الاخ sajed

ولكن لم استطع تجربته بسبب ظهور رسالة خطأ


على ما يبدو ان هناك مكتبة يجب استدعاؤها، ولكن لا اعلمها

ارجو الارشاد


الملفات المرفقة صورة/صور
   
الرد
تم الشكر بواسطة:
#10
السلام عليكم

قم بتضمين هذه المكتبة:
PHP كود :
Imports System.Threading 
الرد
تم الشكر بواسطة: kafi2030


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] استفسار :- رقم الاي دي لاخر ادخال في قاعدة البيانات dubai.eig 7 128 15-09-18, 10:56 AM
آخر رد: elgokr
  ممكن مساعده اريد وضع مواعيد للحجوزات وعند ادخال قيمة وقت معين يعطي رساله بان الوقت ده thementalist 6 127 14-09-18, 08:47 PM
آخر رد: حريف برمجة
  [VB.NET] ادخال عدة سطور للداتا جرد فيو عن طريق عمل لوب هاني المومني 5 142 26-07-18, 11:43 PM
آخر رد: elgokr
  [VB.NET] كود للبرنامج بطريقة تلقائية morshday 13 466 04-07-18, 02:43 AM
آخر رد: elgokr
  متى تستخدم كلمة Dispose Osama Bayoumy 1 117 21-06-18, 11:35 AM
آخر رد: Amir_Alzubidy
  [سؤال] مشكله فى ادخال قاعد البيانات الي الفيجوال Mahmoud Nasser 1 187 10-06-18, 04:34 PM
آخر رد: elgokr
  أريد حذف كلمة "إسرائيل" من برنامجي hichem1 3 184 08-06-18, 11:41 PM
آخر رد: elgokr
  [سؤال] كيف يمكنني حفظ كلمة المرور الجديدة بدل القديمة farah112233 5 206 06-06-18, 08:12 PM
آخر رد: farah112233
  السلام عليكم اريد كود لما نتجاوز عدد محاولات 3 مرات في كلمة السر يطلعلي مسج تنبيه nosa 6 385 17-05-18, 05:30 AM
آخر رد: منصور أحمد حكمي
  ادخال اكثر من رقم kaiser_noori 1 98 08-05-18, 03:09 PM
آخر رد: sendbad100

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


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