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

مشكلة خطيرة فى التقريب داخل Access

مغلق
بدأه عماد حمدي احمد في 28 أغسطس 2005 · 11 رد · 7,702 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

الأخوة الكرام

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

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

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

ولكن المشكلة فين؟

المشكلة انه بعمل تقريب للرقم السابق داخل الاكسس ستكون النتيجة هى 4 وليست 5 وهنا المشكلة الخطيرة.

لقد لاحظنا هذه المشكلة ونحن نستخدم برنامج اكسس لعمل كنترول لنتائج الطلاب بالكلية والمفروض ان الطالب الراسب فى مادة اذا وصل الى درجة معينة يحق له عندها ان يرفع فى هذه المادة. فمثلا لو كان الحد الادنى للمادة حتى يرفع الطالب هى 5 ولانه يتم تقريب الدرجات عندنا الى ارقام صحيحة فلو كانت درجة الطالب 4.5 سيحسبها الاكسس 4 وعندها يحرم الطالب من النجاح مع انه فى الحقيقة ناجح.

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

والملاحظة العجيبه هنا هى ان الخلل لا يحدث الا مع الرقم 5 اثناء تقريبه بحيث يكون الرقم على يساره عدد زوجى. للتوضيح :

الرقم 4.5 سيقرب الى 4 خطأ

الرقم 7.5 سيقرب الى 8 صحيح

الرقم 1.125 سيقرب الى رقميين عشريين فيصبح 1.12 خطأ

بينما الرقم 13.1215 سيقرب الى ثلاثة ارقام عشرية فيصبح 13.122 صحيح

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

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

اخوانى الاعزاء معلومات هذا الموضوع هى بقدر علمى المتواضع عن الاكسس. فلو حدث وكان هناك خلل منى انا وان هناك جوانب اجهلها فاغفروا لى خطأى وتسرعى واندفاعى وتكرموا علي بتوضيح الصحيح.

وتقبلوا منى فائق الاحترام والتحية,,,,,

التقريب.rar

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#2

اخي العزيز / عماد

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

بارك الله فيك وفي علمك وتوضيحك لذلك

ونتمنى نجد الرد على استفسارك كي تعم الفائدة ونشكر لك اهتمامك واطروحاتك المفيدة

واتمنى لك دوام التوفيق والسداد

ولك تحياتي

اخوك

الخيّـ®âl-5iââlـال

#3

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

الاخوة الكرام

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

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

وكأن الموضوع غير ذات اهمية, الاف الالاف من المبرمجين يستخدمون Software مشكوك فى كفائته.

والنتيجة لا استجابة وكأن شيئا لم يكن!!!!!!!!

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

وهذا اخر عهدى بالمشاركات فى هذا المنتدى للاسف الشديد بعد ان كنت اسخر اكثر من 5 ساعات يوميا للمشاركة والاطلاع والاستفادة. ولكن كالعادة لا فائدة!!!!!!!!

ولا يفوتنى ان اشكر اخى الخيّـ®âl-5iââlـال صاحب المشاركة الوحيدة والوحيد الذى ابدى اهتمام, واعتذر له عن عدم المواصلة فى هذا الموضوع.

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

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#4

اشكرك اخي الفاضل وفلا موضوع مهم

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

#5

اخي الكريم عماد احمد

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

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

ثانيا : كما تعلم ان لكل برنامج من برامج الاوفيس حدود معينه لا يمكن ان يتجاوز الى غيرها فمثلا كما ذكرت في مشاركتك ان الاكسيل يستطيع تنفيذ هذه الدوال بكل سهوله بما يعجز الاكسيس وهذا لا يعتبر خلل في البرنامج او قصور فيه ولكن كما ذكرنا لكل برنامج حدود فبرنامج الاكسيل خاص بالامور المحاسبية والمعادلات فقد تم تزويده بكل الدوال الخاصه بأمور المحاسبة الرياضية بينما نجد برنامج الاكسيس يختص بقواعد البيانات والبرمجه فشتان بينهما ولكن يمكن عمل مشاركه بين البرنامجين وهذا ما يوفره برنامج الاوفيس كاملا لذا نستطيع عمل مثالك في الاكسيل وتصديره او استيراده الى الاكسيس بكل سهوله .

ثالثا : بالنسبة لداوال التقريب في برنامج الاكسيس فأعتقد انها لا تتعدى ثلاثة وهي التقريب بإستخدام الدالة ROUND والتقريب للعدد الاقل بإستخدام الدالة INT والتقريب الثابت بإستخدام الدالة FIX بينما نجد ان برنامج الاكسيل بارع في مثل هذا النوع من الدوال

