PDA

View Full Version : نرم افزار قرعه کشی و عدم تکرار عدد



alijobemail
چهارشنبه 15 خرداد 1392, 12:48 عصر
سلام دوستان
یه برنامه قرعه کشی دارم . می خواهم وقتی قرعه انداخته می شه اون عدد که انتخاب میشه تکراری نباشه.
اینم کد من



private void button1_Click(object sender, EventArgs e)
{
try
{
if (Convert.ToInt32(textBox1.Text) < 1000000001 && Convert.ToInt32(textBox1.Text) > -1000000001 && Convert.ToInt32(textBox2.Text) < 1000000001 && Convert.ToInt32(textBox2.Text) > -1000000001)
{
if (Convert.ToInt32(textBox1.Text) < Convert.ToInt32(textBox2.Text))
{
Random rnd = new Random();
label4.Text = Convert.ToString(rnd.Next(Convert.ToInt32(textBox1 .Text), Convert.ToInt32(textBox2.Text)));
progressBar1.Visible = true;
timer1.Enabled = true;
label3.Visible = false;
}
}
else
{
MessageBox.Show("Edit Youre Input");
}
}
catch
{
MessageBox.Show("Edit Youre Input");
}
}

private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Value = progressBar1.Value + 5;
if (progressBar1.Value == 100)
{
progressBar1.Visible = false;
progressBar1.Value = 0;
label3.Visible = true;
label4.Visible = true;
timer1.Enabled = false;
}
}

danialafshari
چهارشنبه 15 خرداد 1392, 13:54 عصر
سلام
کاری نداره
کد رو درون دیتابیس ذخیره کنید
و موقع گرفتن کد اول یک جستجو در دیتابیس بزنید و بعد کد رو ثبت کنید

alijobemail
چهارشنبه 15 خرداد 1392, 20:20 عصر
سلام
کاری نداره
کد رو درون دیتابیس ذخیره کنید
و موقع گرفتن کد اول یک جستجو در دیتابیس بزنید و بعد کد رو ثبت کنید

راه دیگری جز دیتابیس نیست؟

vistacali
چهارشنبه 15 خرداد 1392, 20:55 عصر
سلام
کاری نداره
کد رو درون دیتابیس ذخیره کنید
و موقع گرفتن کد اول یک جستجو در دیتابیس بزنید و بعد کد رو ثبت کنید
اخه واسه این برنامه کوچیک دیتابیس دیگه لازم نیست که



راه دیگری جز دیتابیس نیست؟
میتونی از list یا ارایه ها استفاده کنی هر دفعه عدد تولید میشه با بقیه عناصر مقایسه انجام بده اگر وجود نداشت عدد رو نشون بده اگر داشت یک عدد دیگه تولید کن ، و اگر عدد وجود نداشت و نمایش دادی توی عنصری از ارایه یا لیست ذخیره کن تا بتونی برای شماه بعدی هم عناصری تکراری رو چک کنی


این برای این است که بخوای همه قرعه ها رو یکجا نشون بدی حالا اگر بخوای هر دفعه برنامه رو بستی و باز کردی هم قرعه های بعدی ذخیره باشه از فایل ها هم میتونی استفاده کنی چون حجم کمه به نظر من فایل بهتر از دیتابیس است

sgh_programer
چهارشنبه 15 خرداد 1392, 21:44 عصر
بنام خدا
سلام
کد زیر 10 تا عدد تصادفی بین رنج تعیین شده تولید میکنه البته غیر تکراری
امید وارم مشکلت حل بشه

Random rnd = new Random();
listBox1.Items.Clear();
while (listBox1.Items.Count <10)
{
int win = rnd.Next(10001, 11000);
if (listBox1.Items.Count == 0)
{
listBox1.Items.Add(win.ToString());
}
int conter = 0;
for (int i = 0; i < listBox1.Items.Count; i++)
{
if (listBox1.Items[i].ToString() == win.ToString())
{
conter += 1;
}
}
if (conter == 0)
{
listBox1.Items.Add(win.ToString());
}

}

همگی در پناه تنها برنامه نویس هستی موفق باشید

danialafshari
چهارشنبه 15 خرداد 1392, 22:11 عصر
اخه واسه این برنامه کوچیک دیتابیس دیگه لازم نیست که

کاری به کوچک بودن یا بزرگ بودن برنامه ندارم؟
آخه نرم افزار خودم از دیتابیس استفاده می کنه و بعد از اینکه قرعه کشی انجام شد کد انتخابی و تمامی مشخصات در دیتابیس ذخیره میشه


این برای این است که بخوای همه قرعه ها رو یکجا نشون بدی حالا اگر بخوای هر دفعه برنامه رو بستی و باز کردی هم قرعه های بعدی ذخیره باشه از فایل ها هم میتونی استفاده کنی چون حجم کمه به نظر من فایل بهتر از دیتابیس است
خب چرا از دیتابیس استفاده نشه وقتی همه ی این کار ها رو مدیریت میکنه؟
دیگه سبک تر از دیتابیس xml ؟

Hajivandian
چهارشنبه 15 خرداد 1392, 22:49 عصر
سلام،

به نظر من هم با وجود دیتابیس های سبکی همچون Sqlite یا فایل های XML ، کار کردن مستقیم با فایل ها فقط حجم کد رو بالا میبره و همینطور مدیریت اون میفته گردن برنامه نویس.

alijobemail
جمعه 17 خرداد 1392, 14:22 عصر
سلام،

به نظر من هم با وجود دیتابیس های سبکی همچون Sqlite یا فایل های XML ، کار کردن مستقیم با فایل ها فقط حجم کد رو بالا میبره و همینطور مدیریت اون میفته گردن برنامه نویس.

دوستان من اخه فقط کمی با sql آشنا هستم و با xml کار نکردم. سورس کد یا آموزشی از xml دارین؟

fool66
جمعه 17 خرداد 1392, 14:26 عصر
با یه فایل notepad هم می تونی این کار رو بکنی

ولی اگه مهم نیست در اجرای بعدی تکراری باشه از لست باکس استفاده کن

alijobemail
جمعه 17 خرداد 1392, 20:10 عصر
کلا xml بلد نیستم. و برام مهمه که در اجرای بعدی هم تشخیص بده و تکرار نباشه......
:گیج:
کسی نیست کمک کنه...........

_behnam_
جمعه 17 خرداد 1392, 20:20 عصر
سلام. اگه میخواید بعد از بسته شدن برنامه باز هم اون اعدادی که انتخاب شده اند دیگه تکرار نشوند باید دیتابیس استفاده کنید. یا فایل متنی یا هرچیزی که بتونید ذخیره کنید توش. اما اگه فقط میخوای تا وقتی که برنامه باز هست اعداد تکراری انتخاب نشوند بهترین راه لیست های آرایه ای هستند.