PDA

View Full Version : ساخت يه كلاس (iDate) براي تاريخ شمسي



VB.SOS
شنبه 05 بهمن 1387, 13:26 عصر
سلام از اونجايي كه نوع داده تاريخ تو VB به درد تاريخ شمسي نميخوره من تصميم گرفتم يه كلاس به اسم iDate بنويسم كه باهاش بشه تاريخ شمسي رو انتقال داد، به اشتراك گذاشت و محاسبه كرد.
براي اين كه با كاربرد اين كلاس اشنا بشيد يه مثال ميزنم: مثلا ميشه يه تابع نوشت كه تاريخ ميلادي رو به تاريخ شمسي تبديل كنه. حالا تو اين تابع ديگه لازم نيست كه خروجي String باشه. ميشه از اين كلاس استفاده كرد و البته خيلي كاربردهاي ديگه


حال مشكل من:
مشكل من تو قسمت Value هست. مشكل اينه كه تابع Replace اونطور كه من مي خوام كار نمي كنه يعني ترتيب سال و ماه و روز رو به هم ميزنه و شكل خروجي به صورت DataFormat نيست. لطفا راهنمايم كنيد كه چيكار كنم كه روز و ماه و سال رو به ترتيبي كه تو DataFormat مشخص ميشه بچينم؟ ممنونم

VB.SOS
یک شنبه 06 بهمن 1387, 09:04 صبح
بعد 15 بازديد حتي يك نظر هم وجود نداره؟
ببينديد من حدس ميزنم مربوط به بحث يوني كد باشه. اما خودم چيزي ازش نميدونم

reza_mn
یک شنبه 06 بهمن 1387, 21:42 عصر
دوست عزیز ، مشکل شما مربوط به کدام تابع در پروژه است ؟
لطف کن یه نمونه از مشکل رو تو یه پروژه نشون بده تا بتونیم کمکی کرده باشیم.

VB.SOS
دوشنبه 07 بهمن 1387, 16:48 عصر
ممنون از توجه شما
تو اين ضميمه يه مثال نسبتا كاملي هم هست.
در ضمن تو قسمت let پراپرتي Value هم راهنماييم كنيد مرسي

VB.SOS
سه شنبه 08 بهمن 1387, 15:07 عصر
دوستان خواهش ميكنم جواب بدين. فكر نميكنم براي دوستان سوال سختي باشه!:گیج:

reza_mn
چهارشنبه 09 بهمن 1387, 01:53 صبح
متاسفانه ، مشکل rtl در بکارگیری همزمان اعداد و حروف لاتین با حروف فارسی همیشه برای ما مشکل ساز بوده است . برای حل مشکل شما تنها یه چیز به ذهن من رسید.
اینکه از یه پراپرتی برا بدست آوردن اینکه خروجی rtl باشد ltr درست کنید سپس با بررسی آن در خروجی مقادیر را با یکدیگر جابجا کنید.
بصورت آزمایشی این کار در پروژه تان اعمال و پیوست کردم . ( برای ماه و روز به حروف ) که میتونید برای سایر موارد هم اعمال کنید.
نمیدونم شاید دوستان راه حل بهتری داشته باشند.

VB.SOS
چهارشنبه 09 بهمن 1387, 11:46 صبح
دوست عزيز اگه درباره rtl توضيح بدين ممنون ميشم

reza_mn
چهارشنبه 09 بهمن 1387, 12:25 عصر
right to left : مشکل شما مربوط به نمایش در تکست باکس با حالت left to right هست . البته نمیدونم چرا از این مورد میخواهید استفاده کنید ، تاریخ شمسی که معمولا برای فارسی زبانان کاربرد دارد و در این حالت باید راست به چپ معمولا فعال باشد.
خب این یه پیشنهاده البته منظور پاک کردن صورت مسئله نیست .

VB.SOS
چهارشنبه 09 بهمن 1387, 22:20 عصر
من كار شما رو ديدم ولي تو خروجي بهبودي نديدم. اگه كارتون رو بيشتر توضيح بدين ممنون ميشم

reza_mn
پنج شنبه 10 بهمن 1387, 00:47 صبح
من فقط قسمت مربوط به نام ماه و نام روز رو تو سیستم چپ به راست تغییر دادم
به این صورت
فرمت تاریخ :yyyy mmmm dd ،dddd
خروجی چپ به راست :

فروردین ,1 پنج شنبه 1387

بعد از اعمال تنظیمات جدید:

پنج شنبه 1 , فروردین 1387

--------------------------------------------------
کدی که اضافه کردم فقط برای این دو مورد و پیشنهاد بوده و کل کار رو شامل نمیشود. میتونید برای سایر موارد کد رو تغییر و یه چیزایی بهش اضافه کنی.