PDA

View Full Version : آموزش: برعکس نشان دادن کلمه فارسی



mahdi_1986
یک شنبه 18 دی 1390, 02:16 صبح
سلام بر دوستان گرامی:
یک سوال داشتم:
چطور از طریق یک کد میتوان کلمات فارسی را بر عکس کرد:
مثال: کلمه "ایران" را به صورت "ﻥﺍﺮﻳﺍ " یا کلمه "مهدی" را به صورت "ﻯﺪﻬﻣ " نوشت
حتما باید بزرگ و کوچک بودن حروف رعایت شوند.
باور کنید من خیلی گشتم، حتی فایل اجرایی هم پیدا کردم ولی من سورس کد را می خواهم.

با سپاس:افسرده:

solaleh
یک شنبه 18 دی 1390, 10:04 صبح
char[] c_array = "ايران".ToCharArray();
Array.Reverse(c_array);
textbox1.Text = new string(c_array);

mahdi_1986
یک شنبه 18 دی 1390, 10:12 صبح
سلام
دوست عزیز با سپاس از لطف شما، ولی کد شما کلمه را درست برعکس نمی کند
مثلا "ایران" را به صورت "ناریا" بر عکس می کند ولی من می خواهم که به صورت "ﻥﺍﺮﻳﺍ " بر عکس کند، حرف "ن" باید به صورت بزرگ باشد.

solaleh
یک شنبه 18 دی 1390, 10:27 صبح
فقط میخواین حرف اول بزرگ باشه؟مثلا "سلام" بشه "س لام" یا "س ل ا م"؟؟؟؟؟

mahdi_1986
یک شنبه 18 دی 1390, 11:58 صبح
نهو من میخوام کلمه به طور کل بر عکس بشه، مثلا کلمه "سلام" اگر بر عکس بشه نبتید حرف "س" به صورت بزرگ باشه بلکه باید به صورت "ﺳ" باشه،

syntiberium
یک شنبه 18 دی 1390, 12:02 عصر
باید از کنترلی که داخلش نوشته شده سلام با کد نویسی عکس بگیرید و عکس را هم با کد نویسی flip کنید.

mahdi_1986
یک شنبه 18 دی 1390, 13:01 عصر
باید از کنترلی که داخلش نوشته شده سلام با کد نویسی عکس بگیرید و عکس را هم با کد نویسی flip کنید.

برای شما امکان داره بیشتر توضیح بدهید یا اگر نمونه کدی دارید، اینجا قرار بدهید؟

linux
یک شنبه 18 دی 1390, 14:16 عصر
سلام بر دوستان گرامی:
یک سوال داشتم:
چطور از طریق یک کد میتوان کلمات فارسی را بر عکس کرد:
مثال: کلمه "ایران" را به صورت "ﻥﺍﺮﻳﺍ " یا کلمه "مهدی" را به صورت "ﻯﺪﻬﻣ " نوشت
حتما باید بزرگ و کوچک بودن حروف رعایت شوند.
باور کنید من خیلی گشتم، حتی فایل اجرایی هم پیدا کردم ولی من سورس کد را می خواهم.

با سپاس:افسرده:
از اینجا http://sourceforge.net/projects/nbidi/ کتابخانه مربوطه را دانلود کنید، کمکتان خواهد کرد. استخراج اطلاعات بیشتر با خودتان

arefba
یک شنبه 18 دی 1390, 15:03 عصر
خوب خیلییییی سادست با substring از آخر به اول رو بنویس و بعد از حرف اول اسپیس بزن همین یه راه رو داره

mp_mp353
دوشنبه 19 دی 1390, 11:31 صبح
سلام بر دوستان گرامی:
یک سوال داشتم:
چطور از طریق یک کد میتوان کلمات فارسی را بر عکس کرد:
مثال: کلمه "ایران" را به صورت "ﻥﺍﺮﻳﺍ " یا کلمه "مهدی" را به صورت "ﻯﺪﻬﻣ " نوشت
حتما باید بزرگ و کوچک بودن حروف رعایت شوند.
باور کنید من خیلی گشتم، حتی فایل اجرایی هم پیدا کردم ولی من سورس کد را می خواهم.

با سپاس:افسرده:

سلام دوست من.
ببینم ایران بشه "ن اریا" یا بشه "ن اری ا" منظورم فقط حرف آخر غیر چسبان به شکل غیر چسبان بمنونه یا نه هر کلمه ای که به شکل غیر چسبان بود به همون شکل غیر چسبان بمونه. مثلا تویه همون ایران توجه کن ایران با "ا" و "ی" شروع شده که در اصل "ا" به "ی" نچسبیده اما تویه عکسش می چسبه یا نه؟ مثلا بشه "یا" یا بشه "ی ا"؟

linux
دوشنبه 19 دی 1390, 11:52 صبح
سلام دوست من.
ببینم ایران بشه "ن اریا" یا بشه "ن اری ا" منظورم فقط حرف آخر غیر چسبان به شکل غیر چسبان بمنونه یا نه هر کلمه ای که به شکل غیر چسبان بود به همون شکل غیر چسبان بمونه. مثلا تویه همون ایران توجه کن ایران با "ا" و "ی" شروع شده که در اصل "ا" به "ی" نچسبیده اما تویه عکسش می چسبه یا نه؟ مثلا بشه "یا" یا بشه "ی ا"؟
من که راهش را به شما گفتم، تنبلی کردید.

b.saminjad
دوشنبه 19 دی 1390, 15:52 عصر
سلام


string s = textBox1.Text;
char[] x = s.ToCharArray();
Array.Reverse(x);
s = "";
foreach (char c in x)
s += c.ToString();
s= s.Insert(1, " ");
MessageBox.Show(s);

linux
دوشنبه 19 دی 1390, 16:58 عصر
سلام


string s = textBox1.Text;
char[] x = s.ToCharArray();
Array.Reverse(x);
s = "";
foreach (char c in x)
s += c.ToString();
s= s.Insert(1, " ");
MessageBox.Show(s);

این بنده خدا زبانش مو در آورد، از بس درخواستش را گفت، عزیز من چرا وقتی سوال را درست نگرفتی ، جواب می دهی؟ مجبوری مگر؟

b.saminjad
دوشنبه 19 دی 1390, 17:19 عصر
سلام

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

linux
دوشنبه 19 دی 1390, 18:13 عصر
سلام

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

خدا ببخشد! شما هم اشتباه متوجه شدید سوال این بنده خدا را!
ببینید برای ذخیره کردن یک نوشته که با خطوط دوجهته مثل عربی انجام می گیرد و نمایش آن فرق هست.
کلمه ایران را در نظر بگیرید ، وقتی در یک آرایه بریزید، می بینید که حروف ا ،ی ، ر، ا،ن ذخیره شده ولی در موقع نمایش این سیستم عامل هست که می آید و با یک الگوریتم که به آن BiDi می گویند این حروف را تبدیل میکند به ایران خوب یک کتابخانه مجانی هست به اسم nbidi که همین کار را انجام می دهد آدرس دانلود این کتابخانه را در پست های قبلی گذاشتم با این کتابخانه و با این کد


string s = NBidi.NBidi.LogicalToVisual("مهدی");
دقیقا همان چیزی که لازم دارید بدست می آورید خروجی دقیقا "ﯼﺪﻬﻣ" هست.

mahdi_1986
چهارشنبه 21 دی 1390, 00:26 صبح
با تشکر فراوان از همه دوستان عزیز، من راه حل شو پیدا کردم، اینجا میگم که اگه یه وقت یه بنده خدایی مثل خودم گیر کرده بود بتونه انجامش بده::چشمک:

در فایل ضمیمه دوتا کلاس هستش که باید به صورت زیر از اونها استفاده کنید::لبخندساده:

public string WordFarsi(string word)
{
string Value = "";
char[] charstr = word.ToCharArray();
char[] out1 = new char[charstr.Length];
ArabicLigaturizer.Arabic_shape(charstr, 0, charstr.Length, out1, 0, out1.Length, 1);

for (int i = out1.Length - 1; i >= 0; i--)
{
Value += out1[i];
}
return Value;
} البته فقط از یکی از کلاس ها باید Instant گرفت.:تشویق: