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

ورشة عمل: أكثر المشاكل شيوعاً في Vb6 وحلولها

بدأه Abboodd في 21 مارس 2009 · 22 رد · 2,600 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

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

جاءت فكرة هذا المشروع من موضوع طرحه الأخ epal4 عن تجميع المشاكل في موضوع واحد.

فكرة ورشتنا هذه، هي طرح مشكلات متكررة مع أدوات ومواضيع معينة، ومحاولة وضع الحل الأنسب المنسق لها.

وبالمثال تتضح الفكرة.

لو اخترنا في البداية، طرح موضوع قواعد البيانات ومشاكلها، فسيكون كالتالي مثلاً:

يتم اقتراح المشاكل من قبل الأعضاء ، والتي يرون أنها تتكرر مع كثير منهم

مثلاً:

مشكلة البحث في قاعدة البيانات بشرط أو أكثر

مشكلة منع تكرار البيانات...

مشكلة.....

إلخ

ويطرح نص سؤال كالتالي بالنسبة للمشكلة الأولى:

أحاول أن أضيف إلى برنامجي خاصية البحث بشرط واحد، أو بأكثر، فما الطرق الأنسب لذلك؟

ثم يطرح الأعضاء إجاباتهم وحلولهم لهذه المشكلة، ويتم في النهاية، جمع إجابات الأعضاء، وتنسيقها، ودمجها بالطريقة المناسبة، بحيث نتجنب إكثار الكلام، وطرحها في موضوع آخر، سيحتوي على المشاكل وحلولها.

إذا كانت هناك اقتراحات أو استفسارات حول هذه الفكرة، فأرجو طرحها هنا،

وأرجو من الجميع المشاركة، يمكنك المشاركة بطرح مشكلة، أو بطرح حل، أو بكليهما.

لا تبخل علينا ولو بفكرة، أو بتشجيع.

والآن، من يريد أن يشارك، يقول أنا مشارك، لكي نبدأ العمل

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

هذه الجملة خاطئة  :wacko: 


#2

انا مشارك اخى عبود وسوف نشكل فريق

ونكمل المشوار

وانا معكم

#3

أهلاً يا epal4 وأرجو أن نرى مشاركات الأعضاء الآخرين :)

هذه الجملة خاطئة  :wacko: 


#4

توكلو على الله

#5

ننتظر باقى الاخوة الكرام يشرفونا

#6

انا مشارك إخوانى

علي بركة الله

وانا معكم

السلام على من إتبع السلام وخشي وجه ربه ذو الجلال والإكرام

#7

ما شاء الله عليك أخى Abboodd

مجهود جبار ..

ممكن نقوم بعمل برنامج و به بعض المشاكل الموجودة و يتم إدراج به كل المشاكل و الحلول و يكون خاص بالمنتدى

Mimo

040.gif

#8

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

كما أني أنتظر أستاذنا mrx_Ta7ady ;)

هذه الجملة خاطئة  :wacko: 


#9

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

ايوه طبعا يا عبود مش محتاجه كلام .. ومتاسف انا كمان على تغيبي بسبب كثرة مشاغلي :$

لكن اعتقد والله اعلم ان هناك موضوع يحوي روابط اهم المواضيع وكل مشاركة فيه لتخصص معين

ينقصه فقط المتابعة مع الاخ HnHn لزيادة الروابط .. ولا اعتقد انه شرط ان يكون الرابط لموضوع

حيث ان الموضوع قد يكون استفسار والرد به حلول ذهبية .. فحرام نتناسى الرد بسبب انه ليس موضوع

وعلى كل حال يا بطل ربنا يقويك ويوفقك ومنين مهدخل والاقي سؤال ماتحلش اكيد هحاول فيه :) .. إن شاء الله

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#10

شكراً لكم، غداً سأبدأ بطرح أول مشكلة بإذن الله، وطرح حلي لها، وأرجو من كل الأعضاء، المشاركة في إثراء الحل ليكون متكاملاً ووافياً بإذن الله تعالى.

أراكم غداً :)

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

هذه الجملة خاطئة  :wacko: 


#11

حسناً نبدأ بإذن الله بمشاكل قواعد البيانات، والمشكلة الأولى:

مشكلة البحث في قاعدة البيانات:

المشكلة:

أريد أن أضيف خاصية البحث إلى برنامجي، بحث بالأرقام، بالنصوص، بالتواريخ، بالأسماء المشابهة، وبأكثر من شرط، فما الطريقة الأفضل لذلك؟

