PDA

نسخه کامل مشاهده نسخه کامل : كامپونت تقويم فارسي در دلفي 7



امير جان
21-12-2005, 18:20
لطفا يك كامپونت براي نمايش تقويم فارسي همانند تقويم كامپونت دلفي 7 ولي شمسي بيان داريد
در صورت امكان ايميل بزنيد
تابع مبدل ميلادي به شمسي نه بلكه بصورت مدل كه داخل فرم قرار بدهم
مثلا در برنامه به صورت منو اپراتور بتواند مشخص كند كه چند ماه ديگه روز 16 چند شنبه مي باشد

batri
22-12-2005, 03:42
سلام .سورسش هست ولی من کامپوننت براش ندیدم که رایگان باشه /فارسی هست یک پک کامل با datepicker که 7000 تومان هست

امير جان
23-12-2005, 17:01
با تشكر
از كجا وبا چه نامي قابل تهيه ميباشد

تکنیک برتر
24-12-2005, 01:23
سلام امیر جان عزیزم شما یک بار این سوال را مطرح کرده اید با دادن یک تایپک اضافه جواب بدست نمی آید که هیچ بلکه تایپک الکی درست می کنید
دوستانه گفتم ناراحت نشی
ممنون

امير جان
25-12-2005, 18:42
ممنون از راهنمائيت
ولي من به جواب نرسيدم
ديگه در اين مورد سئوال نمي كنم

saniak_robot
25-02-2006, 22:56
با سلام
این هم یه کامپوننت خوب که من تو تمام برنامه هام ازش استفاده می کنم .
مثل اینکه نمیشه تو این سایت فایل آپلود کرد.

saniak_robot
25-02-2006, 22:57
به من ایمیل بزنید تا براتون بفرستم.

امير جان
28-02-2006, 07:38
با تشكر از دوستان
يک کامپونت دوستان ازسال کردندد و مشکل من بر طرف شد

mojtaba802
20-03-2006, 08:11
اين يک تابع است
Function MiladyToShamsi(DTime:tdateTime):tdateTime;
var
YearEqual:array[0..2,0..2] of integer;
AddOneDay,AddFarDay:boolean;
AddTodays:byte;
Farday:byte;
ThisDay:word;
ThisMonth:word;
ThisYear:word;
YearDif1:Integer;
YearDif2:Integer;
TestRange1,testRange2,
FarsiRange1,FarsiRange2,P:Integer;
CurM,CurD:string;
sYear,sMonth,sDay:Variant;
Counter:Integer;
CurDay,CurMonth,CurYear:word;
Begin
CurM:='';
CurD:='';
YearEqual[1,1]:=1997;
YearEqual[1,2]:=1998;
YearEqual[2,1]:=1376;
YearEqual[2,2]:=1377;
DecodeDate(DTime,thisyear,thismonth,thisday);
YearDif1:=ThisYear-1997;
YearDif2:=ThisYear-1998;
Testrange1:=1996-(100*4);
Testrange2:=1996+(100*4);
FarsiRange1:=1375-(100*4);
FarsiRange2:=1375+(100*4);
AddOneDay:=false;
//Rem------------------------------
Counter:=TestRange1;
while TestRange2>=Counter do begin /////////////////////////
If thisYear=counter then begin
AddOneDay:=true;
break;
end;
If counter=TestRange2 then break;
counter:=counter+4
end;//while

If AddOneDay then
addtodays:=1
Else
AddTodays:=0;
//Rem---------------------------------/////////////////
If (((ThisMonth = 3) and (thisday<(20+AddtoDays)))
or ( ThisMonth<3)) then
YearDif1:=yearDif1-1;
//Rem------------
If (((thisYear mod 2)<>0) and
(((thismonth=3) and (thisday>(20-addTodays)))
or (thisMonth>4))) then
CurYear:=yearEqual[2,1]+YearDif1
else begin
CurYear:=YearEqual[2,1]+YearDif2;
Counter:=FarsiRange1;
while counter>FarsiRange2 do begin /////////////////////////
If CurYear=Counter then begin
AddFarDay:=true;
break;
end;
end;//while

If AddFarDay then
FarDay:=1 else Farday:=0;

If (((thismonth=3) and (thisday>20-(addToDays)+FarDay)) or (thismonth>3) ) then
CurYear:=CurYear+1;
end; //First If

If AddtoDays=1 then FarDay:=0;
//Rem---------------------------------
Case thismonth of
1:Begin
If thisday<(21-Farday) then begin
CurMonth:=10;
CurDay:=(ThisDay+10)+FarDay;
end else begin
CurMonth:=11;
CurDay:=(ThisDay-20)+FarDay;
end;
end;

2:Begin
If thisday<(20-Farday) then begin
CurMonth:=11;
CurDay:=(ThisDay+11)+FarDay;
end else begin
CurMonth:=12;
CurDay:=(ThisDay-19)+FarDay;
end;
End;

