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

مشکل در تغییر متن لیبل


محمد رشوند

سوال

سلام

 من یه متغییر به اسم i تعریف کردم این متغییر در یکی از ساب ها از یک تا 10 رو داخل متغییر ریخته

 

در ساب دیگری که مربوط به ساب timer_tick میشه این ده تا عدد شروع به شمارش میکنند از یک تا 10

 

حالا من تنظیم کردم که هر موقع عدد 0 شد بیاد متن لیبیل رو عوض کنه این کد تغییر متن لیبیل

 

ولی هیچ اتفاقی نمی افته و اروری نمیده تمام کد هارو چک کردم

 

لیبیل رو با کد داخل برنامه اوردم نه از طریق دیزاینر

 

نکته : عدد ها از 0 تا 9 شمرده میشن ولی متن لیبیل تغییر نمیکنه با شرطی که نوشتم

	If i = 0 Then
	ptext.Text=t1
	
	Else if i=1 Then
		ptext.Text=t2
		
		Else If i=2 Then
			ptext.Text=t3
			
			Else If i=3 Then
				ptext.Text=t4
End If
		

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

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

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

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

سلام دوست عزیز از کد زیر استفاده کنید

میتونید label2 را visiable  کنید که نمایش داده نشه

num=Label2.text+1000

Label2.Text=num

میاد به مقدار اولیه که  Label2.text = 1000

هست یک ثانیه اضافه میکنه

شما میتونید این مقدار را تغییر بدید

 

سلام همکار گرامی،

متاسفانه کدتون رو داخل پروژه خودم و پروژه جدا تست کردم ولی باز هم کار نکرد

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

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

سلام هموطن

این سورس

رمز فایل فشرده : answercenter.ir

 

اینم کد

Sub Process_Globals
Dim t As Timer
End Sub

Sub Globals
	Private Label1 As Label
	Dim int1 As Int = 0

End Sub
Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("main")
	t.Initialize("t",2000)
	t.Enabled = True
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub t_Tick
	Select int1
		Case 0 
			Label1.Text = ""
			Label1.Text = "shahab"
			int1 = int1 + 1
			Case 1
				Label1.Text = ""
				Label1.Text = "amin"
				int1 = int1 + 1
				Case 2
					Label1.Text = ""
					Label1.Text = "mehdi"
					int1 = int1 + 1
		Case Else
			Label1.Text = ""
			Label1.Text = "AnswerCenter.ir"
			t.Enabled = False
	End Select
End Sub

testDoostann111.rar

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

 

سلام هموطن

این سورس

رمز فایل فشرده : answercenter.ir

 

 

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

با یه حلقه do while  و loop اوکی شد ♥

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

سلام

 من یه متغییر به اسم i تعریف کردم این متغییر در یکی از ساب ها از یک تا 10 رو داخل متغییر ریخته

 

در ساب دیگری که مربوط به ساب timer_tick میشه این ده تا عدد شروع به شمارش میکنند از یک تا 10

 

حالا من تنظیم کردم که هر موقع عدد 0 شد بیاد متن لیبیل رو عوض کنه این کد تغییر متن لیبیل

 

ولی هیچ اتفاقی نمی افته و اروری نمیده تمام کد هارو چک کردم

 

لیبیل رو با کد داخل برنامه اوردم نه از طریق دیزاینر

 

نکته : عدد ها از 0 تا 9 شمرده میشن ولی متن لیبیل تغییر نمیکنه با شرطی که نوشتم

	If i = 0 Then
	ptext.Text=t1
	
	Else if i=1 Then
		ptext.Text=t2
		
		Else If i=2 Then
			ptext.Text=t3
			
			Else If i=3 Then
				ptext.Text=t4
End If
		

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

 

ههههههه خوب دوسته گلم اینجوری که نمیشه شما اومدی گفتی اگه i=1 fبود این کارو بکن خوب عزیز دله من iتو 1سانیه میره میرسه به رکورد آخر خخخخخخخ و اون متنی که برای رکورد آخر گذاشتی رو نشون میده 

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

ههههههه خوب دوسته گلم اینجوری که نمیشه شما اومدی گفتی اگه i=1 fبود این کارو بکن خوب عزیز دله من iتو 1سانیه میره میرسه به رکورد آخر خخخخخخخ و اون متنی که برای رکورد آخر گذاشتی رو نشون میده 

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

با select case هم نوشتم نشد

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

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

با select case هم نوشتم نشد

 

دوسته عزیز باید نشون بده 

در ضم اگه شما میخوای همه متن ها رو نشون بدی باید 4تا لیبیل بسازی تا نشونش بدی مگرنه به نظره خودم امکان نداره

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

دوسته عزیز باید نشون بده 

در ضم اگه شما میخوای همه متن ها رو نشون بدی باید 4تا لیبیل بسازی تا نشونش بدی مگرنه به نظره خودم امکان نداره

ولی خب نشون نمیده مشکل من اینه که هیچ اتفاقی نمی افته

خب من اگه چهار تا لیبل بسازم باید کلی کد بنویسم که اگه لیبیل 1 نمایش داده شد لیبل های دیگه مخفی باشن و اینطوری کلی کد نوشته میشه

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

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

Up

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

شاید یکم بد توضیح داده باشم

من یه لیبل دارم میخوام که توش چند تا متن درفاصله ی هر سه ثانیه عوض بشه

لطفا کمک کنید

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

سلام دوست عزیز از کد زیر استفاده کنید

#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
	Dim timer1 As Timer
End Sub

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.
	Dim num=1 As String
	Private Label1 As Label
	Private Label2 As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("test")
	Label1.text = "کلمه مورد نظر"
	Label2.text = 1000
	timer1.Initialize("timer1",Label2.text)
	timer1.Enabled=True
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub
Sub timer1_Tick
num=Label2.text+1000
Label2.Text=num
If Label2.Text ==2000 Then
Label1.Text = "کلمه مورد نظر 1 "
End If
If Label2.Text ==3000 Then
Label1.Text = "کلمه مورد نظر 2 "
End If
If Label2.Text = 4000 Then
Label2.text = 1000
Label1.text = "کلمه مورد نظر"
Return
End If
End Sub

میتونید label2 را visiable  کنید که نمایش داده نشه

num=Label2.text+1000
Label2.Text=num

میاد به مقدار اولیه که  Label2.text = 1000

هست یک ثانیه اضافه میکنه

شما میتونید این مقدار را تغییر بدید

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

بایگانی شده

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

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

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