أنا أعمل على تنسيق حل متكامل بإذن الله لهذه الأسئلة، وأنا أنتظر مشاركاتكم بإذن الله، يمكنك أن تشارك بحل تعتقد أنه مناسب لأحد هذه الأسئلة، أو بكتاب، أو بوصلة، أو بمثال على البحث في قاعدة البيانات.

في النهاية، سوف يتم التنسيق بين الإجابات وجمعها، لتطرح في الموضوع الرسمي.

والآن، ابدؤوا بالإجابة :)

هذه الجملة خاطئة  :wacko: 


#12

بارك الله فيك , عمل رائع

لكن عندي إستفسار صغير ,, لو سمحت

ألا تعتقد معي أن هذا أشبه بفتح قسم جديد داخل قسم !

وقد يسبب مشاكل في عملية البحث حيث أن العضو يضطر أن يبحث في القسم ثم في هذا الموضوع , مما قد يسبب إلى كسل أو تعب العضو(الجديد) من البحث وسوف يضع موضوع جديد عن مشكله في القسم أو في هذا الموضوع أو كليهما ,,

هذا سيناريو بسيط فيما قد يحدث :)

مجرد رأي ...

أتمنى لي ولكم التوفيق والنجاح ,,,

تحياااااتي

للصداقة البرمجية

pro-vb6@hotmail.com

#13

بسم الله الرحمن الرحيم

سوف أبدأ العمل على هذا الموضوع بإذن الله، تأخرت عليه، ولكن جاءتني ظروف مفاجئة، اضطرتني إلى التأخر عنه.

بالنسبة للأخ أبو فهيد، سوف أشرح الفائدة الكبرى من هذا الموضوع:

1- العضو الجديد، يدخل المنتدى ويقوم بالبحث، يجد أمامه مشاركة تتحدث عما يريده بالتفصيل الممل، فلا يضطر إلى فتح موضوع جديد.

2- العضو الجديد، لم يقم بالبحث ووضع موضوعاً، في حال عدم وجود موضوع عن أكثر المشاكل شيوعاً فسوف تكون ردة فعل الخبراء هي:

إما استخدم خاصية البحث

أو تجاهل الموضوع تماماً

أو إتعاب أنفسهم بكتابة رد يتحدث عن هذا في كل مرة، وسوف يمل من هذا مع مرور الزمن، ويتحول إلى إحدى الحالتين الأولى أو الثانية.

أما مع وجود هذا الموضوع، فما سيكون من الخبير إلا فتح هذا الموضوع، أخذ رابط المشاركة التي يريدها، ووضعها كجواب للسائل، وبهذا يستفيد الطرفان.

والأخ HnHn قد وضع موضوعاً مشابهاً نوعاً ما، لكن يبدو أنه وللأسف، تركنا من غير رجعة، وموضوعه مغلق لا يمكن التعديل عليه، فماذا نفعل؟

أرجو أن تكون وجهة نظري قد أصبحت واضحة، وأرحب بالنقاش :)

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

هذه الجملة خاطئة  :wacko: 


#14

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

انا كمان باذان الله راح احاول بطرح المشاكل الي واجهتني وحلولها

ارجوا منكم تقبلي

وتحياتي

#15

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

البحث له اكثر من طريقة .. ويتم اختيار الطريقة وفقا لطريقة الاتصال نفسها

فلو كان الاإتصال من خلال مكتبة الـ DAO اما الـ Data Control او بدونها

فيتم وضع شرط البحث في خاصية الـ Find للـ Recordset .. على ان لا يزيد عن شرط واحد فقط


RS.MoveFirst ' الإنتقال للسجل الأول
End If

RS.FindFirst "Code=5" ' وضع شرط البحث في خاصية البحث لإيجاد السجل المتطابق الأول

If Not RS.NoMatch Then
' يوجد سجلات
Else
' لا يوجد سجلات
End If
	If RS.RecordCount > 0 Then						' في حالة وجود سجلات

وهناك اسلوب آخر لنفس طريقة الإتصال وهو بوضع شرط او شروط البحث في جملة إستخراج البيانات نفسها

وسأتكلم عنه في نهاية مشاركتي هذه ان شاء الله

اما للإتصال من بمكتبة الـ ADO فهناك خاصية افضل للبحث وايضا من خلال الـ ADODC أو الربط بالكود

والخاصية تدعى بـ Filter .. وتسمح لك بوضع اكثر من شرط للبحث في آن واحد

ويعيبها عدم دعمها لبعض دوال الـ VBA والممكن إستخدامها في جملة إستخراج البيانات نفسها


