[تمرين] فلترة بيانات جدول حسب الشهر في سنة معينة
#11
هذا التنسيق من الكود الذي وضعته و هو كما طلبته تماماً :confused:

[صورة: 12yy7.gif]
#12
لا، التاريخ بالتمرين من الشكل dd/mm/yyyy
#13
السلام عليكم و رحمة الله و بركاته

الحل - أن أوفق
PHP كود :
procedure TForm1.ComboBox1Change(SenderTObject);
var
Fil:String;
M,J,A:Integer;
begin
 Fil 
:='';
 
M:=(Combobox1.ItemIndex+1);
 
:= 2008;
 case 
M of
 1
,3,5,7,8,10,12 := 31;
 
4,6,9,11 := 30;
 
: if (A mod 4)=0 then j:= 29 else := 28;
 
end;
 
fil := 'Date>=''01/'+formatfloat('00',M)+'/'+Formatfloat('0000',A)+''' and date<='''+Formatfloat('00',j)+'/'+formatfloat('00',M)+'/'+Formatfloat('0000',A)+'''';
 
Table1.Filtered:=true;
 
Table1.Filter:=Fil;
 
end
يقول المثل الشعبي الجزائري
أقري علمك و علما لا تدريه و قل ربي زدني علما و فوق كل ذي علم عليم
#14

taha_gh فكرة تشبه قليلا فكرة hanipino
وهو اول كود صحيح
والسلام عليكم
#15

اليوم اخر يوم للتمرين
وهذا حلي
PHP كود :
var
  
m,yword;
  
d1,d2 TDateTime;
begin
  DateSeparator
:='/';
  
ShortDateFormat:='DD/MM/YYYY';

  
m:= ComboBox1.ItemIndex 1; if m=0 then Exit;
  
:= 2008;

  
d1:=EncodeDate(y,m,1);
  if 
m=12 then d2:=EncodeDate(Y+1,1,1) else
  
d2:=EncodeDate(Y,M+1,1);
  
d2 := d2 -;

  
Table1.Filter := '(Date>='+QuotedStr(DateToStr(d1))+') and (Date<='+QuotedStr(DateToStr(d2))+')';
  
Table1.Filtered := True;
end

ملاحظة أول تعليمتين من المفترض وضعهما في الحدث OnCreate للForm الرئيسية لاننا نحتاج تنفيذهما مرة فقط
والسلام عليكم
#16
اووووووووو DaltaAziz واش نحكيلك سيلييييييما ...
هذا هو لب التمرين . مشكور .
إقتباس : DateSeparator:='/';
ShortDateFormat:='DD/MM/YYYY';
EncodeDate
#17

hanipino هي مجرد طريقة ويوجد الكثير غيرها

لكي تعم الفائدة
الطرق الاربع بتعديل بسيط لكي تكون صحيحة حسب التمرين بالمرفق
كل طريقة بزر Button

والسلام عليكم


الملفات المرفقة
.rar   MonthFilter.rar (الحجم : 2.03 ك ب / التحميلات : 354)
#18
والله يا عزيز يعطيك الصحة
#19
السلام عليكم يا اخي عزيز سؤال من فضلك حول هذا التمرين ؟
هل يجب تغير السنة كل سنة او كبف الحل
#20

السنة هي المتغير y يمكنك تغييره بما تشاء
ان كنت تقصد شيئ اخر اوضح اكثر في موضوع جديد في قسم الاسئلة
والسلام عليكم


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم