امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از یک ابزار به صورت مالتی و جندتایی
نویسنده پیام
zirak آفلاین
كاربر تک ستاره
*

ارسال‌ها: 40
موضوع‌ها: 4
تاریخ عضویت: تير ۱۳۸۹

تشکرها : 15
( 24 تشکر در 16 ارسال )
ارسال: #1
استفاده از یک ابزار به صورت مالتی و جندتایی
سلام دوستان.من میخوام از یک ابزار به صورت index استفاده کنم مثل WinSock
و DataArrival رو بتونم از هر یک به جدا بگیرم
در vb6 یک گذینه داره که Index رو اگه 0 بذاری میتونی به صورت مالتی استفاده کنی
ولی vb.net چطوری میشه این کارو کرد؟؟
لطفآ اگه جواب دادید 100% Data Arrival رو هم بگید چون اون برام از کل سوال مهمتره....
منمونHeart

لطفآ دقت کنید من VB.net میگم.
شرمنده اینجا تاپیک زدم. گفتم شاید کسانی که میان به این بخش بتونن جواب بدن.
۱۵-دى-۱۳۹۰, ۱۴:۱۰:۳۶
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #2
RE: استفاده از یک ابزار به صورت مالتی و جندتایی

سلام.
شما تو دات نت میخوای با winsock کار کنی ؟
دات نت خودش کلاس های System.Net و System.Net.Sockets رو آماده برای این کار داره و نیازی به استفاده از کامپوننت نداری.

شما میتونی یه آرایه از اون کلاس ایجاد کنی. ولی این که همه بتونن رو یه پورت کار کنن رو تست کن.

یه مقاله در مورد کار با شبکه در دات نت براتون پیوست کردم.

(۱۵-دى-۱۳۹۰, ۱۴:۱۰:۳۶)zirak نوشته است: لطفآ دقت کنید من VB.net میگم.
شرمنده اینجا تاپیک زدم. گفتم شاید کسانی که میان به این بخش بتونن جواب بدن.

اینو نمیگفتی تاپیکت منتقل میشد به بخش دات نت.


فایل‌(های) پیوست شده
.pdf   Network Programming ( Level 1 ).pdf (اندازه: 108.05 KB / تعداد دفعات دریافت: 60)
۱۵-دى-۱۳۹۰, ۲۳:۴۵:۰۷
ارسال‌ها
پاسخ
تشکر شده توسط : zirak
zirak آفلاین
كاربر تک ستاره
*

ارسال‌ها: 40
موضوع‌ها: 4
تاریخ عضویت: تير ۱۳۸۹

تشکرها : 15
( 24 تشکر در 16 ارسال )
ارسال: #3
RE: استفاده از یک ابزار به صورت مالتی و جندتایی
سلام مرسی آقا ولی منظور من چگونگی استفاده از WinSock نبود.منظورم استفاده از Index بود و WinSock رو مثال زدم.
این Index برای تایمر یا هر چیز دیگه که در vb6 میتونی به صورت Index ازش استفاده کنی...
من این تاپیک رو تو بخش .Net هم زدم ولی انگار هیچکس جواب نمیده.

منظور کامل من
کد:
Private Sub Command1_Click(Index As Integer)
Select Case Index

Case 0

Case 1

Case 2

End Select

End Sub

Private Sub Timer1_Timer(Index As Integer)
Select Case Index

Case 100

Case 120

Case 130

End Select
End Sub

Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Select Case Index

Case 2

Case 3

Case 8

End Select
End Sub

در VB.Net

ممنون میشم.
۱۶-دى-۱۳۹۰, ۰۱:۳۰:۴۱
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #4
RE: استفاده از یک ابزار به صورت مالتی و جندتایی
سلام.
سوالت یه مقدار نامفهومه.
به هر حال شما برای استفاده از ایندکس میتونی شیت از هر کلاسی رو به صورت آرایه تعریف کنی. بعد برای دسترسی به هر کدوم از اعضای آرایه باید از ایندکس استفاده کنی.

من دقیقا متوجه نشدم شما مشکلت با ایندکسه یا استفاده از ایندکس به روی winsock.
۱۷-دى-۱۳۹۰, ۰۱:۲۲:۳۰
ارسال‌ها
پاسخ
zirak آفلاین
كاربر تک ستاره
*

ارسال‌ها: 40
موضوع‌ها: 4
تاریخ عضویت: تير ۱۳۸۹

تشکرها : 15
( 24 تشکر در 16 ارسال )
ارسال: #5
RE: استفاده از یک ابزار به صورت مالتی و جندتایی
سلام
آقا منظور خودمو دقیق بگم.
توی vb6 مینویسن
کد:
Dim i As Integer
For i = 0 to 100
Load Timer(i)
Timer(i).Interval = 20
next

و در خود تایمر مینویسیم
کد:
Select Case Timer.Item.Index

Case 1
'Dastoor

Case 20
'Dastoor

End Select

منظور من اینه از Index یا همان مالتی و Load استفاده کنم.
و در خود کنترل فراخوانده شده اگه Index = 15 و یا در کل Index فرق داشت دستور مربوط به همان Index(عدد) اجرا بشه.
۱۷-دى-۱۳۹۰, ۰۴:۲۵:۰۵
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #6
RE: استفاده از یک ابزار به صورت مالتی و جندتایی
سلام.
شما اگه چند تا برای مثال کلید روی صفحه دارید و میخواهید با یک ایونت کنترلشون کنید میتونید از کد زیر استفاده کنید.

