تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيف اوقف التايمر بعد تحديد الكل في listbox ?
#1
سلام عليكم

اريد بعد تفيذ الكود هذا ان يتوقف التايمر

PHP كود :
If ListBox3.SelectedIndex ListBox3.Items.Count 1 Then

                        colora
()
 
                       emad1.Send(String.Concat(New String() {"<message xmlns='jabber:client' to='"room.Text"@conference.nimbuzz.com/"Me.ListBox3.Items.Item(0).ToString"' type='chat' id='292'><body>" mspv1.Text "</body><html xmlns='http://jabber.org/protocol/xhtml-im'><body xmlns='http://www.w3.org/1999/xhtml'><p><em>false</em><strong>true</strong><span style='" colorx "'/></p></body></html></message>"}))
 
                       ListBox3.SelectedIndex 0
                    Else
                        ListBox3
.SelectedIndex += 1
                    End 
If 
انا وضعت هيك مازبط

PHP كود :
If ListBox3.Items.Count 1 Then
                    Start1
.Stop()
 
                   ProgressBar1.Value False
                    Me
.emad1.Send(String.Concat(New String() {"<presence to='" room.Text "@conference.nimbuzz.com/imanking' type='unavailable'></presence>"}))
 
                   Exit Sub
                End 
If 
الرد
تم الشكر بواسطة:
#2
يا أخ عماد او يا أخ e-coder

انت ما زلت ف نفس المشكلة بلا حل؟؟؟؟!!!!

ربما لأن أغلب الناس مش فاهمة قوي ماذا تفعل بهذا الكود
وللأسف انا لم يعد يصبر مثل زمان إني ادرس كود كتبه شخص أخر

حاول توضح لنا الكود من فضلك ......
Retired
الرد
تم الشكر بواسطة: e-coder , ابو ليلى
#3
(27-07-17, 08:17 PM)silverlight كتب : يا أخ عماد او يا أخ e-coder

انت ما زلت ف نفس المشكلة بلا حل؟؟؟؟!!!!

ربما لأن أغلب الناس مش فاهمة قوي ماذا تفعل بهذا  الكود
وللأسف انا لم يعد يصبر مثل زمان إني ادرس كود كتبه شخص أخر

حاول توضح لنا الكود من فضلك ......

اخي في التايمر يوجد كود ولكن المشكلة هي كالتالي :
 اذا كان العدد في listbox قليل بشتغل الكود 
يعني مثال : اذا كان في listox الايميلات التالية
emad
emad2
emad3
بشتغل الكود وتمام التمام ولكن المشكلة هي كالتالي
اذا كان في listbox1
emad1
emad2
emad3
emad4
emad5
emad6
emad7
emad8
emad9
emad10
emad11
emad12
emad...20
لا يعمل الكود

