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

كيفية انشاء ملف 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

عدد المساهمات : 364
تاريخ التسجيل : 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

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

http://delph.forumalgerie.net

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

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

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

بارك الله فيك

sdk11
مبرمج مجتهد

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

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

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


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