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

المصفوفات + الدوال

بدأه compiler_x في 9 سبتمبر 2010 · 7 رد · 1,429 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

والسؤال الاول :

هو هل يمكن انشاء مصفوفة ادوات ؟ مثلا للاداة text وكما في الفيجوال بيسك ؟ وجدت طريقة انشاء مصفوفة لكن برمجيا وانا اريدها في وقت التصميم وليس برمجيا

السؤال الثاني :

اين اكتب الدوال الخاصة بالمستخدم كنت في الفيجوال بيسك اكتبها في الجنرال للنافذة او المودل ولكن اعتقد ان الموضوع يختلف في الفوكس

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

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

#2

بداية اهلا وسهلا بك بيننا في عالم الفوكس برو

لكل عنصر خصائصه الخاصة به، فعلى فرض أنك قمت باضافة Textbox لنموذج،

اعمل double click على النموذج سيفتح لك شاشة ( بغض النظر عن اسمها ) أكتب :

thisform.

ستظهر لك قائمة تستطيع من خلالها معرفة الاجراءات الخاصة بالنموذج والعناصر الموجودة فيه

وستلاحظ وجود الــ Textbox ضمن القائمة

والآن أكمل التالي

thisform.TextBox1.

ستظهر لك قائمة جديدة فيها خصائص واجراءات الـ Textbox أو العنصر الذي قمت باختياره

هذا بالنسبة للوصول للخصائص أو الاجراءات.

ام لكتابة الكود فبمجرد أن تعمل Double Click على أي عنصر ستفتح لك شاشة ستجد أعلاها قائمة بالعناصر الموجودة في النموذج

وقائمة بالاجراءات الخاصة بالعنصر الذي قمت باختياره، وهناك تستطيع كتابة ماشئت من كود

أما بخصوص انشاء خصائص واجراءات جديدة، لنوع معين من العناصر فعليك بالــ Classes

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

أعتقد أن ستجد الفائدة في الروابط التالية

هنا و هنا

مع التحية

وكل عام وانـتم بخير

أستغفر الله العظيم و أتوب إليه

#3
Shadowz كتب:

بداية اهلا وسهلا بك بيننا في عالم الفوكس برو

لكل عنصر خصائصه الخاصة به، فعلى فرض أنك قمت باضافة Textbox لنموذج،

اعمل double click على النموذج سيفتح لك شاشة ( بغض النظر عن اسمها ) أكتب :

thisform.

ستظهر لك قائمة تستطيع من خلالها معرفة الاجراءات الخاصة بالنموذج والعناصر الموجودة فيه

وستلاحظ وجود الــ Textbox ضمن القائمة

والآن أكمل التالي

thisform.TextBox1.

ستظهر لك قائمة جديدة فيها خصائص واجراءات الـ Textbox أو العنصر الذي قمت باختياره

هذا بالنسبة للوصول للخصائص أو الاجراءات.

ام لكتابة الكود فبمجرد أن تعمل Double Click على أي عنصر ستفتح لك شاشة ستجد أعلاها قائمة بالعناصر الموجودة في النموذج

وقائمة بالاجراءات الخاصة بالعنصر الذي قمت باختياره، وهناك تستطيع كتابة ماشئت من كود

أما بخصوص انشاء خصائص واجراءات جديدة، لنوع معين من العناصر فعليك بالــ Classes

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

أعتقد أن ستجد الفائدة في الروابط التالية

هنا و هنا

مع التحية

وكل عام وانـتم بخير

شكرا يا اخي على تفانيك في الرد على الموضوع ولكن اعتقد ان سؤالي واضح ومحدد ولكن ساضرب لك مثلا

في النافذة لدي 31 مربع textbox تمثل ايام الشهر وما اريده هو مثلا حساب عدد ايام الاجازة لدى الموظف فحينها ساستعمل مصفوفة من ال text للسهوله وتجنب تكرار كتابه الاكواد