الكود في التايمر هو
PHP كود :
Private Sub Timer1_Tick(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Timer1.Tick
        Try
            Start3
.Interval "800"
 
           emad1.Send(String.Concat(New String() {"<message xmlns='jabber:client' to='"room.Text"@conference.nimbuzz.com/"Me.ListBox1.Items.Item(0).ToString"' type='chat' id='292'><body>" mspv1.Text vbNewLine mspv2.Text vbNewLine mspv3.Text vbNewLine mspv4.Text vbNewLine mspv5.Text "</body><html xmlns='http://jabber.org/protocol/xhtml-im'><body xmlns='http://www.w3.org/1999/xhtml'><p><em>false</em><strong>true</strong><span style='" colors "'/></p></body></html></message>"}))
 
           Me.ListBox1.Items.RemoveAt(0)

 
       Catch ex As Exception
        End 
Try
 
       If ListBox1.Items.Count 1 Then
            Start1
.Stop()
 
           ProgressBar1.Value False
            Me
.emad1.Send(String.Concat(New String() {"<presence to='" room.Text "@conference.nimbuzz.com/imanking' type='unavailable'></presence>"}))
 
           Exit Sub
        End 
If
 
   End Sub 
كود تشغيل التايمر
PHP كود :
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Try
            ProgressBar1
.Maximum ListBox1.Items.Count
            Start1
.Start()
 
       Catch ex As Exception

        End 
Try
 
   End Sub 
المراد من الكود ارسال اضافات لكل الموجودين في
listbox1 فقط هي المطلوب
الرد
تم الشكر بواسطة: ابو ليلى
#4
السلام عليكم و رحمة الله
اخي الكريم ابتعد عن استخدام التايمر و استخدم التقنيات الجديدة افضل لك
و احرص على ان تكون الاجراءات الخاصة بك من النوع غير المتزامن (اذا كان العدد الذي تريد ارساله كبير) حتى تتحاشى مشاكل التجميد في البرنامج
كمثال بسيط لك ضع ListBox و TextBox و Button و Progresspar
ثم جرب هذا الكود و انتبه لسلاسة سير العملية باستخدام  Async Wait Task
كود النموذج كامل
PHP كود :
Public Class Form4
    Private Sub Form4_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        For i 
1 To 100
            ListBox1
.Items.Add("emad" i)
 
       Next
    End Sub

    Structure Mystruct
        Shared room 
As String "Room"
 
       Shared mspv1 111
        Shared mspv2 
222
        Shared mspv3 
333
        Shared mspv4 
444
        Shared mspv5 
555
        Shared colors 
"Red"
 
   End Structure

    Private Async Sub BtnSend_Click
(sender As ObjectAs EventArgsHandles BtnSend.Click
        TextBox1
.Clear()
 
       If ListBox1.Items.Count 0 Then
            ProgressBar1
.Maximum ListBox1.Items.Count 1
            For x 
As Integer 0 To ListBox1.Items.Count 1
                Await 
(send(0))
 
               ListBox1.Items.RemoveAt(0)
 
               ListBox1.Refresh()
 
               ProgressBar1.Value x
                
'هذا الكود لاظهار التقدم بالنسبة المئوية
                Dim percent As Integer = CInt((CDbl(ProgressBar1.Value - ProgressBar1.Minimum) / CDbl(ProgressBar1.Maximum - ProgressBar1.Minimum)) * 100)
                Using gr As Graphics = ProgressBar1.CreateGraphics()
                    gr.DrawString(percent.ToString() + "%", SystemFonts.DefaultFont, Brushes.Black, New PointF(ProgressBar1.Width / 2 - (gr.MeasureString(percent.ToString() + "%", SystemFonts.DefaultFont).Width / 2.0F), ProgressBar1.Height / 2 - (gr.MeasureString(percent.ToString() + "%", SystemFonts.DefaultFont).Height / 2.0F)))
                End Using
            Next
            BtnSend.Enabled = True

        Else
            TextBox1.Text = "<presence to='" & Mystruct.room & "
@conference.nimbuzz.com/imanking' type='unavailable'></presence>"
            ProgressBar1.Value = 0
        End If

    End Sub


    Private Async Function send(i As Integer) As Task
        Dim Sb As New List(Of String)
        Sb.Clear()
        Dim t As Task = Me.Invoke(Sub()
                                      BtnSend.Enabled = False
                                      Dim Str As String() = {"<message xmlns='
jabber:client' to='", Mystruct.room _
                                                               , "
@conference.nimbuzz.com/", ListBox1.Items(i).ToString, vbNewLine,
                                                               "'type='
chat' id='292'>", vbNewLine,
                                                               "<body>", vbNewLine, Mystruct.mspv1 & vbNewLine &
                                                               Mystruct.mspv2 & vbNewLine & Mystruct.mspv3 & vbNewLine &
                                                               Mystruct.mspv4 & vbNewLine & Mystruct.mspv5, vbNewLine &
                                                               "</body>", vbNewLine, "<html xmlns='
http://jabber.org/protocol/xhtml-im'>", vbNewLine,
 
                                                              "<body xmlns='http://www.w3.org/1999/xhtml'>"vbNewLine,
 
                                                              "<p>"vbNewLine"<em>"vbNewLine"false"vbNewLine,
 
                                                              "</em>"vbNewLine"<strong>"vbNewLine"true"vbNewLine,
 
                                                              "</strong>"vbNewLine"<span style='" Mystruct.colors "'/>"vbNewLine,
 
                                                              "</p>"vbNewLine"</body>"vbNewLine"</html>"vbNewLine,
 
                                                              "</message>"vbNewLine"***********************************"}

 
                                     Sb.Add(String.Concat(Str))

 
                                     For Each Instr As String In Sb
                                          TextBox1
.AppendText(Instr Environment.NewLine)
 
                                     Next

                                  End Sub
)
 
       Await Task.Delay(100)

 
   End Function
End Class 

حدد المدة التي تريدها فاصل بين كل ارسال في الخاصية  Await Task.Delay

بالتوفيق
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد
تم الشكر بواسطة: e-coder , e-coder
#5
(28-07-17, 01:14 AM)ابو ليلى كتب : السلام عليكم و رحمة الله
اخي الكريم ابتعد عن استخدام التايمر و استخدم التقنيات الجديدة افضل لك
و احرص على ان تكون الاجراءات الخاصة بك من النوع غير المتزامن (اذا كان العدد الذي تريد ارساله كبير) حتى تتحاشى مشاكل التجميد في البرنامج
كمثال بسيط لك ضع ListBox و TextBox و Button و Progresspar
ثم جرب هذا الكود و انتبه لسلاسة سير العملية باستخدام  Async Wait Task
كود النموذج كامل
PHP كود :
Public Class Form4
    Private Sub Form4_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        For i 
1 To 100
            ListBox1
.Items.Add("emad" i)
 
       Next
    End Sub

    Structure Mystruct
        Shared room 
As String "Room"
 
       Shared mspv1 111
        Shared mspv2 
222
        Shared mspv3 
333
        Shared mspv4 
444
        Shared mspv5 
555
        Shared colors 
"Red"
 
   End Structure

    Private Async Sub BtnSend_Click
(sender As ObjectAs EventArgsHandles BtnSend.Click
        TextBox1
.Clear()
 
       If ListBox1.Items.Count 0 Then
            ProgressBar1
.Maximum ListBox1.Items.Count 1
            For x 
As Integer 0 To ListBox1.Items.Count 1
                Await 
(send(0))
 
               ListBox1.Items.RemoveAt(0)
 
               ListBox1.Refresh()
 
               ProgressBar1.Value x
                
'هذا الكود لاظهار التقدم بالنسبة المئوية
                Dim percent As Integer = CInt((CDbl(ProgressBar1.Value - ProgressBar1.Minimum) / CDbl(ProgressBar1.Maximum - ProgressBar1.Minimum)) * 100)
                Using gr As Graphics = ProgressBar1.CreateGraphics()
                    gr.DrawString(percent.ToString() + "%", SystemFonts.DefaultFont, Brushes.Black, New PointF(ProgressBar1.Width / 2 - (gr.MeasureString(percent.ToString() + "%", SystemFonts.DefaultFont).Width / 2.0F), ProgressBar1.Height / 2 - (gr.MeasureString(percent.ToString() + "%", SystemFonts.DefaultFont).Height / 2.0F)))
                End Using
            Next
            BtnSend.Enabled = True

        Else
            TextBox1.Text = "<presence to='" & Mystruct.room & "
@conference.nimbuzz.com/imanking' type='unavailable'></presence>"
            ProgressBar1.Value = 0
        End If

    End Sub


    Private Async Function send(i As Integer) As Task
        Dim Sb As New List(Of String)
        Sb.Clear()
        Dim t As Task = Me.Invoke(Sub()
                                      BtnSend.Enabled = False
                                      Dim Str As String() = {"<message xmlns='
jabber:client' to='", Mystruct.room _
                                                               , "
@conference.nimbuzz.com/", ListBox1.Items(i).ToString, vbNewLine,
                                                               "'type='
chat' id='292'>", vbNewLine,
                                                               "<body>", vbNewLine, Mystruct.mspv1 & vbNewLine &
                                                               Mystruct.mspv2 & vbNewLine & Mystruct.mspv3 & vbNewLine &
                                                               Mystruct.mspv4 & vbNewLine & Mystruct.mspv5, vbNewLine &
                                                               "</body>", vbNewLine, "<html xmlns='
http://jabber.org/protocol/xhtml-im'>", vbNewLine,
 
                                                              "<body xmlns='http://www.w3.org/1999/xhtml'>"vbNewLine,
 
                                                              "<p>"vbNewLine"<em>"vbNewLine"false"vbNewLine,
 
                                                              "</em>"vbNewLine"<strong>"vbNewLine"true"vbNewLine,
 
                                                              "</strong>"vbNewLine"<span style='" Mystruct.colors "'/>"vbNewLine,
 
                                                              "</p>"vbNewLine"</body>"vbNewLine"</html>"vbNewLine,
 
                                                              "</message>"vbNewLine"***********************************"}

 
                                     Sb.Add(String.Concat(Str))

 
                                     For Each Instr As String In Sb
                                          TextBox1
.AppendText(Instr Environment.NewLine)
 
                                     Next

                                  End Sub
)
 
       Await Task.Delay(100)

 
   End Function
End Class 

حدد المدة التي تريدها فاصل بين كل ارسال في الخاصية  Await Task.Delay

بالتوفيق

اخي انا عملت نموذج قبل لطبقو ع برنامج ولكن ظهرت اخطاء الرجاء تحميل المشرةع من مرفقات وتعديل عليه لكي اطبقة ع برنامجي
وشكرا لك


الملفات المرفقة
.rar   WindowsApplication1.rar (الحجم : 29.3 ك ب / التحميلات : 36)
الرد
تم الشكر بواسطة: ابو ليلى
#6
السلام عليكم و رحمة الله و بركاته
في ما يبدو انك تستخدم  VS 2010 , نسخة اطار العمل  4.0 , و انا اعمل مع النسخة  4.5
و للاسف النسخة  4.0 لا تدعم العمليات غير المتزامنة عبر Async Wait 
لذلك اخي الكريم حاول ان تعتمد على Thread  لتلبي طلبك.

عدل كود النموذج لديك كالتالي

PHP كود :
Imports System.Threading
Public Class Form1
    Dim Th 
As Thread Nothing

    Private Sub Form1_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        For i 
1 To 100
            ListBox1
.Items.Add("emad" i)
 
       Next
    End Sub

    Structure Mystruct
        Shared room 
As String "Room"
 
       Shared mspv1 111
        Shared mspv2 
222
        Shared mspv3 
333
        Shared mspv4 
444
        Shared mspv5 
555
        Shared colors 
"Red"
 
   End Structure

    Private Sub BtnSend_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles BtnSend.Click

        TextBox1
.Clear()
 
       BtnSend.Enabled False

        If ListBox1
.Items.Count 0 Then
            ProgressBar1
.Maximum ListBox1.Items.Count 1
            Th 
= New Thread(Sub()
 
                               For x As Integer 0 To ListBox1.Items.Count 1
                                    Thread
.Sleep(100)
 
                                   send(0x)
 
                               Next
                            End Sub
)
 
           Th.IsBackground True
            Th
.Start()

 
       Else
            TextBox1
.Text "<presence to='" Mystruct.room "@conference.nimbuzz.com/imanking' type='unavailable'></presence>"
 
           ProgressBar1.Value 0
            BtnSend
.Enabled True
        End 
If

 
   End Sub


    Private Sub send
(As IntegerAs Integer)
 
       Dim Sb As New List(Of String)
 
       Sb.Clear()
 
       Me.BeginInvoke(Sub()
 
                          If Not Th.IsAlive Then
                               BtnSend
.Enabled True
                           End 
If

 
                          Dim Str As String() = {"<message xmlns='jabber:client' to='"Mystruct.room _
                                                                      
"@conference.nimbuzz.com/"ListBox1.Items(i).ToStringvbNewLine,
 
                                                                     "'type='chat' id='292'>"vbNewLine,
 
                                                                     "<body>"vbNewLineMystruct.mspv1 vbNewLine &
 
                                                                     Mystruct.mspv2 vbNewLine Mystruct.mspv3 vbNewLine &
 
                                                                     Mystruct.mspv4 vbNewLine Mystruct.mspv5vbNewLine &
 
                                                                     "</body>"vbNewLine"<html xmlns='http://jabber.org/protocol/xhtml-im'>"vbNewLine,
 
                                                                     "<body xmlns='http://www.w3.org/1999/xhtml'>"vbNewLine,
 
                                                                     "<p>"vbNewLine"<em>"vbNewLine"false"vbNewLine,
 
                                                                     "</em>"vbNewLine"<strong>"vbNewLine"true"vbNewLine,
 
                                                                     "</strong>"vbNewLine"<span style='" Mystruct.colors "'/>"vbNewLine,
 
                                                                     "</p>"vbNewLine"</body>"vbNewLine"</html>"vbNewLine,
 
                                                                     "</message>"vbNewLine"***********************************"}

 
                          Sb.Add(String.Concat(Str))

 
                          For Each Instr As String In Sb
                               TextBox1
.AppendText(Instr Environment.NewLine)
 
                          Next
                           ProgressBar1
.Value x

                           ListBox1
.Items.RemoveAt(0)

 
                          'هذا الكود لاظهار التقدم بالنسبة المئوية
                           Dim percent As Integer = CInt((CDbl(ProgressBar1.Value - ProgressBar1.Minimum) / CDbl(ProgressBar1.Maximum - ProgressBar1.Minimum)) * 100)
                           Using gr As Graphics = ProgressBar1.CreateGraphics()
                               gr.DrawString(percent.ToString() + "%", SystemFonts.DefaultFont, Brushes.Black, New PointF(ProgressBar1.Width / 2 - (gr.MeasureString(percent.ToString() + "%", SystemFonts.DefaultFont).Width / 2.0F), ProgressBar1.Height / 2 - (gr.MeasureString(percent.ToString() + "%", SystemFonts.DefaultFont).Height / 2.0F)))
                           End Using

                       End Sub)

    End Sub

End Class 


اعمل خاصية MultiLine =True لمربع النص و قم بتوسيعه حتى تظهر الرسالة بشكل كامل

بالتوفيق
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد
تم الشكر بواسطة:
#7
(29-07-17, 02:17 AM)ابو ليلى كتب : السلام عليكم و رحمة الله و بركاته
في ما يبدو انك تستخدم  VS 2010 , نسخة اطار العمل  4.0 , و انا اعمل مع النسخة  4.5
و للاسف النسخة  4.0 لا تدعم العمليات غير المتزامنة عبر Async Wait 
لذلك اخي الكريم حاول ان تعتمد على Thread  لتلبي طلبك.

عدل كود النموذج لديك كالتالي

PHP كود :
Imports System.Threading
Public Class Form1
    Dim Th 
As Thread Nothing

    Private Sub Form1_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        For i 
1 To 100
            ListBox1
.Items.Add("emad" i)
 
       Next
    End Sub

    Structure Mystruct
        Shared room 
As String "Room"
 
       Shared mspv1 111
        Shared mspv2 
222
        Shared mspv3 
333
        Shared mspv4 
444
        Shared mspv5 
555
        Shared colors 
"Red"
 
   End Structure

    Private Sub BtnSend_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles BtnSend.Click

        TextBox1
.Clear()
 
       BtnSend.Enabled False

        If ListBox1
.Items.Count 0 Then
            ProgressBar1
.Maximum ListBox1.Items.Count 1
            Th 
= New Thread(Sub()
 
                               For x As Integer 0 To ListBox1.Items.Count 1
                                    Thread
.Sleep(100)
 
                                   send(0x)
 
                               Next
                            End Sub
)
 
           Th.IsBackground True
            Th
.Start()

 
       Else
            TextBox1
.Text "<presence to='" Mystruct.room "@conference.nimbuzz.com/imanking' type='unavailable'></presence>"
 
           ProgressBar1.Value 0
            BtnSend
.Enabled True
        End 
If

 
   End Sub


    Private Sub send
(As IntegerAs Integer)
 
       Dim Sb As New List(Of String)
 
       Sb.Clear()
 
       Me.BeginInvoke(Sub()
 
                          If Not Th.IsAlive Then
                               BtnSend
.Enabled True
                           End 
If

 
                          Dim Str As String() = {"<message xmlns='jabber:client' to='"Mystruct.room _
                                                                      
"@conference.nimbuzz.com/"ListBox1.Items(i).ToStringvbNewLine,
 
                                                                     "'type='chat' id='292'>"vbNewLine,
 
                                                                     "<body>"vbNewLineMystruct.mspv1 vbNewLine &
 
                                                                     Mystruct.mspv2 vbNewLine Mystruct.mspv3 vbNewLine &
 
                                                                     Mystruct.mspv4 vbNewLine Mystruct.mspv5vbNewLine &
 
                                                                     "</body>"vbNewLine"<html xmlns='http://jabber.org/protocol/xhtml-im'>"vbNewLine,
 
                                                                     "<body xmlns='http://www.w3.org/1999/xhtml'>"vbNewLine,
 
                                                                     "<p>"vbNewLine"<em>"vbNewLine"false"vbNewLine,
 
                                                                     "</em>"vbNewLine"<strong>"vbNewLine"true"vbNewLine,
 
                                                                     "</strong>"vbNewLine"<span style='" Mystruct.colors "'/>"vbNewLine,
 
                                                                     "</p>"vbNewLine"</body>"vbNewLine"</html>"vbNewLine,
 
                                                                     "</message>"vbNewLine"***********************************"}

 
                          Sb.Add(String.Concat(Str))

 
                          For Each Instr As String In Sb
                               TextBox1
.AppendText(Instr Environment.NewLine)
 
                          Next
                           ProgressBar1
.Value x

                           ListBox1
.Items.RemoveAt(0)

 
                          'هذا الكود لاظهار التقدم بالنسبة المئوية
                           Dim percent As Integer = CInt((CDbl(ProgressBar1.Value - ProgressBar1.Minimum) / CDbl(ProgressBar1.Maximum - ProgressBar1.Minimum)) * 100)
                           Using gr As Graphics = ProgressBar1.CreateGraphics()
                               gr.DrawString(percent.ToString() + "%", SystemFonts.DefaultFont, Brushes.Black, New PointF(ProgressBar1.Width / 2 - (gr.MeasureString(percent.ToString() + "%", SystemFonts.DefaultFont).Width / 2.0F), ProgressBar1.Height / 2 - (gr.MeasureString(percent.ToString() + "%", SystemFonts.DefaultFont).Height / 2.0F)))
                           End Using

                       End Sub)

    End Sub

End Class 


اعمل خاصية MultiLine =True لمربع النص و قم بتوسيعه حتى تظهر الرسالة بشكل كامل

بالتوفيق

اخي بارك الله فيك ولكن اريد تطبيق التالي

Public Class Form1
    Dim emad As XmppClientConnection
بحيث ارسال الكود مرتبط من خلال الاتصال التالي
PHP كود :
Dim Str As String() = {"<message xmlns='jabber:client' to='"Mystruct.room _
                                                                      
"@conference.nimbuzz.com/"ListBox1.Items(i).ToStringvbNewLine,
 
                                                                     "'type='chat' id='292'>"vbNewLine,
 
                                                                     "<body>"vbNewLineMystruct.mspv1 vbNewLine &
 
                                                                     Mystruct.mspv2 vbNewLine Mystruct.mspv3 vbNewLine &
 
                                                                     Mystruct.mspv4 vbNewLine Mystruct.mspv5vbNewLine &
 
                                                                     "</body>"vbNewLine"<html xmlns='http://jabber.org/protocol/xhtml-im'>"vbNewLine,
 
                                                                     "<body xmlns='http://www.w3.org/1999/xhtml'>"vbNewLine,
 
                                                                     "<p>"vbNewLine"<em>"vbNewLine"false"vbNewLine,
 
                                                                     "</em>"vbNewLine"<strong>"vbNewLine"true"vbNewLine,
 
                                                                     "</strong>"vbNewLine"<span style='" Mystruct.colors "'/>"vbNewLine,
 
                                                                     "</p>"vbNewLine"</body>"vbNewLine"</html>"vbNewLine,
 
                                                                     "</message>"vbNewLine"***********************************"}

 
                          Sb.Add(String.Concat(Str)) 
اريد استبدال 
.........الخDim Str As String() = {"<message
ب
.........الخemad.send(String.Concat(New String() {"<message
ليصبح البرنامج فعال وشكراً
الرد
تم الشكر بواسطة: ابو ليلى
#8
السلام عليكم و رحمة الله و بركاته

انا لا ادري ما الذي تقوم به الدالة Send و لكن من خلال الكود الخاص بك يبدو لي انها تاخذ وسيط من النوع String
هذا يدل على استخدامنا السليم لها.

بالنسبة للتعديل الذي طلبته على النص

PHP كود :
                          Dim Str As String String.Concat(New String() {"<message xmlns='jabber:client' to='"Mystruct.room _
                                                                      
"@conference.nimbuzz.com/"ListBox1.Items(i).ToStringvbNewLine,
 
                                                                     "'type='chat' id='292'>"vbNewLine,
 
                                                                     "<body>"vbNewLineMystruct.mspv1 vbNewLine &
 
                                                                     Mystruct.mspv2 vbNewLine Mystruct.mspv3 vbNewLine &
 
                                                                     Mystruct.mspv4 vbNewLine Mystruct.mspv5vbNewLine &
 
                                                                     "</body>"vbNewLine"<html xmlns='http://jabber.org/protocol/xhtml-im'>"vbNewLine,
 
                                                                     "<body xmlns='http://www.w3.org/1999/xhtml'>"vbNewLine,
 
                                                                     "<p>"vbNewLine"<em>"vbNewLine"false"vbNewLine,
 
                                                                     "</em>"vbNewLine"<strong>"vbNewLine"true"vbNewLine,
 
                                                                     "</strong>"vbNewLine"<span style='" Mystruct.colors "'/>"vbNewLine,
 
                                                                     "</p>"vbNewLine"</body>"vbNewLine"</html>"vbNewLine,
 
                                                                     "</message>"vbNewLine"***********************************"}) 

و لو قدمت في سطور بسيطة لما تستخدم هذه المكتبة مع رابط لها , اذا لم يكن لديك مانع , قد تجد من يبحث او يحتاج لمثلها في عمله.

بالتوفيق
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد
تم الشكر بواسطة:
#9
(29-07-17, 03:02 PM)ابو ليلى كتب : السلام عليكم و رحمة الله و بركاته

انا لا ادري ما الذي تقوم به الدالة Send و لكن من خلال الكود الخاص بك يبدو لي انها تاخذ وسيط من النوع String
هذا يدل على استخدامنا السليم لها.

بالنسبة للتعديل الذي طلبته على النص

PHP كود :
                          Dim Str As String String.Concat(New String() {"<message xmlns='jabber:client' to='"Mystruct.room _
                                                                      
"@conference.nimbuzz.com/"ListBox1.Items(i).ToStringvbNewLine,
 
                                                                     "'type='chat' id='292'>"vbNewLine,
 
                                                                     "<body>"vbNewLineMystruct.mspv1 vbNewLine &
 
                                                                     Mystruct.mspv2 vbNewLine Mystruct.mspv3 vbNewLine &
 
                                                                     Mystruct.mspv4 vbNewLine Mystruct.mspv5vbNewLine &
 
                                                                     "</body>"vbNewLine"<html xmlns='http://jabber.org/protocol/xhtml-im'>"vbNewLine,
 
                                                                     "<body xmlns='http://www.w3.org/1999/xhtml'>"vbNewLine,
 
                                                                     "<p>"vbNewLine"<em>"vbNewLine"false"vbNewLine,
 
                                                                     "</em>"vbNewLine"<strong>"vbNewLine"true"vbNewLine,
 
                                                                     "</strong>"vbNewLine"<span style='" Mystruct.colors "'/>"vbNewLine,
 
                                                                     "</p>"vbNewLine"</body>"vbNewLine"</html>"vbNewLine,
 
                                                                     "</message>"vbNewLine"***********************************"}) 

و لو قدمت في سطور بسيطة لما تستخدم هذه المكتبة مع رابط لها , اذا لم يكن لديك مانع , قد تجد من يبحث او يحتاج لمثلها في عمله.

بالتوفيق

سوف اقم برفع المشروع بشكل كامل كل ماعليك فعلة هوا التعديل او التغير من صغية الاكواد وانا حكمل باقي كل كافة الاتصالات
ولكن اين اتصال emad في الكود


الملفات المرفقة
.rar   DC 2017.rar (الحجم : 1.03 م ب / التحميلات : 33)
الرد
تم الشكر بواسطة:
#10
السلام عليكم و رحمة الله و بركاته
الاخ عماد ... انت طرحت مشكلة محددة وهي عدم القدرة على التعامل مع عدد كبير من العناصر في قائمة ListBox
و كل عنصر منها يحتاج الى تمرير دالة سميناها جدلاً Send و انا رايت ان اختار دالة تقوم بتمرير نص محدد (النص الذي لديك في الكود)
يتم تمرير هذا النص الى مربع نص على الفورم لكل عنصر في القائمة (و ليس الى سيرفر كما لديك)
و اما السؤال عن كلمة emad في الكود فليس له وجود عندي لانني لا اتعامل مع مكتبتك (شيئ طبيعي لاني لا املكها و لم اتعامل معها).
المفروض عليك انت تستفيد من جوهر الكود و طريقة عمله و توظفه لديك بما يناسب الدالة الخاصة بكائن الاتصال الخاص لديك.
اما مسالة ان اعدل لك على كم كبير من الاكواد فهذا ما لا استطيعه .
وفق نظرة على الكود لديك ....... بعض النصائح ؟؟
انت تعيد كتابة نفس الكود في الكثير من الاجراءات مع تغير بسيط غالباً في اسم Lable او اسم اخر .
النصيحة لك ان تعمم كود الارسال و تجعله في دالة منفصلة او كلاس او اي شيئ اخر و تقوم باستدعائه مع تغير ما يلزم فقط.
لم اطلع على كامل الكود فقط كانت نظرة ..

بالتوفيق 
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم