برای ایجاد یک DLL ابتدا ویژوال استادیو را اجرا می کینم. یک پروژه ی جدید ایجاد می کنیم (New Porject را کلیک می کنیم). زبان ویژوال بیسیک و سپس در سمت راست Class Library را بر می گزینیم.
پنجره ی کدی به صورت زیر ایجاد می شود:
Public Class Class1
End Class
تابع ها و متغیر های خود را باید بین این دو خط تعریف کنیم. لازم به ذکر است در خط اول Class1 اسم کلاس است که می توانیم آن را تغییر دهیم.
ما دو نوع تابع متداول داریم: گونه ی که خود می توانند مقداری را در خود ذخیره کنند و خود به عنوان یک متغیر باشند و گونه ای دیگر که این گونه نیستند.
ساختار گونه ی اول:
Shared Function [Function Name](Parameter) As [Dimension]
End Function
ساختار گونه ی دوم:
Shared Sub [Sub Name](Parameter)
End Sub
افزودن آرگومان به تابع در هر دو گونه یکسان است:
Shared Sub [Sub Name](ByVal [ParameterName1] As [Dimension], ByVal [ParameterName2] As [Dimension], ...)
End Sub
یک Function ساده بدون ورودی:
یک Sub ساده بدون ورودی:کد:Shared Function UpTime() As Integer'نام تابع UpTime است که می تواند مقادیری از نوع Integer (عدد صحیح) را در خود ذخیره کند. چون داخل () چیزی وجود ندارد پس تابع بدون ورودی است.UpTime = My.Computer.Clock.TickCount \ 1000'My.Computer.Clock.TickCount مقدار زمان روشن بودن رایانه بر حسب میلی ثانیه است. 'این مقدار را تقسیم (تقسیم صحیح) بر 1000 می کنیم تا مقدار بر حسب ثانیه بدست آید. سپس این مقدار را در خود تابع UpTime ذخیره می کنیم. یعنی {مقدار} = UpTime .End Function'پایان تابع
یک Function ساده با ورودی:کد:Shared Sub MsgUpTime'نام تابع MsgUpTime است. چون داخل () چیزی وجود ندارد پس تابع بدون ورودی است.MsgBox(My.Computer.Clock.TickCount \ 1000)'در این قسمت از تابع MsgBox() استفاده کردیم. یعنی این تابع خود مقدار روشن بودن رایانه را در یک Message Box نشان می دهد.End Sub'پایان تابع
کد:Shared Function Average(ByVal Number1 As Double, ByVal Number2 As Double) As Double'نام تابع ما Average است. این تابع می تواند مقادیری از نوع Double (عدد اعشاری) را در خود ذخیره کند. Average دارای دو ورودی است که با علامت ویرگول از هم جدا شده اند. نام ورودی اول Number1 و دومی Number2 است که هر دوی آن ها از نوع Single (عدد اعشاری) می باشند. ' توجه داشته باشیم دقت اعشار Double دو برابر Single است.Average = (Number1 + Number2) / 2'مقدار دو ورودی را با هم جمع می کنیم و عدد حاصل را بر 2 تقسیم می کنیم. سپس مقدار به دست آمده را در تابع Average ذخیره می کنیم.End Function'پایان تابع
متغیر در DLL:
در DLL ما می توانیم دو نوع متغیر تعریف کنیم:
گونه ی اول که متغیر های ساده اند و گونه ی دوم که متغیر های اشتراکی نام دارند.
همه ی ما متغیر های ساده را می شناسیم. همان متغیر هایی که همواره در برنامه های خود از آن ها استفاده می کنیم.
ساختار:
Dim [Dimension Name] As [Dimension]
مثال:
Dim mytxt As String
متغیر های اشتراکی هم دقیقا مانند متغیر های نوع اول اند اما یک تفاوت عمده بین این دو وجود دارد. متغیر های ساده در یک کلاس فقط مربوط به همان کلاس است و فقط اجزای آن کلاس می توانند از این متغییر استفاده کنند. اما متغییر های اشتراکی علاوه بر این که قابل استفاده برای کلاس خود هستند، مقدار های خود را به اشتراک می گذارند.
ساختار:
Public Shared [Dimension Name] As [Dimension]
مثال:
Public Shared mytext As String
یک Sub ساده با ورودی (که خروجی خود را در یک متغیر اشتراکی قرار می دهد):
کد:Public Shared Number As Double'متغیر اشتراکی به نام Number را از نوع Double تعریف می کنیم.Shared Sub dimAverage(ByVal Number1 As Single, ByVal Number2 As Single)'یک تابع با نام dimAverage تعریف می کنیم. dimAverage دارای دو ورودی است که با علامت ویرگول از هم جدا شده اند. نام ورودی اول Number1 و دومی Number2 است که هر دوی آن ها از نوع Single می باشند.Number = (Number1 + Number2) / 2'مقدار دو ورودی را با هم جمع می کنیم و عدد حاصل را بر 2 تقسیم می کنیم. سپس مقدار به دست آمده را در متغیر Number ذخیره می کنیم.End Sub'پایان تابع
پس از این که DLL مورد نظر خود را نوشتیم آن را کامپایل می کنیم. برای این کار به منوی Build رفته و گزینه ی اول را انتخاب می کنیم. اگر همه چیز درست باشد DLL با موفقیت ساخته می شود.






پاسخ با نقل قول
Bookmarks