رابعا : في مثالك السابق اطلعت على الدوال التي تم وضعها في مربعات التص وهي دالة ROUND مع المعامل الخاص بها وهذا لا يكفي ولكن مثل هذا النوع من الحسابات يحتاج الى وحدات نمطيه بدوال متكاملة بحيث يتم استخراج النتائج مباشرة من خلال تمرير الحدث الى الدالة والمعامل الخاص بها سواء في التقريب او غيره لذا سنوافيك ان شاء الله تعالى بشرح لهذه العملية على شكل كود وحدات نمطيه متكامل .

ختاما لك مني كل الشكر والتقدير على هذا الطرح البناء

اختكم

زهره

تم تعديل هذه المشاركة بواسطة zahrah في 31 أغسطس 2005 في 05:44

#6

السلام عليكم اخى الكريم

هذة اول مشاركة لى للاجابة على موضوع مطروح

ارجوا الاجابة هى المطلوب

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

db1.zip

#7

تفضل اخي عماد

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

التقريب بعد التعديل.rar

اختكم

زهره

1
#8

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

الاخوة والاحباب الكرام

كنت قد عزمت على عدم المشاركة ثانية للاسباب السابق ذكرها. ولكن حيائى واحترامى وتقديرى الشديدين لاخوتى واساتذتى بالمنتدى منعانى من عدم الرد لانها تعتبر وقاحة منى. وانا اقدم اعتذارى ان كنت فظا فى اخر مشاركة لكن يعلم الله ان السبب هو غيرتى العلمية وحرصى الشديد على عموم الاستفادة لجميع الاخوة بالمنتدى.

الاخ الكريم ولد حمولة اشكر لك اهتمامك ومشاركتك. ومنتظرين مشاركتك بما افادت به شركة مايكروسوفت بخصوص هذه المشكلة علها تكون الحل الشافى.

والاخ الكريم hashim620636 اتقدم ايضا بالشكر على اهتمامك ومشاركتك. وان كنت للاسف لم افهم ما قصدته فى مثالك وما هو الحل الذى اقترحته؟ فلو تتكرم وتقوم بشرح ما ترمى اليه نكون لك من الشاكرين.

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

وشكرا,,,

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#9

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

الاخت الغالية زهرة

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

نبدأ بالخلاف: لقد ذكرتى حضرتك فى ردك التعليق التالى

اقتباس
كما تعلم ان لكل برنامج من برامج الاوفيس حدود معينه لا يمكن ان يتجاوز الى غيرها فمثلا كما ذكرت في مشاركتك ان الاكسيل يستطيع تنفيذ هذه الدوال بكل سهوله بما يعجز الاكسيس وهذا لا يعتبر خلل في البرنامج او قصور فيه ولكن كما ذكرنا لكل برنامج حدود

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

ولكن الموضوع هنا غير متعلق بامكانيات بل متعلق بخطأ علمى غير قابل للجدل. عملية تقريب الارقام هذه عملية علمية ولها نظرياتها الغير قابلة للتجزئ فى اى مكان واى زمان وكذلك اى برنامج. انا افهم انه لو لم يوجد دالة Round داخل الاكسس نسمى هذا حدود امكانيات البرنامج. اما ان توجد وتكون وظيفتها الاصلية هى تقريب الاعداد لعدد محدد من الارقام العشرية وعندما اقول لها قربى 4.5 فهنا العملية غير قابلة للجدال الناتج هو 5 وعندما تعطينى 4 اقول وبكل ثقة هذا خطأ هذا خلل.

هل يعقل ان اقول لانسان 2 ضرب 3 كام؟ يقول 15 وهى دى امكانياتى. هذه ليست امكانيات هذه نتائج خاطئة. فلو قال لى لا اعلم وهذه حدود امكانياتى اقول له احترم معرفتك بقدر علمك. صح؟

