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

مشکل راست چین و چپ چین متن های فارسی لاتین


arastooms

سوال


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

محبت میکنید راهنمایی بفرمایید چه طور وقتی اول یا آخر یک جمله کلمه لاتین هست باز هم بتونم راست نویسش کنم؟؟
و یا برعکس وقتی اول یه جمله با فارسی شروع میشه بتونم چپ چینش کنم 

عکس زیر به شما نشون میده که لیبل های قرمز رببینید متوجه میشید
وقتی اول جمله با لاتین شروع بشه اگر شما بخواهید راست چین باشه !! نمیشه ( لیبل شماره 8 از بالا )
و یا اگر اول جمله فارسی باشه و شما بخواهید چپ چین باشه بازم بیسیک خطا میده ( لیبل شماره 3 )
کد ها رو قرار دادم 

چون هر چی تلاش میکنم بازم بیسیک اتوماتیک تو راست چین کلمه لاتین رو میزاره اول و در چپ چین کلمه انگلیسی رو میزاره اول جمله !!!

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

 

 

#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

End Sub

Sub Globals

	Private Label1 As Label
	Private Label2 As Label
	Private Label3 As Label
	Private Label4 As Label
	Private Label5 As Label
	Private Label6 As Label
	Private Label7 As Label
	Private Label8 As Label
	Private RTLJustifyTextView1 As RTLJustifyTextView
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout1")

	Label1.Color=Colors.White
	Label2.Color=Colors.White
	Label3.Color=Colors.Red
	Label4.Color=Colors.White
	Label5.Color=Colors.White
	Label6.Color=Colors.White
	Label7.Color=Colors.White
	Label8.Color=Colors.Red
	
	Label1.textColor=Colors.Black
	Label2.textColor=Colors.Black
	Label3.textColor=Colors.Black
	Label4.textColor=Colors.Black
	Label5.textColor=Colors.Black
	Label6.textColor=Colors.Black
	Label7.textColor=Colors.Black
	Label8.textColor=Colors.Black
	
	
'-------------------------------------------------------------------------------	
	Label1.Gravity=Gravity.LEFT
	Label2.Gravity=Gravity.LEFT
	Label3.Gravity=Gravity.LEFT
	Label4.Gravity=Gravity.LEFT

	Label1.Text="AnswerCenter"
	Label2.Text="مرکز پاسخ گویی به سوالات"
	
	
	Label3.Text="اسم انجمن==>AnswerCenter"
	Label4.Text="AnswerCenter==>نام انجمن است"
	'-------------------------------------------------------------------------------
	
	Label5.Gravity=Gravity.RIGHT
	Label6.Gravity=Gravity.RIGHT
	Label7.Gravity=Gravity.RIGHT
	Label8.Gravity=Gravity.RIGHT

	Label5.Text="AnswerCenter"
	Label6.Text="مرکز پاسخ گویی به سوالات"
	Label7.Text="اسم انجمن==>AnswerCenter"
	Label8.Text = "AnswerCenter==>نام انجمن است"
	
	
'	این هم یک کتابخونه جاستیفای هست که کار نکرد متاسفانه!!

	RTLJustifyTextView1.SetText("AnswerCenter==>نام انجمن است",True)
	RTLJustifyTextView1.DrawingCacheEnabled = True
	RTLJustifyTextView1.TextColor = Colors.Blue
	RTLJustifyTextView1.TextGravity = RTLJustifyTextView1.GRAVITY_CENTER_VERTICAL
	'-------------------------------------------------------------------------------
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

 

Capture.PNG

test.zip

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

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

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

چرا از این کد استفاده نمی کنید:

Label1.Gravity = Bit.Or(Gravity.CENTER_VERTICAL, Gravity.RIGHT)

 

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

در 4 ساعت قبل، مسعود دلفان آذری گفته است :

چرا از این کد استفاده نمی کنید:


Label1.Gravity = Bit.Or(Gravity.CENTER_VERTICAL, Gravity.RIGHT)

 

سلام و تشکر بابت راهنمایی 
من تالا از این کلاس استفاده نکردم حتما تست میکنم ولی ممکنه اگر اطلاعاتی دارید بفرمایید که این کلاس و بقیه کلاس های bit چه کاری انجام میدن؟

مرسی

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

در 9 ساعت قبل، arastooms گفته است :

سلام و تشکر بابت راهنمایی 
من تالا از این کلاس استفاده نکردم حتما تست میکنم ولی ممکنه اگر اطلاعاتی دارید بفرمایید که این کلاس و بقیه کلاس های bit چه کاری انجام میدن؟

مرسی

با استفاده از اون میشه هر دو مقدار رو با هم در نظر گرفت.

توضیحی که ارل در رابطه با اون میده:

The Gravity value is an integer build of two parts, the vertical and horizontal alignments.

You should explicitly set both parts:
Code:

Label1.Gravity = Bit.Or(Gravity.CENTER_VERTICAL, Gravity.LEFT)

از این کد هم میشه استفاده کرد، اما خود ارل میگه که بهتره از Bit Or (یک Or بین مقادیر) استفاده کنیم:

Label1.Gravity = Gravity.RIGHT + Gravity.CENTER_VERTICAL
It is better to do an OR between the values (in case there is a bit that is 1 in the two values):
Code:

label1.Gravity = Bit.Or(Gravity.Right, Gravity.CENTER_VERTICAL)

 

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

پست رو بعد از 2 روز بالا میارم 
با تشکر

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

در در 1396/04/01, 08:57:19، مسعود دلفان آذری گفته است :

با استفاده از اون میشه هر دو مقدار رو با هم در نظر گرفت.

توضیحی که ارل در رابطه با اون میده:


The Gravity value is an integer build of two parts, the vertical and horizontal alignments.

You should explicitly set both parts:
Code:

Label1.Gravity = Bit.Or(Gravity.CENTER_VERTICAL, Gravity.LEFT)

از این کد هم میشه استفاده کرد، اما خود ارل میگه که بهتره از Bit Or (یک Or بین مقادیر) استفاده کنیم:


Label1.Gravity = Gravity.RIGHT + Gravity.CENTER_VERTICAL

It is better to do an OR between the values (in case there is a bit that is 1 in the two values):
Code:

label1.Gravity = Bit.Or(Gravity.Right, Gravity.CENTER_VERTICAL)

 

خیلی جالب بود واقعا اطلاعات مفیدی بود تست میکنم و پاسخ رو همینجا مینویسم 
ممنونم 

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

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

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

پست رو بالا میارم

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

بایگانی شده

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

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

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