دلفي تعليم
مرحبا بكم ايها الزئر أو الزائرة الكريمين

كيفية انشاء ملف DLL واستدعائه بدلفي

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

كيفية انشاء ملف DLL واستدعائه بدلفي

مُساهمة  mah11 في 1/8/2014, 7:23 pm


كيفية انشاء ملف DLL واستدعائه بدلفي

بسم الله الرحمن الرحيم

و الصلاة و السلام على رســـول الله

كيفية انشاء ملف DLL بـــ Delphi
واستدعائه بــــبرنامج دلفي Delphi

ملف دي ال ال
الرمز:

دلفي تعليم
delph.forumalgerie.net
DLL

واستدعائه بدلفي

بسم الله الرحمن الرحيم

و الصلاة و السلام على رســـول الله

كيفية انشاء ملف DLL بـــ Delphi
واستدعائه بــــبرنامج دلفي Delphi

المشروع أي انشاء مشروع جديد
الرمز:

fichier -> nouveau -> application -> ok

-------------------------
الوحدة الاولى
-------------------------

الرمز:

unit Unit01;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

 function Addition(a1,b1: integer): integer; stdcall;
 external 'TestDLL1.dll';

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 x, y: integer;
 j: integer;
begin
 x := StrToInt(Edit1.Text);
 y := StrToInt(Edit2.Text);
 j := Addition(x, y);
 Label1.Caption := IntToStr(j);
end;

end.

الرمز:

procedure Button1Click(Sender: TObject);
في السطر الاول تم تصريح باجراء النقر هو من نوع كائن وتتم كتابته تلقائيا
الرمز:

private { Déclarations privées }
منطقة لتصريح المخصص أي تصريح لبعض المتغييرات أو الاجراءات
الرمز:

public { Déclarations publiques }
منطقة لتصريح العام أي تصريح بعض المتغييرات أو الاجراءات
الرمز:

function Addition(a1,b1: integer): integer; stdcall; external 'TestDLL1.dll';
تصريح بالدالة المستعملة في البرنامج
الرمز:

implementation {$R *.dfm}
نهاية منطقة التصريح وبداية منطقة كتابة الاوامر أي جسم البرنامج
الرمز:

procedure TForm1.Button1Click(Sender: TObject);
بداية اجراء النقر
الرمز:

var
x, y: integer;
j: integer;
تصريح بثلاثة متغييرات من نوع صحيح داخل الاجراء
الرمز:

begin
بداية جسم الاجراء
الرمز:

x := StrToInt(Edit1.Text);
اسناد القيمة المدخلة في مربع النص الى المتغيير صحيح وذلك بعد تحويلها من سلسلة حرفية الى عدد صحيح
الرمز:

y := StrToInt(Edit2.Text);
عملية اسناد كسابقه أي نفس شيء
الرمز:

Label1.Caption := IntToStr(j);
اسناد قيمة المتغيير الى لافتة كابشن لابل الاول وذلك بعد عملية التحويل من متغيير الى سلسلة حرفية
الرمز:

end;
end.
نهاية الاجراء ونهاية البرناج في نفس الوقت

----------------
الرمز:

fichier -> nouveau -> export dll -> ok

ملف دي ال ال

Liprary مكتبة
الرمز:

stdcall;

الرمز:

library TestDLL1;

uses SysUtils, Classes;

{$R *.res}

function Addition(a1,b1: integer): integer; stdcall;
begin
  Addition := a1+b1;
end;
 exports  Addition;

begin
end.


سأحاول شرح هذه الاوامر

الرمز:

Liprary TestDLL1;

المكتبة وهذه المكتبة لها اسم معين

الرمز:

begin

البداية
الرمز:

tesult := a1+b1;
اسناد نتيحة عملية الجمع الى الدالة أو الى اسم الدالة
الرمز:

exports Addition;
تصدير الدالة الى خارج المكتبة من أجل استعمالها في برامج أخرى
الرمز:

end.
النهاية

نستطيع كتابة دالة أو اثنان أو أكثر أو حتي اجراءات متعددة

في حالة تعدد الاجراءات والدوال

الرمز:

function addition(a1,b1: integer): integer; stdcall;
begin
 result := a1+b1;
end;

الرمز:

function soustraction(x:integer; y: integer): integer; stdcall;
begin
 result := x-y;
end;

الرمز:

procedure max(k: integer; j: integer; var m: integer)
begin
 if k > j then m:=k else m:=j;
end;

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

الرمز:

exports addition, soustraction, max;

ساشرح في موضوع آخر طريقة الارسال باسم او مؤشر name - index




لـــنقل هذه المواضيع أرجـــــــــــــو منكم ذكر رابط المنتدى

delph.forumalgerie.net



عدل سابقا من قبل mah11 في 6/11/2014, 12:40 pm عدل 1 مرات

mah11
Admin

عدد المساهمات : 365
تاريخ التسجيل : 21/06/2013

http://delph.forumalgerie.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كيفية انشاء ملف DLL واستدعائه بدلفي

مُساهمة  saad في 28/9/2014, 12:38 pm

بارك الله

saad

عدد المساهمات : 12
تاريخ التسجيل : 28/09/2014

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كيفية انشاء ملف DLL واستدعائه بدلفي

مُساهمة  mah11 في 6/11/2014, 12:31 pm

mah11 كتب:
كيفية انشاء ملف DLL واستدعائه بدلفي

بسم الله الرحمن الرحيم

و الصلاة و السلام على رســـول الله

كيفية انشاء ملف DLL بـــ Delphi
واستدعائه بــــبرنامج دلفي Delphi

ملف دي ال ال
---------------------


   procedure Button1Click(Sender: TObject);
 private
   { Déclarations privées }
 public
   { Déclarations publiques }
 end;

var
 Form1: TForm1;

 function Addition(a1,b1: integer): integer;
 external 'TestDLL1.dll';

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   x, y: integer;
   j: integer;

begin
 x := StrToInt(Edit1.Text);
 y := StrToInt(Edit2.Text);
 j := Addition(x, y);
 Label1.Caption := IntToStr(j);
 
end;

end.


أرجو زيارة المنتدى
-----------------------
delph.forumalgerie.net

لـــنقل هذه المواضيع أرجـــــــــــــو منكم ذكر رابط المنتدى

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

سأأأأأوضح ذلك

mah11
Admin

عدد المساهمات : 365
تاريخ التسجيل : 21/06/2013

http://delph.forumalgerie.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كيفية انشاء ملف DLL واستدعائه بدلفي

مُساهمة  sdk11 في 13/6/2015, 9:22 am

بارك الله فيك

sdk11
مبرمج مجتهد

عدد المساهمات : 109
تاريخ التسجيل : 19/09/2014

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى