19-09-17, 11:51 PM
20-09-17, 07:44 AM
مرحبا اخى
PHP كود :
Private Sub BtnPost_Click(sender As Object, e As RoutedEventArgs) Handles BtnPost.Click
ShortBook(TxtLink.Text, TxtMessage.Text)
End Sub
Public Sub ShortBook(ByVal Title As String, ByVal Status As String)
Try
Dim txt As Integer = 0
Task.Factory.StartNew(Sub()
Dispatcher.BeginInvoke(Sub() BtnPost.IsEnabled = False)
For ii = 0 To 40
'هنا كود الحلقة'
txt = txt + ii
Next
Thread.Sleep(5000)
MsgBox("تمت العملية بنجاح")
Dispatcher.BeginInvoke(Sub() BtnPost.IsEnabled = True)
End Sub)
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
BtnPost.IsEnabled = True
End Try
End Sub
20-09-17, 11:12 AM
ألف شكر لك أخي العزيز أبو نورة وأسأل الله تعالى أن يجعلها في ميزان حسناتك
وأعتذر منك لأنني وضعت صورة حيث كنت في آخر الليل وشعرت بأن التفكير توقف عندي وكان الكود طويلاً فأحببت اختصاره بصورة
أنا أريد وضع sleep ضمن الحلقة بحيث يكون هنالك فارق زمني مثلا 5 ثواني بين كل عنصر من عناصر الحلقية بحيث يتوقف 5 ثواني قبل تنفيذ العنصر الثاني ضمن الحلقة فوضعت هذا الكود:
ولكن هذا الكود لن يخرج لك الرسالة إلا بعد 10 ثواني أي ضعف الرقم الموجود بعد sleep لذا عدلته للتالي:
وأعتذر منك لأنني وضعت صورة حيث كنت في آخر الليل وشعرت بأن التفكير توقف عندي وكان الكود طويلاً فأحببت اختصاره بصورة
أنا أريد وضع sleep ضمن الحلقة بحيث يكون هنالك فارق زمني مثلا 5 ثواني بين كل عنصر من عناصر الحلقية بحيث يتوقف 5 ثواني قبل تنفيذ العنصر الثاني ضمن الحلقة فوضعت هذا الكود:
PHP كود :
For ii = 0 To 1
txt = txt + ii
Thread.Sleep(5000)
Next
ولكن هذا الكود لن يخرج لك الرسالة إلا بعد 10 ثواني أي ضعف الرقم الموجود بعد sleep لذا عدلته للتالي:
PHP كود :
For ii = 0 To 1
txt = txt + ii
If ii <> 1 Then
Thread.Sleep(5000)
End If
Next
وبالفعل الرسالة أصبحت تخرج بعد 5 ثوان
20-09-17, 12:44 PM
مرحبا اخى
حسب التوضيح الاخير فانت لا تحتاج الى If ii <> 1 Then لكن اجعل Sleep قبل Next فقط والرساله بعد Next
هنا سينتظر 5 ثوان في في كل حلقه من الحلقات وعند انتهاء الحلقات سيتظهر الرساله
حسب التوضيح الاخير فانت لا تحتاج الى If ii <> 1 Then لكن اجعل Sleep قبل Next فقط والرساله بعد Next
PHP كود :
For ii = 0 To 40
'هنا كود الحلقة'
txt = txt + ii
Thread.Sleep(5000)
Next
MsgBox("تمت العملية بنجاح")
هنا سينتظر 5 ثوان في في كل حلقه من الحلقات وعند انتهاء الحلقات سيتظهر الرساله
20-09-17, 01:22 PM
(20-09-17, 12:44 PM)أبو نوره كتب : [ -> ]مرحبا اخى
حسب التوضيح الاخير فانت لا تحتاج الى If ii <> 1 Then لكن اجعل Sleep قبل Next فقط والرساله بعد Next
PHP كود :
For ii = 0 To 40
'هنا كود الحلقة'
txt = txt + ii
Thread.Sleep(5000)
Next
MsgBox("تمت العملية بنجاح")
هنا سينتظر 5 ثوان في في كل حلقه من الحلقات وعند انتهاء الحلقات سيتظهر الرساله
أخي العزيز أبو نورة: الجملة الشرطية ضرورية
لأنني إذا حذفت الجملة الشرطية فسيعطيك مهلة انتظار أخرى عند نهاية الحلقة
مثلاً: لو عندي عنصران في الحلقة
سيتم تنفيذ العنصر الأول وبعدها ينتظر 5 ثوان ثم يتم تنفيذ العنصر الثاني وبعدها سينتظر 5 ثوان وبهذا هو انتظر 10 ثوان
ولكن مع الجملة الشرطية سينفذ العنصر الأول وينتظر 5 ثوان ثم ينفذ العنصر الثاني وبعدها ستأتيه الجملة الشرطية ستقول له إن كان عدد الدورات في الحلقة انتهي فلا تتوقف 5 ثوان بل اخرج من الحلقة
هل فهمت قصدي؟
لأنني إذا حذفت الجملة الشرطية فسيعطيك مهلة انتظار أخرى عند نهاية الحلقة
مثلاً: لو عندي عنصران في الحلقة
سيتم تنفيذ العنصر الأول وبعدها ينتظر 5 ثوان ثم يتم تنفيذ العنصر الثاني وبعدها سينتظر 5 ثوان وبهذا هو انتظر 10 ثوان
ولكن مع الجملة الشرطية سينفذ العنصر الأول وينتظر 5 ثوان ثم ينفذ العنصر الثاني وبعدها ستأتيه الجملة الشرطية ستقول له إن كان عدد الدورات في الحلقة انتهي فلا تتوقف 5 ثوان بل اخرج من الحلقة
هل فهمت قصدي؟
20-09-17, 02:23 PM
مرحبا اخى
نعم فهمت قصدك
اذا تسهيلا للكود نرجع شرط If
نعم فهمت قصدك
اذا تسهيلا للكود نرجع شرط If
PHP كود :
For ii = 0 To 40
'هنا كود الحلقة'
txt = txt + ii
If ii < 40 Then Thread.Sleep(5000)
Next
MsgBox("تمت العملية بنجاح")
20-09-17, 02:49 PM
(20-09-17, 02:23 PM)أبو نوره كتب : [ -> ]مرحبا اخى
نعم فهمت قصدك
اذا تسهيلا للكود نرجع شرط If
PHP كود :
For ii = 0 To 40
'هنا كود الحلقة'
txt = txt + ii
If ii < 40 Then Thread.Sleep(5000)
Next
MsgBox("تمت العملية بنجاح")
بيّض الله وجهك أخي العزيز وألف شكر لتعاونك
أسأل الله أن يجعلها في صحيفة أعمالك

تم حل المشكلة والحمد لله
أسأل الله أن يجعلها في صحيفة أعمالك

تم حل المشكلة والحمد لله