View Full Version : نسخه جدید dll فارسی برای عزیزان 3.2.0.0
Touska
سه شنبه 19 اردیبهشت 1385, 07:38 صبح
دوستان عزیز آخرین نسخه این dll در آخر این Topic موجود می باشد به صفحه آخر مراجعه فرمائید. (http://barnamenevis.org/forum/showpost.php?p=528444&postcount=33)
سلام
گذشته این پست : http://www.barnamenevis.org/forum/showthread.php?t=30635
و آینده آن :
تابع های
Function PrintMonth(Dates : TDate) : ShortString
این تایع یک تاریخ میلادی گرفته و سال و ماه شمس آن را بر می گرداند.
Function PrintMonthf(Dates : ShortString) : ShortString
این تابع یک تاریخ شمسی را گرفته و سال و ماه شمسی آن را بر می گرداند.
Function XAddToDate(XDate : ShortString; XAdd : Integer) : ShortString
این تابع یک تاریخ شمسی را گرفته و به آن XAdd روز اضافه می کند و شمسی بر می گرداند.
Function XSubDate(XDate : ShortString; XSub : Integer) : ShortString
این تابع یک تاریخ شمسی را گرفته و از آن XSub روز کم می کند و شمسی بر می گرداند.
FAQ :
برای استفاده از این تاریخ ها برای Sql چه در Select ها و چه در Like و چه در Between شما
فیلدی از نوع char با Size 10 در دیتابیسی از نوع collation = Arabic_CI_AI می سازید و از آن
برای تاریخ استفاده می کنید. مشکلی نخواهید داشت.
برای استفاده از امکانات و توضیحات بیشتر به لینک گذشته این پست مراجعه کنید.
همه برنامه نویس ها رو دوست دارم :قلب:
Developer Programmer
سه شنبه 19 اردیبهشت 1385, 09:13 صبح
پیر شی الهی مصطفی جون دل من!
فرض کن ؛ یه بنده خدایی خواست مدت اشتراکش رو یک ماه تمدید کنه...
حالا ماه رو 30 روزه بگیریم یا 31 روزه ؟
Developer Programmer
پنج شنبه 21 اردیبهشت 1385, 09:44 صبح
مصطفی بالام جان
چرا همیشه باید تاریخ جاری سیستم رو به شمسی برگردونه ؟ نمی شه ما بهش تاریخ بدیم ؟
Touska
پنج شنبه 21 اردیبهشت 1385, 09:59 صبح
این هست دیگه : XDateToStr(XDate : TDateTime) : ShortString
Developer Programmer
پنج شنبه 21 اردیبهشت 1385, 22:24 عصر
وای من دورت بگردم ... که اینقدر خوبی !
oghab
شنبه 23 اردیبهشت 1385, 17:08 عصر
سلام
واقعا ممنون از لطف شما
از قبلی خیلی استفاده کردم و حالا که دیگه خیلی عالیه!!! :تشویق:
کاش یه جوری می تونستم جبران کنم :خجالت:
وای اونقدر سواد ندارم که از اینکارا بتونم بکنم.
فقط دعا می کنم همیشه سلامت و موفق باشی!
Touska
دوشنبه 08 خرداد 1385, 08:45 صبح
دوستان عزیز آخرین نسخه این dll در آخر این Topic موجود می باشد به صفحه آخر مراجعه فرمائید. (http://barnamenevis.org/forum/showpost.php?p=528444&postcount=33)
و نسخه جدید تر اون :
Function XShamsiToMiladi(XDate : ShortString) : TDateTime
تابع تبدیل شمسی به میلادی
Function XMiladiTOShamsi(XDate : TDateTime) : ShortString
تابع تبدیل میلادی به شمسی
موفق باشید :قلب:
oghab
دوشنبه 08 خرداد 1385, 14:01 عصر
دمت گرم
مرسی
Touska
دوشنبه 03 مهر 1385, 12:00 عصر
دوستان عزیز آخرین نسخه این dll در آخر این Topic موجود می باشد به صفحه آخر مراجعه فرمائید. (http://barnamenevis.org/forum/showpost.php?p=528444&postcount=33)
و نسخه Calender فارسی برای بچه های گل : :قلب:
و روش استفاده از اون اینجوری هست :
اینا رو تو implementation اضافه کنید.
Procedure CreateDlg;
External 'PersianDlg.Dll';
Function Clicks : Boolean;
External 'PersianDlg.Dll';
Function DateExport : ShortString;
External 'PersianDlg.Dll';
و روش استفاده در یک Onclick به این شکل :
CreateDlg;
IF Clicks Then
Edit4.Text := DateExport;
و البته اولی با فونت Traffic هست.
و دومی با فونت Tahoma می باشد. :لبخند:
http://touska.persiangig.com/image/1.JPG
موفق باشید :)
Touska
دوشنبه 03 مهر 1385, 12:06 عصر
دوستان عزیز آخرین نسخه این dll در آخر این Topic موجود می باشد به صفحه آخر مراجعه فرمائید. (http://barnamenevis.org/forum/showpost.php?p=528444&postcount=33)
نسخه جدید Persian.Dll
و این قابلیت :
Function XShortTOWide(XDate : ShortString) : ShortString;برای تبدیل تاریخ 1385/07/03 به دوشنبه 3 مهر 1385
موفق باشید :قلب:
Developer Programmer
چهارشنبه 05 مهر 1385, 15:47 عصر
مصطفی جان؛
یه محبتی کن و یه Sample اساسی طراحی کن؛
مرسی.
ehsane
پنج شنبه 06 مهر 1385, 08:05 صبح
آقا خدایش دستت درد نکنه واقعا عالی بود
szabeh
دوشنبه 08 مرداد 1386, 18:12 عصر
در نسخه 3.3.1.0 در قسمت تفاضل تاریخ مشکلی دارد لطفا آقا مصطفی یک نگاهی بکند.
szabeh
دوشنبه 08 مرداد 1386, 18:13 عصر
در نسخه 3.3.1.0 در قسمت تفاضل تاریخ مشکلی دارد لطفا آقا مصطفی یک نگاهی بکند.
Batman
سه شنبه 09 مرداد 1386, 11:28 صبح
آقا touska دست گلت درد نکنه
ممنون ولی کدومش آخرین ورژن هستش
Touska
سه شنبه 09 مرداد 1386, 15:39 عصر
دوستان عزیز آخرین نسخه این dll در آخر این Topic موجود می باشد به صفحه آخر مراجعه فرمائید. (http://barnamenevis.org/forum/showpost.php?p=528444&postcount=33)
اینم آخرین ورژنش : لینک (http://barnamenevis.org/forum/showpost.php?p=269056&postcount=10)
اون مشکل تفریقو هم درست می کنم ، ممنون از همه :)
szabeh
سه شنبه 24 مهر 1386, 13:42 عصر
با تشکر از بچه های برنامه نویس
لطفا آقا مصطفی اگه مشکل تفاضل تاریخ حل شد نسخه جدید را آپلود کن
در ضمن در persiandlg اگه ممکنه دکمه های سال قبل و بعد را هم بگذارید جهت کاملتر شدن آن.
mskm100
سه شنبه 24 مهر 1386, 17:53 عصر
آقا مصطفی دستت درد نکنه من با اون ورژن قبلیت هم کار کرده بودم خیلی کارم رو را انداخته بود و تا حالا هم هر وقت تو برنامه ای تاریخ شمسی نیاز داشته باشم از dll شما استفاده می کنم
Touska
دوشنبه 19 آذر 1386, 17:44 عصر
دوستان عزیز آخرین نسخه این dll در آخر این Topic موجود می باشد به صفحه آخر مراجعه فرمائید. (http://barnamenevis.org/forum/showpost.php?p=528444&postcount=33)
بر اساس گزارش 2 نفر از دوستان یک Bug در این dll وجود داشت که در توابع :
Function XAddToDate(XDate : ShortString; XAdd : Integer) : ShortStringو
Function XSubDate(XDate : ShortString; XSub : Integer) : ShortStringمشاهده شده بود که برطرف شد حتی مشکل کبیسه رو هم ندارن.
PrintDate //خروجی تاریخ به صورت کامل دوشنبه 19 آذر 1386
PrintMonth //خروجی ماه و سال بر اساس تاریخ سیستمی داده شده
PrintMonthf //خروجی ماه و سال بر اساس تاریخ رشته ایی داده شده
PrintNormal //خروجی تاریخ بصورت 1386/12/01
DiffDate //خروجی تفاوت عددی بین دو تاریخ
XDateToStr //خروجی تبدیل تاریخ به تاریخ رشته ایی
XStrToDate //بر عکس تابع بالایی
XStrToDateDef //مشابه تابع بالایی و با داشتن پیش فرض در صورت اشتباه
XAddToDate //اضافه کردن به تاریخ
XSubDate //کم کردن از تاریخ
XShamsiToMiladi //تبدیل تاریخ شمسی به میلادی
XMiladiToShamsi //تبدیل تاریخ میلادی به شمسی
XShortTOWide //خروجی تبدیل تاریخ رشته ایی کوتاه به رشته ایی بلند
موفق باشید :قلب:
jafari1
پنج شنبه 13 دی 1386, 14:23 عصر
سلام
دوست عزیز ضمن تشکر و قدردانی از زحمات شما به عرض میرسانم تابع DiffDate //خروجی تفاوت عددی بین دو تاریخ
خطا میدهد و کار نمیکند
szabeh
جمعه 14 دی 1386, 13:19 عصر
دوستان عزیز آخرین نسخه این dll در آخر این Topic موجود می باشد به صفحه آخر مراجعه فرمائید.
اون مشکل تفریقو هم درست می کنم ، ممنون از همه :)
آقا مصطفی مشکل تفریق هنوز حل نشده.
best_ariya
جمعه 21 دی 1386, 17:49 عصر
آقا مصطفی ممنون از تقویم و توابع جدید
Touska
یک شنبه 23 دی 1386, 16:30 عصر
آقا مصطفی مشکل تفریق هنوز حل نشده.
حتما در اولین فرصت مشکلشو حل می کنم .
ولی بنظرم مشکلی نداشت تستش کرده بودم یگ Demo از مشکل می ذارید ببنیم چه طورشه.
موفق باشید :)
Touska
یک شنبه 14 بهمن 1386, 20:50 عصر
دوستان عزیز آخرین نسخه این dll در آخر این Topic موجود می باشد به صفحه آخر مراجعه فرمائید. (http://barnamenevis.org/forum/showpost.php?p=528444&postcount=33)
این هم اینشا الله بدون مشکله، تستش کنید آخرین ورژنش :
بهمراه Demo برای طرز استفاده از ابزارش.
موفق باشید :قلب:
mskm100
دوشنبه 15 بهمن 1386, 03:52 صبح
مصطفی جان دستت درد نکنه، من خیلی وقته که از dll شما استفاده می کنم و خیلی کارم رو راه انداخته فقط اگر ممکنه بگید چطور و با چه تابعی باید سال کبیسه را تنظیم کنم
موفق و پیروز باشید
Touska
دوشنبه 15 بهمن 1386, 13:01 عصر
مصطفی جان دستت درد نکنه، من خیلی وقته که از dll شما استفاده می کنم و خیلی کارم رو راه انداخته فقط اگر ممکنه بگید چطور و با چه تابعی باید سال کبیسه را تنظیم کنم
موفق و پیروز باشید
سلام ، ممنون از حسن انتخاب شما
احتیاج به تنظیم چیزی نسیت خودش به سال کبیسه برسه
آن یک روز محاسبه می کنه.
موفق باشید :)
dkhatibi
سه شنبه 16 بهمن 1386, 18:07 عصر
حوصله ی تبدیل به کامپو ننت را ندارید؟
mehdi.mj
چهارشنبه 17 بهمن 1386, 09:28 صبح
عزیز مر30 از زحماتت
szabeh
چهارشنبه 17 بهمن 1386, 19:54 عصر
با تشکر از زحمات آقا مصطفی
مشکل تفریق حل شده ولی در تاریخ کبیسه اشکال دارد یک سال دیرتر محاسبه میکند
مثال : 1383/12/30 را بدهید ببینید اشتباه برمیگردونه
سال 1384 را کبیسه میشناسه
ممنون
Touska
پنج شنبه 18 بهمن 1386, 10:36 صبح
با تشکر از زحمات آقا مصطفی
مشکل تفریق حل شده ولی در تاریخ کبیسه اشکال دارد یک سال دیرتر محاسبه میکند
مثال : 1383/12/30 را بدهید ببینید اشتباه برمیگردونه
سال 1384 را کبیسه میشناسه
ممنون
باشه حتما چک می کنم.
موفق باشید :)
مصطفی مختاری
شنبه 03 فروردین 1387, 21:11 عصر
آقا این سال کبیسه درست نشد؟
ممنون از زحمات بی شاعبه شما.
rainstorm
سه شنبه 06 فروردین 1387, 09:02 صبح
سلام
من قبلاً یه کامپوننت برای تبدیل تاریخ میلادی به شمسی نوشته بودم حتی یه datepicker شبیه دیت پیکر دلفی ولی زیباتر هم بهش اضافه کرده بوده اما به تازگی متوجه شدم سال های کبیسه رو به درستی محاسبه نمی کنه و همین دلیل باعث شده که بعضی تاریخ ها رو اشتباه حساب کنه .... الان چند وقتی هست که دنبال یه کامپوننت در این مورد می گردم که به پرشین دی ال ال برخوردم متأسفانه این Dll هم مشکل سال های کبیسه رو داره
تاریخ زیر رو امتحان کنین
01/11/1988
شمسیشو یک روز بیشتر نشون می ده و جالبه که وقتی تاریخ شمسی ای رو که بهت میده با تابع خودش به میلادی تبدیل می کنی 02/11/1988 رو بهت میده
بد نیست امتحان کنین:متفکر:
Touska
دوشنبه 13 خرداد 1387, 09:32 صبح
[B]دوستان عزیز آخرین نسخه این dll در آخر این Topic موجود می باشد به صفحه آخر مراجعه فرمائید. (http://barnamenevis.org/showpost.php?p=528444&postcount=33)
با سلام
+ اضافه شدن تابع چک کردن فرمت صحیح بودن تاریخ وارد شده :
Function XValiDate(XDate : ShortString) : Boolean;+ اضافه شدن تابع چک کردن تابع سال کبیسه
Function XIsLeapYear(XYear : Integer) : Boolean;و تغییر نام دو تابع :
از DiffDate به XDiffDate
از PrintMonth و PrintMonthf به XPrintMonth و XPrintMonthf
و برای PersianDlg یک تغییر کلی دادم که با صدا زدن یک تابع کار شما را انجام می دهد :
Function XDateExport : ShortString;و اینکه تمامی ابزار با سال کبیسه مشکلی ندارد.
در صورت هر مشکلی منو هم در جریان بذارید.
و اینم فایل ها :
oghab
دوشنبه 13 خرداد 1387, 22:29 عصر
سلام
:تشویق:
من قبلا هم از dll نسخه قبلي در دلفي خيلي استفاده كردم.
و واقعا بايد از شما تشكر كنم.
فقط يه سوال داشتم. آيا در برنامه access هم ميشه از اين dll و توابع آن استفاده كرد؟
m_r_moini
یک شنبه 05 آبان 1387, 14:13 عصر
آقا دستت درد نكنه . اگر امكان داره خروجي اختلاف دو تاريخ با فرمت تاريخ باشه مثلا اختلاف 12/10/1387 را با 11/09/1343 بصورت 01/01/44 برگرداند .
با تشكر
Touska
یک شنبه 05 آبان 1387, 17:40 عصر
آقا دستت درد نكنه . اگر امكان داره خروجي اختلاف دو تاريخ با فرمت تاريخ باشه مثلا اختلاف 12/10/1387 را با 11/09/1343 بصورت 01/01/44 برگرداند .
با تشكر
مشکلی نیست ، ولی جایی هم بدرد میخوره ؟
m_r_moini
سه شنبه 07 آبان 1387, 11:16 صبح
دوست عزيز منظورم اين است كه با تعيين اختلاف دو تاريخ سن دقيق يك نفر را به سال و ماه و روز بدست بياوريم .
باز هم مرسي
Touska
سه شنبه 07 آبان 1387, 14:36 عصر
خوب شما تفاوت رو بدست بیارید بعد آن رو تقسیم بر 365 کنید ، تعداد سال بدست می آید و همینور الا آخر
همین مگه کفایت نمی دهده.
vcldeveloper
سه شنبه 07 آبان 1387, 16:24 عصر
خوب شما تفاوت رو بدست بیارید بعد آن رو تقسیم بر 365 کنید ، تعداد سال بدست می آید و همینور الا آخر
همین مگه کفایت نمی دهده.
نه، چون همه سالها 365 روزه نیستند!
dkhatibi
سه شنبه 07 آبان 1387, 20:19 عصر
البته جزئ صحیح اون عدد جواب می ده و لی احتمالا برای اختلافهای بیش از 365*4 سال یک سال خطا داره
Touska
سه شنبه 07 آبان 1387, 20:21 عصر
نه، چون همه سالها 365 روزه نیستند!بابا می دونم که سال کبیسه هم هست ، میگم اگر طرف بخواد که این تفاوت با احتساب سال کبیسه هست.
خوب می خواد بدونه چند سال گذشته آخه ؟
در اولین فرصت یک هم چین Method ی اضافه می کنم ، که آن 1 رو ز خطا هم از دست نره.
m_r_moini
یک شنبه 04 اسفند 1387, 13:13 عصر
استاد ارجمند بنده هنوز منتظر دريافت نتيجه در مورد اختلاف دو تاريخ با فرمت تاريخ هستم .
با تشكر
معيني
fahimi
چهارشنبه 24 فروردین 1390, 20:19 عصر
با سلام در ویندوز اکس پی وقتیکه از PersianDlg استفاده میکنم هنگام خروج از نرم افزار ویندوز چندین خطا می دهد اسم تاریخ شمسی و آدرس ارورهای حافظه را می دهد
narsic
یک شنبه 22 خرداد 1390, 00:39 صبح
و برای PersianDlg یک تغییر کلی دادم که با صدا زدن یک تابع کار شما را انجام می دهد :
Function XDateExport : ShortString;و اینکه تمامی ابزار با سال کبیسه مشکلی ندارد.
در صورت هر مشکلی منو هم در جریان بذارید.
سلام
انتخاب گر تاریخت در ویندوز XP SP2 در زمان بسته شدن کل برنامه خطای دسترسی به DLL میده که به خاطره قالبیه که استفاده کردی .
البته در Vista & Seven مشکلی ندیدم .
کار قشنگیه من مدت هاست دارم از این DLLها استفاده میکنم .
و چند تا مشکل دیگه هم که داره اینه وقتی شروع میکنم چند ماه رو سریع عوض میکنم ناگهان برنامه یک تاریخ انتخاب میکنه و با عث بسته شدن انتخابگر میشه .
و مسئله که در نسخه قبلی هم بهش کم لطفی شده بود اینه که اجازه نمیدی تاریخ رو به انتخابگر ارسال کنیم که به جای شروع شدن از تاریخ روز از تاریخ ارسال شده شروع بشه .(برای مثال اگه فیلد متن یک تاریخ از سال 1368 باشه انتخابگر با تاریخ روز کامپیوتر شروع میشه که مشکلاتی رو برای کاربر به وجود میاره . اگه اصلاح کنی خیلی عالی میشه .)
موفق باشی
Touska
دوشنبه 25 مهر 1390, 12:32 عصر
با سلام
+ اضافه شدن تابع برگردان نام روز یک تاریخ :
Function XGetNameOfDay(XDate : ShortString) : ShortString;
+ اضافه شدن تابع برگردان نام ماه یک تاریخ :
Function XGetNameOfMonth(XDate : ShortString) : ShortString;
+ اضافه شدن تابع برگردان تاریخ به فرمت دلخواه :
Function XFormatDateTime(const XFormat: string; XDateTime: TDateTime) : ShortString;
نکته : XFormat همانند فرمت پیش فرض دلفی می باشد.
موارد همچون خطا در 1 روز و غیره در این نگارش برطرف شده است.
و همچنین نگارش جدید PersianDlg که خطای خروج آزاد سازی Skin داشت حل شد و از XCalender استفاده شده است.
و این فایل ها :
76705
76704
fahimi
سه شنبه 27 دی 1390, 20:02 عصر
با تشکر از زحمات جناب آقای مصطفی سرباززاده:
در ویندوز 7 بجای کارکتر های فارسی علامت سوال نمایش داده می شود. در ویندوز اکس پی کارکتر را بصورت صحیح نمایش می دهد . 81007در ضمن تمام تنظیمات مربوط نمایش فارسی در ویندوز 7 اعمال شده است
Touska
سه شنبه 19 اردیبهشت 1391, 11:14 صبح
چون آن زمان کمپایل با دلفی 7 بوده و و دلفی 7 Unicode نیست شما باشید
nonUnicode خود را در ویندوز 7 به Persian تغییر دهید.
rk1983xx
دوشنبه 13 آذر 1391, 00:18 صبح
با توجه به اینکه امکانات خوبی داره این dll و تقریبا بین برنامه نویسا رایج شده
حیف نیست که کبسیه و روز های هر ماه رو دقتش پایینه و تشخیص نمیده ؟
تابع xvalidate روز 31 رو برای 6 ماهه دوم سال هم قبول میکنه
BORHAN TEC
دوشنبه 13 آذر 1391, 17:04 عصر
سلام
کامپوننت خوبیه، ولی ای کاش Open Source بود که در صورت نیاز می شد توسعش داد. اون مشکل یونیکدی هم اگه سورس کامپوننت موجود باشه خیلی راحت میشه برطرفش کرد! :اشتباه:
چون آن زمان کمپایل با دلفی 7 بوده و و دلفی 7 Unicode نیست شما باشید
nonUnicode خود را در ویندوز 7 به Persian تغییر دهید.
اگه کد کامپوننت رو قرار بدین خودم این مشکل رو حل می کنم. البته اگه دوست داشتید. :لبخند:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.