![]() |
|
طلب دالة لاختصار الكسر الاعتيادى - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94) +--- قسم : قسم Visual Basic 6 وما قبله (http://vb4arb.com/vb/forumdisplay.php?fid=167) +--- الموضوع : طلب دالة لاختصار الكسر الاعتيادى (/showthread.php?tid=4476) |
طلب دالة لاختصار الكسر الاعتيادى - Guest - 25-09-12 هل توجد دالة فى لغة الvb لاختصار الكسر الاعتيادى مثلآ أكتب لها 12/30 فتعطينى الناتج 2/5 أم لابد من عمل كود لهذا الغرض؟ ولكم ألف شكر طلب دالة لاختصار الكسر الاعتيادى - ناجي إبراهيم - 26-09-12 السلام عليكم... لا أعرف أن في VB6 مثل تلك الدالة. اكتب كود الإجراء التالي في Module (أو في القسم العام لـ Form حيث يمكنك جعله Private بدل Public): كود : Public Sub ReduceFraction(ByVal Number1 As Long, ByVal Number2 As Long, ByRef Result1 As Variant, ByRef Result2 As Variant)* بارامترات الإجراء: Number1: العدد الأول، و هو بسط الكسر (العدد العلوي أو المقسوم). Number2: العدد الثاني، و هو مقام الكسر (العدد السفلي أو القاسم). Result1: بسط الكسر الناتج من عملية الاختصار. Result2: مقام الكسر الناتج من عملية الاختصار. == لاحظ أن البارامترين Result1 و Result2 يمرران بالمرجع (ByRef) أي أنه يجب تمرير متغيرين من النوع Variant. * لاحظ أنه في الإجراء توجد عدة حالات، منها حالتان خاصتان هما: *** إذا كان البسط صفراً فإن قيمة الكسر ستكون صفراً، و عليه فإن الإجراء يعيد 0 (صفراً) في Result1 و Null في Result2. *** إذا كان المقام صفراً فإن قيمة الكسر غير معرفة (أو ما لا نهاية) و عليه فإن الإجراء يعمل على إنتاج خطأ "القسمة على صفر". === لتجربة الإجراء: * نضع على الـ Form أربع خانات نص، و لنفرض أن أسماءها هي Text1 (بسط الكسر) و Text2 (مقام الكسر) و Text3 (بسط الكسر المختصر) و Text4 (مقام الكسر المختصر). * نضع زراً (Command) و نكتب به الكود التالي: كود : Private Sub Command1_Click()نرجو الاستفادة و السلام. طلب دالة لاختصار الكسر الاعتيادى - اسلام الكبابى - 02-10-12 جزاك الله خيرآ ولدى أكواد عديدة لهذا الغرض وغيره منها مثلآ هذا الكود Dim A1 As Single, A2 As Single Dim AA1 As Single, AA2 As Single Dim Namel As Integer, AMEL(22) As Integer ()Private Sub Command1_Click Cls A1 = Text1.Text A2 = Text2.Text AA1 = A1: AA2 = A2 Namel = 0 For I = 2 To AA1 / 2 + 1 50 Xdevid = AA1 / I If Xdevid <> Int(Xdevid) Then GoTo 60 Namel = Namel + 1: AMEL(Namel) = I If Xdevid = 1 Then GoTo 100 Else AA1 = Xdevid: GoTo 50 60 Next I 100 For I = 1 To Namel Xdevid = AA2 / AMEL(I) If Xdevid = Int(Xdevid) Then AA2 = Xdevid Next I AA1 = A1 * AA2 / A2 Text3.Text = AA1 Text4.Text = AA2 End Sub ولكم ألف شكر[/SIZE] طلب دالة لاختصار الكسر الاعتيادى - عبدالله الصافي - 19-11-12 لي طلب للأخوة الكرام شرح مجمل وواضح للأكواد المهمة . وبالذات شرح لسير عمل الكود. ولكم مني جزيل الشكر |