کد:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
        Dim Index As Integer
        Index = CInt(Mid(sender.Name, 7))

        Select Case Index
            Case Is = 1
                MessageBox.Show("button1 Clicked")
                'Type your code here
            Case Is = 2
                MessageBox.Show("button2 Clicked")
                'Type your code here
            Case Is = 3
                MessageBox.Show("button3 Clicked")
                'Type your code here
        End Select
    End Sub

اما اگه میخواهی یه آرایه از کنترل هات داشته باشی و ران تایم کم و زیادشون کنی و حالت داینامیک داشته باشی کار کمی مشکل میشه.
در این صورت باید یه کلاس برای مدیریت آرایه کنترل هات بنویسی.

برای این کار از نمونه کلاس زیر که برای کنترل Button هست استفاده کن.

کد:
Public Class ButtonArray
    Inherits System.Collections.CollectionBase

    Private ReadOnly HostForm As System.Windows.Forms.Form

    Public Function AddNewButton() As System.Windows.Forms.Button
        ' Create a new instance of the Button class.
        Dim aButton As New System.Windows.Forms.Button()
        ' Add the button to the collection's internal list.
        Me.List.Add(aButton)
        ' Add the button to the controls collection of the form
        ' referenced by the HostForm field.
        HostForm.Controls.Add(aButton)
        ' Set intial properties for the button object.
        aButton.Top = Count * 25
        aButton.Left = 100
        aButton.Tag = Me.Count
        aButton.Text = "Button " & Me.Count.ToString
        AddHandler aButton.Click, AddressOf ClickHandler
        Return aButton
    End Function

    Public Sub New(ByVal host As System.Windows.Forms.Form)
        HostForm = host
        Me.AddNewButton()
    End Sub

    Default Public ReadOnly Property Item(ByVal Index As Integer) As System.Windows.Forms.Button
        Get
            Return CType(Me.List.Item(Index), System.Windows.Forms.Button)
        End Get
    End Property

    Public Sub Remove()
        ' Check to be sure there is a button to remove.
        If Me.Count > 0 Then
            ' Remove the last button added to the array from the host form
            ' controls collection. Note the use of the default property in
            ' accessing the array.
            HostForm.Controls.Remove(Me(Me.Count - 1))
            Me.List.RemoveAt(Me.Count - 1)
        End If
    End Sub

    Public Sub ClickHandler(ByVal sender As Object, ByVal e As System.EventArgs)
        MessageBox.Show("you have clicked button " & CType(CType(sender,  _
           System.Windows.Forms.Button).Tag, String))
    End Sub
End Class

بعد میتونی یه نمونه از این کلاس در پروژت ایجاد کنی و چون کنترل ها باید به یه فرمی وابسته باشن در فرم لود کد زیر رو بنویس.

کد:
Dim MyControlArray As ButtonArray

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MyControlArray = New ButtonArray(Me)
    End Sub

بقیشم دیگه سادست.
دستور زیر یه باتن رو فرم اضافه میکنه.

کد:
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
        MyControlArray.AddNewButton()
    End Sub

و کد زیر هم آخرین باتن رو حذف میکنه.
کد:
Private Sub btnRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemove.Click
        MyControlArray.Remove()
    End Sub
۱۷-دى-۱۳۹۰, ۱۳:۱۴:۱۶
ارسال‌ها
پاسخ
تشکر شده توسط : zirak


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تغيير همزمان در چند ابزار student-p 3 2,385 ۱۰-تير-۱۳۹۷, ۱۲:۴۱:۲۲
آخرین ارسال: student-p
  ذخیره کردن نتیجه اجرای کد به صورت رشته alefpe 1 2,740 ۱۰-خرداد-۱۳۹۴, ۱۰:۲۰:۲۲
آخرین ارسال: lord_viper
Sad [فوری] اسم ابزار sahar_sayyah 3 2,693 ۱۴-آبان-۱۳۹۳, ۲۲:۱۹:۴۰
آخرین ارسال: Loyal
  ابزار های دلفی در vb6 javad917 0 1,855 ۱۶-شهریور-۱۳۹۳, ۱۵:۳۰:۰۷
آخرین ارسال: javad917
  مشكل ذخيره و مقايسه تاريخها به صورت شمسي NabiKAZ 16 17,965 ۲۳-اسفند-۱۳۹۰, ۰۰:۱۵:۳۶
آخرین ارسال: ahoo_tanha2012
  مشکل کار با ابزار Tree View restles20 3 4,278 ۱۹-آذر-۱۳۹۰, ۰۴:۰۰:۲۲
آخرین ارسال: sehm67
Shy خارج نمودن برنامه از حافظه به صورت كامل... 1120 3 3,487 ۳۰-مرداد-۱۳۹۰, ۰۳:۵۷:۱۲
آخرین ارسال: zirak
Cool مشکل در فرستادن PM در یاهو به صورت آفلاین bvk 0 2,400 ۲۹-مرداد-۱۳۹۰, ۰۲:۲۳:۵۲
آخرین ارسال: bvk
Question ساخت يك فولدر به صورت Hidden hamidjava 7 6,504 ۰۳-فروردین-۱۳۹۰, ۰۸:۲۲:۰۷
آخرین ارسال: behrozbandari
  چند تا ابزار جالب Pr0grammer 0 2,425 ۲۰-تير-۱۳۸۹, ۱۹:۳۸:۲۱
آخرین ارسال: Pr0grammer

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS