فروم تخصصی - پشتیبانی CPSD
سوال در مورد تابع addtodates - نسخه‌ی قابل چاپ

+- فروم تخصصی - پشتیبانی CPSD (http://cpsd.ir/forum)
+-- انجمن: محصولات (/forumdisplay.php?fid=1)
+--- انجمن: رایگان (/forumdisplay.php?fid=6)
+---- انجمن: PDC - Persian Date Converter (/forumdisplay.php?fid=5)
+---- موضوع: سوال در مورد تابع addtodates (/showthread.php?tid=325)

صفحه‌ها: 1 2


سوال در مورد تابع addtodates - alisaki - ۲۷ آبان ۱۳۹۲ ۰۶:۵۳ عصر

باسلام و احترام

ضمن تشکر از ساخت این تبدیل کننده مجهز فارسی،به استحضار می رساند در محیط اکسس برای انجام کارهای مالی، نیازمند تابع addtodate بر اساس ماههای 30 روزه می باشم.
یعنی می خوام یه مدت خاصی رو مثلا 60 روز، رو به یه تاریخ خاصی اضافه کنم،مثلا 92/07/30- ولی می خوام جواب بر اساس ماههای 60 روزه باشه که میشه 92/10/01"

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


RE: سوال در مورد تابع addtodates - CPSD Admin - ۲۷ آبان ۱۳۹۲ ۰۹:۴۱ عصر

ضمن سلام

سئوال شما مفهوم نیست و نکاتی متناقض داره

نقل قول: نیازمند تابع addtodate بر اساس ماههای 30 روزه می باشم.
یعنی می خوام یه مدت خاصی رو مثلا 60 روز، رو به یه تاریخ خاصی اضافه کنم،مثلا 92/07/30- ولی می خوام جواب بر اساس ماههای 60 روزه باشه

ولیکن فرض رو بر این قرار میدیم که شما میخواید با ضریب ثابت 30 ، و بر اساس مقدار متغیر ماههای ورودی محاسبه رو انجام بدید فرضا میخواید دو ماه 30 روزه به تاریختون اضافه کنید

در این حالت از فرمولی مشابه فرمول زیر میبایست استفاده کنید

کد:
TotalMonth = 2
OutPutField = MyVar.AddToDate(DateParam, Rooz, TotalMonth * 30, EzafeKardan)
DateParam در واقع همون تاریخ ورودی شماست و TotalMonth هم تعداد ماههای مورد نظر

ضمنا بر اساس همین فرمول هم خروجی 1392/09/30 خواهد شد و نه 1392/10/01

اگر شما قصد دارید که خروجی با یک روز تاخیر به نمایش در بیاد مجدداً با استفاده از تابع AddToDate یک روز به خروجی اضافه کنید

موفق باشید


RE: سوال در مورد تابع addtodates - alisaki - ۲۸ آبان ۱۳۹۲ ۰۵:۱۹ عصر

باسلام و تشکر از پاسخ
نه اشتباه مطلب رو منتقل کردم،منظورم اینه که میخوام سال شمسی در محاسبات بجای اینکه شش ماه اول 31 روزه ،شش ماه دوم 30 روزه و اسفند ماه 29 روزه باشه،همش 30 روزه محاسبه بشه.
دلیلش هم اینه که تو محاسبات بهره مبنا رو ماههای سی روزه قرار میدن

باسپاس


RE: سوال در مورد تابع addtodates - CPSD Admin - ۲۸ آبان ۱۳۹۲ ۰۵:۴۶ عصر

سلام دوست من

درسته شما اشتباه منتقل کردید ولیکن با کمی دقت شما ، تصور میکنم بنده درست جواب دادم !

در مطلب فوق درج کردم :

OutPutField = MyVar.AddToDate(DateParam, Rooz, TotalMonth * 30, EzafeKardan)

به نوعی با این کار ماهها رو سی روزه فرض کردم و پارامتر TotalMonth هم در واقع تعداد ماههای مد نظر شما خواهد شد

نوع توالی اضافه شدن رو هم Rooz انتخاب کردم

موفق باشید


RE: سوال در مورد تابع addtodates - alisaki - ۲۸ آبان ۱۳۹۲ ۰۸:۱۵ عصر

مرسی از وقتی که برای من میزارید
پس با این تابع اگر من 60 روز رو بعلاوه 1392/04/30 بکنم بجای 92/06/28 بهم جواب 92/06/30 میده؟
اگر اینطوره میشه لطف کنید برای نوشتن در خارج از محیط کد نویسی برام تابع میانی این تابع رو بنویسید.
در ضمن من علاقه دارم که وبی دات نت یادبگیریم شما جایی رو برای آموزش معرفی می تونید بکنید؟

باسپاس بیکران


RE: سوال در مورد تابع addtodates - CPSD Admin - ۲۸ آبان ۱۳۹۲ ۰۸:۵۴ عصر

سلام دوست من

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

خوب این مورد چه ارتباطی به مبحث تبدیل تاریخ داره Huh

شما احتمالا منظورتون دوره های سر رسید اقساط و تعیین دوره بعدی قسط هستش ؟

تصور نمی کنید بنده الان بیشتر مشغول تحلیل خود سئوال شما شدم تا پاسخگویی به اصل مساله Huh

نقل قول: پس با این تابع اگر من 60 روز رو بعلاوه 1392/04/30 بکنم بجای 92/06/28 بهم جواب 92/06/30 میده؟

خیر ، مشخصا اینطوری نیست ، شما فرمودید ماهها 30 روزه باشند به بیانی دیگه وقتی میگید سه ماه منظور اضافه شدن 90 روز هستش و ...

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

مساله این هستش که اصلا متوجه نشدم که الگوریتم و منطق کاری شما چیه
به نظر میاد منطق صحیحی در پشت کار نیست

فرضا میتونید برای تبدیل خروجی در حالتی که ورودی 30 و یا 31 باشه و خروجی به غیر از این ( فرضا 28 و یا ... ) از تابعی مشابه تابع زیر استفاده کنید که در هر حالت خروجی رو به صورت مورد نظر شما نمایش بده
کد:
Function RoundDate(TargetDate As String, OutPutDate As String) As String

If Right(TargetDate, 2) = "30" Or Right(TargetDate, 2) = "31" Then
  RoundDate = Left(OutPutDate, 8) & "30"
Else
  RoundDate = OutPutDate
End If

End Function
TargetDate همون تاریخ اولیه ورودی هستش
OutPutDate تاریخ تبدیل شده در مرحله ابتدایی هستش

این دو تا رو به تابع بدید و خروجی رو دریافت کنید

مجدداً دو نکته رو خدمت شما عرض میکنم :

اول - کارتون منطق صحیحی نداره ( شاید هم شما در انتقال مطلب صحیح عمل نکردید )

دوم - موضوع قاعدتا ارتباط مستقیمی با PDC نداره ، چرا که خواسته شما یک خروجی سفارشی شده هستش که مبنای محاسباتی تاریخی نداره بلکه یک مبنای محاسباتی قرار دادی داره

موفق باشید


RE: سوال در مورد تابع addtodates - alisaki - ۶ آذر ۱۳۹۲ ۰۸:۱۹ صبح

بله دوست عزیز من یه تاریخ ساز سفارشی می خوام که در اون تابع adddo date بر اساس ماههای شمسی 30 روزه عمل کنه.
یعنی وقتی می خواد تاریخ 1392/04/31 رو بعلاوه 60 بکنه نتیجه بشه1392/07/01-
لطفا اگر می تونید کمک کنید من حاضر هستم در قبال این برنامه هزینه رو هم تقدیم کنم.


RE: سوال در مورد تابع addtodates - CPSD Admin - ۷ آذر ۱۳۹۲ ۰۲:۰۸ صبح

سلام

دوست من مثالهای شما همگی منتهی به انتهای ماه هستند ، فرضا تاریخ 1392/04/12 به اضافه 60 روز چی میشه ؟!

و یا تاریخ 1392/12/08 به اضافه 60 روز چی ؟


RE: سوال در مورد تابع addtodates - alisaki - ۷ آذر ۱۳۹۲ ۰۱:۲۷ عصر

بله چون معمولا من با آخر ماهها کار دارم
من نیاز دارم که 1392/04/12 بعلاوه 60 بشه: 92/6/12
یا 92/12/08 بشه 93/02/08

باتشکر-بازم تاکید میکنم من این رو برای کار می خوام-حاضر هستم هزینه رو تقدیم بکنم


RE: سوال در مورد تابع addtodates - CPSD Admin - ۷ آذر ۱۳۹۲ ۰۳:۲۵ عصر

سلام

دوست گرامی نسخه مد نظر شما یک نسخه سفارشی خواهد بود ، با در نظر گرفتن موارد ذیل امکان طراحی و جایگذاری اون در داخل اکتیو ایکس PDC برای شما وجود داره

1 - این نسخه تنها به جهت کاربرد شخصی شما طراحی خواهد شد و اجازه انتشار اون رو ندارید ( الگوریتم دارای رمز فعال سازی خواهد بود که این رمز تنها در اختیار شما قرار میگیرد )

2 - الگوریتم بر مبنای محتویات پرسش و پاسخ فعلی طراحی خواهد شد ، بدیهیست تغییرات آتی منظور نخواهد شد

3 - به روز رسانیهای آتی PDC شامل نسخه های سفارشی نخواهد شد

در صورت پذیرش شرایط فوق اعلام بفرمایید تا نسخه سفارشی این اکتیو ایکس برای شما طراحی بشه ( و به تبع اون اعلام هزینه )

موفق باشید