If RS.RecordCount > 0 Then
' يوجد سجلات
Else
' لا يوجد سجلات
End If
RS.Filter = "" ' تفريغ خاصية التنقية للحصول على كافة السجلات قبل البحث
	RS.Filter = "Code=5 AND Name='AT2000'"		   ' وضع شرط البحث في خاصية التنقية

وفي كل الحالات اما DAO او ADO وسواء بإستخدام ادوات للاتصال او لا هناك طريقة للبحث

وباكثر من شرط في آن واحد وداعمة ايضا لكافة دوال الـ VBA المعروفة لدى الـ Access كقاعدة بيانات

وان لم تكن القاعدة Access فستكون الطريقة ذاتها داعمه لدوال قاعدة البيانات ايا كان نوعها

والطريقة التي اقصدها هي إستخدم ركن الـ WHERE في جملة إستخراج البيانات .. او إستخدام ركن الـ HAVING

وركن الـ WHERE هذا هو الركن الثالث من جملة الإستعلام في حالة تقسيمها إلى اركان .. اي مثلا

SELECT Table1.* FROM Table1 WHERE Table1.ID = 5

سيكون الركن الاول هو ركن الإختيار وفيه يتم تحديد الأعمدة المراد إستخراجها من الجدول وعلامة الـ * لإختيار كل الأعمدة

والركن الثاني هو ركن تحديد الجداول المراد إستخراج السجلات منهم وربط هذه الجداول بعضهما ببعض

سنتحدث الآن عن الإستخراج من جدول واحد حيث ان ربط الجداول ليس مجالنا الآن

والركنان السابقان SELECT و FROM كلاهما لا يمكن الإستغناء عنها .. إجباريا

اما الركن الثالث WHERE ودائما يكون الثالث ان وجد فهو إختياريا ان وجدت شروط للبحث

ويتم كتابة شروط البحث بعده اما شرط او اكثر ويمكن ايضا استخدام اشهر دوال الـ VBA

كدوال الـ Trim والـتحويل بين الصيغ و الـ Format ودوال الوقت والتاريخ وكل هذه الدوال

طبعا بالنسبة للـ Access كقاعدة بيانات .. واتحدث عنها لانها الأكثر إستخداما بين الاخوة الكرام اعضاء منتدانا هذا

ويكون الفصل بين شرط او شرطين بكلمة AND اذا اردنا ان يكونا الشرطان متحققان او كلمة Or اذا اردنا إحداهما فقط

ومثال على ذلك نريد استخراج السجلات من جدول Table1 وعندما يكون حقل الـ Code الرقمي قيمته 5

وعندما ايضا يكون حقل الـ Name النصي يكون قيمته AT2000

SELECT Table1.* FROM Table1 WHERE Table1.Code = 5 AND Table1.Name = 'AT2000'

ولاحظ علامات التنصيص الموجوده عند الحقل النصي والغير موجوده عند الحقل الرقمي

ومثال آخر نريد إستخراج السجلات عندما يكون الـ Code قيمته 5 او الـ Name قيمته AT2000

SELECT Table1.* FROM Table1 WHERE Table1.Code = 5 Or Table1.Name = 'AT2000'

لاحظ الفرق بين المثالين .. AND وتعني و .. اما الـ Or فتعني أو

الآن نريد التوسع ونبحث بشرطين ولكن بإستخدام الأقواس

نريد إستخراج السجلات عندما يكون الـ Code قيمته 5 والـ Name لا يساوي AT2000

او عندما يكون الـ Code قيمته اي قيمة الا الـ 1 والـ Name قيمته AT2000

SELECT Table1.* FROM Table1 WHERE (Table1.Code = 5 AND Table1.Name <> 'AT2000') Or (Table1.Code <> 1 AND Table1.Name = 'AT2000')

مثال آخر .. إستخراج السجلات عندما يكون الـ Code قيمته 1 او 5 و الـ Name قيمته AT2000 او AT2010

SELECT Table1.* FROM Table1 WHERE (Table1.Code = 1 Or Table1.Code = 5) AND (Table1.Name = 'AT2000' Or Table1.Name = 'AT2010')

ماذا اذا لو اردنا إستخراج السجلات التي تنحصر فيها قيمة الـ Code بين 1 و 5 ؟؟

SELECT Table1.* FROM Table1 WHERE Table1.Code Between 1 AND 5

أو

SELECT Table1.* FROM Table1 WHERE Table1.Code => 1 AND Table1.Code =< 5

وننتقل الآن الى سؤالين في غاية الاهيمة .. السؤال الاول عن البحث بالنصوص

كيف نستخرج السجلات التي قيمة حقل الـ Name فيها يبدأ بحرفين الـ AT200 ؟؟

لتنفيذ جملة الإستعلام بالشرط سالف الذكر داخل الـ Access يكون كالتالي

SELECT Table1.* FROM Table1 WHERE Table1.Name Like 'AT200*'

اما لتنفيذ الإستعلام من من خلال الـ Recordset اي من داخل الفيجوال

SELECT Table1.* FROM Table1 WHERE Table1.Name Like 'AT200%'

ونفس العلامة ممكن ان تسبق كلمة البحث اذا اردنا ان تنحصر كلمة البحث في وسط قيمة الحقل .. اي

SELECT Table1.* FROM Table1 WHERE Table1.Name Like '%AT200%'

سنحصل الآن على كل السجلات التي تحويل كلمة الـ AT200 .. دون ان تكون في بادئة القيمة كشرط اساسي

اما السؤال الثاني فهو لإستخراج السجلات او البحث بالتاريخ

والبحث بالتاريخ يكون كالأرقام تماما ولكن مع وضع التاريخ بين علامتين الـ #

اي لو افترضنا اننا نريد إستخراج السجلات عندما يكون حقل الـ BDate قيمته بين 1 ابريل 2000 و 1 مايو 2000

SELECT Table1.* FROM Table1 WHERE BDate Between #2000/04/01# AND #2000/05/01#

وقس على ذلك .. كل ما قلناه الارقام سالفا يصلح مع التاريخ مع مراعات الـ # والتنسيق

والتنسيق الأفضل للتعامل مع التواريخ هو ان نبدأ بالسنة فالشهر فاليوم

ويمكننا البحث عن احد اركان التاريخ كالسنة مثلا .. نريد إستخراج السجلات عندما يكون التاريخ في عام 2000

SELECT Table1.* FROM Table1 WHERE Year(Table1.BDate) = 2000

وهنا استخدمنا احد دوال الـ VBA وهي دالة الـ Year وتستخدم لإستخلاص السنة فقط من التاريخ

ومثلها دالة الـ Month لإستخراج الشهر فقط ودالة الـ Day لإستخراج اليوم فقط

اما للتعامل مع الوقت فيكون نفس المقياس ايضا والدوال هي Hour لإستخراج الساعة و Minute للدقائق و Second للثواني

والتنسيق يكون الساعة فالدقائق فالثواني .. اي دائما نبدأ بالكبير وننتهي بالصغير

ولو لاحظنا سويا استخدام رمز الـ # مع الوقت والتاريخ وعند فصل السنة فقط مثلا لم نستخدم هذا الرمز

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

اي عند إدخال نص او تاريخ في دالة من دوال الـ VBA يكون إختيار الرمز المستخدم وفقا لنوع القيمة الجديدة وليس لنوع الحقل

اي مثلا بإمكاننا ان نقول :

SELECT Table1.* FROM Table1 WHERE CStr(Table1.Code) = '5'

الحقل نوعه رقم في الاصل .. لكن القيمة الخاضعه لشرط البحث نوعها مختلف عن نوع الحقل

واخيرا .. ملاحظه صغيرة .. يمكننا ان نستخدم Like بدلا من = .. ولكن لا يمكننا ابدا ان نستخدم = بدلا من Like .. اي العكس غير صحيح

وملاحظة اخرى اصغر .. لإستخدام الركن ذاته لقاعدة بيانات SQL Server .. تكون القواعد نفسها كما ذكرناها

الإختلاف فقط في علامة الـ # بالنسبة للتاريخ .. تستبدل بعلامة تنصيص '

وايضا دوال الـ VBA كثير منها غير معروف لدى الـ SQL Server .. ولكن هناك بديل ويختلف في طريقة صياغته

واخيرا الركن الثاني .. HAVING .. وهو كـ WHERE تماما ولكنه يستخدم مع الـ GROUP BY بدلا من WHERE

ويكون ترتيبه بعد ركن الـ GROUP BY مباشرة ولا مكان لركن الـ WHERE في هذه الجملة

اي لا يجوز ان نجمع بين WHERE و HAVING في جملة واحده .. ومثال بسيط على هذا الركن

SELECT Table1.Code, Table1.Name, Table1.BDate FROM Table1 GROUP BY Table1.Code, Table1.Name, Table1.BDate HAVING Table1.Code = 5

ولاحظ معي استحالة إستخدام الأستريك ( * ) في الجملة حاوية ركن الـ GROUP BY

ومن الجائز ان لا يتم إختيار كافة الحقول او الاعمدة الموضوعه في GROUP BY .. اي يجوز ان نقول

