سـؤال في الدرس الثآلث من دورة دلفي
#1
السلآم علـيكم ,

كيف الحال ,

بإختصآر شديد اخوآني ,

وصلت نقطه في الدرس الثآلث وطبقة مثل ما في الدرس ويعطيني غلط !!

للي شوف الدرس او عنده الدرس السطر هذا

كود :
Edit4.Text := IntToStr(MathOperation (StrToInt(Edit1.Text), StrToInt(Edit2.Text), Edit3.Text));

ونص الرسآله تبع الخطأ هي ,

كود :
[Warning] Unit1.pas(36): Return value of function 'MathOperation' might be undefined [Error] Unit1.pas(56): Incompatible types: 'Integer' and 'TCaption' [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'


بإنتظآركم
الرد
#2
و عليكم السلام و رحمة الله
لو ركزت اكثر على الدرس لرايت الحل بام عينيك Smile
اعد تتبع الدرس و قف عند مرحلة تحويل اوامر الحدث الى دالة مستقلة : MathOperation اين تجد ملاحضة تتحدث عن مراعاة التحويل بين القيم المختلفة، و خصوصا الربط الصحيح لطبيعة القيمة المرجعة لدالة... و ستجد ايضا ان دلفي يظهر نفس الرسالة التي تحدث عنها و طريقة معالجتها...


الدالة في اول تجربة ترجع قيمة integer :

كود :
function MathOperation(a, b :[COLOR=red] integer[/COLOR]; Sig: string): [COLOR=red]integer[/COLOR]; var c: integer; begin c := 0; if Sig = '+' then c :=[COLOR=red] a + b[/COLOR]; if Sig = '-' then c := [COLOR=red]a - b[/COLOR]; if Sig = '*' then c := [COLOR=red]a * b[/COLOR]; result := c; end;

اوامر حدث النقر :
PHP كود :
Edit4.Text := IntToStr(MathOperation (StrToInt(Edit1.Text), StrToInt(Edit2.Text), Edit3.Text)); 

الدالة في ثاني تجربة ترجع string :
كود :
function MathOperation([COLOR=red]a, b, Sig: string[/COLOR]): [COLOR=red]string[/COLOR]; var c: integer; begin c := 0; if Sig = '+' then c := [COLOR=red]StrToInt[/COLOR](a) +[COLOR=red] StrToInt[/COLOR](b); if Sig = '-' then c := [COLOR=red]StrToInt[/COLOR](a) - [COLOR=red]StrToInt[/COLOR](b); if Sig = '*' then c := [COLOR=red]StrToInt[/COLOR](a) * [COLOR=red]StrToInt[/COLOR](b); result := [COLOR=red]IntToHex[/COLOR](c, 8); end;

اوامر حدث النقر :
PHP كود :
ResultEdt.Text := MathOperation(FirstValEdt.Text, SecondValEdt.Text, SigEdt.Text); 

بعض الأحيان من الأفضل الخروج من الدرس لمدة 10 دقائق و عمل شئ آخر ثم الرجوع اليه ليتم هضمه لان النظرة تتغير للمشكل.... طريقة تعمل 100 % :monster1:

بالتوفيق ان شاء الله
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم