انشاء ملف Dll باللغة دلفي واستدعائه باللغة Visual Basic
2 مشترك
صفحة 1 من اصل 1
انشاء ملف Dll باللغة دلفي واستدعائه باللغة Visual Basic
انشاء ملف Dll باللغة دلفي واستدعائه باللغة Visual Basic
طريقة انشاء ملف Dll باللغة دلفي وطريقة استدعائه باللغة Visual Basic كل الاصدارات
بسم الله الرحمن الرحيم
الصلاة والسلام على رسول الله وعلى آلـــه وأصحابه أجمعين
البرنامج هو يقوم بعمليات الجمع والطرح الضرب والقسمة
وباقي القسمةو القسمة بدون فاسلة في اجاء واحد وطبع داخله الدوال المذكورة آنفا
ويقوم أيضا بارسال قمتين و ارجاع القيمة الصغرى في لافتة لابك والقيمة الكبرى في مسج مربع رسالة
انشاء مشروع جديد فجوال بيزك واحفظ المشروع باسم
ثم انشاء موديل في المشروع فجوال بيزك باسم
Nom de fichier: Module1.vb
File Name: Module1.vb
اسم الملف : Module1.vb
-----------------delph.forumalgerie.net
اكتب هذه في الموديل
- الكود:
Module Module1
'delph.forumalgerie.net
' save in c:\AppelDll\Project_Dll.dll
'delph.forumalgerie.net
Public Declare Sub ProcGlobale Lib "c:\AppelDll\Project_Dll.dll" (ByVal x1 As Integer, ByVal y1 As Integer, _
ByVal x2 As Double, ByVal y2 As Double, ByRef retDivEn As Integer, ByRef retMod As Integer, _
ByRef retMulti As Double, ByRef retDiv As Double, ByRef retAdd As Double, ByRef retSous As Double)
Public Declare Sub GlobMaxMin Lib "E:\del01\vb_dotnet\AppelDll\Project_Dll.dll" (ByVal x As Integer, ByVal y As Integer, ByRef GMin As Integer, ByRef GMax As Integer)
'delph.forumalgerie.net
End Module
========================'delph.forumalgerie.net
ضع فوق الفورم 4 لافتات من نوع TLabel اي Label1 و Label2 و Label3 و Label4
وضع فوق الفورم 2 ازرار من نوع TButton أي Button1 و Button2
وضع فوق الفورم 6 ازرار اختيار واحد من مجموعة من نوع RadioButton أي RadioButton1 و RadioButton2
و RadioButton3 و RadioButton4 و RadioButton5 و RadioButton6
وضع فوق الفورم 3 ربع نص من نوع TextBox أي TextBox1 و TextBox2 و TextBox3
اضغط مرتين فوق Button1
اكتب هذا الامر في حدث نقر
' delph.forumalgerie.net
- الكود:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' بداية الكتابة
' delph.forumalgerie.net
Dim variaMin1 As Integer ' delph.forumalgerie.net ' delph.forumalgerie.net
Dim variaMax1 As Integer ' delph.forumalgerie.net ' delph.forumalgerie.net
Dim vars1 As Integer ' delph.forumalgerie.net ' delph.forumalgerie.net
Dim vars2 As Integer ' delph.forumalgerie.net ' delph.forumalgerie.net
' delph.forumalgerie.net ' delph.forumalgerie.net
vars1 = Val(TextBox1.Text) ' delph.forumalgerie.net ' delph.forumalgerie.net
vars2 = Val(TextBox2.Text) ' delph.forumalgerie.net ' delph.forumalgerie.net
' delph.forumalgerie.net ' delph.forumalgerie.net
Call GlobMaxMin(vars1, vars2, variaMin1, variaMax1) ' delph.forumalgerie.net ' delph.forumalgerie.net
Label1.Text = "Petit valeur : " + Str(variaMin1) ' delph.forumalgerie.net ' delph.forumalgerie.net
MsgBox("Grand valeur : " + Str(variaMax1)) ' delph.forumalgerie.net ' delph.forumalgerie.net
' delph.forumalgerie.net ' delph.forumalgerie.net
End Sub ' delph.forumalgerie.net ' delph.forumalgerie.net
' delph.forumalgerie.net
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' delph.forumalgerie.net
' delph.forumalgerie.net ' delph.forumalgerie.net
Dim AVariableAi As Integer ' delph.forumalgerie.net ' delph.forumalgerie.net
Dim BVariableBi As Integer ' delph.forumalgerie.net ' delph.forumalgerie.net
Dim AVariableAr As Double ' delph.forumalgerie.net ' delph.forumalgerie.net
Dim BVariableBr As Double ' delph.forumalgerie.net ' delph.forumalgerie.net
' delph.forumalgerie.net ' delph.forumalgerie.net
Dim foncAdd As Double ' delph.forumalgerie.net ' delph.forumalgerie.net
Dim foncSous As Double ' delph.forumalgerie.net ' delph.forumalgerie.net
Dim foncMulti As Doublev ' delph.forumalgerie.net
Dim foncDiv As Double ' delph.forumalgerie.net
Dim foncDivEn As Integer ' delph.forumalgerie.net
Dim foncMod As Integer ' delph.forumalgerie.net
' delph.forumalgerie.net
AVariableAi = TextBox1.Text ' delph.forumalgerie.net
BVariableBi = TextBox2.Text ' delph.forumalgerie.net
AVariableAr = TextBox1.Text ' delph.forumalgerie.net
BVariableBr = TextBox2.Text ' delph.forumalgerie.net
' delph.forumalgerie.net
ProcGlobale(AVariableAi, BVariableBi, AVariableAr, BVariableBr, foncDivEn, foncMod, foncMulti, foncDiv, foncAdd, foncSous) ' delph.forumalgerie.net
' delph.forumalgerie.net
If RadioButton1.Checked Then ' delph.forumalgerie.net
TextBox3.Text = Str(foncAdd) ' Addition ' delph.forumalgerie.net
ElseIf RadioButton2.Checked Then ' delph.forumalgerie.net
TextBox3.Text = Str(foncSous) ' Soustraction ' delph.forumalgerie.net
ElseIf RadioButton3.Checked Then ' delph.forumalgerie.net
TextBox3.Text = Str(foncMulti) ' Multiplication ' delph.forumalgerie.net
ElseIf RadioButton4.Checked Then ' delph.forumalgerie.net
TextBox3.Text = Str(foncDiv) ' Division ' delph.forumalgerie.net
ElseIf RadioButton5.Checked Then ' delph.forumalgerie.net
TextBox3.Text = Str(foncDivEn) ' Division Entiere ' delph.forumalgerie.net
ElseIf RadioButton6.Checked Then ' delph.forumalgerie.net
TextBox3.Text = Str(foncMod) ' Modulo ' delph.forumalgerie.net
End If ' delph.forumalgerie.net
' delph.forumalgerie.net
' نهاية الكتابة
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' بداية الكتابة
' delph.forumalgerie.net
RadioButton1.Text = "Addition" ' delph.forumalgerie.net
RadioButton2.Text = "Soustaction" ' delph.forumalgerie.net
RadioButton3.Text = "Multiplication" ' delph.forumalgerie.net
RadioButton4.Text = "Division" ' delph.forumalgerie.net
RadioButton5.Text = "Division Entiere" ' delph.forumalgerie.net
RadioButton6.Text = "Modulo" ' delph.forumalgerie.net
RadioButton1.Checked = True ' delph.forumalgerie.net
GroupBox1.Text = "Operation" ' delph.forumalgerie.net
Label2.Text = "Valeur premier" ' delph.forumalgerie.net
Label3.Text = "Valeur deuxieme" ' delph.forumalgerie.net
Label4.Text = "Resut" ' delph.forumalgerie.net
TextBox1.ReadOnly = False ' delph.forumalgerie.net
TextBox2.ReadOnly = False ' delph.forumalgerie.net
TextBox3.ReadOnly = True ' delph.forumalgerie.net
' delph.forumalgerie.net
' نهاية الكتابة
End Sub
End Class
اضغط مرتين فوق Button2
اكتب هذا الامر في حدث نقر
- الكود:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' بداية الكتابة
Dim variaMin1 As Integer ' delph.forumalgerie.net
Dim variaMax1 As Integer ' delph.forumalgerie.net
Dim vars1 As Integer ' delph.forumalgerie.net
Dim vars2 As Integer ' delph.forumalgerie.net
' delph.forumalgerie.net
vars1 = Val(TextBox1.Text) ' delph.forumalgerie.net
vars2 = Val(TextBox2.Text) ' delph.forumalgerie.net
' delph.forumalgerie.net
Call GlobMaxMin(vars1, vars2, variaMin1, variaMax1) ' delph.forumalgerie.net
Label1.Text = "Petit valeur : " + Str(variaMin1) ' delph.forumalgerie.net
MsgBox("Grand valeur : " + Str(variaMax1)) ' delph.forumalgerie.net
' نهاية الكتابة
End Sub
تشاهد أن القيمتين ذهبتا الى الملف دي أل أل وعادت القيمة الصغرى
في كلتا الحالتين
Operator :
+,-,*,\,/,^, &,
Like, Mod,
And, Or, Xor, Not,
===========================================
انشئ مشروع دي أل أل Dll باللغة دلفي واحفظ المشروع باسم
Nom de fichier: Project_Dll.dpr
File Name: Project_Dll.dpr
اسم الملف : Project_Dll.dpr
- الكود:
// delph.forumalgerie.net
library Project_Dll;// delph.forumalgerie.net
// delph.forumalgerie.net
uses// delph.forumalgerie.net
SysUtils,// delph.forumalgerie.net
Classes;// delph.forumalgerie.net
// delph.forumalgerie.net
{$R *.res}// delph.forumalgerie.net
// delph.forumalgerie.net
procedure ProcGlobale(x1,y1: Integer; x2,y2: Real;// delph.forumalgerie.net
var retDivEn, retMod: Integer;// delph.forumalgerie.net
var retMulti, retDiv, retAdd, retSous: Real); stdcall;// delph.forumalgerie.net
// delph.forumalgerie.net
function Addition(x,y: Real): Real;// delph.forumalgerie.net
begin// delph.forumalgerie.net
Result := x + y;// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
function Soustaction(x,y: Real): Real;// delph.forumalgerie.net
begin// delph.forumalgerie.net
Result := x - y;// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
function Multiplication(x,y: Real): Real;// delph.forumalgerie.net
begin// delph.forumalgerie.net
Result := x * y;// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
function DivitionEntiere(x,y: Integer): Integer;// delph.forumalgerie.net
begin// delph.forumalgerie.net
Result := x div y;// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
function Modulo(x,y: Integer): Integer;// delph.forumalgerie.net
begin// delph.forumalgerie.net
Result := x mod y;// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
function Divition(x,y: Real): Real;// delph.forumalgerie.net
begin// delph.forumalgerie.net
Result := x / y;// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
begin// delph.forumalgerie.net
// delph.forumalgerie.net
// delph.forumalgerie.net
retAdd := Addition(x1,y1);// delph.forumalgerie.net
retSous := Soustaction(x1,y1);// delph.forumalgerie.net
// delph.forumalgerie.net
retDivEn := DivitionEntiere(x1,y1);// delph.forumalgerie.net
retMod := Modulo(x1,y1);// delph.forumalgerie.net
// delph.forumalgerie.net
retMulti := Multiplication(x2,y2);// delph.forumalgerie.net
retDiv := Divition(x2,y2);// delph.forumalgerie.net
// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
procedure GlobMaxMin(x,y: integer; var GMin,GMax: Integer);stdcall;// delph.forumalgerie.net
function FuncMin(x7,y7: integer): Integer;// delph.forumalgerie.net
begin// delph.forumalgerie.net
if x < y then Result := x// delph.forumalgerie.net
else Result := y;// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
function FuncMax(x7,y7: integer): Integer;// delph.forumalgerie.net
begin// delph.forumalgerie.net
if x > y then Result := x// delph.forumalgerie.net
else Result := y;// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
begin// delph.forumalgerie.net
GMin := FuncMin(x,y);// delph.forumalgerie.net
GMax := FuncMax(x,y);// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
exports GlobMaxMin, ProcGlobale;// delph.forumalgerie.net
// delph.forumalgerie.net
begin// delph.forumalgerie.net
end.// delph.forumalgerie.net
مشكورين على الزيارة
منتدى دلفي تعليم يرحب بزواره الكرام ويتمنى لهم زيارة موفقة
delph.forumalgerie.net
==============================================delph.forumalgerie.net
طريقة استدعاء بدلفي
- الكود:
// delph.forumalgerie.net
// delph.forumalgerie.net
unit Unitapell;// delph.forumalgerie.net
// delph.forumalgerie.net
interface// delph.forumalgerie.net
// delph.forumalgerie.net
uses// delph.forumalgerie.net
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,// delph.forumalgerie.net
Dialogs, StdCtrls, ExtCtrls, Buttons;// delph.forumalgerie.net
// delph.forumalgerie.net
type// delph.forumalgerie.net
TForm1 = class(TForm)// delph.forumalgerie.net
Label1: TLabel;// delph.forumalgerie.net
Button2: TButton;// delph.forumalgerie.net
RadioGroup1: TRadioGroup;// delph.forumalgerie.net
Panel1: TPanel;// delph.forumalgerie.net
Label3: TLabel;// delph.forumalgerie.net
Label4: TLabel;// delph.forumalgerie.net
Label2: TLabel;// delph.forumalgerie.net
Button1: TButton;// delph.forumalgerie.net
Edit1: TEdit;// delph.forumalgerie.net
Edit2: TEdit;// delph.forumalgerie.net
Edit3: TEdit;// delph.forumalgerie.net
BitBtn1: TBitBtn;// delph.forumalgerie.net
procedure Button2Click(Sender: TObject);// delph.forumalgerie.net
procedure Button1Click(Sender: TObject);// delph.forumalgerie.net
procedure FormCreate(Sender: TObject);// delph.forumalgerie.net
private// delph.forumalgerie.net
foncMin,foncMax,foncDivEn,foncMod: Integer;// delph.forumalgerie.net
foncAdd,foncSous,foncMulti,foncDiv: Real;// delph.forumalgerie.net
public// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
const Pro_Dll = 'Project_Dll.dll';// delph.forumalgerie.net
// delph.forumalgerie.net
var// delph.forumalgerie.net
Form1: TForm1;// delph.forumalgerie.net
intA, intB: Integer;// delph.forumalgerie.net
reaA, reaB: Real;// delph.forumalgerie.net
// delph.forumalgerie.net
procedure GlobMaxMin(x,y: integer; var GMin,GMax: Integer);stdcall;// delph.forumalgerie.net
external Pro_Dll;// delph.forumalgerie.net
procedure ProcGlobale(x1,y1: Integer; x2,y2: Real;// delph.forumalgerie.net
var retDivEn, retMod: Integer;// delph.forumalgerie.net
var retMulti, retDiv, retAdd, retSous: Real); stdcall;// delph.forumalgerie.net
external Pro_Dll;// delph.forumalgerie.net
// delph.forumalgerie.net
implementation// delph.forumalgerie.net
// delph.forumalgerie.net
{$R *.dfm}// delph.forumalgerie.net
// delph.forumalgerie.net
procedure TForm1.Button2Click(Sender: TObject);// delph.forumalgerie.net
begin// delph.forumalgerie.net
intA := StrToInt(Edit1.Text);// delph.forumalgerie.net
intB := StrToInt(Edit2.Text);// delph.forumalgerie.net
GlobMaxMin(intA,intB,foncMin,foncMax);// delph.forumalgerie.net
Label1.Caption := floatToStr(foncMin);// delph.forumalgerie.net
ShowMessage(IntToStr(foncMax));// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
procedure TForm1.Button1Click(Sender: TObject);// delph.forumalgerie.net
begin// delph.forumalgerie.net
reaA := StrToInt(Edit1.Text);// delph.forumalgerie.net
reaB := StrToInt(Edit2.Text);// delph.forumalgerie.net
intA := StrToInt(Edit1.Text);// delph.forumalgerie.net
intB := StrToInt(Edit2.Text);// delph.forumalgerie.net
ProcGlobale(intA,intB, reaA,reaB,// delph.forumalgerie.net
foncDivEn,foncMod,foncMulti,foncDiv,foncAdd,foncSous);// delph.forumalgerie.net
case RadioGroup1.ItemIndex of// delph.forumalgerie.net
0:Edit3.Text := FloatToStr(foncAdd);// delph.forumalgerie.net
1:Edit3.Text := FloatToStr(foncSous);// delph.forumalgerie.net
2:Edit3.Text := FloatToStr(foncMulti);// delph.forumalgerie.net
3:Edit3.Text := FloatToStr(foncDiv);// delph.forumalgerie.net
4:Edit3.Text := FloatToStr(foncDivEn);// delph.forumalgerie.net
5:Edit3.Text := FloatToStr(foncMod);// delph.forumalgerie.net
end;// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
procedure TForm1.FormCreate(Sender: TObject);// delph.forumalgerie.net
begin// delph.forumalgerie.net
RadioGroup1.Items.Add('Addition');// delph.forumalgerie.net
RadioGroup1.Items.Add('Soustaction');// delph.forumalgerie.net
RadioGroup1.Items.Add('Multiplication');// delph.forumalgerie.net
RadioGroup1.Items.Add('Divition');// delph.forumalgerie.net
RadioGroup1.Items.Add('Divition Entiere');// delph.forumalgerie.net
RadioGroup1.Items.Add('Modulo');// delph.forumalgerie.net
RadioGroup1.ItemIndex := 0;// delph.forumalgerie.net
end;// delph.forumalgerie.net
// delph.forumalgerie.net
end.// delph.forumalgerie.net
منتدى دلفي تعليم يرحب بزواره الكرام ويتمنى لهم زيارة موفقة
delph.forumalgerie.net
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
abas- مبرمج
- عدد المساهمات : 62
تاريخ التسجيل : 06/06/2015
مواضيع مماثلة
» انشاء قاعدة بيانات Access بـ Visual Basic 2010
» كيفية انشاء ملف DLL بـــ Delphi واستدعائه بــــبرنامج دلفي Delphi تحميل قيم
» كيفية جمع عددين وظهور النتيجة في Visual Basic
» انشاء ملف دي ال ال dll واستدعائه
» كيفية انشاء ملف DLL واستدعائه بدلفي
» كيفية انشاء ملف DLL بـــ Delphi واستدعائه بــــبرنامج دلفي Delphi تحميل قيم
» كيفية جمع عددين وظهور النتيجة في Visual Basic
» انشاء ملف دي ال ال dll واستدعائه
» كيفية انشاء ملف DLL واستدعائه بدلفي
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى