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

سؤال عن TreeView

مغلق
بدأه عوف في 5 يوليو 2003 · 11 رد · 2,975 مشاهدة · في أرشيف منتدى الدلفي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ايها الاخوة اود الاستفسار عن الاداة TreeView

1- اود عند اضافة افرع للشجرة وذلك في مرحلة التنفيذ وليس التصميم

ان تبقي المعلومات مخزنة اي عندما افتح البرنامج مره اخرى اجد ماعدلته

في المره السابقه.

2- هل يوجد اداة TreeView معربة اي تظهر الافرع فيها من اليمين لليسار .

ارجوا المساعدة وشكرا جزيلاً.

#2

السلام عليكم ورحمة الله وبركاته

تسطيع حفظ التغييرات والتعديلات بالإجراء SaveToFile

واستدعاءها بالإجراء LoadFromFile

بالنسبة لاستخدام TtreeView فيجب عليك أن تفرق بين العناصر التالية

فالمكون TreeView يمثل الواجهة التي تعرض التسلسل الهرمي لجميع العقد الشجرية وبه وظائف التحكم بالعنصر.

أما TreeNode فيمثل عقدة في الشحرة .

أما TreeNodes فيشتمل صف من العقد سواء كانت أبناء لعقدة ما أو تحت العنصر الأب TreeVeiw

أما التحكم بالعقد في الشجرة تستطيع الوصول إليها بـ الخاصة Items وهي من نوع TTreeNodes وتحتها جميع الوظائف الخاصة التحكم بمسرد العقد كالحذف والإضافة وغير ذلك.

فتستطيع إضافة عقد أبناء بالدالة AddChild ويوجد مثال في ملفات المساعدة

أما التحويل الواجة إلى العربي

فتوجد أداة على هذا الرابط

http://www.delphi-gems.com/VirtualTreeview/VT.html

يقال أنها تدعم العربي وهي متطوِّرة - أنا لم أجرب - تستطيع تثبيتها على Delphi7 وهل تستطيع تثبيتها على Delphi6 ؟ --- أنا حاولت وفشلت .

#4

السلام عليكم

اشكرك جدا ياأخ ابومحمد بالنسبة لسؤالي الاول واعتماداً على نصيحتك فقد

نجحت العملية 100% وذلك بكتابة مايلي في الحدث onCreate :

Treeview1.Items.Clear;

Treeview1.LoadFromFile(OpenDialog1.FileName);

وكتابة مايلي في الحدث OnClose :

Treeview1.SaveToFile(SaveDialog1.FileName);

ولكن هنالك استفسار لو أن الملف الذي وضعنا مساره في FileName

موجود في ال C وعلى فرض ان احد ما حمل البرنامج على ال D بما فيه

الملف فهذا سيحدث خطأ لان البرنامج سيحاول فتح الملف من ال C فما هو

الحل.

اما بالنسبة لاستفساري الثاني فاننى أملك دلفي6 ولذلك واجهتني مشاكل

في تحميل الاداة للدلفي.

واخيرا شكرا لاهتمامك.

#5

إذا كانت العقد في الشجرة ثابتة فتسطيع حفظها في نفس البرنامج وقت التصميم بالخاصة Items ثم Load.

أما إن كانت متغيرة بواسطة المستخدم فاجعلها في نفس دليل البرنامج ثم اذكر اسم الملف فقط دون المسار ولعل ذلك ينجح .

هذا إذا كنت لا تريد أن يبحث البرنامج عن الملف .

#6

لتعريب الشجرة استخدم الكود الآتي في الحدث onCreate:

var Oldlong:integer

begin

OldLong := GetWindowLong(TreeView1.Handle,GWL_EXSTYLE);

SetWindowLong(TreeView1.Handle, GWL_EXSTYLE,OldLong or WS_EX_LAYOUTRTL);

InvalidateRect(TreeView1.Handle,nil,True);

end;

أما بالنسبة لمشكلة الدليل فبإمكانك استخدام الدالة GetCurrentDir والتي تعطيك الدليل الحالي

أرجو أن تنفعك الإجابة

أخوك أيموشة

end;

#7

بارك الله فيك أخي أيموشة ونفع بك

ومع أن الدعاء أفضل لكن هاك هذه (gift) وهذه (gift)

لقد كنت متردداً في استخدام عنصر الشجرة وتخليت عن بعض البرامج :'(

ولكن بعد هذا الكود حُلَّت مشكلة العربي معها فجزاك الله خيراً

#8

السلام عليكم

بارك الله فيك أخي أبو محمد الهذلي فقد جعلت الملف في نفس دليل البرنامج

ثم ذكرت اسم الملف فقط دون المسار في FileName ونجح الامر .

وشكرا لك اخي أيموشة على هذا الكود الرائع فعلاً وفي حال وجود وقت فراغ

عندك نرجوا ان ترفق لنا مثال بسيط على استخدام الدالة GetCurrentDir

لزيادة المعلومات.

جزاكم الله خير

#9

يا اخوان ..

بالنسبة لـVirtualViewTree فهي تعمل مع دلفي 4 و5و6و7 وتدعم العربي بكل قوة (بما فيها خاصيتي اليمين لليسار). وانا جربتها على دلفي 5 واشتغلت مثل الحلاوة.

لكن عيبها الوحيد انها ليست شجرة تقرأ مباشرة من قاعدة البيانات اي DBTree

فلابد ان تعمل لها كود يقرا من الجدول ويعبأ مباشرة في الشجرة.

ام باقي المميزات فهي جدا قوية.

والكمبونينت وجميع ملفاتها تجده بالرابط التالي:

#10

يا اخوان ..

بالنسبة لـVirtualViewTree فهي تعمل مع دلفي 4 و5و6و7 وتدعم العربي بكل قوة (بما فيها خاصيتي اليمين لليسار). وانا جربتها على دلفي 5 واشتغلت مثل الحلاوة.

لكن عيبها الوحيد انها ليست شجرة تقرأ مباشرة من قاعدة البيانات اي DBTree

فلابد ان تعمل لها كود يقرا من الجدول ويعبأ مباشرة في الشجرة.

ام باقي المميزات فهي جدا قوية.

والكمبونينت وجميع ملفاتها تجده بالرابط التالي:

للأسف لم استطع تحميل الملف.

على العموم اللي يبي يديني ايميله وارسله.

وهنا سؤال للأخ/أيموشة وهو اني استخدمت الكود بتاعك لتعريب الشجرة ولم يحدث اي شي!!

كما ان الكبايلر لم يتعرف على القيمة WS_EX_LAYOUTRTL

ارجو توضيح الأمر..

#11

السلام عليكم

لقد نزلت المكون لـVirtualViewTree من الموقع السابق على دلفي 6 ولم تواجهني أي مشاكل ، لكن لتنزيل تحتاج الى Windows XP ThemeManager وهي موجودة على نفس الموقع .

لكنها مشكلتها بأنها ليست شجرة ، فتحتاج الى كود لتكوين الشجرة ،

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

أما الأمر الذي ذكره أيموشة فيعمل 100% ويغير الاتجاه الى الاتجاه العربي ، لوكن به مشكلة واحدة وهي أن قائمة الـ PopupMenu1 لا تظهر .

#12

الكمبيونت VirtualViewTree يدعم العربي 100% وهذا مبين في موقعهم

وهذه الصورة تبين دعمه للعربي

VTMultiLangPreview.png

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

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