رفتن به مطلب
  • 0

تابع رندوم وقفل کردن ادیت تکست


dr.mohammad

سوال

سلام دوستان بنده نه تا ادیت تکست دارم چور میتوانم با استفاده از تابع رندوم اعداد یه تا نه(نه لزوما به ترتیب) در این نه تا بچینم

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

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

10 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

دوستان یه مرحمتی کنید و این مشکل رو حل کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود

شما کلا از طریق 

rnd(1,9)

میتونید یک مقدار رندم بین 1 تا 9 رو بگیرید

حالا مساوی کردن متن editText با عدد برگشتی که دیگه مشخصه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

Dim r As Int,l As List,m,m2 As Map
l.Initialize
m.Initialize
m2.Initialize
For i = 1 To 9
	m.Put(i,i)
Next
For x = 1 To 9
		If m.Size = 1 Then
			r = 1
		Else
			r = Rnd(1,m.Size)
		End If
		l.Add(m.Get(r))
		m.Remove(r)
		m2.Clear
		For z = 0 To m.Size - 1
			m2.put(z+1,m.GetValueAt(z))
		Next
		m.Clear
		For y = 0 To m2.Size - 1
			m.Put(y+1,m2.GetValueAt(y))
		Next
Next

For y = 0 To l.Size - 1
	Log(l.Get(y))
Next

لاگ هم کردم که ببینی میتونی به جای لاگ کردن توی EditText بزاری

سلام

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

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

ببین توی قسمت بالای کد میام اعداد یک تا نه رو به صورت رندوم توی یک لیست میزارم

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

توی اون سه خط اخر هم اومدم به اصطلاح لاگش کردم یعنی توی logcat سمت راست بیسیک مینویسه اعداد رو شما میتونید این اعداد رو در ادیت تکست ها نشون بدید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود

شما کلا از طریق 

rnd(1,9)
میتونید یک مقدار رندم بین 1 تا 9 رو بگیرید

حالا مساوی کردن متن editText با عدد برگشتی که دیگه مشخصه

سلام دوست عزیز بنده من این کدو بلدم و متن هر رندومم میتونم برابر با ادیت تکست قرار بدم مشکلم اینکه من ۹تا ادیت تکست دارم و میخوام عدداش باهم فرق کمه مثلا من وار برنامه میشم یهو همه ی ادیتارو یاچند تاشونو مشابه رندوم میگیره میخوام متفاوت باشه

ممنون اگر این مشکلو حل کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوست عزیز بنده من این کدو بلدم و متن هر رندومم میتونم برابر با ادیت تکست قرار بدم مشکلم اینکه من ۹تا ادیت تکست دارم و میخوام عدداش باهم فرق کمه مثلا من وار برنامه میشم یهو همه ی ادیتارو یاچند تاشونو مشابه رندوم میگیره میخوام متفاوت باشه

ممنون اگر این مشکلو حل کنید

خب شرط بزارید اگه تو ادیت تکست های قبلی بود یه بار دیگه یه عدد رندوم انتخاب کنه

ولی روشی که آقای ایزدی گذاشتن درست تره :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب شرط بزارید اگه تو ادیت تکست های قبلی بود یه بار دیگه یه عدد رندوم انتخاب کنه

ولی روشی که آقای ایزدی گذاشتن درست تره :)

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

یا اگر میشه کد استاد ایزدیرو توضیح بدید که چطور این 9 تا ادیت تکست باهم برابر نباشند

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوست عزيز

اگه شما میدونید که توی چه ادیت تکستی باید چی تایپ شه(یعنی براتون مشخصه که توی ادیت تکست فلان باید این عدد باشه و شانسی نوشته نشه ) میتونید از کد زیر استفاده کنید

Edittext1.text = "1"

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

یا اگر میشه کد استاد ایزدیرو توضیح بدید که چطور این 9 تا ادیت تکست باهم برابر نباشند

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

Dim r As Int,l As List,m,m2 As Map
l.Initialize
m.Initialize
m2.Initialize
For i = 1 To 9
	m.Put(i,i)
Next
For x = 1 To 9
		If m.Size = 1 Then
			r = 1
		Else
			r = Rnd(1,m.Size)
		End If
		l.Add(m.Get(r))
		m.Remove(r)
		m2.Clear
		For z = 0 To m.Size - 1
			m2.put(z+1,m.GetValueAt(z))
		Next
		m.Clear
		For y = 0 To m2.Size - 1
			m.Put(y+1,m2.GetValueAt(y))
		Next
Next

For y = 0 To l.Size - 1
	Log(l.Get(y))
Next

لاگ هم کردم که ببینی میتونی به جای لاگ کردن توی EditText بزاری

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...