الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

رسم معادلة من الدرجة الثانية

مغلق
بدأه MEMO80 في 16 أبريل 2005 · 4 رد · 1,878 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الأكارم : أرجوا المساعدة في توضيح فكرة رسم معادلة من الدرجة الثانية على الفورم مباشرة أو على صورةIMAGE ولكم جزيل الشكر ............ :( :(

#2
/index.ph...ndpost&p=258202
#3

هذا مثال لعرض نتائج حل معادلة من الدرجة الثانية على الفورم مباشرة.

procedure TForm2.Button1Click(Sender: TObject);
begin
  Tag:=1;
  FormPaint(Sender);
end;

procedure TForm2.FormPaint(Sender: TObject);
var
 a,b,c, delta : Extended;
 x0,x1,x2: Extended;

begin
  if tag=0 then exit else tag:=0;
  Form2.Canvas.TextOut(10,10,'Resolution Of Eqations Of 2nd Degrees');

  try
    a:= StrToFloat(Edit1.Text);
  except
    on EConvertError do begin a:=0; Edit1.Text:= '0'; end;
  end;

  try
    b:= StrToFloat(Edit2.text);
  except
    on EConvertError do begin b:=0; Edit2.Text:= '0'; end;
  end;

  try
      c:= StrToFloat(Edit3.text);
  except
    on EConvertError do begin c:=0; Edit3.Text:= '0'; end;
  end;

  Form2.Canvas.TextOut(10,30, Format('The equation :  %g X^2 + %g X + %g = 0',[a,b,c]));
  if (a = 0) then
   begin
    if (b = 0) then
     begin
      if (c = 0)  then
        Form2.Canvas.TextOut(10,50,'      Solutions of The Equation Is S= |R ')
       else
        Form2.Canvas.TextOut(10,50,'      Solutions of The Equation Is S= Empty Set');
       end
     else
    Form2.Canvas.TextOut(10,50,format('     The eqation is 1 degree, solution is :  %G',[c/b]));
    end
   else
    begin
    delta := b*b - 4*a*c;
    if ( delta < 0 )  then
      Form2.Canvas.TextOut(10,70,'      Solutions of The Equation Is S= Empty Set')
    else
      begin
      if (delta = 0) then
        begin
          x0 := -( b) / ( 2 * a );
          Form2.Canvas.TextOut(10,70,'The eqation has one solution in |R:');
          Form2.Canvas.TextOut(10,90,format('     X0: %G',[x0]));
        end
      else
        begin
          x1 := -( b + sqrt( delta ) ) / ( 2 * a );
          x2 := -( b - sqrt( delta ) ) / ( 2 * a );
          Form2.Canvas.TextOut(10,70,'The eqation has 2 solutions in |R:');
          Form2.Canvas.TextOut(10,90,format( '      X1: %G',[x1]));
          Form2.Canvas.TextOut(10,110,format('      X2: %G',[x2]));
        end;
      end;
  end;
end;

الملف المرفق به نص الكود:

equation 2d.rar

تم تعديل هذه المشاركة بواسطة ikossan في 17 أبريل 2005 في 16:39

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#4

مشكورين كل الشكر لكن المثال هو لحل المعادلة وما أريده هو رسم المعادلة على الفورم وليس إظهار نتائجها ........ :(

تم تعديل هذه المشاركة بواسطة MEMO80 في 19 أبريل 2005 في 14:28

#5

راجع الرابط الذي وضعته لك في الأعلى ستجد برنامج مع الشفرة لرسم المعادلات

هذا الموضوع مغلق.

مواضيع مشابهة