تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
دالة RandomString للحصول على نصوص عشوائية
#1
كاتب الموضوع : Programmation

السلام عليكم ورحمة الله وبركاته

إخـواني الأعضـاء الكرام, كيف حال الجميع؟

أسـأل الله العظيم أن تكونوا فى أفضل حال وأتم عافية

وجدت الكثير من الأسئلة المتعلقة بكيفية الحصول على نصوص عشوائية على المنتديات خلال بحثي على الشبكة, فقررت أن أقوم بعمل دالة توفر لك هذه العملية (توليد النصوص العشوائية) مع بعض الإمكانيات البسيطة كتحديد عدد الحروف الأتية داخل نص وكذلك إذا ما كنت تُريدها حروفاً كبيرة (Capital) أو صغيرة (Small) او حتى إذا كنت تُريد النص مُكون من الحروف الكبيرة والصغيرة معاً, فالدالة تحتوي على ثلاثة Parameters من النوع Optional (معاملات إختيارية) أي يُمكنك وضع القيم لها او حتى لا تُعطيها قيم فكما نعلم أن المعاملات الإختيارية تحتوي على قيم إفتراضية فأتمنى أن تستفيدوا منها جميعاً.

الدالة:


كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#dd0000]'Author: Programmation(OmarNegm)    
Public Function RandomString(Optional ByVal CharactersCount As Integer = 5, Optional ByVal LCaseString As Boolean = False, Optional ByVal UCaseString As Boolean = False) As String    
Dim Chrs As String, LstStr As String    
Dim I As Integer, X As Integer, Y As Integer    
'[/COLOR][COLOR=#007700]---------------------------    
[/COLOR][color=#0000bb]Chrs [/color][color=#007700]= [/color][COLOR=#dd0000]"abcdefghijklmnopqrstuvwxyz"    
[/COLOR][color=#007700]If [/color][color=#0000bb]LCaseString [/color][color=#007700]= [/color][COLOR=#0000bb]True Then    
     Chrs [/COLOR][color=#007700]= [/color][COLOR=#0000bb]Chrs    
[/COLOR][color=#007700]ElseIf [/color][color=#0000bb]UCaseString [/color][color=#007700]= [/color][COLOR=#0000bb]True Then    
     Chrs [/COLOR][color=#007700]= [/color][color=#0000bb]UCase[/color][color=#007700]([/color][color=#0000bb]Chrs[/color][COLOR=#007700])    
Else    
     [/COLOR][color=#0000bb]Chrs [/color][color=#007700]= [/color][color=#0000bb]LCase[/color][color=#007700]([/color][color=#0000bb]Chrs[/color][color=#007700]) & [/color][color=#0000bb]UCase[/color][color=#007700]([/color][color=#0000bb]Chrs[/color][COLOR=#007700])    
[/COLOR][color=#0000bb]End [/color][COLOR=#007700]If    
[/COLOR][COLOR=#dd0000]'---------------------------    
I = 0    
X = Len(Chrs)    
LstStr = ""    
Do Until I = CharactersCount    
   Y = Int(Rnd * (X))    
     If Not Y = 0 Then    
       If LstStr = "" Then    
         LstStr = Mid$(Chrs, Y, 1)    
         I = I + 1    
        Else    
         LstStr = LstStr & Mid$(Chrs, Y, 1)    
         I = I + 1    
       End If    
     End If    
Loop    
'[/COLOR][COLOR=#007700]---------------------------    
[/COLOR][color=#0000bb]RandomString [/color][color=#007700]= [/color][COLOR=#0000bb]LstStr    
End [/COLOR][COLOR=#007700]Function  
[/COLOR][color=#0000bb][/color][/COLOR]

كيفية التعامل مع الدالة:

فقط ضع الدالة داخل Module ويُمكنك بعدها إستدعائها من داخل أي نموذج (Form) داخل المشـروع

أما عن طريقة إستخدامك لها برمجياً فسيكون الأمر بالأكواد البسيطة التالية:

أولاً الكود التالي سوف يقوم بتوليد نص مكون من 5 حروف عشوائية مكونة من الحروف الكبيرة (Capital) و الصغيرة (Small) داخل الـ Text1 :


كود :
[color=#000000][COLOR=#0000bb]Text1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]RandomString[/color][COLOR=#007700]()  
[/COLOR][color=#0000bb][/color][/COLOR]

اما أذا كنت تُريد تحديد عدد الحروف العائدة فتلك مهمة المعامل الأول ويُمكنك تحديد عدد الحروف بالطريقة التالية:

الكود التالي سوف يقوم بتوليد نص مكون من 20 حرف مكون من الحروف الصغيرة والكبيرة:


كود :
[color=#000000][COLOR=#0000bb]Text1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]RandomString[/color][color=#007700]([/color][color=#0000bb]20[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]

كذلك يُمكنك تحديد حالة الحروف من صغيرة او كبيرة بالطريقة التالية:

الكود التالي سوف يقوم بتوليد 8 حروف مكونة من الحروف الصغيرة فقط:


كود :
[color=#000000][COLOR=#0000bb]Text1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]RandomString[/color][color=#007700]([/color][color=#0000bb]8[/color][color=#007700], [/color][color=#0000bb]True[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]

او


كود :
[color=#000000][COLOR=#0000bb]Text1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]RandomString[/color][color=#007700]([/color][color=#0000bb]8[/color][color=#007700], [/color][color=#0000bb]True[/color][color=#007700], [/color][color=#0000bb]False[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]

كلا الطريقتين جائزتين.

والكود التالي سوف يقوم بتوليد 12 حرف مكون من الحروف الكبيرة فقط:


كود :
[color=#000000][COLOR=#0000bb]Text1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]RandomString[/color][color=#007700]([/color][color=#0000bb]12[/color][color=#007700], , [/color][color=#0000bb]True[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]

أو


كود :
[color=#000000][COLOR=#0000bb]Text1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]RandomString[/color][color=#007700]([/color][color=#0000bb]12[/color][color=#007700], [/color][color=#0000bb]False[/color][color=#007700], [/color][color=#0000bb]True[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]

كلا الطريقتين جائزتين.

أتمنى أن تستفيدوا من الدالة, ولا تنسونا من صالح دعائكم

والسـلام عليكم ورحمة الله وبركاته
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  دالة معرفة نوع القرص + مثال مرفق !!!!!!!!!! RaggiTech 0 2,456 17-10-12, 03:27 PM
آخر رد: RaggiTech
  برنامج توليد ارقام عشوائية من عشر منازل RaggiTech 0 2,687 17-10-12, 03:10 PM
آخر رد: RaggiTech
  رش مجموعة عشوائية من الألوان على الفورم RaggiTech 0 2,023 17-10-12, 12:44 AM
آخر رد: RaggiTech

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


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