PDA

View Full Version : مشکل در استفاده از اعراب های عربی در سی شارپ



hdv212
یک شنبه 30 اردیبهشت 1386, 00:00 صبح
بچه سلام
من با یه مشکل عجیب و اعصاب خورد کن مواجه شدم، توی یکی از پستهای این لینک :
http://www.barnamenevis.org/forum/showthread.php?t=58508&page=3&highlight=%C7%DA%D1%C7%C8

BlackDal عزیز محبت کرده بود و یه سورس کد گذاشته بود به زبان vb، توش یه کلاسی نوشته برای جستجوی کلمات عربی که خط اولش یه مقدار ثابت تعریف کرده که من هر چی اون string رو کپی میکنم و توی محیط سی شارپ خودم paste میکنم فقط گیومه های خالی رو paste میکنه، کد وبی اون اینه :


Const AllDiacratics As String = "ًٌٍَُِّ"

نمیدونم مشکل از کجاست، عزیزانی که با ویبی هم کار کردن یه کمکی به ما بکنن که بتونم این string رو توی سی شارپ هم کپی کنم، مرسی.

اگه دقت کنید اینجا هم نشون نمیده(من که چیزی نمیبینم، فقط گیومه های خالی هستن، ولی وقتی همین تکه کدی رو که گذاشتم توی notepad کپی کنید، میبینید که اعراب های عربی هم توی گیومه ها قرار دارن. در صورتی که با این مشکل موجه شدید و نتونستید اعراب ها رو در کدی که گذاشتم بخونید، به لینکی که گذاشتم برید و اون سورس کد رو دانلود کنید و کلاس
ArabicTextSearcher.vb رو بررسی کنید)

PC2st
یک شنبه 30 اردیبهشت 1386, 10:06 صبح
درسته که نشونش نمیده ولی اون کاراکترها وجود دارند. کد زیر رو در سی# کپی کنید و اعلان خود رو در بین " و " قرار بدید، فلشهای راست یا چپ رو بزنید، میبینید که یکسری کاراکتر مخفی در اون وجود داره.


const string AllDiacratics = "ًٌٍَُِّ";

برای اطمینان، محتویات ثابت فوق رو به کمک MessageBox نمایش بده.

hdv212
یک شنبه 30 اردیبهشت 1386, 10:24 صبح
PC2st.ir ممنون، من این کار رو کردم، حرف شما درسته ولی چرا توی سی شارپ اینطوری میشه ولی توی ویبی نشون میده ؟

یکی هم اینکه من یه نمونه از اون کلاسی که در آدرس پروژشو در بالا گذاشتم، توی برنامم ساختم و ازش استفاده کردم، موقع اجرا از این خط ارور میگیره :


_RegexResult = Regex.Match(_Text, RegexSearchTerm)

Error هم اینه :


Value cannot be null.
Parameter name: input

عزیزانی که با این برنامه و RegularExpressions کار کردن، کمک کنن.

ARA
یک شنبه 30 اردیبهشت 1386, 10:51 صبح
من regular expression رو با پرل کار کردم ( فکر نمیکنم #C اون قدرت و سادگی و سرعت پرل رو داشته باشه )
کاشکی یک مثال ساده درست میکردی و اینجا میگذاشتی تا برای کمک کردن مشکلی وجود نداشته باشه و error رو بشه دید

hdv212
یک شنبه 30 اردیبهشت 1386, 14:34 عصر
ARA جان از لینک زیر برو و سورس مربوطه رو دانلود کن :

http://www.barnamenevis.org/forum/showthread.php?t=58508&page=3&highlight=%C7%DA%D1%C7%C8

ARA
دوشنبه 31 اردیبهشت 1386, 10:19 صبح
:لبخند: :شیطان: :شیطان:
آدم بعضی وقتها چه اشتباهاتی میکنه

باب من گفتم سورس #c رو بگذار اینجا نه vb ولی خوب دات نت واسه همینه که چند نفر با چند زبان برنامه نویسی مختلف با هم بتونند کار کنند

منهم کلاس آقای مصافی رو بصورت dll وارد c# کردم و متوجه مشکل شما شدم اما میدونید چی نمیتونه null بشه
Text_ اون باید محتوی متنی که میخوای سرچ کنی باشه

که اگه تو سورس vb نگاه میکردی باید این رو هم اضافه میکردی تا اون رو مقدار دهی کنه

private void searchTxt_TextChanged(object sender, EventArgs e)
{
clsArabic.Text = txtSource.Text;
}


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