تقييم الموضوع :
  • 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] ارغب في كود إلزام المستخدم ادخال الأرقام محصور بعددين loay775 2 210 18-01-24, 05:02 PM
آخر رد: loay775
  دالة ادخال ارقام فقط في مربع النص atefkhalf2004 7 819 20-08-23, 09:04 AM
آخر رد: atefkhalf2004
  [مشروع] عرض كلمة في مشروعي موجوده في برنامج اخر ؟ mac9 3 1,660 30-03-23, 08:45 PM
آخر رد: sanyor77
  ادخال درجات الطلاب لقاعدة بيانات اكسس .. مساعدة Tajaldeen 8 1,265 09-01-23, 12:55 AM
آخر رد: أبو خالد الشكري
  [VB.NET] ادخال الملف الى البرنامج Ibraheemalhamdo94 0 276 22-12-22, 03:31 AM
آخر رد: Ibraheemalhamdo94
  ادخال نص الى المتغير فى my.setting حماده ممدوح البحيرى 6 584 17-12-22, 11:36 AM
آخر رد: أبو خالد الشكري
  ماهي طريقة انشاء hash invoice بطريقة اوتوماتيكية malsofi 0 353 04-12-22, 11:49 AM
آخر رد: malsofi
  [VB.NET] اظهار كلمة المرور ali_ahmed12 2 570 26-11-22, 04:53 PM
آخر رد: ali_ahmed12
  [VB.NET] كود لفتح ملف اكسس خارجي يحتوي على كلمة سر فيجول استوديو 2015 يوسف العزير 14 1,807 20-11-22, 12:26 PM
آخر رد: يوسف العزير
  ود ادخال وتعديل حماده ممدوح البحيرى 2 440 10-11-22, 12:50 AM
آخر رد: أبو خالد الشكري

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


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