View Full Version : انتخاب نکردن رنج بین دو تاریخ
ali643
جمعه 08 خرداد 1383, 19:58 عصر
سلام
تاریخ به صورت String در Table ذخیره میشه(از کامپوننت Shdate استفاده می کنم)
حالا برا اینکه تاریخ ترم های که تو یک سال هست مشخص بشه دو تا تاریخ رو که یکی به عنوان شروع ترم و دیگری به عنوان پایان ترم است انتخاب می کنیم و ثبت می کنیم حالا برای اینکه
در ترم های بعدی تاریخ های انتخاب شده بین رنج تاریخ ترم های قبلی نباشد باید چه کاری انجام دهم
مرسی :oops:
Mohammad S
جمعه 08 خرداد 1383, 20:55 عصر
می توانی حساب کنی که تاریخ انتخاب شده روز چندم سال است. تاریخ شروع و پایان ترم هم که وجود دارد و می توانی حساب کنی که روز چندم سال می شوند. حال روز انتخاب شده باید در محدوده دو تاریخ شروع و پایان همان ترم باشد.
مثلا تاریخ شروع ترم: روز 25 سال
تاریخ پایان ترم: روز 115 سال
تاریخ انتخاب شده: روز 80 سال=====> صحیح می باشد
تاریخ انتخاب شده: روز 130 سال ====> غلط می باشد
البته باید سال را هم چک کنید شاید کاربر تاریخی از سال قبل را انتخاب کند که در همان محدوده است ولی یک سال قبل که قطعا اشتباه است.
موفق باشید.
ali643
جمعه 08 خرداد 1383, 22:00 عصر
یه روش دیگه اینا رو میدونستم اما راحتراز این روش رو می خوام
Gladiator
شنبه 09 خرداد 1383, 08:08 صبح
میتونی چک کنی تاریخ شروع ترم جدید که توسط کاربر وارد میشه ٬ اگر بین تاریخ شروع و تاریخ پایان ترم قبل باشه به کاربر پیامی داده بشه .
ali643
شنبه 09 خرداد 1383, 13:38 عصر
گلادی جون من این کد رو نوشتم حسابی هم قاط زدم اما بازم گیر داره
من از تاریخ 09/03/1383 تا تاریخ 09/04/1383 رو به عنوان یک ترم ثبت می کنم
حالا چند ماه جلو تر از تاریخ 09/07/1383 تا تاریخ 09/08/1383 رو یک بار دیگه ثبت می کنم
حالا که می خوام از تاریخ 09/05/1383 تا تاریخ 09/06/1383 ثبت کنم تو این کدی که نوشتم گیر میده
لطف کن و درسشتو برام بنویس
DBISAMTable1.First;
while not DBISAMTable1.Eof do
begin
if (Datetostr(ExShDatePicker2.Date)<=DBISAMTable1.Fie ldValues['Date_Start'])or(Datetostr(ExShDatePicker 2.Date)>=DBISAMTable1.FieldValues['Date_Start']) then
begin
MessageDlg('Error',mterror,[mbok],0);
exit;
end;
if (Datetostr(ExShDatePicker1.Date)<=DBISAMTable1.Fie ldValues['Date_End'])or(Datetostr(ExShDatePicker1. Date)>=DBISAMTable1.FieldValues['Date_End']) then
begin
MessageDlg('Error2',mterror,[mbok],0);
exit;
end;
DBISAMTable1.Next;
end;
مرسی
Gladiator
شنبه 09 خرداد 1383, 17:23 عصر
سلام ؛
حالا کاری به نوشته های خودت نداریم ٬ ولی اگر دقت کنی خیلی هم بی ربط نیست . چرا که تاریخ مثلا 9/7/83 قبلا ثبت شده نباید تاریخ 9/5/83 رو از کاربر قبول کنه .
موفقیت آمیز باشی جوان .
ali643
شنبه 09 خرداد 1383, 17:52 عصر
حالا کاری به نوشته های خودت نداریم ٬ ولی اگر دقت کنی خیلی هم بی ربط نیست . چرا که تاریخ مثلا 9/7/83 قبلا ثبت شده نباید تاریخ 9/5/83 رو از کاربر قبول کنه
اینم یه حرف منطقی ای هست گفتیااااااااااااااااا 8-)
Gladiator
شنبه 09 خرداد 1383, 17:58 عصر
بشین ای جوان پشت منقل و بافور .... :mrgreen:
ali643
شنبه 09 خرداد 1383, 21:25 عصر
بشین ای جوان پشت منقل و بافور .... :mrgreen:
دادش اینا دیگه قدیمی شد
الان دیگه پا پیک نیک و قلیونوو ........... هست
Gladiator
شنبه 09 خرداد 1383, 21:53 عصر
بد بخت معتاد ٬ انگل جامعه :mrgreen:
kimia1
یک شنبه 10 خرداد 1383, 08:22 صبح
فکر کنم کدتون اشتباهه شما تاریخ را بین ابتدا و انتهای بازه باید چک کنید . در صورتی که اون را دارین بین ابتدا و باز هم ابتدای بازه چک می کنید.
Gladiator
یک شنبه 10 خرداد 1383, 08:52 صبح
این Sample رو بنگر ٬ ملتفت خواهی شد که چه باید کرد .
jirjirakk
یک شنبه 10 خرداد 1383, 09:41 صبح
علی کریستال و از قلم انداختی :wink:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.