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

استفاده از فونت فارسی و نمایش بصورت فارسی


علی علایی

سوال

سلام 

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

ولی من این جوری مینویسم تا تو برنامه ام فارسی بیاره 

Spinner1.AddAll(Array As String ("بدر","نازنین","ترافیک","یکان","میترا","هما")) 

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

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

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

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

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

اینو امتحان کن

If tanzim.ass.IsInitialized =False Then
    label1.Typeface=Typeface.LoadFromAssets("badr.ttf")
End If

 

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

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

و تو صفحه تنظیمات یه فونت توش ریختم بعد تو مطلب برابر لیبل مورد نظر قرار دادم ولی نشد 

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

خدایش گیج شدم  :S  

ممنون میشم کمکم کنید

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

شرمنده خود بدبخت ارور داره میگه end if رو بزار من حواسم پرته 

دست جفتتون درد نکنه هم آقای آرتا هم آقای نیکروان 

خدایشش کارتون 20 بیسته 

تو صفحه تنظیمات درست شد حالا وقتی صفحه نمایش مطلب باید دوباره کل کدی که تو اسپینر زدمو وارد کنم 

الان کدم برای اعمال فونت تو مطلب این جوری 

label1.Typeface=Typeface.LoadFromAssets(tanzim.fontt)

در ضمن fontt بصورت گلوبال و از نوع string  است 

خب میتونی اینکارو بکنی.

تو همون اکتیویتی تنظیمات ، قسمت پراسز گلوبال یه متغیر از نوع TypeFace تعریف کن:

Sub Process_Globals
Dim font As Typeface
End Sub

بعد قسمت انتخاب آیتم اسپینر مگه شرط نذاشتی که اگه فلان آیتم انتخاب شد این فونت اعمال بشه؟ حالا بیا اینکارو بکن.

یعنی فونت مورد نظر رو بده به متغیر font

Sub Spinner1_ItemClick (Position As Int, Value As Object)
	If Position=0 Then
	font=font.LoadFromAssets("badr.ttf")
	else if Position=1 Then
	فونت نازنین
	else if Position=2 Then
	فونت بعدی
	else if Position=3
	بعدی
	
	الی آخر
	End If
End Sub

دیدی؟ من فونت بدر رو دادم حالا برای مثال ، برای بقیه هم باید همینکارو بکنی.

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

Label1.Typeface=Main.font

البته اگه اسم اکتیویتی تنظیماتت main نیست ، عوضش کن.

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

اینو امتحان کن

If tanzim.ass.IsInitialized =False Then
    label1.Typeface=Typeface.LoadFromAssets("badr.ttf")
End If

سلام 

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

من نمیدونم چه جور از شما 3 عزیز به چه زبانی تشکر کنم 

اینو به جد میگم  همه همشو بر اینه که راهنماییت کنن 

دمتون گرم  :tashvigh:

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

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

اما من یه شرطی گذاشتم برای اولش که هیچ تغییراتی کاربر انجام نداده یه تنطیماتیو بده به متن

اینم شرطمه  تو صفحه مطلبه 

If File.Exists(File.DirInternal,"setting.stg")=True Then
	File.Exists(File.DirInternal,"setting.stg")
	Dim list1 As List
	list1=File.ReadList(File.DirInternal,"setting.stg")
	tanzim.fontt=list1.Get(0)
	tanzim.size=list1.Get(1)
	tanzim.color2=list1.Get(2)
	'tanzim.ass=list1.Get(3)
	Else
	tanzim.fontt="traffic.ttf"
	tanzim.size=45
	tanzim.color2=Colors.Blue
	End If
	

fontt  از نوع int و

ass از نوع Typeface  

 و هر2 تو تنظیمات و گلوبال تعریف کردم

 

اینم برای فراخوانی نوع فونت که مثل آقای نیکروان نوشتم 

label1.Typeface=tanzim.ass

حتی شرطمم برمیدارم باز ارور میده 

تصویر ارور 

1.PNG

ببخشید که مدام سوال میکنم 

خدایش هیچ سایتی مثل اینجا 

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

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

متغییر ass رو به گلوبال main ببر و یه مقدار اولیه هم همونجا بهش بده

 

شما وقتی در حالت اول برنامه رو باز میکنی که امتیویتی tanzim هنوز باز نشده که متغییرت مقدار اولیه بگیره

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

الان شما منظورتون اینه که وقتی روی آیتم ها کلیک شد فونت مورد نظر اعمال بشه ؟

یکم خستم مغزم یاری نمیکنه بیشتر میشه توضیح بدید ؟

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

سلام.

برای اینکه شما فونت هارو بصورت فارسی به اسپینر اد کردین. و برای اینکه همون فونتی که انتخاب شده اعمال بشه باید تو رویداد انتخاب آیتم شرط بذارید.

که مثلا اگه اولی انتخاب شد این فونت اعمال بشه ، دومی شد ، فونت بعدی .و...

Sub Spinner1_ItemClick (Position As Int, Value As Object)
	If Position=0 Then
	فونت بدر قرار بگیره
	else if Position=1 Then
	فونت نازنین
	else if Position=2 Then
	فونت بعدی
	else if Position=3
	بعدی
	
	الی آخر
	End If
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از پاسخگویی سریعتون 

من مثل شما وارد میکنم ولی نمیدونم چرا ارور میگره 

اینم عکس ارور 

1.PNG

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

کدی که پژمان داد کاملا درسته شما یادتون رفته End If  رو بزارید

 

میتونید از Select Case  هم استفاده کنید :

Sub Spinner1_ItemClick (Position As Int, Value As Object)
 Select Position
    Case 0
	 'Select Font
	Case 1
	'Select Font
	Case 2
	'Select Font
	Case 3
	'Select Font
	End Select
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببخشید مجید جان........

به جای Else if آخر باید End if بذارید.

از روشی که آقا مجید گفت هم میتونید استفاده کنید.

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

شرمنده خود بدبخت ارور داره میگه end if رو بزار من حواسم پرته 

دست جفتتون درد نکنه هم آقای آرتا هم آقای نیکروان 

خدایشش کارتون 20 بیسته 

تو صفحه تنظیمات درست شد حالا وقتی صفحه نمایش مطلب باید دوباره کل کدی که تو اسپینر زدمو وارد کنم 

الان کدم برای اعمال فونت تو مطلب این جوری 

label1.Typeface=Typeface.LoadFromAssets(tanzim.fontt)

در ضمن fontt بصورت گلوبال و از نوع string  است 

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

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

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

چطور فراخوانی میکنی؟

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

تقریبا مشکلمو فهمیدم 

من الان باید کاری کنم که اگر تو صفحه مطلب تنظیمات فونت اعمال نشده بیا فونت که من بهت میدم رو بگیر

الان من اینجوری مینویسم ارور میده 

If label1.Typeface=tanzim.ass =Null Then
	
	label1.Typeface=Typeface.LoadFromAssets("badr.ttf")
	End If 

میبخشید که این قدر اذیتتون میکنم  

همم بر اینه که بتونم مشکلو برطرف کنم ولی خب نشد که نشد  :S  :S  

فک کنم به خاطر این که 2 تا علامت = داره 

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

بایگانی شده

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

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

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