تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
انشاء الدوال والاجراءات في الدلفي واستدعاءها
#1
السلام عليكم ورحمة الله

هنا وحدة كاملة للمشروع كما بالشكل التالي :

كود :
unit Unit1;

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Edit1: TEdit;
   function Sum(int1,int2:integer):integer;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:= Sum(5,6).ToString()
end;

function TForm1.Sum(int1, int2: integer): integer;
begin
//
Result := int1 + int2;
end;

end.


يجب ان تنتقل الى اعلى الوحدة وفي الترويسة Type تكتب وتعرف الدالة التي تريدها كما بالشكل التالي:

كود :
 function Sum(int1,int2:integer):integer;

لاحظ ان الدالة اسمها Sum وتطلب لنفسها متغيرين من نوع Integer والقيمة العائدة هي Integer كما نشير لها في نهاية الدالة

الان اما ان تنتقل الى جسم الوحدة وبعد implementation وتكتب الدلة بنفسك واما وانت على نفس المكان الذي عرفت فيه الدالة تنقر المفاتيح الثلاثة مع بعض
Ctrl + Sheft + C ليكتبها محرر الكود عنك .

وتكتب فيها البرمجة التي تريد .

لاحظ اننا وضعنا على النموذج مكون النص وزر وفي حدث النقر للزر كتبنا التالي :

كود :
edit1.Text:= Sum(5,6).ToString()

وهنا ارسلنا رقمين .
ولكن لاحظ الدلفي لا يتساهل مع المتغيرات فانت لا تستطيع ان تضع رقم بداخل اداة نص او ان تضع نص برقم
العبث الذي يقوم به الفيجوالبيسك والفجوالبيسك دوت نت لا وجود له هنا
وعليه يجب ان تحول من رقم الى نص بواسطة ToString او باستخدام الطريقة القديمة كما بالشكل التالي:

كود :
edit1.Text:= IntToStr(Sum(5,6))

وهي دالة تعني من رقم الى نص .

بحال اردت ان تترك احد المتغيرات اختياري وتضع له قيمة ثابتة سيكون كالتالي:

كود :
function Sum(int1:integer;int2:Integer=9):integer;

ولو استخدمت الاستدعاء التالي فلن يحدث خطاء وسيحتسب الرقم الثابت الذي اعطيته

كود :
edit1.Text:= Sum(5).ToString()

اما الاجراءات فبنفس الطريقة ، عدا انها لا تعود بقيمة وانما يتم تنفيذها فقط .


لتحميل المثال


.rar   New folder (6).rar (الحجم : 5.67 ك ب / التحميلات : 47)
الرد }}}
تم الشكر بواسطة: asemshahen5 , صالح حمادي


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  فكرة انشاء عداد متصاعد viv 2 1,755 07-07-19, 10:37 AM
آخر رد: viv
  انشاء المكونات برمجيا وطريقة الاتصال viv 1 1,615 21-06-19, 10:27 PM
آخر رد: wared
  لمحترفي الدلفي برنامج قاري ملفات فيديو مفتوح المصدر viv 0 1,871 16-06-19, 07:56 PM
آخر رد: viv

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


يقوم بقرائة الموضوع: