PDA

View Full Version : دعوت به همکاری برای نوشتن کامپوننت تاریخ جلالی



Mohammad_Mnt
دوشنبه 24 مرداد 1384, 21:44 عصر
سلام
از اون جایی که تاریخ جلالی ( خورشیدی ) یکی از ارکان اصلی برنامه ها و یکی از مشکلات اصلی برنامه نویس هاست ، پیشنهاد می کنم که یه کامپوننت تاریخ جلالی به صورت OpenSource بنویسیم .
نوع تاریخ مورد استفاده باید طوری باشه که کاملا با TDateTime سازگار باشه و Function های تاریخ جلالی و میلادی رو داشته باشه ( مثلا برای ChristMonthName به صورت فارسی کلمه " ژانویه " رو برگردونه )
منتظرم

بابک زواری
دوشنبه 24 مرداد 1384, 23:55 عصر
یک سری به سایت تخصیصی asp بزن آدرسش یادم نیست همونی که آموزش asp فارسی هست .
اونجا سورسش هست در ضمن .Net 2.0 هم ساپورتش میکنه.

E_Alikhani
سه شنبه 25 مرداد 1384, 09:56 صبح
سلام
من قبلا برای برنامه های خودم تبدیل تاریخ میلادی یه شمسی را نوشتم ولی هنوز وقت نشده که اون به کامپونیت تبدیل کنم برای ارتباط بیشتر و یا اطلاعات بیشتر به سایت ما www.mabrosoft.com یک سری بزن و یا Email : E_D_Alikhani@yahoo.com بزن
بهتر اینکه من هم از شهر اصفهان هستم
با درود فراوان

Mohammad_Mnt
سه شنبه 25 مرداد 1384, 15:22 عصر
سایت تخصیصی asp

آدرس ؟

من فعلا شروع کردم :


unit SolarDate;

interface

{ Start : Solar 1278/10/09 , Christ 1899/12/30 }

function solarEncodeDate(solarYear,solarMonth,solarDay: word): TDateTime;
function solarIsLeap(solarYear: word): Boolean;

implementation
uses
SysUtils,Dialogs;

const
solarMonths: array[boolean] of array[1..12] of byte = ((31,31,31,31,31,31,30,30,30,30,30,29),(31,31,31,3 1,31,31,30,30,30,30,30,30));
christMonths: array[boolean] of array[1..12] of byte = ((31,28,31,30,31,30,31,31,30,31,30,31),(31,29,31,3 0,31,30,31,31,30,31,30,31));
beginYearDelta= -466700; { delta between 1/1/1 and 1278/10/09 }
leapDuration= 33;
numLeapInDuration= 8;

function solarIsLeap(solarYear: word): Boolean;
var
modval: byte;
begin
modval:= abs(solarYear mod leapDuration);
result:= ((modval = 1) or (modval = 5) or (modval = 9) or (modval = 13) or
(modval = 17) or (modval = 22) or (modval = 26) or (modval = 30));
end;

function solarEncodeDate(solarYear,solarMonth,solarDay: word): TDateTime;
var
numLeap,i:integer;
delta:double;
begin
if ( ( solarYear<1 ) or ( solarMonth<1 ) or ( solarDay<1 ) or ( solarYear>9999 )
or ( solarMonth>12 ) or ( solarDay>solarMonths[solarIsLeap(solarYear),solarMonth] ) ) then
raise ERangeError.Create('Range Error');

numLeap := ((solarYear div leapDuration) *numLeapInDuration);
case (solarYear mod leapDuration) of
00..01 : numLeap:= numLeap + 0;
02..05 : numLeap:= numLeap + 1;
06..09 : numLeap:= numLeap + 2;
10..13 : numLeap:= numLeap + 3;
14..17 : numLeap:= numLeap + 4;
18..22 : numLeap:= numLeap + 5;
23..26 : numLeap:= numLeap + 6;
27..30 : numLeap:= numLeap + 7;
31..32 : numLeap:= numLeap + 8;
end;

delta:= (solarYear - 1) * 365 + numLeap + solarDay + beginYearDelta;
for i:= 1 to solarMonth-1 do
delta:= delta+ ( solarMonths[solarIsLeap(solarYear),i] );

result:= TDateTime( delta );

end;

end.

دنیای دلفی
سه شنبه 25 مرداد 1384, 16:31 عصر
فقط کافی شما سری به سایت www.farsicomponents.com بزنید

H.Yousefi
سه شنبه 25 مرداد 1384, 18:58 عصر
سلام
از اون جایی که تاریخ جلالی ( خورشیدی ) یکی از ارکان اصلی برنامه ها و یکی از مشکلات اصلی برنامه نویس هاست ، پیشنهاد می کنم که یه کامپوننت تاریخ جلالی به صورت OpenSource بنویسیم .
نوع تاریخ مورد استفاده باید طوری باشه که کاملا با TDateTime سازگار باشه و Function های تاریخ جلالی و میلادی رو داشته باشه ( مثلا برای ChristMonthName به صورت فارسی کلمه " ژانویه " رو برگردونه )
منتظرم
سلام.
من خودم تونسته ام کامپوننت تاریخ جلالی را با نام HijriDate بنویسم. حالا اگه شما دوست دارین می تونین یه نامه به آدرس h.yousefi@aeghboloori.com بفرستی و انو دریافت کنی.
منتظرم.
مهندس یوسفی

Mohammad_Mnt
جمعه 28 مرداد 1384, 13:10 عصر
فقط کافی شما سری به سایت www.farsicomponents.com بزنید

و کافیه 000 318 تومن پول بدین ( نگارش سازمانی )
می شه لطفا پارازیت نندازین و فقط همکاری کنین ؟



من خودم تونسته ام کامپوننت تاریخ جلالی را با نام HijriDate بنویسم

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

مرسی از همکاریتون

kimiya_aaa
جمعه 28 مرداد 1384, 14:46 عصر
چه کار مهمی... صد تا سورس هست... در ضمن من نمی دونم فایده این هجری قمری و شمسی چی هست؟ فکر کنم بگردی کامپوننت مجانیش هست من یکی رو داشتم دو دانشکده مجانی...

hosseinzadeh
شنبه 29 مرداد 1384, 15:20 عصر
http://www.salarsoft.somee.com/downlist/comp_downloads.htm

Mohammad_Mnt
یک شنبه 30 مرداد 1384, 22:39 عصر
تسلیم ! تسلیم !