PDA

View Full Version : آیا تغییر فونت قسمت های مختلف سیستم در اجرای برنامه تاثیر دارد



golestan1
یک شنبه 02 اسفند 1394, 12:54 عصر
من با این مشکل مواجه شدم لطفا کمکم کنید
با استفاده از ساختار ها مقادیری رو در فایل تکست ذخیره کردم
بعد این مقادیر رو در لیست باکس نمایش میدم و با تکست باکس بین ایتم ها جستجو می کنم تا کلمه مورد نظرم رو پیدا کنم
مشکل اینجاست بعضی از کلماتی که در ایتم ها است رو پیدا نمی کنه
جالب اینجاست که وقتی همان کلمه پیدا نشده رو از فایل تکست کپی میکنم و جستجو می کنم رو پیدا میکنه
مشکل از کاراکتر فاصله هم نیست
فرض کنید در فایل تکست چنین کلمه ای باشد رضي
ولی بنویسم رضی پیدا نمیکنه می دانم به خاطر اون دو تا نقطه زیر ی است
می خواهم مقادیر فایل تکست رو از ابتدا درج کنم چه کار کنم که این مشکل در هیچ سیستمی پیش نیاید و کاربر از هر فونت در سیستم خودش استفاده کرد عمل جستجو دقیق انجام شود

Mahmoud Zaad
یک شنبه 02 اسفند 1394, 13:10 عصر
سلام
ربطی به فونت نداره مربوط کیبورد هست بعضی کیبوردها استاندارد نیستند ولی بهترین راه حل اینه که در رویداد Leave تکست باکس "ي" رو با "ی" عوض کنید یا اینکه موقع ذخیره این جایگزینی رو انجام بدید، برای "ک" هم همچین مشکلی وجود داره:

textBox1.Text.Replace("ي", "ی").Replace("ك", "ک");

golestan1
یک شنبه 02 اسفند 1394, 14:52 عصر
سلام
ربطی به فونت نداره مربوط کیبورد هست بعضی کیبوردها استاندارد نیستند ولی بهترین راه حل اینه که در رویداد Leave تکست باکس "ي" رو با "ی" عوض کنید یا اینکه موقع ذخیره این جایگزینی رو انجام بدید، برای "ک" هم همچین مشکلی وجود داره:

textBox1.Text.Replace("ي", "ی").Replace("ك", "ک");


وقتی با کیبورد عربی تایپ کنم مشکل حل شد ولی فک کنم بیشتر از دو حروفه ة همة

این همة با کیبورد عربی بحرین عربستان عراق حل نشد دقیق ترین زبان عربی مال کجاست در کنار استفاده از Replace
چه طوری کیبورد عربی رو بیارم کنار ساعت (با کد نویسی) تا مستقیم عربی تایپ شود منظورم در سیستم دیگران

Mahmoud Zaad
یک شنبه 02 اسفند 1394, 14:58 عصر
من اطلاعی در مورد کیبورد عربی ندارم، شما اطلاعات تون فارسیه یا عربی؟ اطلاعات رو دارید یا کاربر وارد میکنه؟ اگر اطلاعات فارسی هست شما باید کاری کنید که فقط یک نوع "ی"، "ک"، "ه" وارد بشه اگر هم اطلاعات رو دارید و کاربر فقط جستجو میکنه شما می تونید خودتون در دیتابیس این حروف رو جایگزین کنید و موقع جستجوی کاربر هم به روشی که گفتم عمل کنید.

golestan1
یک شنبه 02 اسفند 1394, 15:10 عصر
اطلاعات از فایل ورد کپی گرفتم و بعضی عربی است ولی مشکل در متون فارسی هست البته بیشتر از سه مورد فعلا مشاهده نکردم حتما روش شما رو به کار میگیرم اما محض احتیاط می خواستم از کیبورد عربی استفاده کنم منصرف شدم چون به جای دیکته مینویسه ىيكته فقط خدا کنه بیشتر از این 3 تا نباشه و اطلاعات رو کاربر وارد نمیکنه کاربر فقط کلمه ای که باید پیدا بشه در لیست باکس رو رو تایپ میکنه

Mahmoud Zaad
یک شنبه 02 اسفند 1394, 16:38 عصر
با کد زیر میشه نام کاراکترها و تعدادشون رو به دست آورد، اینجوری مشخص میشه چه حروف فارسی و عربی توی متن به کار رفته:

string text = "بسم الله الرحمن الرحیم";
Dictionary<char, int> d = text.GroupBy(c => c)
.OrderBy(c => c.Key)
.ToDictionary(grp => grp.Key, grp => grp.Count());

foreach (var c in d)
//MessageBox.Show(c.Key + " : " + c.Value);
listBox1.Items.Add(c.Key + " : " + c.Value);