PDA

View Full Version : سوال: چرا تکست باکس من فارسی نشون نمیده؟



kpasargad
پنج شنبه 09 دی 1389, 15:14 عصر
سلام
من یه RichTextBox رو فرمم گذاشتم با یه دونه دکمه Load . این دکمه وظیفش اینه که محتویات یک فایل متنی رو تو تکست باکسم نشون میده . مثلا وقتی تو فایله می نویسم Salam و دکمه رو می زنم مشکلی نیست و درست نشون میده اما وقتی می نویسم "سلام" و دکمه رو می زنم به جای حروفش مربع نشون میده! باید چی کار کنم که فارسی رو درست نشون بده؟ چون در اصل این برنامه رو دارم برای فارسی می نویسم.ممنون میشم کمکم کنید :قلب:
اینم کدی که استفاده کردم:

Dim FILE_NAME As String = "C:\Users\Owner\Documents\test.txt"
Dim objReader As New System.IO.StreamReader(FILE_NAME)
RichTextBox.Text = objReader.ReadToEnd
objReader.Close()

ali_najari
پنج شنبه 09 دی 1389, 15:31 عصر
دوست عزيز شما بايد فايل تكست رو بصورت Unicode ذخيره كنيد تا مشكل فارسي حل بشه

kpasargad
پنج شنبه 09 دی 1389, 17:20 عصر
سپاس! خوب حالا اگه بخوام یه دکمه save هم اضافه کنم تا متن تکست باکس رو در یه فایل ذخیره کنه، چطور می تونم کاری کنم که بصورت unicode ذخیره شه؟ که اگر خواستم همونو load کنم مشکلی پیش نیاد؟

Reza,M
جمعه 10 دی 1389, 10:59 صبح
با سلام
دوست عزيز براي ذخيره كرده هم ميتوني از كد زير استفاده كني من يه فلگ تعريف كردم كه براي ذخيره متن فارسي مشكلي نداشته باشي


Dim flag As Integer = 1
If flag = 1 Then
SaveFileDialog1.FileName = "Doc 1"
SaveFileDialog1.Filter = "Text Files(*.txt)|*.txt|Richtext Files(*.rtf)|*.rtf"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
If SaveFileDialog1.FilterIndex = 1 Then
RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
flag = 2
End If
If SaveFileDialog1.FilterIndex = 2 Then
RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.RichText)
flag = 2
End If
s = SaveFileDialog1.FileName
End If
Else
RichTextBox1.SaveFile(s, RichTextBoxStreamType.RichText)
End If
اگه مشكلي بود در خدمتيم

omid-vbAuto
جمعه 10 دی 1389, 12:47 عصر
با سلام
دوست عزيز براي ذخيره كرده هم ميتوني از كد زير استفاده كني من يه فلگ تعريف كردم كه براي ذخيره متن فارسي مشكلي نداشته باشي


Dim flag As Integer = 1
If flag = 1 Then
SaveFileDialog1.FileName = "Doc 1"
SaveFileDialog1.Filter = "Text Files(*.txt)|*.txt|Richtext Files(*.rtf)|*.rtf"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
If SaveFileDialog1.FilterIndex = 1 Then
RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
flag = 2
End If
If SaveFileDialog1.FilterIndex = 2 Then
RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.RichText)
flag = 2
End If
s = SaveFileDialog1.FileName
End If
Else
RichTextBox1.SaveFile(s, RichTextBoxStreamType.RichText)
End If
اگه مشكلي بود در خدمتيم

مهندس کارتون خوب بود.مرسی


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

و اگر می دونید در مورد نحوه ذخیره سازی های زیر توضیح بدین:



UnicodePlainText
PlainText
RichNoOleObjs
RichText
TextTextOleObjs
UnicodePlainText

Reza,M
جمعه 10 دی 1389, 15:27 عصر
فكر نكنم خيلي پيچيده باشه :لبخند:
اگه فايل ذخيره شونده Rtf بود , Flag = 2 ميشه و حروفشو مربع نشون نميده. فايل هاي txt هم كه با فارسي مشكلي ندارند:لبخندساده:

kpasargad
یک شنبه 12 دی 1389, 13:49 عصر
سپاس. از اون جا که من مبتدیم میشه یه خورده در مورد کدتون توضیح بدید؟ این رو کجا و چطور باید استفاده کنم؟ راستی میشه لطفا اسم چیزایی رو که استفاده کردین بگید تا من با برنامم مطابقتشون بدم؟ مثلا تکست باکس و ... . و در آخر میشه درمورد فلگ توضیح بدید؟

kpasargad
یک شنبه 12 دی 1389, 13:54 عصر
اوه راستی یه نفر می تونه برام توضیح بده تو خود برنامه در هنگام ویرایش richtextbox چطوری میشه قابلیت تغییر فونت و اندازه و ... گذاشت؟ و آیا امکان داره این مشخصات همراه فایل تکست سیو بشه؟ و در هنگام لود مشخصات حفظ بشه؟ پیشاپیش ممنون

