منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيفية عمل String عشوائي !
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : زيـــد

السلام عليكم

بصراحة ما اعرف كيف ممكن تفيد هذه العملية بس حسب اعتقادي ممكن تفيد في عمل الباسوردات العشوائية لمواقع النت وهكذا . . . . . . . . . . . . . . المهم :

كيف يتم ذلك ؟

الــ String هو مصفوفة او مجموعة من الحروف Char يتم الوصول لكل حرف عن طريق الــ CharIndex

مهمتنا الان ان نجعل الــ CharIndex عشوائي اذا كان مثلا 1, 2 , 3 , 4 ليصبح 4, 2, 1, 3 وهكذا . . .

والشرط الاهم ان يكون بدون تكرار حتى لا يصير تضارب او تكرارات للأحرف

الدالة التالية RandomizeString تحوي باراميتر string OldString لجعله عشوائي :


كود :
[color=#000000][COLOR=#0000bb] [/color][color=#007700]private [/color][color=#0000bb]string RandomizeString[/color][color=#007700]([/color][color=#0000bb]string oldString[/color][COLOR=#007700])
        {
            [/COLOR][color=#0000bb]int[/color][color=#007700][] [/color][color=#0000bb]randomCharIndex[/color][COLOR=#007700];
            [/COLOR][color=#0000bb]Random rnd [/color][color=#007700]= new [/color][color=#0000bb]Random[/color][COLOR=#007700]();
            [/COLOR][color=#0000bb]HashSet[/color][color=#007700]<[/color][color=#0000bb]int[/color][color=#007700]> [/color][color=#0000bb]randomNumbers [/color][color=#007700]= new [/color][color=#0000bb]HashSet[/color][color=#007700]<[/color][color=#0000bb]int[/color][COLOR=#007700]>();
            while ([/COLOR][color=#0000bb]randomNumbers[/color][color=#007700].[/color][color=#0000bb]Count [/color][color=#007700]< [/color][color=#0000bb]oldString[/color][color=#007700].[/color][color=#0000bb]Length[/color][COLOR=#007700])
                [/COLOR][color=#0000bb]randomNumbers[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#0000bb]rnd[/color][color=#007700].[/color][color=#0000bb]Next[/color][color=#007700]([/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]oldString[/color][color=#007700].[/color][color=#0000bb]Length[/color][COLOR=#007700]));
            [/COLOR][color=#0000bb]randomCharIndex [/color][color=#007700]= [/color][color=#0000bb]randomNumbers[/color][color=#007700].[/color][color=#0000bb]ToArray[/color][COLOR=#007700]();
            [/COLOR][color=#0000bb]string newString [/color][color=#007700]= [/color][color=#dd0000]""[/color][COLOR=#007700];
            for ([/COLOR][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0[/color][color=#007700]; [/color][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]oldString[/color][color=#007700].[/color][color=#0000bb]Length[/color][color=#007700]; [/color][color=#0000bb]i[/color][COLOR=#007700]++)
                [/COLOR][color=#0000bb]newString [/color][color=#007700]+= [/color][color=#0000bb]oldString[/color][color=#007700][[/color][color=#0000bb]randomCharIndex[/color][color=#007700][[/color][color=#0000bb]i[/color][COLOR=#007700]]];
            return [/COLOR][color=#0000bb]newString[/color][COLOR=#007700];
        }  
[/COLOR][color=#0000bb][/color][/COLOR]

وايضا تجدون مثال بالمرفقات . . . تحياتي وبالتوفيق للكل