ramtinak
یک شنبه 12 خرداد 1392, 12:45 عصر
سلام، من وقتی بخوام یک تکست باکس رو Split کنم که به صورت تصادفی چیزی رو به من نشون بده ، از دستور زیر استفاده میکنم :
string[] war = null;
war = txtsplit.Text.Split('#');
Random random721 = new Random();
string result = war[random721.Next(war.Length)];
MessageBox.Show(result, "Message");
حالا مثلا متنی که در TXTSPLIT نوشته شده از 400 کاراکتر بیشتر بود رو چطوری توی 2تا پیام نشون بدم؟ من این کار رو کردم :
string[] war = null;
war = txtsplit.Text.Split('#');
Random random721 = new Random();
string result = war[random721.Next(war.Length)];
MessageBox.Show(result, "Message");
if (result.Length > 400)
{
result = result.Substring(400);
MessageBox.Show(result, "Message");
}
خب حالا فرض کنید که ما متنی در TXTSPLIT مینوسیم :
سلام شما تا به حال به برنامه نویس آمده اید ؟ وبسایتی آموزشی برای شما دوست عزیز #سلام خوبی ؟ چه خبر 123456789 بدم ! نه اصلا........................
خب الان این دوتا پیام هست ! فرض کنید که از 400 کلمه بیشتر بودن ، با کدی که من نوشتم 2بار پیام رو نشون میده ! یعنی اینکه اول کل پیام رو تا آرایمون میگره و نشون میده بعد اگه از 400 تا بیشتر بود ، از کاراکتر 400 به بعد رو دوباره ارسال میکنه ، حالا اگه من بخوام کاری کنم که بار اول فقط تا همون کاراکتر 400 رو نشون بده و بار بعدی از کاراکتر 400 به بعد رو نشون بده چیکار باید بکنم؟
سوال دوم :
فرض کنید 2تا تکست باکس و یک دکمه داریم و TextBox2 رو Split کردیم و یک کلمه واسش تعریف کردیم ( مثلا WAR )
WAR1= ta avalin #
WAR2 = ta Dovomin #
WAR3 = ta Sevomin #
مثلا توی تکست باکس2 این ها هستند :
link1#link2#link3#link4
مثلا اگه توی تکست باکس 1 بنویسیم WAR1 دقیقا همون متن link1 رو ارسال کنه ! و WAR2 رو اگه بنویسیم ، Link2 رو ارسال کنه .... و به صورت تصادفی نباشه ( البته وقتی روی دکمه کلیک کردیم!)
if (textBoxQ.Text.ToLower().IndexOf("war") + 1 != 0)
{
string[] war = null;
war = txtsplit.Text.Split('#');
Random random721 = new Random();
string result = war[random721.Next(war.Length)];
MessageBox.Show(result, "Message");
}
خب با اینکار به صورت تصادفی بهم نشون میده ، اگه بخوام اونجوری که میخوام کد رو بنویسم چیکار باید کنم؟کد رو به چه چیزی تغییر بدم؟
ممنون میشم جواب بدید.
string[] war = null;
war = txtsplit.Text.Split('#');
Random random721 = new Random();
string result = war[random721.Next(war.Length)];
MessageBox.Show(result, "Message");
حالا مثلا متنی که در TXTSPLIT نوشته شده از 400 کاراکتر بیشتر بود رو چطوری توی 2تا پیام نشون بدم؟ من این کار رو کردم :
string[] war = null;
war = txtsplit.Text.Split('#');
Random random721 = new Random();
string result = war[random721.Next(war.Length)];
MessageBox.Show(result, "Message");
if (result.Length > 400)
{
result = result.Substring(400);
MessageBox.Show(result, "Message");
}
خب حالا فرض کنید که ما متنی در TXTSPLIT مینوسیم :
سلام شما تا به حال به برنامه نویس آمده اید ؟ وبسایتی آموزشی برای شما دوست عزیز #سلام خوبی ؟ چه خبر 123456789 بدم ! نه اصلا........................
خب الان این دوتا پیام هست ! فرض کنید که از 400 کلمه بیشتر بودن ، با کدی که من نوشتم 2بار پیام رو نشون میده ! یعنی اینکه اول کل پیام رو تا آرایمون میگره و نشون میده بعد اگه از 400 تا بیشتر بود ، از کاراکتر 400 به بعد رو دوباره ارسال میکنه ، حالا اگه من بخوام کاری کنم که بار اول فقط تا همون کاراکتر 400 رو نشون بده و بار بعدی از کاراکتر 400 به بعد رو نشون بده چیکار باید بکنم؟
سوال دوم :
فرض کنید 2تا تکست باکس و یک دکمه داریم و TextBox2 رو Split کردیم و یک کلمه واسش تعریف کردیم ( مثلا WAR )
WAR1= ta avalin #
WAR2 = ta Dovomin #
WAR3 = ta Sevomin #
مثلا توی تکست باکس2 این ها هستند :
link1#link2#link3#link4
مثلا اگه توی تکست باکس 1 بنویسیم WAR1 دقیقا همون متن link1 رو ارسال کنه ! و WAR2 رو اگه بنویسیم ، Link2 رو ارسال کنه .... و به صورت تصادفی نباشه ( البته وقتی روی دکمه کلیک کردیم!)
if (textBoxQ.Text.ToLower().IndexOf("war") + 1 != 0)
{
string[] war = null;
war = txtsplit.Text.Split('#');
Random random721 = new Random();
string result = war[random721.Next(war.Length)];
MessageBox.Show(result, "Message");
}
خب با اینکار به صورت تصادفی بهم نشون میده ، اگه بخوام اونجوری که میخوام کد رو بنویسم چیکار باید کنم؟کد رو به چه چیزی تغییر بدم؟
ممنون میشم جواب بدید.