SELECT Table1.Code, Table1.Name FROM Table1 GROUP BY Table1.Code, Table1.Name, Table1.BDate HAVING Table1.Code = 5

والعكس ليس صحيح

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

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#16

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

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

ولي طلب في حالة كتابة اي جملة sql وكانت قاعدة البيانات اكسس يرجى توضيحها مع قاعدة بيانات sqlserver نعم هي نفس الجملة

ولكن هناك تغير

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

#17

هذا هو العمل يا أخ تحدي، أنا كنت بدأت بوضع جواب، لكن.........

على كل عندي مثال وضعته للبحث في قاعدة البيانات سأرفعه قريباً.

وسأعلق على إجابتك قريباً أيضاً.

جزاك الله خيراً.

هل انتهت إجازتك؟؟

هذه الجملة خاطئة  :wacko: 


#18

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

الاستاذ احمد خليل .. مشاركتك لم افهمها جيدا .. هل هي استفهماية ام خبرية ؟؟

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

والفرق يكون في الـ Syntax .. اي مثلا في حالتنا هذه ومع التاريخ يكون في الـ Access رمز # وفي الـ SQL Server رمز '

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

اي ان الدوال والقوالب الموجوده في الـ Access ليست متطابقة تماما مع الـ SQL Server

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

فمنعا للتشتيت لا تتشعب معها واعتبرها عابره كما هي .. وعموما لو هتستخدم SQL Server فبيكون معاه الـ Help الخاص بيه

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

ولكن في قسم قواعد البيانات :)

والأخ عبود منتظرين المثال للفائدة ومنتظرين ايضا إستكمال العمل الجاد على الورشة :)

وبالنسبة لأجازتي فمنتهتش .. وحسب الجدول الزمني مش هتنتهي السنة دي ان شاء الله

وعندي إقتراح لو سمحت .. ما رايك ان تكون ورشة العمل هذه لا ردود فيها ولا مشاركات لأحد

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

وهذا حتى يكون الموضوع كمذكرات ليلة الإمتحان .. صفحات سؤال وجواب .. كل مشاركة بسؤال وجوابه

وتفضلوا بقبول فائق الحب والتقدير

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#19

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

الاخ الاستاذ الطيب mrx

انا اسف اذا كان طلبي غير واضح وهو فعلا كما تفضلت به Syntax للجملة وساقوم بمراجعة help

ولكن لي ملاحظة حتى المشاركات التي قد تبتعد عن الموضع تبقى حتى نعرف الصحيح وقد تكون الاجابة هي طرف خيط يبدا به وبالتالي

تصبح شمولية اكثر من غير التشعب بالاجابة على المشاركة

ولكم منا الدعاء بالتوفيق والى الاخ صاحب هذه الفكرة

#20

حسناً

بالنسبة للمشاركات فلا بأس، فهذا موضوع ورشة العمل، وليس الموضوع النهائي الذي توضع فيه المشاركة النهائية.

وبالنسبة للمثال، هذا مثال للبحث في قاعدة البيانات بواسطة جملة SELECT وبعدة طرق

يتطلب هذا البرنامج وجود قاعدة بيانات NWIND.MDB في الجهاز، والمفترض أنها تأتي مع فيجوال بيسك.

تفضلوا.

Search_in_the_database.rar

هذه الجملة خاطئة  :wacko: 


#21

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

كيف تم عمل جملة (select) باكثر من معامل

select * from Table Where col1= variable or col1=variable2

فماذا لو عدد غير محدود من المعاملات

تم تعديل هذه المشاركة بواسطة 2004mimo في 6 مايو 2009 في 19:34

Mimo

040.gif

#22

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

لو لاحظت اخي الفاضل بعد ركن الـ WHERE ستجد كل معاملين يفصل بينهما كلمة Or

وهذا مقياس .. حتى وان كثرت المعاملات .. الجديد في الموضوع هو كيف سنقوم بكتابة الجملة بهذا المقياس

والإجابة ستكون بإستخدام Loop بإضافة الشروط الى جملة الإختيار

للحصول على إجابة اكثر دقة .. اضرب لنا مثالا وانتظر الإجابة عليه بشكل عملي حتى تتضح الرؤية

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#23

إن شاء الله تعالى سوف أقوم قريباً بتنسيق رد الأستاذ تحدي، وتدعيمه بالأمثلة، ووضعه.

لكن اعذروني الآن فأنا مشغول كثيراً.

بانتظار المزيد من الردود والمشاركات :)

هذه الجملة خاطئة  :wacko: 


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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…