كيف يمكنني خلق نص عشوائي يتكون من (ثمانية) حروف وأرقام بشرط أن لا يكون قد تم خلقه سابقاً. أنا أحتفظ بالنصوص في random_check في جدول اسمه users_db
نص عشوائي مع التدقيق في قاعدة البيانات
السلام عليكم
الرجاء مزيد من الإيضاح ... يعني إحكي الحكاية عشان نقدر نفهم الفكرة
ودي فكرة ع الماشي الى ان توضح الموضوع
يمكنك إستخدام التاريخ والوقت الحالي للماكينة لتوليد الأرقام بحيث يكون يتكون من العام والشهر واليوم والساعة والثانية وهو امر أضمن لك انه لن يتكرر مره أخرى ما حييت :lol: .(الا لو لعبت في تاريخ الجهاز :rolleyes: )
والسلام
تم تعديل هذه المشاركة بواسطة TopSec في 7 نوفمبر 2007 في 13:04
لا..
ما أردته هو رقم عشوائي
يعني مثل 57Q9K13M
بحيث أخزنه في قاعدة البيانات
ثم عند خلق الرقم العشوائي الجديد أريد أن أتأكد أنه غير موجود في الأرقام التي سبق خلقها وتم تخزينها في قاعدة البيانات
دون أن يستهلك هذا الإجراء الكثير من الوقت
السلام عليكم
لضيق الوقت لم اتمكن من إنهائها ولكن إليك الفكرة العامة
string[] A = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "B" };
private void Generate_Click(object sender, EventArgs e)
{
Random RandomClass = new Random();
int RandomNumber = RandomClass.Next(10000000,99999999);
string s = Convert.ToString(RandomNumber);
textBox1.Text = s;
}يمكنك بعد ذلك التعامل مع s وإستبدال بعض الأرقام في أماكن عشوائية بالأحرف المقابلة لها في المصفوفة
والله ولي التوفيق
السلام عليكم
هاهو شكل البرنامج
وهاهو البرنامج
هاهو الكود كاملا
namespace ProRandom
{
public partial class FrmRandom : Form
{
public FrmRandom()
{
InitializeComponent();
}
char[] A = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
Random RandomClass = new Random();
public String str;
private void Generate_Click(object sender, EventArgs e)
{
int RandomNumber = RandomClass.Next(10000000,99999999);
char[] S = Convert.ToString(RandomNumber).ToCharArray();
int CharCount = RandomClass.Next(1, 7);
for (int i = 1; i <= CharCount; i++)
{
int CharSPos = RandomClass.Next(0, 7);
int CharAPos = RandomClass.Next(0,25);
S[CharSPos] = A[CharAPos];
}
str = new String(S);
textBox1.Text = str;
}
}
}
using System.Windows.Forms;
وهو كود يولد رقم عشوائي -_- من ثمانية خانات ثم يستبدل عدد عشوائي <_< من أرقامة العشوائية ;) في خانات عشوائية -_- بحروف عشوائي <_< ة
بالمناسبة إحتمال أن يتكرر نفس العشوائي الناتج عن فكرتك هو إحتمال 1 كل(2,821,109,907,456) مرة
أظن مفيش عشوائية أكتر من كدة :lol: :lol: :lol: :lol:
والله ولي التوفيق
تم تعديل هذه المشاركة بواسطة TopSec في 8 نوفمبر 2007 في 11:35
يمكنك استخدام SQL Server ليقوم بعمل ذلك:
SELECT NEWID()
تم تعديل هذه المشاركة بواسطة newhotta في 8 نوفمبر 2007 في 21:14

السلام عليكم
private void btn_Generate_Click(object sender, EventArgs e)
{ string Dictionary = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
string[] generatedStrings = new string[Int32.Parse(MaxNbt_txtbx.Text)];
int index = 0;
StringBuilder str = new StringBuilder(Int32.Parse(MaxNbt_txtbx.Text));
Random rd = new Random();
char[] ch = Dictionary.ToCharArray();
for(int j=0; j<Int32.Parse(Nbr_Of_Items.Text); j++)
{ // init the string
str.Remove(0,str.Length);
// generate new one
for (int i = 0; i < Int32.Parse(MaxNbt_txtbx.Text); i++)
{str.Append(ch[rd.Next(0, Dictionary.Length - 1)]).ToString();}
// check if it is already stored
if (str.ToString() != generatedStrings[index])
{ Container.Items.Add(str.ToString()); }
}
}هذا الموضوع مغلق.