Reza,M
یک شنبه 12 دی 1389, 15:40 عصر
با سلام
دوست عزيز اون كد براي ذخيره فايل TEXT كه ميتوني اونو در يه Button بنويسي.در مورد flag هم كه توضيح دادم
براي تغییر فونت و اندازه و . . ميتوني از FontDialog استفاده كني اگه مشكلي بود بگو تا برات كد بزارم
اگه كه نمي خواي FontDialog در برنامه ات قرار بدي و تعيين سبك متن هات دست خودت باشه (و نه دست كاربر) ميتوني از كد زير استفاده كني

RichTextBox1.Font = New Font("tahoma", 20, FontStyle.Bold)
بجاي tahoma اسم هر فونتي را كه دوست داري بزار و بجاي 20 سايز دلخواه رو بزار قسمت آخر هم براي تعيين سبك متن است
براي اينكه مشخصاتي رو كه تغيير دادي حفظ بشه بايد اونو در ريجستري سيستم ذخيره كني

kpasargad
سه شنبه 14 دی 1389, 18:38 عصر
نه می خوام دست کاربر باشه . یعنی خودش فونتش رو عوض کنه . ممنون میشم کدش رو بذارید . در ضمن چطوری باید تو رجیستری ذخیرش کرد؟

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

Reza,M
چهارشنبه 15 دی 1389, 22:08 عصر
با سلام
از قسمت Toolbox ابزار هاي زير رو به فرمت اضافه كن
Button1,FontDialog1
سپس در رويداد Button1_Click كد زير را بنويس

FontDialog1.ShowDialog()
TextBox1.Font = FontDialog1.Font

Reza,M
چهارشنبه 15 دی 1389, 22:12 عصر
راستی اسم ابزار هایی رو که تو اون کد استفاده کردید رو بگید تا من تطابق بدم با برنامم. بازم ممنون
اگه منظورت ابزار هاي كد ذخيره است ::متفکر:
SaveFileDialog1وButton1و RichTextBox1

kpasargad
شنبه 18 دی 1389, 13:28 عصر
ممنون:چشمک:
راستی چطوری می تونم ظاهر (interface)برنامه رو تغییر بدم و از این حالت ساده دربیارم . خیلی مطلب درموردش دیدم ، اما هیچ کدوم رو نفهمیدم . میشه خیلی ساده توضیح بدید؟

kpasargad
یک شنبه 19 دی 1389, 19:29 عصر
راستی یه سوال خیلی مهم . ببخشید اینقدر سوال می پرسم . :D
چطوری میشه مشخصات برنامه رو ذخیره کرد طوری که دفعه ی بعدی همون مشخصات حفظ شده باشه ؟ مثلا کاربر رنگ پس زمینه رو تغییر میده و دفعه ی بعد که برنامه رو باز می کنه با همون رنگ باز شه .

Reza,M
یک شنبه 19 دی 1389, 23:27 عصر
با سلام
يه نمونه برات ميزام كه كارتو راه ميندازه

kpasargad
دوشنبه 27 دی 1389, 19:40 عصر
خيلي ممنون .
1 - اما سوالم کليه. يعني چطور ميشه يه خاصيت کلي رو در جايي از سيستم ذخيره کرد که با بستن برنامه حتي خاموش کردن رايانه حفظ بشه و بعدا بشه ازش استفاده کرد . يه جا گفتيد بايد تو رجيستري ذخيره کرد . آره؟ اگر آره چطور؟ وگرنه چي کار بايد بکنم؟ مثلا برنامه نام کاربر رو بپرسه و بعد از اون هر دفعه برنامه رو باز کرد بنويسه سلام فلاني! اين سوال خيلي برام مهمه .

2- چطور ميشه از تاريخ و ساعت کامپيوتر به عنوان يه رشته استفاده کرد؟ مثلا اسم فايل تاريخ اون روز باشه .

kpasargad
پنج شنبه 14 بهمن 1389, 18:16 عصر
کسي نمي دونه؟ کمکم کنيد!

kpasargad
پنج شنبه 14 بهمن 1389, 18:17 عصر
کسي نمي دونه؟ کمکم کنيد!

kpasargad
شنبه 23 بهمن 1389, 19:35 عصر
لطفا یه نفر جواب بده . خیلی مهمه . :(

Alghoochi
شنبه 23 بهمن 1389, 23:50 عصر
لطفا یه نفر جواب بده . خیلی مهمه . :(
برای تاریخ می‌تونی از Now.tostring به طور ساده و یا از پروپرتی‌های همون کلاس Now استفاده کنی.
برای ذخیره‌سازی هم می‌تونی از رجیستری استفاده کنی و یا اطلاعات رو در یک فایل بنویسی. برای هر دو روش در همین فروم مثال‌های زیادی هست.