PDA

View Full Version : خبر: دانلود کنید : کار با انوع تاریخ ها ( شمسی ، قمری و میلادی )



Netsky
جمعه 14 اسفند 1388, 09:00 صبح
سلام عرض میکنم خدمت تمامی کاربران گرامی سایت برنامه نویس .
در مدتی که در سایت برنامه نویس عضو هستم و به تالارهای اون سر میزنم ( مخصوصا VB.Net و C#‎‎ ) میبینم که کاربران زیادی در کار توابع زمان و تاریخ مشکل دارند . مثلا بدست آوردن تاریخ شمسی یا تاریخ قمری .
به همین دلیل از حدودا یک هفته پیش شروع به نوشتن برنامه ای کردم که بتونه کار با توابع زمان و تاریخ رو به زبان بسیار ساده و روان به کاربر یاد بده ( البته بنده کوچکتر از اونی هستم که بخام به اساتید بزرگی همچون شما عزیزان چیزی رو یاد بدم ) .
برای شروع ، اول اسکرین شات برنامه رو از پایین همین پست ببینید .

به نظرم با دیدن اسکرین شات برنامه تا حدود بسیار زیادی با نحوه کارش آشنا شده باشید .

این برنامه قابلیت های زیر رو داره :

1- نمایش تاریخ به صورت (( نام روز – روز چندم ماه – نام ماه – سال )) ( شمسی ، قمری و میلادی ) .
مثل این نمونه :


جمعه 14 اسفند 1388


2- تاریخ با قابلیت جدا سازی ( شمسی ، قمری و میلادی ) .

3- تاریخ به صورت کوتاه شده ( عددی ) ( شمسی ، قمری و میلادی ) .

4- تشخیص کبیسه بودن سال جاری .

5- تاریخ روز بعد ( شمسی ، قمری و میلادی ) .

6- تاریخ روز قبل ( شمسی ، قمری و میلادی ) .

7- محاسبه تاریخ چند روز بعد ( شمسی ، قمری و میلادی ) :
برای استفاده از این امکان برنامه باید تعداد روزهایی رو که میخاید تاریخ بعد از اون ها رو بدست بیارید در تکست باکس مربوط به اون وارد کنید .
مثلا فرض کنید امروز اولین روز سال هستش . میخاید ببینید 246 روز دیگه چه تاریخیه ؟! خیلی راحت عدد 246 رو وارد تکست باکس مربوطه میکنید و دکمه "محاسبه" رو میزنید و در مقابل همون دکمه "محاسبه" تاریخ 246 روز بعد رو مشاهده خواهید کرد .

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

با تشکر ........
موفق و سربلند باشید ...............

Netsky
جمعه 14 اسفند 1388, 15:39 عصر
دوستان عزیز ، پیشنهادی ، انتقادی ، چیزی ندارند تا در نسخه ی بعدی روی اونها کار بشه .
با تشکر .............

Peyman.Gh
جمعه 14 اسفند 1388, 15:51 عصر
خوب بود دوست عزیز فقط یک نکته این Label ها را خالی میکردی

Netsky
جمعه 14 اسفند 1388, 17:17 عصر
خوب بود دوست عزیز فقط یک نکته این Label ها را خالی میکردی
سلام عرض میکنم خدمت شما دوست عزیز .
من وقتی برنامه رو باز میکنم همچین چیزی که شما عکسش رو گذاشتی ظاهر نمیشه . چون با لود شدن فرم همه این لیبل ها مقدار دهی میشن .
دلیل اینکه مقدار لیبل ها رو پاک نکردم این بود که در زمان طراحی ، راحت تر بشه پیداشون کرد .
بازم از نظر شما متشکرم ........... :بوس::لبخندساده:

Netsky
شنبه 15 اسفند 1388, 12:16 عصر
سلام .
تا این لحظه 70 بار برنامه دانلود شده ولی فقط یکی از دوستان نظر دادن .
خواهشن فقط دانلود نکنید ، نظر هم بدید .

ali_autumnal
شنبه 15 اسفند 1388, 15:34 عصر
سلام

در اول کار یعنی اجرای برنامه یه خطایی روی میده که میخواد از برنامه خارج بشه.

که اینو میگه:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
at System.DateTime.Parse(String s)
at Persian_Calendar.Work_With_DateTime.Tomorrow_Date_ Solar() in C:\Documents and Settings\T U R B O\My Documents\Visual Studio 2005\Projects\Persian Calendar\Work_With_DateTime.cs:line 546
at Persian_Calendar.International_Calendar.Persian_Ca lendar_Load(Object sender, EventArgs e) in C:\Documents and Settings\T U R B O\My Documents\Visual Studio 2005\Projects\Persian Calendar\International Calendar.cs:line 79
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
at System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Persian Calendar
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Documents%20and%20Settings/ali/Desktop/کار%20با%20انوع%20تاریخ%20ها/Persian%20Calendar1/bin/Debug/Persian%20Calendar.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


سرعت اجرای برنامه ات افتضاحه!!!!!

چون اگه قرار باشه از این بعنوان یه تقویم استفاده بشه مدام اذیت میکنه.

مقادیر لیبل ها رو حتما خالی کنید.

پویا هم نیست.
یعنی وقتی تاریخ سیستم تغییر میکنه برنامه هیچ عکس العملی انجام نمیده.

روی باتون های محاسبه هم که کلیک میکنم پیغام خطا میده.

و در آخر فایل ها رو طوری زیپ کنید که همه کس بدانند چطوری باید از این زیپ ها استفاده کنند.

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

درنهایت خوبه موفق باشید.

ali_autumnal
شنبه 15 اسفند 1388, 15:52 عصر
یه چیزه دیگه البته فقط انتقاده...

بنظرتون یک ماه دیگه یا اصلا سال بعد همین موقع اگه خواستید نسخه جدیدی از این برنامه رو ارائه بدید خودتون میتونید چیزی از کدها سر دربیارید!!

واقعا شلوغ نوشتید.
یه کلاسی واسه تبدیل ها میزاشتید و تبدیلات رو اونجا انجام میدادید.
از طرفی چرا برای switch رو واسه ایام هفته 2 بار و واسه سایر ماه ها هم 2 بار استفاده کردید؟
بنظرتون امکان نداشت تو یه تابع مینوشتید و هرجا که لازم بود فقط فراخونی میشد. تا لازم نباشه 2باره کاری داشته باشه؟

که اینکار باعث شده یه برنامه 300 خطی بشه 700 یا 1000 لاین کد!!!!
موفق باشید.
امیدوارم ناراحت نشده باشید.

Netsky
شنبه 15 اسفند 1388, 18:39 عصر
با سلام خدمت شما دوستان عزیز و مخصوصا دوست خوبم جناب ali_autumnal .
جواب پست شماره 6 :


سرعت اجرای برنامه ات افتضاحه!!!!!

اصلا قصد توهین ندارم . ولی شاید سرعت سیستم شما افتضاح باشه ؟!!! چون در سیستم بنده مشکلی نداشت و خیلی سریع اجرا میشد .


چون اگه قرار باشه از این بعنوان یه تقویم استفاده بشه مدام اذیت میکنه.

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


مقادیر لیبل ها رو حتما خالی کنید.

در پست شماره 4 ، در خط شماره 4 ، دلیل این کار رو توضیح دادم .


پویا هم نیست.
یعنی وقتی تاریخ سیستم تغییر میکنه برنامه هیچ عکس العملی انجام نمیده.

دوست عزیز ، من که هدفم نوشتم یه تقویم با همه امکانات نبوده . فقط خواستم کار با تاریخ ها رو به دوستان عزیزی که شاید بلد نباشن ، یاد بدم ( البته بنده کوچکتر از اونی هستم که بخام به کسی چیزی رو یاد بدم ) .
اگه میخاستم این کار رو بکنم باید کدها رو داخل یه تایمر میزاشتم تا تغییرات چک بشن و سپس مقادیر تغییر کنن ، که اگه اینکار رو میکردم تو سیستم شما سرعتش افتضاح تر هم میشد .


روی باتون های محاسبه هم که کلیک میکنم پیغام خطا میده.

توی سیستم من که خطایی رو برگشت نمیده .


و در آخر فایل ها رو طوری زیپ کنید که همه کس بدانند چطوری باید از این زیپ ها استفاده کنند.

دوست عزیز ، مبتدی ترین کاربران کامپیوتر هم میتونن فایل های که دو تکه هستند رو Extract کنن .
چیز سختی که نیست .


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

انشالله برنامه شما برنامه خوبی باشه . براتون آروزی موفقیت میکنم .

جواب پست شماره 7 :


بنظرتون یک ماه دیگه یا اصلا سال بعد همین موقع اگه خواستید نسخه جدیدی از این برنامه رو ارائه بدید خودتون میتونید چیزی از کدها سر دربیارید!!

بنده از کد اولین برنامه هایی رو هم که نوشتم سر در میارم ( فکر کنم مربوط به 4 الی 5 سال پیش ) .


واقعا شلوغ نوشتید.

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


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

من این کد رو خیلی ساده نوشتم و نخاستم با شلوغ کردن برنامه با انواع کلاس ها برنامه نویسای تازه کار رو بپیچونم . ( البته من خودم چاکر همه تازه کارا هستم ) .


از طرفی چرا برای switch رو واسه ایام هفته 2 بار و واسه سایر ماه ها هم 2 بار استفاده کردید؟

این مورد هم شامل حال همون جواب بالایی میشه .


بنظرتون امکان نداشت تو یه تابع مینوشتید و هرجا که لازم بود فقط فراخونی میشد. تا لازم نباشه 2باره کاری داشته باشه؟

بله این امکان وجود داشت . ولی میخاستم برنامه نویسای تازه کار متوجه بشن که چی به چیه ؟
----------
در پایان از دوست خوبم جناب ali_autumnal که نظر دادن تشکر میکنم .
موفق باشید ............. :بوس::لبخندساده:

M.YasPro
یک شنبه 16 اسفند 1388, 15:31 عصر
سلام
ممنون از زحمتی که کشیدید .

سرعت اجرای برنامه ات افتضاحه!!!!!
برای من سرعتش خوبه .

امروز 1388/12/16 هست حالا اگه توی تکست باکس جلوی تاریخ چند روز بعدی (شمسی) 14 بنویسیم تاریخ رو 1388/12/30 نشون میده ولی اگه 15 بنویسیم 1388/12/29 نشون میده .
ولی باتوجه به اینکه این نرم افزار صرفا یه sample هست . کار جالبیه .
خدا قوت