ورود

View Full Version : مبتدی: دستور Implement



IranVB
یک شنبه 15 اسفند 1389, 09:02 صبح
سلام به همگي
ميخواستم بدونم که دوستور Implement در وي بي چه کاربردي دارد چون اينگونه که من ميبينم در يک کلاس تعدادي از روال خالي ايجاد ميکنند و بعد با دستور Implement از اون روال ها استفاده ميکنند
اگر ممکنه اين دستور را برام توضيح بدين چون هرچي روش فکر ميکنم به نتيجه اي نميرسم

یه تاپیکی هم بود اما توسط msnv حذف شده بود :گریه::گریه:

خيلي ممنون از همگي

IranVB
شنبه 21 اسفند 1389, 08:40 صبح
دوستان کسی نیست که به مشکل ما رسیدگی کنه
یعنی خیلی سخت هست
خواهش میکنم کسی به من کمک کنه

IranVB
شنبه 21 اسفند 1389, 21:01 عصر
چندتا پست دیگه رو اسپم کنم
خواهشا"
:افسرده: :افسرده::گریه::گریه::گریه::گر ه::گریه:

حمید محمودی
شنبه 21 اسفند 1389, 22:04 عصر
سلام،

MSDN 2000 میگه »





Specifies an interface or class that will be implemented in the class module in which it appears.
Syntax
Implements [InterfaceName | Class]
The required InterfaceName or Class is the name of an interface or class in a type library whose methods will be implemented by the corresponding methods in the Visual Basic class.
Remarks
An interface is a collection of prototypes representing the members (methods and properties) the interface encapsulates; that is, it contains only the declarations for the member procedures. A class provides an implementation of all of the methods and properties of one or more interfaces. Classes provide the code used when each function is called by a controller of the class. All classes implement at least one interface, which is considered the default interface of the class. In Visual Basic, any member that isn't explicitly a member of an implemented interface is implicitly a member of the default interface.
When a Visual Basic class implements an interface, the Visual Basic class provides its own versions of all the Public procedures specified in the type library of the Interface. In addition to providing a mapping between the interface prototypes and your procedures, the Implements statement causes the class to accept COM QueryInterface calls for the specified interface ID.
Note Visual Basic does not implement derived classes or interfaces.
When you implement an interface or class, you must include all the Public procedures involved. A missing member in an implementation of an interface or class causes an error. If you don't place code in one of the procedures in a class you are implementing, you can raise the appropriate error (Const E_NOTIMPL = &H80004001) so a user of the implementation understands that a member is not implemented.
The Implements statement can't appear in a standard module.
یه مثال از MSDN :


Implements Statement Example
The following example shows how to use the Implements statement to make a set of declarations available to multiple classes. By sharing the declarations through the Implements statement, neither class has to make any declarations itself.

Assume there are two forms. The Selector form has two buttons, Customer Data and Supplier Data. To enter name and address information for a customer or a supplier, the user clicks the Customer button or the Supplier button on the Selector form, and then enters the name and address using the Data Entry form. The Data Entry form has two text fields, Name and Address.

The following code for the shared declarations is in a class called PersonalData:

Public Name As String
Public Address As String

The code supporting the customer data is in a class module called Customer:

Implements PersonalData
Private Property Get PersonalData_Address() As String
PersonalData_Address = "CustomerAddress"
End Property

Private Property Let PersonalData_Address(ByVal RHS As String)
'
End Property

Private Property Let PersonalData_Name(ByVal RHS As String)
'
End Property

Private Property Get PersonalData_Name() As String
PersonalData_Name = "CustomerName"
End Property

The code supporting the supplier data is in a class module called Supplier:

Implements PersonalData

Private Property Get PersonalData_Address() As String
PersonalData_Address = "SupplierAddress"
End Property

Private Property Let PersonalData_Address(ByVal RHS As String)
'
End Property

Private Property Let PersonalData_Name(ByVal RHS As String)
'
End Property

Private Property Get PersonalData_Name() As String
PersonalData_Name = "SupplierName"
End Property

The following code supports the Selector form:

Private cust As New Customer
Private sup As New Supplier

Private Sub Command1_Click()
Dim frm2 As New Form2
Set frm2.PD = cust
frm2.Show 1
End Sub

Private Sub Command2_Click()
Dim frm2 As New Form2
Set frm2.PD = sup
frm2.Show 1
End Sub

The following code supports the Data Entry form:

Private m_pd As PersonalData
Private Sub Form_Load()
With m_pd
Text1 = .Name
Text2 = .Address
End With
End Sub
Public Property Set PD(Data As PersonalData)
Set m_pd = Data
End Property

IranVB
شنبه 21 اسفند 1389, 22:16 عصر
خیلی ممنون
اما من زبانم خیلی ضعیفه
میخواستم یکی از دوستان با زبان خودمون واسم توضیح بده چون نمونه های زیادی دارم که این دستور استفاده میکنند اما درکشون نمیکنم
خواهش میکنم یکی کمکم کنه