كيف اوقف التايمر بعد تحديد الكل في listbox ? - e-coder - 27-07-17
سلام عليكم
اريد بعد تفيذ الكود هذا ان يتوقف التايمر
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
RE: كيف اوقف التايمر بعد تحديد الكل في listbox ? - silverlight - 27-07-17
يا أخ عماد او يا أخ e-coder
انت ما زلت ف نفس المشكلة بلا حل؟؟؟؟!!!!
ربما لأن أغلب الناس مش فاهمة قوي ماذا تفعل بهذا الكود
وللأسف انا لم يعد يصبر مثل زمان إني ادرس كود كتبه شخص أخر
حاول توضح لنا الكود من فضلك ......
RE: كيف اوقف التايمر بعد تحديد الكل في listbox ? - e-coder - 27-07-17
(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.Object, ByVal e As System.EventArgs) Handles 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.Object, ByVal e As System.EventArgs) Handles Button1.Click Try ProgressBar1.Maximum = ListBox1.Items.Count Start1.Start() Catch ex As Exception
End Try End Sub
المراد من الكود ارسال اضافات لكل الموجودين في
listbox1 فقط هي المطلوب
RE: كيف اوقف التايمر بعد تحديد الكل في listbox ? - ابو ليلى - 28-07-17
السلام عليكم و رحمة الله
اخي الكريم ابتعد عن استخدام التايمر و استخدم التقنيات الجديدة افضل لك
و احرص على ان تكون الاجراءات الخاصة بك من النوع غير المتزامن (اذا كان العدد الذي تريد ارساله كبير) حتى تتحاشى مشاكل التجميد في البرنامج
كمثال بسيط لك ضع ListBox و TextBox و Button و Progresspar
ثم جرب هذا الكود و انتبه لسلاسة سير العملية باستخدام Async Wait Task
كود النموذج كامل
PHP كود :
Public Class Form4 Private Sub Form4_Load(sender As Object, e As EventArgs) Handles 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 Object, e As EventArgs) Handles 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
بالتوفيق
RE: كيف اوقف التايمر بعد تحديد الكل في listbox ? - e-coder - 28-07-17
(28-07-17, 01:14 AM)ابو ليلى كتب : السلام عليكم و رحمة الله
اخي الكريم ابتعد عن استخدام التايمر و استخدم التقنيات الجديدة افضل لك
و احرص على ان تكون الاجراءات الخاصة بك من النوع غير المتزامن (اذا كان العدد الذي تريد ارساله كبير) حتى تتحاشى مشاكل التجميد في البرنامج
كمثال بسيط لك ضع ListBox و TextBox و Button و Progresspar
ثم جرب هذا الكود و انتبه لسلاسة سير العملية باستخدام Async Wait Task
كود النموذج كامل
PHP كود :
Public Class Form4 Private Sub Form4_Load(sender As Object, e As EventArgs) Handles 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 Object, e As EventArgs) Handles 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
بالتوفيق
اخي انا عملت نموذج قبل لطبقو ع برنامج ولكن ظهرت اخطاء الرجاء تحميل المشرةع من مرفقات وتعديل عليه لكي اطبقة ع برنامجي
وشكرا لك
RE: كيف اوقف التايمر بعد تحديد الكل في listbox ? - ابو ليلى - 29-07-17
السلام عليكم و رحمة الله و بركاته
في ما يبدو انك تستخدم 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.Object, ByVal e As System.EventArgs) Handles 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.Object, ByVal e As System.EventArgs) Handles 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(0, x) 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(i As Integer, x As 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).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 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 لمربع النص و قم بتوسيعه حتى تظهر الرسالة بشكل كامل
بالتوفيق
RE: كيف اوقف التايمر بعد تحديد الكل في listbox ? - e-coder - 29-07-17
(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.Object, ByVal e As System.EventArgs) Handles 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.Object, ByVal e As System.EventArgs) Handles 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(0, x) 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(i As Integer, x As 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).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 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).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))
اريد استبدال
.........الخDim Str As String() = {"<message
ب
.........الخemad.send(String.Concat(New String() {"<message
ليصبح البرنامج فعال وشكراً
RE: كيف اوقف التايمر بعد تحديد الكل في listbox ? - ابو ليلى - 29-07-17
السلام عليكم و رحمة الله و بركاته
انا لا ادري ما الذي تقوم به الدالة Send و لكن من خلال الكود الخاص بك يبدو لي انها تاخذ وسيط من النوع String
هذا يدل على استخدامنا السليم لها.
بالنسبة للتعديل الذي طلبته على النص
PHP كود :
Dim Str As String = String.Concat(New 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, "***********************************"})
و لو قدمت في سطور بسيطة لما تستخدم هذه المكتبة مع رابط لها , اذا لم يكن لديك مانع , قد تجد من يبحث او يحتاج لمثلها في عمله.
بالتوفيق
RE: كيف اوقف التايمر بعد تحديد الكل في listbox ? - e-coder - 30-07-17
(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).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, "***********************************"})
و لو قدمت في سطور بسيطة لما تستخدم هذه المكتبة مع رابط لها , اذا لم يكن لديك مانع , قد تجد من يبحث او يحتاج لمثلها في عمله.
بالتوفيق
سوف اقم برفع المشروع بشكل كامل كل ماعليك فعلة هوا التعديل او التغير من صغية الاكواد وانا حكمل باقي كل كافة الاتصالات
ولكن اين اتصال emad في الكود
RE: كيف اوقف التايمر بعد تحديد الكل في listbox ? - ابو ليلى - 31-07-17
السلام عليكم و رحمة الله و بركاته
الاخ عماد ... انت طرحت مشكلة محددة وهي عدم القدرة على التعامل مع عدد كبير من العناصر في قائمة ListBox
و كل عنصر منها يحتاج الى تمرير دالة سميناها جدلاً Send و انا رايت ان اختار دالة تقوم بتمرير نص محدد (النص الذي لديك في الكود)
يتم تمرير هذا النص الى مربع نص على الفورم لكل عنصر في القائمة (و ليس الى سيرفر كما لديك)
و اما السؤال عن كلمة emad في الكود فليس له وجود عندي لانني لا اتعامل مع مكتبتك (شيئ طبيعي لاني لا املكها و لم اتعامل معها).
المفروض عليك انت تستفيد من جوهر الكود و طريقة عمله و توظفه لديك بما يناسب الدالة الخاصة بكائن الاتصال الخاص لديك.
اما مسالة ان اعدل لك على كم كبير من الاكواد فهذا ما لا استطيعه .
وفق نظرة على الكود لديك ....... بعض النصائح ؟؟
انت تعيد كتابة نفس الكود في الكثير من الاجراءات مع تغير بسيط غالباً في اسم Lable او اسم اخر .
النصيحة لك ان تعمم كود الارسال و تجعله في دالة منفصلة او كلاس او اي شيئ اخر و تقوم باستدعائه مع تغير ما يلزم فقط.
لم اطلع على كامل الكود فقط كانت نظرة ..
بالتوفيق
|