الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلتي مع التواريخ

مغلق
بدأه rose2000 في 30 سبتمبر 2003 · 5 رد · 1,150 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلام عليكم

مشكلتي مع التواريخ دائما...كيف افحص ادخال التاريخ بالشكل الصحيح، متلا:

اريد من البرنامج ان يعطي خطأ اذا ادخل المستخدم 25/17/2003 بمجرد خروجه من مربع النص، فما هي الطريقة ؟؟

اشكر الجميع مساعدته و خاصة السيد ابو هاني

تحياتي لكم

#2
Hi rose2000

1) Right Click on Table component.
2) add all fields.
3) select date field.
4) create new event 'OnSetText' and you will see a parameter TEXT:String that have the same value you entered and you want to check.

try
    Sender.Value := StrToDate(Text);
  except on EConvertError do
    begin
      MessageDlg('التاريخ غير صحيح',mtWarning,[mbOk],0);
    end;

Abo Qosai
#3

مرحبا كيف ممكن اخلي اجابتي بتنسيق احسن من اللي ظهر في رسالتي السابقة

وشكرا

أبو قصي

#4

طريقة الاخ ابو قصي ممتازة ، ولكن اتوقع انك تدخلين تاريخا في TextEdit عادية وثم تقومين بتخزينه في قاعدة البيانات .

ففي هذه الحالة يلزمك اولا التاكد من صحة التاريخ المدخل .

واتوقع ان هذا سؤالك .

على العموم قد قمت لك ببناء دالة صغيرة يمكنها تحديد هل النص المدخل هو عبارة عن تاريخ صحيح أو لا

هذه الدالة تتطلب منك متغير واحد فقط وهو التاريخ وتعيد لك قيمة True اذا كان التاريخ المدخل صحيحا او False اذا كان التاريخ المدخل خاطئا

وهذه هي الدالة :

Function IsDate(MyDate :Variant):Boolean;
begin
 Try
  StrToDate(MyDate);
  Result :=True;
 Except
  Result :=False;

 end;
end;

وهذا مثال صغير على استخدام الدالة المذكورة

procedure TForm1.Edit1Exit(Sender: TObject);
begin
if IsDate(Edit1.Text)= False then
  begin
    ShowMessage('Please Enter a Valid Date');
    Edit1.SetFocus
end;

end;

تقبلوا تحياتي

#5

سلام عليكم

حل الأخ أبو هاني حلو و بسيط في أن واحد

هذا ويمكن تحويل ال Exception لل DataBase

و نرى ما هي الرسالة التي تظهر و نعالجها بنفس الطريقة

و شكرا

#6

صباح الخير

اشكرك سيد ابوقصي على تعليمي طريقة جديدة و حلوة و لكن السيد ابوهاني على حق ، فأنا ادخل التاريخ ثم اخزنه في قاعدة البيانات

الشكر الجزيل لك أخي ابو هاني ، أنت دائما تساعدني

لو سمحت Ms Programmer ماذا قصدت ب تحويل exception to the database ، و كيف أفعل ذلك؟

تحياتي لكم جميعا

هذا الموضوع مغلق.

مواضيع مشابهة