31-05-19, 03:59 PM
(30-05-19, 08:43 PM)sniperjawadino كتب : وضعت هذا الكود في تايمر كل تانية Timer
بحيت يعلمني هل الحاسوب الذي به قاعدة البيانات متصل بالشبكة أم لا
الكل شغال لكن عند سقوط الشبكة يتشنش البرنامج
و يتوقف الكل
أين الخطأ إخواني
على العلم إني استنتجت أن التايمر يتوقف عند السطر الأول فيأخد وقت طويل ليكتشف أنه الفولدر غير موجود
كود :
If My.Computer.FileSystem.FileExists(Trim("\\192.168.13.249\test")) = True Then
Label_CONNEXION.ForeColor = Color.Lime
Else
Label_CONNEXION.ForeColor = Color.Red
End If
(31-05-19, 12:39 AM)سعود كتب : مارايك بكود التحقق من عنوان الجهاز الرئيسي بغض النظر عن المجلد ؟
PHP كود :
Label2.Text = ""
Label2.BackColor = Me.BackColor
If My.Computer.Network.IsAvailable Then
If My.Computer.Network.Ping(tip.Text) = False Then
Label2.Text = "غير متصل"
Label2.ForeColor = Color.Red
Else
Label2.Text = " متصل"
Label2.ForeColor = Color.Green
End If
Else
Label2.Text = " لا توجد شبكة متصلة"
Label2.ForeColor = Color.White
Label2.BackColor = Color.Black
End If
فقط ليكون اقتراحي مكتمل
![]()
![]()
(31-05-19, 12:41 PM)sniperjawadino كتب : شكرا أخي سعود حقا التحقق من عنوان الجهاز أسرع من التحقق من وجود مجلد
بحيث يأخد الأول ثانيتين ليصلك الجواب
أما التاني فأكثر من 30 تانية
لكن كوني أضع الكود في تايمر يعمل كل تانية فهذا يسبب أيضا ثقل و تشنج للبرنامج
هل هناك أي فكرة أخي لاستخدام هذا الكود دون توقف البرنامج
بحيث يبقى التايمر لأنه مهم لمعرفة حالة الإتصال
هذا كود يتم استدعائه مره واحده بالرغم ان فيه كود يعالج تكرار الاستدعاء
استدعيه في حدث تحميل الفورم مثلا
اعتمدت طريقت اظهار الحاله من رد الاستاذ سعود
واضفت اليه من اكواد بعض الاعضاء التي احتفظت بها لدي في ملف نصي
عند اللزوم غير اسم الليبل واسم التكست بوكس المشار اليهم بالكومنت
Public Sub CONNEXION()
Static r As Boolean
If r Then Return
Threading.Tasks.Task.Factory.StartNew(
Sub()
r = True
With Label2 ' Label
.Invoke(Sub()
.Text = "جار الفحص..."
.ForeColor = Color.DarkOrange
End Sub)
Do
Dim ipString As String = tip.Text ' TextBox
Try
Dim ip = Nothing
If Net.IPAddress.TryParse(ipString.Trim, ip) Then
If My.Computer.Network.IsAvailable Then
If My.Computer.Network.Ping(ip.ToString) = False Then
.Invoke(Sub()
.Text = "غير متصل"
.ForeColor = Color.Red
End Sub)
Else
.Invoke(Sub()
.Text = " متصل"
.ForeColor = Color.Green
End Sub)
End If
Else
.Invoke(Sub()
.Text = " لا توجد شبكة متصلة"
.ForeColor = Color.Black
End Sub)
End If
Else
.Invoke(Sub()
.Text = "عنوان غير صحيح"
.ForeColor = Color.Black
End Sub)
End If
Catch ex As Exception
.Invoke(Sub()
.Text = "عنوان غير صحيح"
.ForeColor = Color.Black
End Sub)
End Try
Threading.Thread.Sleep(100)
Loop
End With
End Sub)
End Sub

