PDA

View Full Version : سوال: استفاده از صفحه کلید



sj1501
چهارشنبه 11 مرداد 1391, 17:02 عصر
سلام دوستان دو تا سوال داشتم
اولیش
میخواستم بدونم چطور میشه در دلفی از صفحه کلید استفاده کرد مثلا button رو با اینتر اجرا کنه:متفکر:
دومیش
از کاربر تعداد روز را بگیرد و تاریخ آینده آن را نشان دهد مثلا تاریخ 1391/05/11 وارد شده است از کاربر تعداد 90 روز را گرفته و تاریخ 90 روز آینده تاریخ 1391/05/11 رو نشان دهد
ممنون می شم اگه راهنمایی کنید.:ناراحت:

BORHAN TEC
چهارشنبه 11 مرداد 1391, 17:18 عصر
میخواستم بدونم چطور میشه در دلفی از صفحه کلید استفاده کرد مثلا button رو با اینتر اجرا کنه:متفکر:راههای مختلفی وجود داره! ولی به نظر من بهترین راه استفاده از TActionList است. اگر در همین مورد جستجو کنید مطالب آموزشی زیادی در این مورد وجود دارد که می توانید از آنها استفاده کنید. به عنوان مثال بهتر است که تاپیک زیر را مطالعه کنید:
http://barnamenevis.org/showthread.php?311512

از کاربر تعداد روز را بگیرد و تاریخ آینده آن را نشان دهد مثلا تاریخ 1391/05/11 وارد شده است از کاربر تعداد 90 روز را گرفته و تاریخ 90 روز آینده تاریخ 1391/05/11 رو نشان دهدخیلی راحته. برای تاریخهای میلادی میتونی از کدی مثل این استفاده کنی:
procedure TForm1.Button1Click(Sender: TObject);
var
DateTime: TDateTime;
begin
DateTime := EncodeDate(2000,6,13);
ShowMessage(DateToStr(DateTime));
DateTime := DateTime + 90;
ShowMessage(DateToStr(DateTime));
end;

توجه داشته باشید که برای کار با تاریخ بهتره که از یونیت DateUtils استفاده کنید. به عنوان مثال برای اضافه کردن چند روز با استفاده از این یونیت می توانید از کدی شبیه به زیر استفاده کنید:
uses
System.DateUtils;

procedure TForm1.Button1Click(Sender: TObject);
var
DateTime: TDateTime;
begin
DateTime := EncodeDate(2000,6,13);
ShowMessage(DateToStr(DateTime));

//Declared in System.DateUtils in XE2
DateTime := IncDay(DateTime,90);
ShowMessage(DateToStr(DateTime));
end;

sj1501
چهارشنبه 11 مرداد 1391, 18:04 عصر
مرسی از جوابت دوست خوبم:قلب:

من برای تاریخ شمسی میخوام اگر راهنمایم کنی ممنونت میشم:قلب:

me.enik
چهارشنبه 11 مرداد 1391, 18:15 عصر
قطعا برای تاریخ شمسی به این راحتی های تاریخ میلادی نیستش.
چون همواره, برای بدست آوردن تاریخ شمسی, مشکلاتی وجود داره و اون طور که من شنیدم, برنامه های خیلی بزرگی باید برای تاریخ شمسی بنویسید تا درست عمل کنند.

خودم دلیلش رو دقیق نفهمیدم, ولی میدونم هر برنامه ای که مینویسن, در مورد تاریخ, همیشه باگ داشته و هیچ وقت درست عمل نکرده.
( اما برنامه های خوبی در این زمینه نوشته شده اند )

ولی روش کلی کار, همان روشی است که برای تاریخ میلادی استفاده میشود, با تغییرات کوچک.

Felony
چهارشنبه 11 مرداد 1391, 18:23 عصر
با کامپوننت ها و کتابخانه های موجود اول تاریختون رو به میلادی تبدیل کنید و بعد با توابع استاندارد روش عملیات مورد نظر رو انجام بدید و بعد از اتمام کار نتیجه رو باز به شمسی برگردونید .

BORHAN TEC
چهارشنبه 11 مرداد 1391, 18:24 عصر
انجام این کارها برای تاریخ هجری شمسی هم زیاد سخت نیست خوشبختانه امروزه کلاسها و فریمورک های مختلفی برای کار با تاریخ شمسی ساخته شده است که به کلی این مشکلات را رفع کرده اند. یک نمونه از آنها XCalendar است که می توانید آنرا از لینک زیر دریافت کنید:
http://sourceforge.net/projects/xcalendar.berlios/?source=directory

این هم سایتش:
http://xcalendar.berlios.de/