# Native Code > برنامه نویسی در Delphi >  کامپوننت تاریخ هجری شمسی

## gbg

سلام
کامپوننت تاریخ هجری شمسی رو براتون میزارم
امکانات این کامپوننت اینه روز هفته رو با نام و عدد نشون میده
تاریخ رو هم به صورت رشته و هم به صورت عددی داره

----------


## sardar_ahmadi

نحوه استفاده از آن چگونه است ؟

----------


## saniak_robot

این نسخه trial یا بدون محدودیت چون سورسش همراش نیست .

----------


## gbg

این نسخه برای دلفی 7 و بدون محدودیت است ولی بعضی از امکانات از قبیل کم کردن یا اضافه کردن تاریخ و یا مقایسه دو تاریخ رو نداره
طرز استفادش هم خیلی راحته فقط کافیه رو فرم بزارین

----------


## gbg

این نسخه برای دلفی 7 و بدون محدودیت است ولی بعضی از امکانات از قبیل کم کردن یا اضافه کردن تاریخ و یا مقایسه دو تاریخ رو نداره
طرز استفادش هم خیلی راحته فقط کافیه رو فرم بزارین

----------


## babak869

پیشنهاد میکنم از  Dll اقای مصطفی سرباززاده استفاده کنید چون خیلی کامله و تمامی امکانات لازم رو داره
 Persian Dll

----------


## babak869

اینم  DLL  که گفتم جهت استفاده دوستان

----------


## gbg

من بشخصه vcl رو ترجیح میدم چون تکنولوژی دلفی هستش
و دردسر انتشار رو نداره

----------


## Reza_kh

من هم از Dll و هم از GBgShamsiDate2006 استفاده کردم و از آقا بابک و هم از آقای gbg ممنونم.

----------


## cybercoder

برای بار n ام باید عرض کنم:
SHDATE SOULOTIONS آقای فراهانی از همشون بهتره.
موفق باشید.

----------


## gbg

نسخه جدید این کانپوننت برای دلفی XE

برای انتخاب تاریخ امروز :
GBgShamsiDate1.ToDay;

برای اینکه هفت روز به تاریخ جاری اضافه کنین :
GBgShamsiDate1.Plus(7);

برای اینکه هفت روز از تاریخ جاری کم کنین :
GBgShamsiDate1.Plus(-7);

برای بدست آوردن تاریخ جاری :
GBgShamsiDate1.ShamsiDate;

برای بدست آوردن سال :
GBgShamsiDate1.SYear;

برای بدست آوردن ماه :
GBgShamsiDate1.SMonth;

برای بدست آوردن نام ماه :
GBgShamsiDate1.SMonthName;

برای بدست آوردن روز هفته :
GBgShamsiDate1.SDayOfWeek;

برای بدست آوردن نام روز هفته :
GBgShamsiDate1.SDayName;

برای بدست آوردن فاصله بین دو تاریخ :
GBgShamsiDate1.DiferenceDate('1390/07/02','1390/07/20');

برای بدست آوردن اینکه سال جاری کبیسه می باشد یا خیر :
GBgShamsiDate1.IsKabise;

----------


## ahmadbh

با سلام
براي دلفي 7 چكار كنيم ؟
توزيح كاملتري براي استفاده كردن لطفا !

----------


## gbg

سلام
توضیح کامل تر برای استفاده در دلفی 7 یا برای همین نسخه XE یی که گذاشتم؟
استفادش که راحته
یه کامپوننت میزاری رو فرم بعد مثلا در رویداد ساخته شدن فرم مینویسی :

GBgShamsiDate1.ToDay;
label1.caption:=GBgShamsiDate1.ShamsiDate;

----------


## gbg

خب فقط یکی از دوستان این کامپوننت رو استفاده کرده؟
چون یه امکان دیگه هم اضافه کردم اگه به نظرتون کاربردی نیست دیگه آپلود نکنم

----------


## ahmadbh

براي دلفي 7 چه كدي استفاده كنيم
كد بالا ارور ميده

----------


## gbg

نسخه دلفی 7 رو آپدیت نکردم
اگه احتیاج داری و ازش استفاده می کنی بگو آپ دیت کنم و بفرستم
آخه چند سالیه که دیگه دلفی 7 رو نصب نکردم و ندارم روی کامپوترم

----------


## benyaminrahimi

shdate بهترینه

----------


## gbg

ممنون از نظرت
ولی دلیلی نگفتی
من هم تا حالا از اون کامپوننت استفاده نکردم
ولی ...

----------


## robodanial

بی زحمت اگه امکانش هست نسخه XE2 این کامپوننتتون رو هم درست کنید . ضمناً کامپوننت شما دیالوگ هم واسه نمایش تاریخ داره ؟ با تشکر

