بسم الله الرحمن الرحيم
كوني لا اجيد فن الكتابة والتعبير في مجال المقال سوف اساهم بكود بسيط مع بعض الهوامش التوضيحية
لعمل شجرة بيانات
// تكوين شجرة بيانات السنين والمعارض التي تمت بها
treeview1.Items.Clear;
// توجيه الى بداية الجدول للسنين
if datamodule1.YearTable.Bof = false then
datamodule1.YearTable.First;
// لوب تدوير جدول السنين الى النهاية
while datamodule1.YearTable.Eof = false do
begin
// توجيه الى بداية جدول المعارض
if datamodule1.FairsTable.Bof = false then
datamodule1.FairsTable.First;
// الحاق قيمة السنة من جدول السنسن بالمتغير
y := datamodule1.YearTable.Fieldbyname('year1').Value;
// اضافة نود رئيسي للشجرة بقيمة السنة
mytreenode:=treeview1.Items.Add(nil,y);
// لوب تدوير جدول المعارض الى النهاية
while datamodule1.FairsTable.Eof =false do
begin
// اذا كانت قيمة المتغير ( السنة ) تساوي قيمة الحقل سنة من جدول المعارض
if datamodule1.FairsTable.FieldByName('year').Value = y then
begin
// الحاق قيمة رمز المعرض بمتغير
y3:= datamodule1.FairsTable.Fieldbyname('FAIR_ID').Value;
// اخذ اول حرفين من قيمة رمز المعرض والحاقها باسم المعرض في متغير
y2:=y3[1]+y3[2]+' '+(datamodule1.FairsTable.Fieldbyname('FAIR_NAME').Value);
// اضافة القيمة النتيجة الى الشجرة كنود ابن تمثل المعرض للاب السنة
treeview1.Items.AddChild(mytreenode,y2);
end;
datamodule1.FairsTable.Next;
end;
datamodule1.YearTable.Next;
end;