PDA

View Full Version : هم تراز کردن ابیات یک شعر



zahra_no
دوشنبه 26 تیر 1391, 19:47 عصر
سلام و خسته نباشید

دوستان من یک شعر رو به صورت مصراع مصراع در داخل یک فایل XML ریخته ایم. و حالا برای نمایش این ابیات به مشکل بر خوردم.
همون طور که از عنوان تاپیک مشخصه، چطوری میتونم اینها رو به صورت هم تراز مثل عکس زیر نشون بدم؟ که با تغییر فونت و سایز باز هم اون هم ترازیشونو از دست ندهند.

البته اینم بگم من بر اساس تعداد مصراع label می سازم و هر مصراع رو در اون لیبل نمایش میدم ( به خاطر اینکه باید امکان کلیک بر هر بیت رو داشته باشم) آیا راه درستیه؟؟ یا راه بهتر و بهینه تری رو باید انتخاب کنم؟

zahra_no
دوشنبه 26 تیر 1391, 21:41 عصر
دوستان ایده و نظری ندارید؟ لطفا کمکم کنید

zahra_no
سه شنبه 27 تیر 1391, 21:35 عصر
کسی صدای منو نمیشنوه؟؟
پس من دردمو به کی بگم؟؟؟؟

gwbasic
سه شنبه 27 تیر 1391, 21:46 عصر
یه راه ساده می تونه این باشه که شما فونت نمایش رو ثابت در نظر بگیرید و شعری رو که در فایل XML ذخیره دارید رو بر اساس این فونت به صورت تراز شده ذخیره کنید مثلا:
الا یــــا ایها ساقی ... از - برای بزرگ کردن کلمات استفاده کنید
وگرنه که کار ساده ای نیست مگر اینکه از word ‌بشه استفاده کرد اگر api‌ ای داشته باشه

zahra_no
سه شنبه 27 تیر 1391, 22:03 عصر
ولی باید راه حل دیگه ای باشه، نمیشه که هر شعر رو بشینم این طوری ترازبندی کنم :(

Saeed_m_Farid
چهارشنبه 28 تیر 1391, 09:11 صبح
اگه فقط Formatting اش مدنظر هست (نه اینکه #C برداره مصرع‌های شما رو دراز و کوتاه کنه!) اونوقت کار زیاد سختی نیست:

ListItem getFormattedVerse(string hemistich1, string hemistich2)
{
string verse = String.Format("{0,-10} \t\t {1,-10}", hemistich1, hemistich2);
return new ListItem(verse);
}

private void btnTest_Click(object sender, EventArgs e)
{
string hemistich1 = "ولی باید راه حل دیگه ای باشه", // you may read this from your XML
hemistich2 = "بشینم این طوری ترازبندی کنم"; // also this one :D
listBox1.Items.Add(getFormattedVerse(hemistich1, hemistich2));

hemistich1 = "کسی صدای منو نمیشنوه؟؟";
hemistich2 = "پس من دردمو به کی بگم؟؟؟؟";
listBox1.Items.Add(getFormattedVerse(hemistich1, hemistich2));
}

خروجی هم میشه این:
89918

zahra_no
چهارشنبه 28 تیر 1391, 22:48 عصر
من خیلی سختمه که بخوام تمار شعر ها رو به صورت تراز بندی شده تو xml ذخیره کنم. یه کار غیر ممکنه
کسی این دیتا رو به صورت ترازبندی شده نداره؟؟؟؟

چرا من مشکلم حل نمیشه؟ :(

Saeed_m_Farid
پنج شنبه 29 تیر 1391, 09:09 صبح
من خیلی سختمه که بخوام تمار شعر ها رو به صورت تراز بندی شده تو xml ذخیره کنم. یه کار غیر ممکنه
کسی این دیتا رو به صورت ترازبندی شده نداره؟؟؟؟

چرا من مشکلم حل نمیشه؟ :(
اولاً که سخت نیست! چه برسه به غیر ممکن.
ضمناً مشکل حل میشه، ولی چون اون مرحله رو رد می‌کنید مشکل جدید درست میشه / می‌کنید!
الان اشعار شما! کجاست؟ چه فایلی، یا بانک اطلاعاتی، یا سابقۀ ذهنی مشاعره و ...
قرار نیست برای تمام کارهای روی زمین، خودتون کد بنویسید، فرض کنید یه جایی (مثلاً اینجا (http://prosody.ir/index.php?option=com_content&view=article&id=46&Itemid=18) [1]) فایل‌اش رو پیدا کردین؛ حالا با یک ابزار اتوماتیک به text یا xml تبدیل‌اش کنید و استفاده کنید ...

_______________
[1]. مجموعه داده‌های آزمایشی:

يکي از مشکلات موجود بر سر تحقيقات فارسي نبود يک مجموعه داده براي آزمايش برنامه‌هاي توليدي مي‌باشد. در صورتي که انواع مجموعه داده‌ها به زبان انگليسي بر روي فضاي سايبر وجود دارد. در مورد اين پروژه خاص نيز اين مشکل وجود داشت. به همين دليل بر آن شديم که يک مجموعه داده مناسب براي اين پروژه طراحي بنماييم. براي اين کار از اشعار ديوان غزليات خواجه حافظ شيرازي و ديوان شمس مولانا جلال الدين استفاده کرديم...

zahra_no
پنج شنبه 29 تیر 1391, 11:34 صبح
مشکل من دیتا ست نیست. مشکل نحوه نمایش اشعاره.

دراین مورد فکر کردم که با HTML یک table بسازم و با حالت justify این کارو انجام بدم ولی تو web browser حالت justify خودشو از دست میده. در حالی که به صورت عادی در browser های خود سیستم درست نمایش داده میشه.


مشکل من نحوه نحوه نمایش اشعاره دوست من.