----------


## gbg

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

----------


## robodanial

آقا پس بی صبرانه منتظریم تا زحمت آپلودشو بکشید

----------


## gbg

حتم فقط باید صبر کنی که XE2 نصب کنم چون با XE همزمان اذیت میکرد پاکش کردم

----------


## gbg

فقط نسخه xe آپدیت شده
نسخه 2010 تغییری نکرده

----------


## gbg

از دوستان کسی نسخه XE2 رو می خواد؟

----------


## BORHAN TEC

نیکی و پرسش؟!!! (*_^)
ولی به نظر من اگه سورس کامل این کامپوننت رو منتشر کنید خیلی بهتره. چون کاربران دیگه دغدقه این رو ندارند که برای فلان ورژن دلفی دنبال نسخه خاصی از کامپوننت شما بگردند! البته در حالت کلی اگه سورس این کامپوننت رو در  SourceForge قرار دهید دیگه واقعاً عالی میشه.

----------


## robodanial

آره آقا ما که خیلی وقت گفته بودیم زحمت xe2 رو بکشین

----------


## naderanhari

ما که نتونستیم از این کمپوننت GBg Shamshi Date استفاده کنیم. من از کمپوننت Solar Calendar Package استفاده میکنم که سورسش هم تو دسترسه و میتونی هرطور خواستی تغییر بدی. لطفا اگه میشه یا سورسش را قرار بدید و یا برای ورژنهای مختلف دلفی کامپایل کنید تا برای همه قابل استفاده بشه. بعنوان مثال من از ورژن دلفی 2009 استفاده میکنم چکار باید بکنم؟
با تشکر

----------


## gbg

> نیکی و پرسش؟!!! (*_^)
> ولی به نظر من اگه سورس کامل این کامپوننت رو منتشر کنید خیلی بهتره. چون کاربران دیگه دغدقه این رو ندارند که برای فلان ورژن دلفی دنبال نسخه خاصی از کامپوننت شما بگردند! البته در حالت کلی اگه سورس این کامپوننت رو در  SourceForge قرار دهید دیگه واقعاً عالی میشه.


شاید یه روزی این کار رو کردم و شاید هم هیچ وقت ، ولی فعلا چنین تصمیمی ندارم




> آره آقا ما که خیلی وقت گفته بودیم زحمت xe2 رو بکشین


خب وقتی می بینم که استقبال خوبی ازش نشده دلیلی برای توسعش نمی بینم ولی اون رو هم به زودی اضافه می کنم.



> ما که نتونستیم از این کمپوننت GBg Shamshi Date استفاده کنیم. من از کمپوننت Solar Calendar Package استفاده میکنم که سورسش هم تو دسترسه و میتونی هرطور خواستی تغییر بدی. لطفا اگه میشه یا سورسش را قرار بدید و یا برای ورژنهای مختلف دلفی کامپایل کنید تا برای همه قابل استفاده بشه. بعنوان مثال من از ورژن دلفی 2009 استفاده میکنم چکار باید بکنم؟
> با تشکر


خب من ترجیحم به این هست که خودم کامپوننتم رو توسعه بدم ، پشتیبانیم از این کامپوننت هم برای دلفی 7 و XE بوده تا حالا ، نسخه های قدیمیش برای دلفی 2006 ، 2007، 2010 هم موجوده و بزودی برای XE2 هم اضافه می کنم.

----------


## BORHAN TEC

> خب وقتی می بینم که استقبال خوبی ازش نشده دلیلی برای توسعش نمی بینم ولی اون رو هم به زودی اضافه می کنم.


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

----------


## gbg

نه مهم هست نه استراتژیک ، نه برنامش سخت هستش و یه سرچ کوچیک بزنی تو اینترنت پر هستش ، پس دلیل خودم رو دارم که اوپن سورس نمی کنمش

----------


## robodanial

آقا این پروژه بلند مدت شما واسه xe2 آماده نشده هنوز؟

----------


## gbg

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

----------


## BORHAN TEC

*باگ اول:* موقعی که GbgShamsiEdit رو روی فرم قرار میدم برنامه لینک نمیشه و error زیر به نمایش در میاد:
[DCC Error] E2161 Error: RLINK32: Error opening file "C:\Documents and Settings\Ashayeri\My Documents\RAD Studio\Projects\Unit1.dfm"

*باگ دوم:* چرا این کامپوننت ها در برنامه های 64 بیتی قابل استفاده نیستند؟! :متفکر: 

*باگ سوم:* اگر امکان دارد کامپوننت های GbgShamsiLabel و GbgShamsiEdit را برای FireMonkey هم پیاده سازی کنید.  :خجالت:

----------


## gbg

سلام
نمی دونم برای من که مشکلی نداره باید با دقت چک کنم
خوب من فقط برای 32 بیتی کامپایل کردم بخاطر همین فقط در حالت 32 بیت کامپایل میشن یکی از دلایل اینکه با این همه تاخیر آمادش کردم این بود که چطور یه کامپوننت در دوحالت نصب بشه بود
اون یکی آماده سازی برای فایر مانکی ، با توجه به اینکه اطلاعات کمی از ساختار نوشتن فایر مانکی دارم به کندی پیش میده

----------


## Delphi 2010

این کامپوننت سال های کبیسه رو پشتیبانی میکنه
سال های شمسی، قمری، میلادی رو به صورت Date و رشته ای و حرفی بهتون بر میگردونه

با نمونه برنامه براتون گذاشتم


UfaDate Kabise (09138063146).zip

----------


## ahmadbh

با تشکر 
اگه نمونه برنامه ای برای سال قمری هم میگذاشتید ممنون میشیم

----------


## ret_ie

سلام. من هم مثل همه دوستان با این تاریخ فارسی داستانها داشتم تا اینکه با مجموعه "راهکارهای تاریخ شمسی" آشنا شدم. نویسنده اش ایرانی هست و امکانات بی نظیری داره که از جمله می شه به امکان ذخیره تاریخ به صورت استاندارد (TDateTime) اشاره کرد و هنگام نمایش به صورت شمسی نمایش میده. مثلا " 2 مرداد 1391"
میتونید از لینک زیر اطلاعات بیشتری بگیرید:
http://www.farsicomponents.com/
به نظر من قیمتش به توانایی اش می ارزه

----------


## hassan akbari

لطفا یه کامپوننت تاریخ شمسی می خواهم که بتونم توی سی شارپ بکار بگیرم
با تشکر از همه دوستان و همکاران

----------


## BORHAN TEC

> لطفا یه کامپوننت تاریخ شمسی می خواهم که بتونم توی سی شارپ بکار بگیرم
> با تشکر از همه دوستان و همکاران


سلام
دوست عزیز این بخش مربوط به تالار دلفی است. لطفاً سوال خود را در تالار .Net مطرح کنید.
ولی به این نکته توجه داشته باشید که دات نت به صورت ذاتی از تاریخ شمسی پشتیبانی می کند(البته به شرطی که از دات نت 2 و یا نسخه های جدیدتر استفاده کنید.)
برای اینکه نحوه کار را متوجه شوید در مورد System.Globalization.PersianCalendar جستجو کنید.

----------


## alirezabam

دست شما درد نکنه ما فایل و برداشتیم ، ببنیم به کار میاد یا نه چون قبلا یه کامپوننت solar calander برداشتیم به کار نیامد.

----------


## amirdeh

آقا ممنون. اگه این کامپوننتو واسه Xe 4یا همون دلفی 18 هم بزارید ممنون میشم

----------


## 101101000

تقویم فارسی Solar برای کلیه ورژن های دلفی XE2 تا XE5 
Solar.rar

Solar.jpg
پیشنهاد میکنم Jalali Calendar رو هم نصب کنید خیلی کم هجم و سبکه اما بسیار به کار میاد.

JalaliCalender.rar

----------


## بنفشه

سلام
من فايلي رو كه زحمت كشيديد دريافت كردم ولي روي XE5  چند تا خطا گرفتم : يكيش مربوط به smallint  بود كه حل شد ولي يه خطاي ديگه هم هست كه نتونستم برطرفش كنم 
dcc32 Error] E2466 Never-build package '.SolarCalendarPack_XE2' requires always-build package 'acntDelphiXE5_R']
فقط اينو هم بگم كه آلفا كنترل ورژن 9.0 نصب دارم و اين فايلي رو كه ميگه هم توي مسير library  و هم توي پوشه ي خود كامپوننت دارم. ولي نميدونم منظورش از اين خطا چيه؟
ممنون   :ناراحت:

----------


## مرد مباح

با تشکر از gbg عزیز. میدونم خیلی کار کردی روش و خیلی سخته.
شاید دلیل اصلی استفاده کم از این ابزار شما لینک نبودن به دیتا باشه. یعنی اگر بتونی این کارو بکنی که دیگه میترکونیش.
دلیل اصلی قدرت و اولویت shdate به شما هم همینه.
اگر بتونی کاری بکنی که با TDateTime متصل بشه و فارسی نشونش بده که فوق العاده میشه. ولی فکر نکنم شدنی باشه.
یک کلاس خاص بساز تا بتونی به دیتا سورس بصورت دستی لینکش کنی. اینجوری توی کامپوننتهای Grid هم قابل استفاده میشه.

امیدورام موفق باشی.

----------

