-
نقل قول: كامپوننت تقويم شمسی
یک مشکل دیگر هنگام استفاده از کامپوننت در ویندوز 7 (من با دلفی 2010 کار می کنم )
لیبل یا پنل( یا هر نوع آبجکتی که هست ) ورود سال به صورت مخفی در می آید
تا زمانی که کاربر بر رویش کلیک بکند یا focus شود .
فکر بکنم مشکل در همخوانی استایل های ویندوز ها می باشد! و با تغییر نوع آبجکتی که در کامپوننت create کرده اید مشکل حل شود یا بررسی بکنید که آیا آبجکتی که ساخته اید برای ورود سال properties ی دارد که بشود این مشکل را حل کرد و شما هم در خصوصیات کامپوننت تان ارجاعش بدهید مثلا خصوصیت رنگ یا استایل یا فونت یا حتی فاکوس .
متشکرم.
-
نقل قول: كامپوننت تقويم شمسی
با سلام و خسته نباشید و تشکر از زحمات آقای خرسندی. تعدادی از موارد به شرح ذیل:
1- CaptionColor رنگ پانل بالای فرم را تغییر نمیدهد. هنگام ایجاد تقویم همان رنگ زمینه نمایش داده میشود.
2- با تاریخ میلادی کار نمیکند. حداقل در ویندوز 7. احتمالا باید فرمت تاریخ را در ویندوز عوض کرد تا مشکل حل شود. که اینکار برای یک کمپوننت تاریخ ایراد است.
3- اگر ویژگی برای تنظیم عرض خطوط جدول وجود داشته باشد بهتر است.
4- اگر بشود آیکون دکمه های تقویم را خودمان انتخاب کنیم بهتر است. مانند SpeedButton
با تشکر
-
نقل قول: كامپوننت تقويم شمسی
امروز به یه مشکل تو این کامپوننت برخورد کردم که خوشبختانه بطرف کردم.
مشکل اینه که تابع DecDay که یه پارامتر عددی داره و برحسب مقدار پارامتر روز را کم کرده و تاریخ را نمایش میده . البته با کم کردن روز ، ماه و سال هم کم میشه. مشکل اینجاست که وقتی مثلا تاریخ 1390/11/02 باشه و حالا از این تاریخ 7 روز را توسط تابع DecDay کم کنید ، آن وقت خروجی شما خواهد بود 1390/10/30 و این تاریخ صحیح نیست.
کد زیر را جایگزین کد کامپوننت کنید.
function DecDay(ADate: string; DateKind: TDateKind; ANumberOfDay: integer = 1): string;
var
Year, Month, Day: word;
TempDay: Integer;
begin
SeparateYMD(ADate, Year, Month, Day);
if Day - ANumberOfDay >= 1 then
Dec(Day, ANumberOfDay)
else
begin
if Month > 1 then
begin
{Update Code}
TempDay:= Day {Insert};
Dec(Month);
Day := DaysOfMonths[DateKind, Month];
{Dec Day Now Return True Day}
Dec(Day, Abs(TempDay - ANumberOfDay));{Insert}
end
else
DecMonth(ADate, DateKind, ANumberOfDay);
end;
Result := ConcatenateDate(Month, Year, Month, Day);
end;
-
نقل قول: كامپوننت تقويم شمسی
سلام استاد خرسندی
من زمانی که با دلفی 7 کارمیکردم از کامپوننت شما استفتده کردم و بسیارهم ازش لذت بردم
ازبابت زحمتهاتون ممنونم
حالا که با Delphi XE2 کارمیکنم و کامپوننت رو دراون نصب کردم زمان نصب هیچ خطایی نمیده اما زمانی که میخوام توی برنامه ازش استفاده کنم Error میده
"DCC Fatal Error] Unit1.pas(7): F1026 File not found: 'SolarCalendarPackage.dcu"
لطفاٌ راهنماییم کنید
-
نقل قول: كامپوننت تقويم شمسی
نقل قول:
نوشته شده توسط
masoud_salimy
سلام استاد خرسندی
من زمانی که با دلفی 7 کارمیکردم از کامپوننت شما استفتده کردم و بسیارهم ازش لذت بردم
ازبابت زحمتهاتون ممنونم
حالا که با Delphi XE2 کارمیکنم و کامپوننت رو دراون نصب کردم زمان نصب هیچ خطایی نمیده اما زمانی که میخوام توی برنامه ازش استفاده کنم Error میده
"DCC Fatal Error] Unit1.pas(7): F1026 File not found: 'SolarCalendarPackage.dcu"
لطفاٌ راهنماییم کنید
مسير كامپوننت رو به مسيرهای دلفی اضافه كنيد.
-
نقل قول: كامپوننت تقويم شمسی
ممنون که وقت گذاشتین
توی Delphi XE2 چطور باید این کارو بکنم؟
-
نقل قول: كامپوننت تقويم شمسی
Tools Menu -> Options - > Environment Options -> Delphi Options -> Library -> Library Path
در ضمن، من اين كامپوننت رو برای دلفی 7 و 2009 و 2010 تست كردم. نسخهای كه كاملن با XE و XE2 سازگار باشه تا چند روز آينده منتشر ميشه.
-
نقل قول: كامپوننت تقويم شمسی
آقای خرسندی دم عیدی نمی خوای به بچه های برنامه نویس عیدی بدی؟
آقا نسخه جدید رو آپدیت کنید. چندتا مشکل جزئی در نسخه فعلی هست که توسط خودتون حل شدنیه.
تشکــــــــــر
-
نقل قول: كامپوننت تقويم شمسی
با سلام ، من این کامپوننت را روی دلفی 2010 نصب کردم و در نصب آن مشکلی نداشتم ولی وقتی این کامپوننت را بر روی فرم ها می گذارم فونت های نمایشی حالتی غیر از unicode دارند باید چطور حل کنم .
-
نقل قول: كامپوننت تقويم شمسی
نقل قول:
نوشته شده توسط
m-khorsandi
Tools Menu -> Options - > Environment Options -> Delphi Options -> Library -> Library Path
در ضمن، من اين كامپوننت رو برای دلفی 7 و 2009 و 2010 تست كردم. نسخهای كه كاملن با XE و XE2 سازگار باشه تا چند روز آينده منتشر ميشه.
کامپوننت مشکل خاصی با نسخه XE نداره ( در حال حاضر ازش در نسخه XE استفاده می کنم و بدون مشکل اجرا می شه ) فقط اگه اشتباه نکنم دوتا از متغیر ها رو باید تغییرش بدید که این کار رو همه می تونن توی کامپوننت اعمال کنند .
-
نقل قول: كامپوننت تقويم شمسی
نقل قول:
نسخهای كه كاملن با XE و XE2 سازگار باشه تا چند روز آينده منتشر ميشه.
آقای خرسند! پس فردا میشه 2ماه از این نوشته شما! این چند روزی که فرمودین به پایان نمیرسه؟؟:گیج:
البته اینم بگم که من آخرین آپدیت کامپوننت شما رو دارم توی دلفی XE2 استفاده میکنم و هیچ مشکلی هم برای نصب و اجرای کامپوننت و برنامههام ندارم!!
-
نقل قول: كامپوننت تقويم شمسی
با سلام خدمت آقای خرسندی
امروز بر حسب نیاز برای استفاده از پارامتر عددی تابع IncDay این کامپوننت، به مشکل مشابه تابع DecDay این دوستمون (که خودشون رفع کردن) برخوردم!!!
کد تابع مربوطه رو دستکاری کردم ولی خروجی درستی نداد.
ممنون میشم این مشکل اصلاح بشه.
نقل قول:
نوشته شده توسط
AliReza Vafakhah
امروز به یه مشکل تو این کامپوننت برخورد کردم که خوشبختانه بطرف کردم.
مشکل اینه که تابع DecDay که یه پارامتر عددی داره و برحسب مقدار پارامتر روز را کم کرده و تاریخ را نمایش میده . البته با کم کردن روز ، ماه و سال هم کم میشه. مشکل اینجاست که وقتی مثلا تاریخ 1390/11/02 باشه و حالا از این تاریخ 7 روز را توسط تابع DecDay کم کنید ، آن وقت خروجی شما خواهد بود 1390/10/30 و این تاریخ صحیح نیست.
کد زیر را جایگزین کد کامپوننت کنید.
function DecDay(ADate: string; DateKind: TDateKind; ANumberOfDay: integer = 1): string;
var
Year, Month, Day: word;
TempDay: Integer;
begin
SeparateYMD(ADate, Year, Month, Day);
if Day - ANumberOfDay >= 1 then
Dec(Day, ANumberOfDay)
else
begin
if Month > 1 then
begin
{Update Code}
TempDay:= Day {Insert};
Dec(Month);
Day := DaysOfMonths[DateKind, Month];
{Dec Day Now Return True Day}
Dec(Day, Abs(TempDay - ANumberOfDay));{Insert}
end
else
DecMonth(ADate, DateKind, ANumberOfDay);
end;
Result := ConcatenateDate(Month, Year, Month, Day);
end;
-
نقل قول: كامپوننت تقويم شمسی
نقل قول:
نوشته شده توسط
حسین خانی
با سلام خدمت آقای خرسندی
امروز بر حسب نیاز برای استفاده از پارامتر عددی تابع IncDay این کامپوننت، به مشکل مشابه تابع DecDay این دوستمون (که خودشون رفع کردن) برخوردم!!!
کد تابع مربوطه رو دستکاری کردم ولی خروجی درستی نداد.
ممنون میشم این مشکل اصلاح بشه.
شما یذره نبوغ به خرج بدهید انقدر نیاز نخواهید داشت تا سازنده که انگار هم خیلی سرشون شلوغه ، مشکلات رو رفع کنند.
من الآن از این کامپوننت تو چندتا برنامه هام استفاده کردم و چندتا مشکلاش رو خودم حل کردم
این کد DecDay که من باهاش مشکلی ندارم و البته این رو هم بگم که کد رو عجله ای نوشتم.
function DecDay(ADate: string; DateKind: TDateKind; ANumberOfDay: integer = 1): string;
var
Year, Month, Day: Word;
Y, M, D: string;
TempDay: Integer;
begin
if (ANumberOfDay > 30) then
Exit(ADate);
SeparateYMD(ADate, Year, Month, Day);
if (Day - ANumberOfDay >= 1) then
Dec(Day, ANumberOfDay)
else
begin
if Month > 1 then
begin
{Update Code}
TempDay:= Day {Insert};
Dec(Month);
Day := DaysOfMonths[DateKind, Month];
{Dec Day Now Return True Day}
Dec(Day, Abs(TempDay - ANumberOfDay));{Insert}
if ((Day > 32 {Condions}) or (Day = 0)) then
begin
Dec(Month);
Day := DaysOfMonths[DateKind, Month];
TempDay:= Abs(ANumberOfDay - Day) ;
Dec(ANumberOfDay, TempDay);
Day:= ANumberOfDay;
end;
end
else
begin
{Insert Code at : 1391/01/02 14:25}
if (Day <= ANumberOfDay) and (Month = 1) then {e.g : 1391/01/01}
begin
ADate:= DecMonth(ADate, DateKind);
Day:= ((DaysOfMonths[DateKind, 12]) - ANumberOfDay) + Day;
if ((Day > 32 {Condions}) or (Day = 0)) then
begin
Day := DaysOfMonths[DateKind, 12];
TempDay:= Abs(ANumberOfDay - Day);
Dec(ANumberOfDay, TempDay);
Day:= ANumberOfDay;
end;
end
else
Day:= Day - ANumberOfDay;
SeparateParts(ADate, Y, M, D);
Exit(ConcatenateDate(StrToInt(M), StrToInt(Y), StrToInt(M), Day));
{End of Insert}
end;
end;
Result:= ConcatenateDate(Month, Year, Month, Day);
end;
-
نقل قول: كامپوننت تقويم شمسی
تقويم ايرانی/ميلادی نسخه 3.0
Solar Calendar 3.0
- XE
- XE2
- DataSet
- New Interface
- New Functionalities
-
1 ضمیمه
نقل قول: كامپوننت تقويم شمسی
با سلام.
جناب خرسندي با تشكر مجدد بخاطر آپلود نسخه جديد تقويم.
زماني كه ميخوام دانلودش كنم وارد اين صفحه ميشه كه در تصوير زير ميبينيد و ديگه گزينه اي براي دانلود نداره.
در اين صفحه چي كار بايد كرد تا دانلود بشه.؟
ضمیمه 88776
-
نقل قول: كامپوننت تقويم شمسی
توی همین عکس، زیر تب شیتها دلیل عدم دانلود رو نوشته،
فقط کافیه که روی دلیلش کلیک کنی.
-
نقل قول: كامپوننت تقويم شمسی
با سلام
برای نصب در دلفی 2010 بعد از اینکه Compile میزنم، این خطا رو میده :
[DCC Error] SolarCalendarPackage.pas(٣٢٩٢): E٢٠٠٣ Undeclared identifier: 'FormatSettings'
لطفا راهنمایی بفرمایید.
-
نقل قول: كامپوننت تقويم شمسی
مشكل بر طرف شد، لطفاً دوباره دانلود كنيد.
Solar Calendar 3.0.1
-
نقل قول: كامپوننت تقويم شمسی
با تشکر
آیا در دلفی 7 میشه نصب کرد ؟
-
نقل قول: كامپوننت تقويم شمسی
بله،
دلفی 7، 2007، 2009، 2010، XE و XE2 .
-
نقل قول: كامپوننت تقويم شمسی
پیغام
[DCC Error] E1026 File not found: 'Calendar_Images.res'
میده
Delphi XE2
-
نقل قول: كامپوننت تقويم شمسی
فايل Calendar_Images.res بايد داخل فايل Solar_Calendar_Package_v3.0.1.rar باشه.
-
نقل قول: كامپوننت تقويم شمسی
موقعی رو فرم قرار میدهم فارسی به خوبی نمایش می ده ولی موقع اجرا کلمات به صورت ناخوانا دیده می شوند. میشه راهنمایی کنید؟ آیا در محیط دلفی (XE2) تنظیم خاصی وجود داره. چون وقتی سمپل خود شما رو اجرا می کنم مشکلی وجود نداره؟:افسرده:
-
نقل قول: كامپوننت تقويم شمسی
تنظیمات ویندوز رو برام بفرستید
-
نقل قول: كامپوننت تقويم شمسی
سلام آقای خرسندی
از زحماتتان متشکریم
ولی بازهم ببرای تاریخ میلادی مشکل دارد اصلا چرا از encodedate در کامپوننتان استفاده نمی کنید؟
یا اگر هم نمیتوانید این جوری مشکل را حل بکنید مثل تاریخ شمسی باهاش برخورد بکنید یعنی از نوع رشته بگیریدش و خلاص
ممنون
-
نقل قول: كامپوننت تقويم شمسی
با چه نوع فرمتی مشكل داره؟
-
نقل قول: كامپوننت تقويم شمسی
موقعی که ویندوز ما فرمت تاریخ میلادیش فرق بکند با مشکل مواجه می شود.
فکر بکنم در داخل کامپوننت فرمت تاریخ میلادی yyyy/mm/dd باشد پس موقعی که ویندوز ما فرمت تاریخش به صورت dd/mm/yyyy باشد با مشکل مواجه می شود
یعنی موقعی که بر روی دکمه solardatepiker کلیک می کنیم (موقعی که مقدار text آن خالی است مشکلی ندارد) مقدار text در کامپوننت به تاریخ میلادی با فرمت ثابت تبدیل می شود
و در این هنگام سیستم تاریخ میلادی را نمی تواند شناسایی بکند و error می دهد، فکر بکنم با استفاده از تابع encodedate مشکل حل بشود ولی قبل از آن نیاز به شناسایی و جدا کردن روز و ماه و سال میلادی و تبدیل آنها به مقدار عددی می باشد.
موفق باشید از زحماتتان کمال تشکر را دارم.
-
نقل قول: كامپوننت تقويم شمسی
سلام من یک برنامه دارم که بارها و بارها از نسخه قبلی درش استفاده شده میتونم ببا دست کاری کد های این جدیده رو جای گزین کنم؟مثلا با نوت پد؟
-
نقل قول: كامپوننت تقويم شمسی
سلام آقای
ehstrn2010
موقع نصب کامپوننت error می دهد.
PngImage_29 RCData "..\\..\\..\\Desktop\\1\\29.png"
عکسها را نمی شناسد.
-
نقل قول: كامپوننت تقويم شمسی
با سلام و تشكر
مطمئن هستيد كه توي دلفي 7 نصب ميشه؟
ارور زياد ميده.
-
نقل قول: كامپوننت تقويم شمسی
[Error] SolarCalendarPackage.pas(5430): Undeclared identifier: 'GradientFillCanvas'
[Error] SolarCalendarPackage.pas(5430): Undeclared identifier: 'gdVertical'
[Error] SolarCalendarPackage.pas(5753): Undeclared identifier: 'GradientFillCanvas'
[Error] SolarCalendarPackage.pas(5753): Undeclared identifier: 'gdVertical'
[Error] SolarCalendarPackage.pas(5965): Object or class type required
[Error] SolarCalendarPackage.pas(5965): Object or class type required
[Error] SolarCalendarPackage.pas(5965): Incompatible types: 'TButtonType' and 'Integer'
[Error] SolarCalendarPackage.pas(5971): Undeclared identifier: 'GradientFillCanvas'
[Error] SolarCalendarPackage.pas(5971): Undeclared identifier: 'gdVertical'
[Error] SolarCalendarPackage.pas(5977): Undeclared identifier: 'GradientFillCanvas'
[Fatal Error] SolarCalendarPack.dpk(39): Could not compile used unit 'SolarCalendarPackage.pas'
-
نقل قول: كامپوننت تقويم شمسی
اول یک تشکر ویژه بابت کامپوننت
یک باگ کوچیک ! :
می خوام با استفاده از TSolarMonthCalender و مقادیر زیر :
MC.DayName + ' ' + IntToStr(MC.Day) + ' ' + MC.MonthName + ' ' + IntToStr(MC.Year);
یک رشته مثل این بسازم : " پنجشنبه 27 مهرماه 1391 "
اما رشته ای که ساخته میشه اینه : " جمعه 0 0 Sut " !
به نظر میاد در هنگام گرفتن مقدار day این مشکل پیش میاد ، اگر این مقدار رو از دستورات بالا حذف کنیم :
MC.DayName + ' ' + MC.MonthName + ' ' + IntToStr(MC.Year);
این رشته ساخته میشه : " پنجشنبه مهرماه 1391 "
به نظر میرسه موقع گرفتن مقدار day مشکلی به وجود میاد
پ.ن : از دلفی 2010 و ویندوز 7 نسخه ی Ultimate 64 Bit استفاده می کنم
-
نقل قول: كامپوننت تقويم شمسی
با سلام خدمت آقاي محمد خرسندي
يك ايراد يا باگ
از تاريخ 1399 به بعد تاريخ 1100 رو نشون ميده و ميره از 1300 شروع ميكنه ...
-
نقل قول: كامپوننت تقويم شمسی
نقل قول:
اول یک تشکر ویژه بابت کامپوننت
یک باگ کوچیک ! :
می خوام با استفاده از TSolarMonthCalender و مقادیر زیر :
MC.DayName + ' ' + IntToStr(MC.Day) + ' ' + MC.MonthName + ' ' + IntToStr(MC.Year);
یک رشته مثل این بسازم : " پنجشنبه 27 مهرماه 1391 "
اما رشته ای که ساخته میشه اینه : " جمعه 0 0 Sut " !
به نظر میاد در هنگام گرفتن مقدار day این مشکل پیش میاد ، اگر این مقدار رو از دستورات بالا حذف کنیم :
MC.DayName + ' ' + MC.MonthName + ' ' + IntToStr(MC.Year);
حدس من اينه كه ايراد تو اين function باشه :
function TSolarMonthCalendar.GetDay: integer;
begin
//ResetYMD(Text, FCurrYear, FCurrMonth, FCurrDay);
ResetYMD(OutDate, FCurrYear, FCurrMonth, FCurrDay);
if FCurrDay > 0 then
Result := FCurrDay
else
Result := 0;
end;
در اين function با تغيير متغير Text به OutDate مشكل حل مي شه .
شايد كامپوننتي كه غير اين مورد ، موردهاي ديگه اي در آن اصلاح كردم رو هم آپلود كنم
فعلا كه سرور برنامه نويس سرش شلوغه
-
نقل قول: كامپوننت تقويم شمسی
با سلام خدمت دوستان
ورژن اصلاح شده Solar_Calendar_Package_3_0_2 رو براي دانلود گذاشتم تا بلكه زودتر ايرادهاش رفع بشه و يك تقويم كاملاً حرفه اي فارسي داشته باشيم
البته بايد از آقاي خرسندي عزيز تشكر كرد
ايرادات مشاهده شده توسط من :
1- از تاريخ 1399 به بعد تاريخ 1100 رو نشون ميده و ميره از 1300 شروع ميكنه ...
البته اگه آقاي تاجیک لطف كنند و اين پست رو پاك نكنند
-
نقل قول: كامپوننت تقويم شمسی
سلام برای دلفی xe3 سازگار هست؟:اشتباه:
-
نقل قول: كامپوننت تقويم شمسی
با سلام خدمت استاد خرسندی و سایر اساتید
ظاهرا با ویندوز سون مشکل دارد . ابا سایر دوستان به این مشکل برخورد کرده اند؟ راه حل ان چیست؟ متشکرم
-
نقل قول: كامپوننت تقويم شمسی
نقل قول:
نوشته شده توسط
khoshblagh
ظاهرا با ویندوز سون مشکل دارد . ابا سایر دوستان به این مشکل برخورد کرده اند؟
اولا که چه مشکلی!!؟
و ثانیا بنده با آخرین ورژن این کامپوننت تحت ویندوز 7 و دلفی 2010 بدون مشکلی ازش استفاده می کنم.
در ضمن با تغییراتی اندک قابلیت نمایش تعطیلات رسمی را هم اضافه کردم.
-
نقل قول: كامپوننت تقويم شمسی
دوستان من به دلایلی مجبورم اینو تو دلفی 7 استفاده کنم موقع نصب این ارور ها رو میده کسی میدونه چطور باید برطرفشون کرد؟
[Error] SolarCalendarPackage.pas(5430): Undeclared identifier: 'GradientFillCanvas'
[Error] SolarCalendarPackage.pas(5430): Undeclared identifier: 'gdVertical'
[Error] SolarCalendarPackage.pas(5753): Undeclared identifier: 'GradientFillCanvas'
[Error] SolarCalendarPackage.pas(5753): Undeclared identifier: 'gdVertical'
[Error] SolarCalendarPackage.pas(5965): Object or class type required
[Error] SolarCalendarPackage.pas(5965): Object or class type required
[Error] SolarCalendarPackage.pas(5965): Incompatible types: 'TButtonType' and 'Integer'
[Error] SolarCalendarPackage.pas(5971): Undeclared identifier: 'GradientFillCanvas'
[Error] SolarCalendarPackage.pas(5971): Undeclared identifier: 'gdVertical'
[Error] SolarCalendarPackage.pas(5977): Undeclared identifier: 'GradientFillCanvas'
[Fatal Error] SolarCalendarPack.dpk(39): Could not compile used unit 'SolarCalendarPackage.pas'
-
نقل قول: كامپوننت تقويم شمسی
آقای خرسندی، آیا این کامپوننت برای XE3 هم جواب میده؟؟
چون موقع نصب ارر های زیادی گرفته میشه