3:Begin
If thisday<(21-AddToDays) then begin
CurMonth:=12;
CurDay:=(ThisDay+9)+AddToDays+FarDay;
end else begin
CurMonth:=1;
CurDay:=(ThisDay-20)+AddToDays;
end;
End;

4:Begin
If thisday<(21-AddToDays) then begin
CurMonth:=1;
CurDay:=(ThisDay+11)+AddToDays;
end else begin
CurMonth:=2;
CurDay:=(ThisDay-20)+AddToDays;
end;
End;

5:Begin
If thisday<(22-AddToDays) then begin
CurMonth:=2;
CurDay:=(ThisDay+10)+AddToDays;
end else begin
CurMonth:=3;
CurDay:=(ThisDay-21)+AddToDays;
end;
End;

6:Begin
If thisday<(22-AddToDays) then begin
CurMonth:=3;
CurDay:=(ThisDay+10)+AddToDays;
end else begin
CurMonth:=4;
CurDay:=(ThisDay-21)+AddToDays;
end;
End;

7:Begin
If thisday<(23-AddToDays) then begin
CurMonth:=4;
CurDay:=(ThisDay+9)+AddToDays;
end else begin
CurMonth:=5;
CurDay:=(ThisDay-22)+AddToDays;
end;
End;

8:Begin
If thisday<(23-AddToDays) then begin
CurMonth:=5;
CurDay:=(ThisDay+9)+AddToDays;
end else begin
CurMonth:=6;
CurDay:=(ThisDay-22)+AddToDays;
end;
End;

9:Begin
If thisday<(23-AddToDays) then begin
CurMonth:=6;
CurDay:=(ThisDay+9)+AddToDays;
end else begin
CurMonth:=7;
CurDay:=(ThisDay-22)+AddToDays;
end;
End;

10:Begin
If thisday<(23-AddToDays) then begin
CurMonth:=7;
CurDay:=(ThisDay+8)+AddToDays;
end else begin
CurMonth:=8;
CurDay:=(ThisDay-22)+AddToDays;
end;
End;

11:Begin
If thisday<(22-AddToDays) then begin
CurMonth:=8;
CurDay:=(ThisDay+9)+AddToDays;
end else begin
CurMonth:=9;
CurDay:=(ThisDay-21)+AddToDays;
end;
End;

12:Begin
If thisday<(22-AddToDays) then begin
CurMonth:=9;
CurDay:=(ThisDay+9)+AddToDays;
end else begin
CurMonth:=10;
CurDay:=(ThisDay-21)+AddToDays;
end;
End;

end;//case
//Rem-----------------
CurM:=Trim(IntTostr(CurMonth));
CurD:=Trim(IntTostr(CurDay));
//Rem-----------------
If CurMonth<10 then
CurM:='0'+Trim(IntToStr(CurMonth));
If CurDay<10 then
CurD:='0'+Trim(IntTostr(CurDay));

Result:=EncodeDate(CurYear,CurMonth,CurDay);

end;
مثلا در فرم کريت بنويس:
label1.caption:=datetimetostr(MiladyToShamsi(date) );

موفق باشي
mojtaba8022000@yahoo.com
مجتبي رضائي از برازجان

hp1361
24-04-2006, 14:57
اقا اين كه ارور ميده؟

hp1361
03-05-2006, 19:52
سلام

اقا تو رو خدا راهنمايي كنين

اين برنامه براي من تاريخ 1899 رو نشون ميده

تاريخ سيستم هم رو عوض ميكنم تغييري نميكنه

ممنون

blacksun
11-05-2006, 13:46
آقايون و خانمها سلام
من يه مشكل خيلي حاد برام پيش اومده . براي يه برنامه نياز دارم كه تاريخ ميلادي رو به تاريخ هجري قمري تبديل كنم ولي چون تاريخ اين عربها حساب كتاب درستي نداره به مشكل بر ميخورم مثلا براي امسال جواب ميده ولي وقتي تو ماههاي بعدي تاريخ عربها رو دستكاري مي كنند ديگه جواب نمبده .اگه نظري داريد راهنمائيم بكنيد خيلي ممنون ميشم.

kadir
12-05-2006, 00:05
من تو وبلاگم يه تقويم فارسي خوشكل مثل مال خود دلفي گذاشتم ميتونيد ببينيد
در ضمن كامپو ننت هاي جالي ديگري هم براي دانلود گذاشتم حتماَ ببينيد
مثل كامپوننت
َAlarm
Analouge clock
و...
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

blacksun
13-05-2006, 18:57
آقا قادر دستت درد نكنه انصافا كامپوننتت حرف نداشت من كه خيلي حال كردم ولي اگه يه چيزي براي تبديل تاريخ شمسي يا ميلادي به قمري بدي كه ديگه مارو با اين اخلاق ورزشكاريت له و لورده مي كني
مرسي

abbas_beravo
14-05-2006, 08:29
بابا اين كه ارور ميده[quote]

hp1361
19-05-2006, 10:26
سلام

اقا يكي ما رو براي اين مشكل راهنمايي كنه تو رو خدا


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

اقايون خيلي ضروريه منتظرم