مشرفتنا الغالية زهرة, هذه المشكلة فى التقريب هى خطأ وخطأ فادح كمان, وخلل فى البرمجة الداخلية للاكسس. فانا كمستخدم عادى جدا صممت برنامج لعمل نتائج طلاب (وهذه ليست تخيلات انها واقع. الاف البرامج المستخدمة الان لعمل كنترولات الطلاب فى العالم والعالم العربى تستخدم اكسس فكم واحد يعلم بمشكلة التقريب هذه؟) وكعادة الكنترولات فى نهاية النتيجة لا تتعامل مع انصاف الدرجات (على الاقل عندنا) فيقوم البرنامج بعمل تقريب للدرجة كما ذكرت سابقا. وهنا الخلل طالب درجته 12.5 وتقرب الى 13 وهى تقابل مثلا تقدير جيد جدا, فيخرجها الاكسس 12 ويكون التقدير على اساس الخطأ جيد, هل هذه امكانيات ام اخطاء؟ وما بالك بالذين يرسبون لخطأ بالبرنامج غير معروف ومعلوم ولا محسوس وهؤلاء الطلاب فى الحقيقة ناجحون.

أختى زهرة كان هذا هو الاختلاف.

وشكرا,,

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#10

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

والان استاذتى اليك العتاب

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

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

وهل انا عامل من الحبة قبه وعامل حكايه علشان اصلح كام رقم؟

لا اختى زهرة. انما انا اناقش الموضوع من منطلق علمى بحت, وكل هدفى هو الاتى

1- اشهار واعلام لكل مستخدمى الاكسس بهذا الخلل (مازلت مصر على ذلك) بحيث يكونوا على علم به لاتخاذ احتياطاتهم فى برامجهم بحيث لا يقعوا فى مشاكل ونتائج خاطئة.

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

3- كسر حالة الجمود والسؤال والاجابة المنتشرة بالمنتدى. فلا اعتقد ان يكون كل هدف المنتدى الاجابة عن مجموعة من الاسئلة(وطبعا كل احترامى وتقدير لهذه الاسئلة واصاحابها). فالهدف الأسمى هو النقاش والاختلاف لخلق مناخ علمى للوصول لاقصى استفادة.

واخيرا اختى العزيزة فمن الحلول البسيطة جدا المقترحة لحل المشكلة هو اضافة 0.00000001. وما زلت اقول هذه ليست حلول بل مسكنات.

عارف انى اطلت عليكم لكن اقبلوا اعتذارى.

واخيرا ارجو منك استاذتنا تقبل كلامى بصدر رحب كما عهدناكى دائما.

وشكرا,,

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#11

الاخ الفاضل عماد حمدي

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

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

ثانيا :

اقتباس
ولكن الموضوع هنا غير متعلق بامكانيات بل متعلق بخطأ علمى غير قابل للجدل. عملية تقريب الارقام هذه عملية علمية ولها نظرياتها الغير قابلة للتجزئ فى اى مكان واى زمان وكذلك اى برنامج. انا افهم انه لو لم يوجد دالة Round داخل الاكسس نسمى هذا حدود امكانيات البرنامج. اما ان توجد وتكون وظيفتها الاصلية هى تقريب الاعداد لعدد محدد من الارقام العشرية وعندما اقول لها قربى 4.5 فهنا العملية غير قابلة للجدال الناتج هو 5 وعندما تعطينى 4 اقول وبكل ثقة هذا خطأ هذا خلل.

لايوجد خطأ في الداله ولكن الخطأ في طريقة استخدامها فهذه الدالة لا تأتي لوحدها بل تدخل عليها معاملات اخرى مثل دالة INT لتثبيت العدد عند حد معين لا يتجاوزه او تقوم بحذف الاعداد الاقل من نصف 0.5 او تقوم بالزياده الى الاعلى ولا ننسى ايضا دالة FIX وكذلك دالة CInt وسأورد لك امثله عليها

الدالة ROUND

Round (210.67, 1) would return 210.7 
Round (210.67, 0) would return 211 
Round (210.67) would return 211

Dim var1, var2, var3, var4, var5
var1 = Round(1.5)      ' var1 contains 2
var2 = Round(2.5)      ' var2 contains 2
var3 = Round(3.5)      ' var3 contains 4
var4 = Round(0.985, 2) ' var4 contains 0.98
var5 = Round(0.995, 2) ' var5 contains 1.00

انظر الى هذا الكود في الوحدة النمطية

Public Function Round(Number As Double, Optional NumDigitsAfterDecimal As Integer = 0) As Double
  Round = Fix(Number * (10 ^ NumDigitsAfterDecimal) + (0.5 * Sgn(Number))) / (10 ^ NumDigitsAfterDecimal)
End Function

وهذا الكود هو نفسه ولكن في حدث عند الفتح للنموذج

