![]() |
|
مشكل في برمجة برنامج بسيط للمبتدئين - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : مشكل في برمجة برنامج بسيط للمبتدئين (/showthread.php?tid=6889) الصفحات:
1
2
|
مشكل في برمجة برنامج بسيط للمبتدئين - فارس المطر - 20-03-2015 السلام عليكم أخوكم مبتدأ في عالم البرمجة برنامج بسيط للمبتدئين يقوم بحساب مساحة الدائرة وحجم الأسطوانة القانون/ مساحة الدائرة = ط* تق ² حجم الاسطوانة = مساحة الدائرة* الارتفاع عند تنفيذ البرنامج يقوم بحساب مساحة الدائرة صحيح حجم الاسطوانة خطا مع انه يستمد قيمة مساحة الدائرة من القيمة المعروضة في Label 3بعد التنفيذ واجهة البرنامج كود : http://www.mobdi3ine.net/uploads/1426864354011.jpgكود : begin
r:=strtofloat(edit1.text);
a:=sqr(r)*p;
Label3.Caption:=floatToStr(a);
h:=strtofloat(edit2.text);
c:=a*h;
Label7.Caption:=floatToStr(c);
end;شكرا مشكل في برمجة برنامج بسيط للمبتدئين - مهند الرسيني - 20-03-2015 وعليكم السلام ورحمة الله وبركاتة أهلا بك في عالم البرمجة الشيق والممتع لو ارفقت السورس كود اكن افضل لكي نسيتطيع مساعدتك بشكل جيد . على أي حال جرب هذه : PHP كود : function CalcCircleArea(Ta, Nq : Single):Single;اعتقد ان مشكلتك صغيرة , قم بتنقيحه لتعرف أي سطر يخرج الخطا تحديداً مشكل في برمجة برنامج بسيط للمبتدئين - فارس المطر - 20-03-2015 شكرا أخي المشكل عندي كما في الصورة كود : http://www.mobdi3ine.net/uploads/1426871496851.jpgمشكل في برمجة برنامج بسيط للمبتدئين - مهند الرسيني - 20-03-2015 ارفق المثال الذي عملته , -_- المشكلة التي ظهرت لك في دالة FloatToStr ربما تختلف المعاملات في لازارس عن دلفي , حيث اني كتبت المثال في لازارس ---- تعديل : جرب بستعمال Extended : PHP كود : function CalcCircleArea(Ta, Nq : Extended):Extended;PHP كود : http://docwiki.embarcadero.com/Libraries/XE7/en/System.SysUtils.FloatToStr مشكل في برمجة برنامج بسيط للمبتدئين - فارس المطر - 20-03-2015 كود : procedure TForm1.Button1Click(Sender: TObject);
var a,r,c,h :real;
const p=3.14;
begin
r:=strtofloat(edit1.text);
a:=sqr(r)*p;
Label3.Caption:=floatToStr(a);
end;
procedure TForm1.Button3Click(Sender: TObject);
var h,c,a :real;
begin
h:=strtofloat(edit2.text);
c:=a*h;
Label7.Caption:=floatToStr(c);
end;البرنامج يعمل صحيح الز 1 يحسب مساحة الدائرة ======a لكن نتيجة حجم الاسطوانةنتج خطأ ===== c مشكل في برمجة برنامج بسيط للمبتدئين - فارس المطر - 20-03-2015 كود : http://www.mobdi3ine.net/uploads/1426872552421.jpgمشكل في برمجة برنامج بسيط للمبتدئين - أبو معاذ - 20-03-2015 [INDENT] السلام عليكم لاحظ معي أخي الحبيب : كود : procedure TForm1.Button3Click(Sender: TObject);
var h,c,a :real;
begin
h:=strtofloat([color=Red]edit2.text[/color]);
c:=a*h;
Label7.Caption:=floatToStr(c);
end;هذا الكود خاص بك ، ما هي قيمة Edit2 ، البرنامج يجد Edit2 فارغة فلا يعرف قيمتها ، إما أن تعيد قراءتها ، أو أنك تقصد Edit1 [/INDENT] مشكل في برمجة برنامج بسيط للمبتدئين - مهند الرسيني - 20-03-2015 كود : procedure TForm1.Button1Click(Sender: TObject);
var a,r,c,h :real;
const p=3.14;
begin
r:=strtofloat(edit1.text);
a:=sqr(r)*p;
Label3.Caption:=floatToStr(a);
end;
procedure TForm1.Button3Click(Sender: TObject);
var h,c,a :real;
begin
h:=strtofloat(edit2.text);
c:=[color=Red]a[/color]*h;
Label7.Caption:=floatToStr(c);
end;في الإجراء الثاني لم يتم وضع قيمة المتغير a ![]() فكل إجراء له متغيراتها الخاصة به وهي من نوع متغيرات محلية وليست عامة (بفتراض انك قرأت كتاب يشرح اساسيات باسكال) مشكل في برمجة برنامج بسيط للمبتدئين - فارس المطر - 20-03-2015 شكرا على التنويه قيمة المتغير a هي نفسها نتيجة العملية الحسابية الأولى اي مساحة الدائرة والتي تظهر النتيجة في كود : Label3.Caption:=floatToStr(a);كيف يتم تعريف قيمة a في العملية الثانية من النتيجة الاولى شكرا مشكل في برمجة برنامج بسيط للمبتدئين - مهند الرسيني - 20-03-2015 يبدو انك تفتقر إلى أساسيات باسكال فعلا وهذا واضح من كتابتك للكود ![]() على أي حال تفضل قمت بتعديل الكود الخاص بك ليعمل بالطريقة التي كتبتها في البداية : PHP كود : function CalcCircleArea(Nq, Ta : Extended):Extended;في حال اردت شرحا لما يحصل فتوجه إلى قسم الكتب ونتقي كتاب لباسكال وبدا التعلم وسترى كيف تتضح الأمور من تلقائها ![]() ونصيحة لك رتب كودك قدر المستطاع قبل ان تعتاد على هذه الطريقة في كتابة الكود وتندما لاحقا
|