مشاهدة النسخة كاملة : مثال على if والشروط المركبة مثال 2-2
س ا يوسف
29-03-2009, 06:16 PM
تقوم احد الشركات بتحديد قيمة الاجر لكل ساعة عمل لوظيفة معينة طبقا لعدد سنوات الخبرة كما هو موضح
You can see links before reply
والمطلوب كتابة معالج حدث النقر Click Event Hander بحيث يتيح لمستخدم البرنامج ادخال عدد سنوات الخدمة وعدد ساعات العمل ثم يقوم بحساب كل من الاجر للساعة ويقوم بتخزينه في متغير WageRate والراتب الكلي Salary ويقوم بعرضهما في مربع رسالةعلى ان تكون الواجهة كما بالشكل
You can see links before reply
س ا يوسف
29-03-2009, 07:09 PM
الحل
المطلوب ادخال سنوات خبرة من الاداة TxtYears و ساعات العمل من الاداة TxtHoursWork
يبقى لابد من وجود مخزن لسنوات الخبرة YearsOfService او اي اسم
و مخزن لساعات العمل HoursWorked او اي اسم
والمطلوب حساب الاجر لكل ساعة في مخزن WageRate و المرتب في مخزن Salary
يبقى نحدد انواع المخازن سنوات الخبرة short و ساعات العمل ممكن كسر decimal اجر الساعة مبلغ من المال decimal المرتب برده decimal
الامر المستخدم للتذكرة Dim اسم as نوع ( من اليسار لليمنين )
Dim YearsOfService As Short
Dim HoursWorked As Decimal
Dim WageRate As Decimal
Dim Salary As Decimal
اي رقم مدخل من اداة نص لابد من تحويله ب parse
الطريقة للتذكرة من اليمين نفتح قوس text نقطة اسم الاداة بالشكل نقطة me نغلق القوس نقطة parseنقطةالنوع تساوي اسم المخزن
بس قبل التحويل نتأكد من اللي داخل ارقام وليس حروف ب try
Try
نكتب جمل التحويل
ل
(YearsOfService = Short.Parse(Me.txtYears.Text
ل
( HoursWorked = Decimal.Parse(Me.txtHoursWorked.Text
نكتب
Catch
MsgBox("Check your inputs ")
End Try
بعد كده نشوف كام اختيار 5 حالات يبقى حالة if الثالثة اللي فيها elseif كام واحدة 3
نكنبها ازاي اول if تعبيره اقل من 5 والTure بتعها 5 في مخزن اجر الساعة
elseif اكبرمن او تساوي 5 و اقل من 10 وال ture بتعها 7 في مخزن اجر الساعة
elseif اكبرمن او تساوي 10 و اقل من 15 وال ture بتعها 10في مخزن اجر الساعة
elseif اكبرمن او تساوي 10 و اقل من 15 وال ture بتعها 12 في مخزن اجر الساعة
يتبقى حالة واحدة تبقى اجر الساعة في مخزن اجر الساعة15 بعد else
If YearsOfService < 5 Then
WageRate = 5
ElseIf YearsOfService>=5 and YearsOfService < 10 Then
WageRate = 7
ElseIf YearsOfService>=10 and YearsOfService < 15 Then
WageRate = 10
ElseIf YearsOfService>=15 and YearsOfService < 20 Then
WageRate = 12
Else
WageRate = 15
End If
نحسب المرتب يساوي عدد الساعات في اجر الساعة
Salary = WageRate * HoursWorked
نخرج رسالة ب MsgBox باجر الساعة و المرتب
MsgBox("Your Wage Rate = " & WageRate & vbCrLf & _
"Your salary = " & Salary)
لاحظ
VbCrLf تعني اذهب لسطر جديد اي ما قبلها يكتب في سطر وما بعدها في السطر التالي ـــــ تعني ان السطر الثاني في الامر هو استكمال للسطر السابق
هانى الخير
30-03-2009, 06:54 AM
شششششكرااااااااااااااااااااااااااااااااااااااااااا اااا
hany wasel
13-09-2010, 07:46 PM
مشكورررررررررررررررر
طاطا جادو
26-01-2012, 02:32 PM
مشكووووووووووووووووووووووووووووووووووووووووور
Powered by vBulletin® Version 4.2.2 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved, TranZ by Almuhajir