|
|
لطفا منتظر بمانید !!!تابع تبدیل تاریخ میلادی به شمسی در دلفی
از امروز قصد داریم در کنار آموزش گام به گام انواع زبان های برنامه نویسی ، همزمان به مباحث پیشرفته ی آنها نیز بپردازیم تا موجبات رضایتمندی کسانی که کمی حرفه ای ترند را نیز فراهم نماییم .
تابعی که اکنون قصد ارائه ی آن را داریم همواره یکی از دغدغه های برنامه نویسان فارسی زبان دلفی است .
این تابع تاریخ میلادی ویندوز کاربر گرفته و آن را به معادل شمسی برمی گرداند . شما از این تابع برای نمایش تاریخ شمسی در برنامه هایتان میتوانید استفاده کنید .
بعد از قسمت implementation یونیت مربوطه ، تابع زیر را قرار دهید:
Implementation
{$R *.dfm}
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;
مثال: یک label روی فرم بذارید و در رویداد FormCreate فرم مربوطه بنويسید:
Procedure TForm1.FormCreate (Sender: TObject);
Begin
label1.caption:=DateTimeToStr (MiladyToShamsi (Date));
End;
» سورس برنامه ماشین حساب به زبان دلفی ( پنج شنبه 22 مرداد ماه 1388 - 00:13:48)
» 100 سوال و جواب درباره برنامه نویسی دلفی 7 ( چهار شنبه 24 تیر ماه 1388 - 23:06:59)
» آموزش نصب انواع کامپوننت ها در دلفی ( دوشنبه 25 خرداد ماه 1388 - 14:29:17)
» ساخت یک برنامه نصب توسط InstallShield ( یکشنبه 24 خرداد ماه 1388 - 23:12:43)
» سورس بازی دوز (هوشمند و پیشرفته) به زبان دلفی ( شنبه 12 اردیبهشت ماه 1388 - 14:08:16)
» اتصال به پایگاه داده SQL Server در دلفی ( پنج شنبه 03 اردیبهشت ماه 1388 - 20:26:48)
» سورس برنامه کارت سوخت به زبان دلفی ( شنبه 15 فروردین ماه 1388 - 19:24:19)
» آموزش برنامه نویسی دلفی 7 ( بخش دوم ) ( چهار شنبه 28 اسفند ماه 1387 - 17:28:44)
» مقدمه ای بر زبان برنامه نویسی دلفی ( جمعه 06 دی ماه 1387 - 12:02:22)
|
|
lمهسا پنج شنبه 10 تیر ماه 1389 10:2:51 |
|
مرسی بابت این تابعی که گذاشتی تو وبت
درود بر تو ;) |
|
|
|
شهرام یزدان پناه چهار شنبه 14 بهمن ماه 1388 8:1:22 |
|
خیلی ممنونم
استفاده شد در یکی از پروژه هایم. دعاتون می کنیم |
|
|
|
مشترک فید ما شوید تا از آخرین مطالب و بروز رسانی های سایت با خبر شوید . Feed چیست و چگونگی استفاده از آن ؟ |
» کتاب الکترونیکی تند آموز شبکه (مختصر و مفید)
» کتاب الکترونیکی آموزش حرفه ای ASP.net 3.0 به زبان فارسی
» به مناسبت میلاد امیرالمومنین و روز پدر :: نرم افزار احادیث صوتی امام علی (ع) برای موبایل
» موزیک پس زمینه مسابقات فوتبال جام جهانی (تیتراژ برنامه یک جهان یک جام شبکه 3)
» نمونه سوالات دروس تخصصی و عمومی نیمسال اول 88-89 رشته کامپیوتر و آی تی دانشگاه پیام نور
» نمونه سوالات رشته كامپيوتر و فناوري اطلاعات همراه با پاسخ تستي و تشريحي - لينك مستقيم و دائمي
» Blusky :: نرم افزار ارسال بلوتوث گروهی از کامپیوتر های شخصی
» حل کاملا تشریحی نمونه سوالات نیمسال اول دروس مبانی کامپیوتر + برنامه نویسی پیشرفته + ساختمان داده ها
» به مناسبت میلاد حضرت فاطمه زهرا (س) و روز مادر ؛ کتاب الکترونیکی فاطمه فاطمه است نوشته دکتر علی شریعتی
» جزوه کامل آموزش زبان برنامه نویسی پاسکال (تالیف مهندس مهدی محمدی)
» با Everything 1.2 فایل مورد نظرتان را در یک چشم به هم زدن پیدا کنید !!!
» حل تمرینات کتاب درس و کنکور C مهندس حمیدرضا مقسمی + 150 برنامه حل شده به زبان C
» نسخه پایدار مرورگر گوگل کروم ۵ منتشر شد
» برنامه کامل بازی های جام جهانی 2010 آفریقای جنوبی با فرمت جاوا برای موبایل
با سلام و خسته نباشید ببخشید من کتاب حل تمرین زبان اسمبلی قمی یا مقسمی رو می خواستم میشه لطف کنید رو سایت قرار بدین ممنون ...
ba salam,khaily ali ...
مرسی متنتون خیلی خلاصه ولی عالی بود شهریور ...
salam www.techno-electro.com berin halesho ...
عالی ...
از شما تشکر ...
اگه میشه جزوه ی آموزشی برنامه سازی پیشرفته دانشگاه پیام نورروبرام ایمیل کنید.مرسی ...
...
YADAM RAFT BEGAM ASOL MABANI TERM88-89-1VA88-89-2 RA AGAR DARID BEZARID VAGHEAN NIYAZ ...
mamnoon Aaali bood! moshkelam hal shod. Aval nemitoonestam bahash kar konam . yekbaram kolle ettela\'atamo az dast dadam... vali ba in amoozesh toonestam hardam ro az avval Partition bandi konam o Drive besazam. Thanks. ...
برنامه نویس
انجمن نجوم آسمان کویر
پی سی گیمز
دانلود کامل
آيتيتِچ
علیرضا وب
آرشیو بزرگ دانلود فایل ها
اژدری
سایت تخصصی موبایل صراط
فوتو بلاگ حامد رضازاده
سرزمين كامپيوتر
پایگاه خبری فناوری اطلاعات برسام
BIA2BND
آفتاب دانلود
پارس بوک
شبکه کامپیوتر ایران
سافت مدیا | Softmedia
کتابخانه الکترونیکی ویکیو
7learn
پادشاه کامپیوتر
راحت دانلود
ایرو آی تی
دانشگاه صنعتی شاهرود
مجله کامپیوتر ایران
سایت بزرگ تك محفل
سیب سبز
یک موبایل
ترفندسیتی
پاتوق تخصصی نرم افزار
برنامه ها
آریا موبایل
آی تی بلاگ
سجاد آقاپور
مجله های روز دنیا
سایت تخصصی دانلود موبایل
دانلود نرم افزار
وب شهر
باغملک دانلود
سايت تخصصي كامپيوتر
گیاهپزشکی از منظر حشرات
نون وا
یک گالری
پروژه
دنیای قالب ایرانیان
مرکز تخصصی موبایل
آموزش دروس پيام نور+ لینک خود را اضافه کنید
برای رزرو تبلیغات با شماره 09139616246 تماس بگیرید ...
اولین حافظه ی ۲۰ نانومتری! به سوی دنیایی جدید
قرار دادن فایل ویدئویی به عنوان پسزمینه دسکتاپ ویندوز 7
تنها تلويزيون FULL LED دنیا وارد بازار ایران شد
حل تمرین ریاضی 2 پیام نور (رشته کامپیوتر)
جزوه آموزشی درس ذخیره و بازیابی اطلاعات
PHP چیست؟ (مقدمه بر زبانPHP) بخش اول
کتاب ساختمان داده ها و الگوریتم ها (تالیف جعفر تنها و ناصر آیت) در قالبPDF – چاپ 1387
نمونه سوالات دروس تخصصی و عمومی نیمسال اول 88-89 رشته کامپیوتر و آی تی دانشگاه پیام نور
لیست کامل خطاهای مودم و اتصال به اینترنت بر روی موبایل
رهبر معظم انقلاب سال 89 را "سال همت مضاعف ، کار مضاعف" ناميدند
Farsi.Net اولین زبان برنامه نویسی کاملا فارسی
برنامه کامل بازی های جام جهانی 2010 آفریقای جنوبی با فرمت جاوا برای موبایل
کتاب الکترونیکی راهنمای جامع دلفی 7 ( از سری انتشارات ناقوس )
9 مرجعی که توسعه دهندگان وب نباید از دست بدهند !!!
امکان دریافت کارت ورود به جلسه از سیستم جامع گلستان
قابلیت جدید Gmail :: پیوست کردن فایل ها با یک Drag & Drop ساده
چگونه دانش دلفی را برای یادگیری ویژوال بیسیک به کار بگیریم ...
آشنایی با پیشرفته ترین گروه هکری جهان موسوم به L0PHT
جزوه حل تمرینات کتاب برنامه سازی پیشرفته تالیف دکتر احمد فراهی (منبع پیام نور)
توصیه هایی به آنها که دوست دارند برنامه نویسی یاد بگیرند
کتاب الکترونیکی بسیار کامل آموزش اتوکد (Auto Cad) در 619 صفحه به زبان شیرین فارسی
کتاب الکترونیکی آموزش سریع و کاربردی SQL
کاملترین مرجع فارسی آموزش WordPress
C++ Network Programming with Windows Sockets Ebook
كتاب الكترونيكي آموزش نرم افزار 3Ds MAX (خلق انيميشن هاي سه بعدي)
کتاب الکترونیکی اصول طراحی پایگاه داده ها و آموزش SQL
کامل ترین مرجع آموزش PHP به زبان فارسی (تالیف محمد بشیری)
کتاب الکترونیکی آموزش CSS (سطح مبتدی و متوسط)
آموزش کاملا فارسی نرم افزار قدرتنمند adobe DreamWeaver
کتاب الكترونيكي آموزش زبان برنامه نویسی اسمبلی (Assembly)
کتاب الکترونیکی آموزش کامل ASP.NET (تالیف محمد بشیری)
کتاب الکترونیکی اصول مهندسی اینترنت تالیف احسان ملکیان
كتاب الكترونيكي هوش مصنوعي تاليف سهراب جلوه گر (ويرايش پاييز 88)
کتاب الکترونیکی مرجع آموزش کامل HTML و XHTML
کتاب الکترونیکی اصول تکنیک Ajax (ای جکس) تالیف مهندس جابر صادقی
کتاب الکترونیکی آموزش HTML (ویژه مبتدی ها)
کتاب الکترونیکی آموزش MATLAB (متلب) به زبان فارسی
کتاب الکترونیکی آموزش زبان برنامه نویسی جاوا (JAVA)
کتاب الکترونیکی آموزش طراحی و تحلیل الگوریتم ها تالیف علی نورالله
كتاب الكترونيكي آموزش قدم به قدم هك
| ITCOM وبسایت اختصاصی دانشجویان مهندسی نرم افزار و فناوری اطلاعات دانشگاه پیام نور آران و بیدگل با هدف ارائه مطالب آموزشی و ایجاد ارتباط بین دانشجویان و استادان راه اندازی شده است. این وبسایت که با نظارت و پشتیبانی واحد کامپیوتر دانشگاه پیام نور شروع به کار کرده بستری را برای ارتباط هرچه بهتر دانشجویان از راه دور نیز فراهم آورده است . طراحی این وبسایت که به دست یکی از دانشجویان رشته مهندسی نرم افزار همین دانشگاه انجام شده است به گونه ای است که دانشجویان را قادر می سازد به راحتی از مطالب موجود بهره برده و حتی به انتشار مطالب آموزشی خود پبردازند . | تمامی حقوق مطالب و تصاویر محفوظ و متعلق به دانشگاه پیام نور مرکز آران و بیدگل می باشد و هر گونه كپي برداري از مطالب سايت فقط با ذكر منبع مجاز مي باشد . | در طراحي جديد ITCOM از تكنولوژي هاي منطبق بر WEB2.0 همچون PHP ، AJAX ، JQUERY ، JAVASCRIPT ، CSS ، HTML و ... استفاده شده است . | |
|
|
|||