المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : حساب تاريخ في الدلفي


أمة الله-2
2009-05-12, 21:03
السلام عليكم و رحمة الله وبركاته
أنا محتاجة الاجراء الذي يحسب التاريخ كالآتي:
25/05/2009 نضيف لها 5 أيام
فما هو الاجراء الذي يعطيني النتيجة؟
وجزاكم الله خيرا

linda39
2009-05-13, 14:40
الأمر بسيط عليك القيام بعملية الجمع بين التاريخ والعدد
واليك المثال التالي :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Buttons;
type
TForm1 = class(TForm)
d1: TDateTimePicker;
d2: TDateTimePicker;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
function datedu (d:tdate;nbr:integer):tdate;
begin
result:=d+nbr;
end;
begin
d2.Date:=datedu(d1.Date,strtoint(edit1.Text));
end;
end.

بورمله
2009-05-13, 23:58
استعملى
encode
decode
واذا اردت code source اعلمينا
تحيتى

أمة الله-2
2009-05-15, 18:58
السلام عليكم ورحمة الله وبركاته
بارك الله فيكم وجزاكم خيرا
لدي ثلاثة أسئلة:
- ما الفائدة من استعمال الدالة داخل الاجراء وهل يمكن الاستغناء عنها وكيف؟
- هل يمكن الاستغناء عن d2 بمكون آخر لأن في الأخير سوف تطبع النتيجة وإذا غيرت في d2 قبل الطباعة سوف لن تظهر النتيجة الصحيحة ؟
- ممكن تشرح encode و decode لأني ما أعرفهم

بورمله
2009-05-17, 00:40
السلام عليكم ورحمة الله وبركاته



هذا مثال عن زيادة عدد من الايام لتاريخ معيين
وهو يغنيك عن الدالة


nbjour:=3*365-(StrToInt(Edit7.Text )*365- StrToInt(Edit6.Text )*30);
Date1 :=EncodeDate(y,m,d);
Date1 := Date1 + NbJour;
decodedate(date1,aa,mm,jj);
date2:=encodedate(aa,mm,jj);
edit11.Text:=datetostr(date2);

أمة الله-2
2009-05-17, 23:50
السلام عليكم ورحمة الله وبركاته
بارك الله فيكم
لكن ممكن توضح المثال أكثر ( إذا ممكن يواسطة الفورم)
ودمتم في حفظ الله ورعايته.

بورمله
2009-05-18, 00:48
السلام عليكم ورحمة الله وبركاته
بارك الله فيكم
لكن ممكن توضح المثال أكثر ( إذا ممكن يواسطة الفورم)
ودمتم في حفظ الله ورعايته.
procedure TForm1.Button1Click(Sender: TObject);
var
Date1 : TdateTime;
nbjour,d,m,y : integer;
begin
try
nbjour := StrToInt(Edit2.Text);
y := StrToInt(Copy(Edit1.Text,7,4));
m := StrToInt(Copy(Edit1.Text,4,2));
d := StrToInt(Copy(Edit1.Text,1,2));
Date1 := EncodeDate(y,m,d);
Date1 := Date1 + NbJour;
edit3.Text:=datetostr(date1);

except

showmessage('ج');

end;

end;
تحيتى

أمة الله-2
2009-05-18, 08:44
شكرا لكم وجزاكم الله خيرا الآن أصبح واضحا
والحمد لله جربتها وضبطت معي
سؤال أخير:
عندي مجموعة من التواريخ وكل تاريخ يحمل معلومات لكن أريد الحصول على معلومات آخر تاريخ، كيف يتم ذلك؟

بورمله
2009-05-18, 10:06
شكرا لكم وجزاكم الله خيرا الآن أصبح واضحا
والحمد لله جربتها وضبطت معي
سؤال أخير:
عندي مجموعة من التواريخ وكل تاريخ يحمل معلومات لكن أريد الحصول على معلومات آخر تاريخ، كيف يتم ذلك؟

ممكن توصيح اكثر
تحيتى

أمة الله-2
2009-05-20, 20:28
آسفة على التأخير
السؤال: لدي جدول من عدة حقول من بين حقوله حقل من نوع date
أريد الحصول على المعلومات المتعلقة بآخر تاريخ في الجدول، كيف ذلك.

بورمله
2009-05-20, 23:22
السلام عليكم ورحمة الله وبركاته


استعملى filtrage ان فهمتك جيدا
تحيتى

أمة الله-2
2009-05-20, 23:56
وعليكم السلام ورحمة الله وبركاته
استعمل filtrage إذا كنت أعرف التاريخ الذي أريد الوصول الى معلوماته لكن إذا كنت ما أعرفه وأريد الوصول الى معلومات أحدث تاريخ فيهم، كيف؟

بورمله
2009-05-21, 12:10
السلام عليكم ورحمة الله وبركاته
لم افهم ما ترينه بالضبط
تحيتى

أمة الله-2
2009-05-21, 20:17
وعليكم السلام ورحمة الله وبركاته
مثلا لدي المعلومات التالية عن الطالب: رقم التسجيل، تاريخ التسجيل، الاسم، اللقب، التخصص
أريد الحصول على معلومات آخر طالب مسجل (يعني أبحث بواسطة أحدث تاريخ).

بورمله
2009-05-21, 23:51
السلام عليكم ورحمة الله وبركاته


يمكنك البحث عن اخر تسجيلة قمت بادخالها
تحيتى

أمة الله-2
2009-05-22, 11:28
بارك الله فيكم اتضحت الفكرة سأجربها

أمة الله-2
2009-05-22, 11:30
وعليكم السلام ورحمة الله وبركاته
بارك الله فيكم اتضحت الفكرة سأجربها إن شاء الله
جزاكم الله خيرا