ارجوا الرد جزاك الله خيرا

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

#4

أخي العزيز

حين تقول انك تريد انشاء مصفوفة ادوات، والتعامل معها أثناء التصميم هذا شيء،

أما مصفوفة خاصة بقيم الأدوات فهذا شيء آخر

على كل، اذا اردت انشاء مصفوفة بالنموذج يمكنك اضافة خاصية جديدة له بالصيغة التالية

ArrayName(4,1)

وكون أن النموذج محدد بعدد معين من العناصر، بمعنى أنك لست مهتم بتغيير المصفوفة فقد يكون استخدام الكود التالي كافيا لتلبية الغرض

local nTotal 
m.nTotal = 0
for i = 1 to thisform.objects.count
	if upper(thisform.objects(i).baseclass)="TEXTBOX"
		m.nTotal=m.nTotal + thisform.objects(i).value
	endif
next
MESSAGEBOX(m.nTotal)

مع التحية

1

أستغفر الله العظيم و أتوب إليه

#5
Shadowz كتب:

أخي العزيز

حين تقول انك تريد انشاء مصفوفة ادوات، والتعامل معها أثناء التصميم هذا شيء،

أما مصفوفة خاصة بقيم الأدوات فهذا شيء آخر

على كل، اذا اردت انشاء مصفوفة بالنموذج يمكنك اضافة خاصية جديدة له بالصيغة التالية

ArrayName(4,1)

وكون أن النموذج محدد بعدد معين من العناصر، بمعنى أنك لست مهتم بتغيير المصفوفة فقد يكون استخدام الكود التالي كافيا لتلبية الغرض

local nTotal 
m.nTotal = 0
for i = 1 to thisform.objects.count
	if upper(thisform.objects(i).baseclass)="TEXTBOX"
		m.nTotal=m.nTotal + thisform.objects(i).value
	endif
next
MESSAGEBOX(m.nTotal)

مع التحية

فعلا يا اخي المصفوفة ثابته وفي وقت التصميم فقط

طيب الان مما فهمت من الكود انك تختبر جميع العناصر على الفورم واذا كان صنف العنصر من نوع مربع نص textbox فيكون هو المطلوب

الان هل لك ان تتكرم وتخبرني مثلا انه لدي 30 مربع نص واريد اختبار اي من مربعات النص يحتوي على رمز "K" مثلا وعن طريق استخدام حلقة التكرار FOR

خالص امتناني لردك المتميز

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

#6
compiler_x كتب:

طيب الان مما فهمت من الكود انك تختبر جميع العناصر على الفورم واذا كان صنف العنصر من نوع مربع نص textbox فيكون هو المطلوب

هذا صحيح

compiler_x كتب:

الان هل لك ان تتكرم وتخبرني مثلا انه لدي 30 مربع نص واريد اختبار اي من مربعات النص يحتوي على رمز "K" مثلا وعن طريق استخدام حلقة التكرار FOR

كل ما عليك هنا هو اضافة الشرط التالي للشرط السابق

if upper(thisform.objects(i).baseclass)="TEXTBOX"  and "K"$upper(thisform.objects(i).name)

مع التحية

1

أستغفر الله العظيم و أتوب إليه

#7

جزاك الله خيرا على حسن الاجابة

اعتقد انه ستكون لك وقفات متعدده مع اسئلتي القادمة ههههههههههه وارجوا ان يتسع صدرك لها وللاجابة عنها

شكرا مره اخرى على مساعدتك

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

#8
compiler_x كتب:

جزاك الله خيرا على حسن الاجابة

اعتقد انه ستكون لك وقفات متعدده مع اسئلتي القادمة ههههههههههه وارجوا ان يتسع صدرك لها وللاجابة عنها

شكرا مره اخرى على مساعدتك

الحمد لله الذي هدانا للاجابة

واسأل...ولا يهمك :)

أستغفر الله العظيم و أتوب إليه

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