Round = Fix(CDbl(Number2 * (10 ^ NumDigitsAfterDecimal)) + (0.5 * Sgn(Number2))) / (10 ^ NumDigitsAfterDecimal)

وايضا انظر الى هذه الوحده النمطيه

Public Function RoundUP(dblInput As Double, intDecimals As Integer) As Double
    
    'Implements a variant of the Round() function, that rounds-to-larger
    'rather than rounds-to-even, like in Excel:

    Dim strFormatString As String 'Format string
    Dim strResult As String

    'If input is zero, just return zero. Else format as appropriate:
    If dblInput <> 0 Then
        strFormatString = "#." & String(intDecimals, "#")
        If Right(strFormatString, 1) = "." Then
            strResult = Format(dblInput, "#")
        Else
            strResult = Format(dblInput, strFormatString)
        End If

    Else
        strResult = "0"
    End If
    
    'If the result is zero, Format() will return "." - change this to "0":
    If strResult = "." Then
        strResult = "0"
    End If
    
    RoundUP = CDbl(strResult)
    
End Function

الدالتين INT و FIX

MyNumber = Int(99.8)    ' Returns 99.
MyNumber = Fix(99.2)    ' Returns 99.
MyNumber = Int(-99.8)   ' Returns -100.
MyNumber = Fix(-99.8)   ' Returns -99.
MyNumber = Int(-99.2)   ' Returns -100.
MyNumber = Fix(-99.2)   ' Returns -99.

الدالة CInt او CLng

Dim MyDouble, MyInt
MyDouble = 2345.5678     ' MyDouble is a Double.
MyInt = CInt(MyDouble)   ' MyInt contains 2346.

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

اقتباس
مشرفتنا الغالية زهرة, هذه المشكلة فى التقريب هى خطأ وخطأ فادح كمان, وخلل فى البرمجة الداخلية للاكسس. فانا كمستخدم عادى جدا صممت برنامج لعمل نتائج طلاب (وهذه ليست تخيلات انها واقع. الاف البرامج المستخدمة الان لعمل كنترولات الطلاب فى العالم والعالم العربى تستخدم اكسس فكم واحد يعلم بمشكلة التقريب هذه؟) وكعادة الكنترولات فى نهاية النتيجة لا تتعامل مع انصاف الدرجات (على الاقل عندنا) فيقوم البرنامج بعمل تقريب للدرجة كما ذكرت سابقا. وهنا الخلل طالب درجته 12.5 وتقرب الى 13 وهى تقابل مثلا تقدير جيد جدا, فيخرجها الاكسس 12 ويكون التقدير على اساس الخطأ جيد, هل هذه امكانيات ام اخطاء؟ وما بالك بالذين يرسبون لخطأ بالبرنامج غير معروف ومعلوم ولا محسوس وهؤلاء الطلاب فى الحقيقة ناجحون.

:) :) :) لا تعليق :) :) :)

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

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

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

اخي عماد حفظه الله من كل مكروه

امل ان تبحث وتقرأ عن الدالة Round والدالة INT والدالة FIX والدالة CLng والدالة Cint فجميع هذه الدوال المتوفره مع الاكسيس لعمليات التقريب سواء للاعلى او للادنى وستخرج بقناعات تفيدك كثيرا وختاما لك مني كل الشكر والتقدير على هذه المشاركه القيمه واليك الامثله

هذه النسخ خاصه بالاوفيس 2003

RoundDown.rar

vbaRounding2003.rar

ROUND2.rar

هذه النسخ خاصه بالاوفيس 2000

ROUND2000.rar

vbaRounding2000.rar

RoundDown2000.rar

اختكم

زهره

تم تعديل هذه المشاركة بواسطة zahrah في 2 سبتمبر 2005 في 00:38

1
#12

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

الاخت والمشرفة الغالية زهرة

اشكرك من كل قلبى على فيض علمك الذى غمرتينى به, وان كان الخلاف مازال قائما. الا ان الذى قصدته من الموضوع اعتقد انه وصل وهو نشر الموضوع ليعلم معظم احبابنا فى المنتدى بموضوع التقريب, هذا بغض النظر عن كونه خطأ او لا. المهم الاستفادة وان شاء الله تكون حصلت.

الاخت زهرة بارك الله فيكى, كنت اتمنى مواصلة الحوار والنقاش معك لنستزيد من علمك الوافر ولكن للاسف فانا مضطر للسفر لمدة اسبوع الى عشرة ايام وسأنقطع عن المنتدى بكل اسف.

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

وشكرا,,,

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

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

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