ANAS AL OTAIBI
Unregistered
تمرين خفيف جدا سهل بمعنى الكلمة

اول شيء نعمل المشروع مشروع صغير
ضع على Form
Edit - 3
Button -1
نضع هذا الكود في الزر
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
Var
A,b,c: Integer;
begin
A := StrToInt (Edit1.Text);
b := StrToInt (Edit2.Text);
C := A Div B ;
Edit3.Text := IntToStr(C);
end;
عند عمل البرنامج يكون
Edit1 القيمة الاولة
Edit2 القيمة الثاية
Edit3 الناتج
اذا وضعت القيمة الثانية 0 ستكون نتائج التنفيذ هكذا
المطلوب:استثناء هذا الخطاء و اظهار رسالة من المبرمج
هكذا..
في أمان الله
المشاركات : 245
المواضيع 69
:
: 12
الإنتساب : Jan 2013
أظهار الرسالة .
Application.MessageBox('','' ,MB_ICONEXCLAMATION);
الكود
كود :
procedure TForm1.Button1Click(Sender: TObject);
Var
A,b,c: Integer;
begin
A := StrToInt (Edit1.Text);
b := StrToInt (Edit2.Text);
Edit3.Text := IntToStr(C);
C := A Div B ;
if b=0 then
Application.MessageBox('لا يمكن قبول رقم صفر كعدد ثانى الرجاء تغير الرقم','warring' ,MB_ICONEXCLAMATION);
Edit3.Text :='عفواّ : لا يمكن القسمة على صفر'
end;
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
ANAS AL OTAIBI
Unregistered
Insid3Code كتب :لكي لا يترك الموضوع بدون ردود هذه مساهمتي البسيطة:
تعمدت التدقيق في الفحص لتجنب اظهار رسالة الخطأ في حالات غير حالة الفسمة على الصفر...
شكرا على المساهمة
طريقه شبه صحيحه هناك حل صحيح و اقل اكواد لماذا if ! :confused: ثم الاستثناء من المفترض انه لا ينتج شيء من الخطاء لماذا Edit3 يدخل رقم 0 بعد ظهور الخطاء
قريبا من الحل
لا تتعمق كثير في الفحص يمكنك صد هذا الخطاء بدون ذالك بطريقه افضل
ANAS AL OTAIBI
Unregistered
karika2 كتب :أظهار الرسالة .
بارك الله فيك . لاكن طريقة خطاء
لم ينجح ظهور الرسالة ايضا يدخل ارقام عشوائية في Edit3


:confused:
المشاركات : 245
المواضيع 69
:
: 12
الإنتساب : Jan 2013
رابــــــط
كود :
http://www.delphibasics.co.uk/Article.asp?Name=Exceptions
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
ANAS AL OTAIBI
Unregistered
karika2 كتب :"]رابــــــط
نعم هذي الطريقه الصحيحه ^^ لكن ناقص انك تحلها بنفسك سهل جدا :d
ANAS AL OTAIBI
Unregistered
طريقة الحل الصحيحة //
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
Var
A,b,c: Integer;
begin
A := StrToInt (Edit1.Text);
b := StrToInt (Edit2.Text);
c := 0;
try
C := A Div B;
Except
on E: EDivByZero do
MessageDlg('لا يمكن قبول رقم صغر كعدد ثاني الرجاء تغيير الرقم', mtWarning,[mbok],0);
end;
Edit3.Text := IntToStr(C);
end;