تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كود لمعرفة الحاسوب متصل بالشبكة أم لا
#1
وضعت هذا الكود في تايمر كل تانية 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
الرد }}}
تم الشكر بواسطة:
#2
مارايك بكود التحقق من عنوان الجهاز الرئيسي بغض النظر عن المجلد ؟

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 

فقط ليكون اقتراحي مكتملSmile



اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , sniperjawadino , elgokr
#3
شكرا أخي سعود حقا التحقق من عنوان الجهاز أسرع من التحقق من وجود مجلد

بحيث يأخد الأول ثانيتين ليصلك الجواب
أما التاني فأكثر من 30 تانية

لكن كوني أضع الكود في تايمر يعمل كل تانية فهذا يسبب أيضا ثقل و تشنج للبرنامج 
هل هناك أي فكرة أخي لاستخدام هذا الكود دون توقف البرنامج
بحيث يبقى التايمر لأنه مهم لمعرفة حالة الإتصال
الرد }}}
تم الشكر بواسطة:
#4
(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 

فقط ليكون اقتراحي مكتملSmile




(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
الرد }}}
تم الشكر بواسطة: sniperjawadino , سعود , asemshahen5
#5
شكرا كثيرا أخي سامي على المساعدة

ممكن أين أضع الكود

وضعته في الفورم و الكلاس و الموديل لكن يعطيني  خطأ

مثال مرفق


الملفات المرفقة
.zip   test.zip (الحجم : 30.33 ك ب / التحميلات : 35)
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , سعود
#6
(31-05-19, 04:46 PM)sniperjawadino كتب : شكرا كثيرا أخي سامي على المساعدة

ممكن أين أضع الكود

وضعته في الفورم و الكلاس و الموديل لكن يعطيني  خطأ

مثال مرفق

حسب المثال المرفق احذف الموديل

ثم ضع الكود في كلاس الفورم
وغير Label2 باسم الليبل اللي عندك Label_CONNEXION مثل
With Label_CONNEXION ' Label

وغير tip.text بال ip الذي تريده مثل
Dim ipString As String = "192.168.13.249" ' TextBox
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , سعود , sniperjawadino
#7
(31-05-19, 04:55 PM)sami4 كتب :
(31-05-19, 04:46 PM)sniperjawadino كتب : شكرا كثيرا أخي سامي على المساعدة

ممكن أين أضع الكود

وضعته في الفورم و الكلاس و الموديل لكن يعطيني  خطأ

مثال مرفق

حسب المثال المرفق احذف الموديل

ثم ضع الكود في كلاس الفورم
وغير Label2 باسم الليبل اللي عندك Label_CONNEXION مثل
With Label_CONNEXION ' Label

وغير tip.text بال ip الذي تريده مثل
Dim ipString As String = "192.168.13.249" ' TextBox


بالتوفيق
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , sniperjawadino
#8
أخي سامي حقا مبدع
شكرا لك كثيرا

في الأول وضعت دالة CONNEXION() في تايمر ليشتغل كل دقيقة
لكن بعد قراءة الكود جيدا وجدتك استعملت   Do   Loop   و بالتالي وجدت أنه لا داعي للتايمر لأن الكود سيشتغل دون توقف
و هذا ما كنت أبحث عنه

سؤال أخي
هل استعمالي لهذه الدالة ليوم كامل لن يقع أي تقل في بروسيسور الحاسوب ؟
         
 ----------------------
      
فهذا الكود thread  من بين الأشياء التي لم أجد لها شرح استوعبه و اطبقه و ينجح معي
لكن الكود الذي منحتني اشتغل معي
رغم صعوبة كتابته.... لكن سأحاول أن أجتهد فيه لكي أفهمه و أطبقه في أشياء أخرى 

من بين المشاكل التي واجهتني في thread هي خروج رسالة خطأ في بعض الأحيان دون معرفة السبب
و أصعب شيئ بالنسبة لي في البرمجة هو مشكل "خروج رسالة خطأ في بعض الأحيان" لأن الخطأ ليس منطقي و بالتالي  لا أستطيع معالجة الخطأ عندما أشغل الكود

شكرالك و جزاك الله على علمك 
الرد }}}
تم الشكر بواسطة:
#9
إقتباس :فهذا الكود thread  من بين الأشياء التي لم أجد لها شرح استوعبه و اطبقه و ينجح معي
اخي الكريم ... يمكنك استخدام Backgroundworker  فهي تسهل عليك فهم الثريد.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
#10
نعم أخي سعود
وجدت شروحات الأعضاء في المنتدى جزاكم الله كل خير
على موضوع Backgroundworker  

لكن لم أفلح في تطبيقها على ما أريد

فمثلا أين أضع هذا الكود البسيط في   حتى لا يتشنج البرنامج
تتبعت عدة شروحات لكن لم أصل لهذه النقدة البسيطة
"تشغيل كود أو تشغيل فورم يعمل لوحده دون تشنج البرنامج"

كود الأخ سامي اشتغل معاي جزاه الله على وقته

فقط من باب الاستفادة مع Backgroundworker  

كود :
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
الرد }}}
تم الشكر بواسطة: elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة تعليق البرنامج في حال عدم وجود ماسح ضوئي متصل بالكمبيوتر صالح عبدالله 1 470 09-01-24, 10:51 PM
آخر رد: صالح عبدالله
  [VB.NET] برنامجي يتصل بالشبكة flawer69 0 456 07-09-23, 07:41 PM
آخر رد: flawer69
  [سؤال] هل يوجد كود لمعرفة المدخلات في textbox هل هي نص ام رقم mh66 2 918 27-05-22, 09:11 AM
آخر رد: أبو خالد الشكري
  المساعدة في بناء جملة استعلام لمعرفة رصيد الموظف في تاريخ معين strongriseman 7 1,893 09-05-22, 02:00 AM
آخر رد: ابو انس
  معنى بعض هذه الفنكشن في السيكوال سيرفر لمعرفة عمل كل منها ابراهيم ايبو 8 1,908 13-02-22, 12:18 AM
آخر رد: asmarsou
Exclamation [VB.NET] اتصال مع Sql Server من جهاز متصل بالـ Lan Doctor GME 1 1,232 15-04-21, 06:11 PM
آخر رد: Doctor GME
  [VB.NET] مشكلة في البرنامج عند انهاء تثبيت في الحاسوب rochdi191 4 1,946 11-06-20, 08:08 PM
آخر رد: rochdi191
  [VB.NET] كيف يتم حفظ صورة في datagridiew غير متصل بقاعدة البيانات rochdi191 5 1,861 14-05-20, 08:30 PM
آخر رد: rochdi191
  ظهور التارخ بشكل متصل Moneam 6 2,366 28-03-20, 02:32 PM
آخر رد: WaeLx
  افضل طريقة لمعرفة افضل المنتجات مبيعا mostafa nada 6 2,440 16-03-20, 03:29 AM
آخر رد: mostafa nada

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


يقوم بقرائة الموضوع: