تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حفظ اعدادات serial port بعد اغلاق الفورم فى vb net
#1
السلام عليكم ورحمة الله وبركاته 
من فضلكم اخوانى الافاضل ,لدي برنامج فليكسي جاهز  للعمل والتحزيم , لكن بقيت تعوقني مشكلة صغيرة واصبحت
كبيرة بالنسبة لي ,الا وهي عند فتح البرنامج والاتصال ب com و فتح البورت يعمل البرنامج بطريقة عادية وعند اغلاق البرنامج 
او الجهاز باكمله واعادة فتح البرنامج من جديد  لا يعمل البرنامج حتى اعيد  الاتصال ب com و فتح البورت من جديد .
اخواني الكرام ,اريد اعدادات حفظ البورت مفتوح بعد اغلاق الفورم او البرنامج فى ملف رجيستري او ملف تاكست او اسهل طريقة ممكنة لحفظ الاعدادت.
الرد }}}}
تم الشكر بواسطة:
#2
و عليكم السلام و رحمة الله و بركاته
اليك طريقة لحفظ الاعدادت في مسجل النظام
بالاول انشأ مفاتيح بعدد القيم التي تريد حفظها في عقدة رئيسية(مجلد)
انا افضل الحفظ في عقدة CurrentUser
انشأ مديول وحط الاجراء التالي

PHP كود :
    Dim VBArb As RegistryKey

    Public Sub CreateKeyes
()

 
       If Registry.CurrentUser.OpenSubKey("VB4ArbKyes"Is Nothing Then
            Dim VB4ArbKyes 
As RegistryKey Registry.CurrentUser.CreateSubKey("VB4ArbKyes")
 
           VBArb VB4ArbKyes.CreateSubKey("Key1")
 
           VBArb VB4ArbKyes.CreateSubKey("Key2")
 
           VBArb VB4ArbKyes.CreateSubKey("Ket3")
 
           VBArb VB4ArbKyes.CreateSubKey("Key4")
 
               End If
 
   End Sub 


استدعي هذا الاجراء في اول اقلاع البرنامج

بعد ذلك اخي الكريم حاول حفظ القيم في المفاتيح عبر الدالة التالية (في المديول)

PHP كود :
   Public Sub SetValueKey(ByVal KeyNmae As StringByVal Value As String)
 
       If Not IsNothing(My.Computer.Registry.CurrentUser.OpenSubKey("VB4ArbKyes")) Then
            My
.Computer.Registry.CurrentUser.OpenSubKey("VB4ArbKyes"True).OpenSubKey(KeyNmaeTrue).SetValue(KeyNmaeValue)
 
       End If

 
   End Sub 

و لحفظ القيمة بداخلها ما عليك الا استدعائها كالتالي في المكان الذي تريده
PHP كود :
           SetValueKey("Key1"TextBox1.Text.Trim

و لمعرفة قيمة اي مفتاح اليك هذه الدالة (في المديول)
PHP كود :
   Public Function GetValueKey(ByVal SubKeyName As String) As String
        Dim Value 
As String ""
 
       If Not IsNothing(My.Computer.Registry.CurrentUser.OpenSubKey("VB4ArbKyes")) Then
            Value 
My.Computer.Registry.CurrentUser.OpenSubKey("VB4ArbKyes").OpenSubKey(SubKeyName).GetValue(SubKeyName)
 
           Return Value
        Else
            Return 
""
 
       End If
 
       Return Value

    End 
Function 

و الاستدعاء بسيط وفق الشكل التالي
PHP كود :
TextBox1.Text GetValueKey("Key1"

بالتوفيق اخي الكريم
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة: ممدوح , ممدوح
#3
بعد إذن أخي ابو ليلى يمكنه اختصار الموضوع من خلال الخاصية ApplicationSettings الموجودة ضمن خصائص الأداة ومنها PropertyBinding ينشء مسمى لأي خاصية يريد حفظها
الرد }}}}
تم الشكر بواسطة: ابو ليلى
#4
شكرا لك اخي ابو ليلى  على هده الاكواد  و لكن بعد التجربة لم يحدت شيء , ولكن لدي سؤال  
هل كل الاكواد اضعها في مديول واحد؟  وبالنسبة  لحفظ القيم  و استدعائها
هل يمكن ان  اضعها فى الفورم لود
و بالنسبة لحفظ اعدادات السريال بورت  لم اجد  الطريقة لحفظها  
و اما الاخ ممدوح  فبالنسبة  للخاصية  ApplicationSettings الموجودة ضمن خصائص الأداة
فاني قمت بتجربتها  فهي ناجحة  فى حفظ الاعدادات  لكن مشكلتي هي حفظ اعدادات  السريال بورت  و التي لم اجد لها الطريقة لحفظها
فمن كانت لديه طريقة لحفظها  فليمددها لي  او حتى عن طريق مثال تجريبي  لاني بامس الحاجة اليه و شكرا لكم مجددا على مبادراتكم القيمة
الرد }}}}
تم الشكر بواسطة:
#5
ما هي البيانات التي تحتاج إلي أن تحفظها من SerialPort؟
حاول تكتب لي البيانات او الصفات بالترتيب
الرد }}}}
تم الشكر بواسطة:
#6
شكرا لك اخي silverlight  سوف اشرح الطريقة حتى تصل لك الفكرة بطريقة مبسطة
اولا لدي combobox   للبورت كوم مثلا  com1,com2  الخ....  و button لعمل connect و الاتصال بالكوم وفتح البورت
اي بمعنى يصبح serialport1.open ما اريده هو ان يبقى serialport.Open  مفتوح حتى و لو
بعد غلق البرنامج  او جهاز الكمبيوتر  اي بمعنى عند فتح البرنامج مرة اخرى  لا اعيد الاتصال بالكوم من جديد  اى اكمل عملي بطريقة عادية
و اما عن البيانات التي يجب علي حفظها هي  serialport1.portname  و  (serialport1.open) مع ان هده الخاصية غير موجودة
في ادوات serialport
الرد }}}}
تم الشكر بواسطة:
#7
بشكل مبدئي فإن أقل مشاكلك هي حفظ PortName في ملف ثم استرجاع تلك البيانات
انا القيت نظرة سريعة علي SerialPort كلاس و هذا الكلاس به صفه اسمها IsOpen و منها تحدد هل Port مغلق ام مفتوح
أيضا معظم صفات الكلاس يمكن حفظها في ملف ومن هذه الصفات

PortName
IsOpen
StopBits
Parity
handshake
الرد }}}}
تم الشكر بواسطة:
#8
اخي silverlight طبقت الكلاس اللي عملتو لكنه لم يفي بالغرض اي عندما اغلق البرنامج واعادة فتحه
يلزمني الاتصال بالكوم من جديد
اخي هل يمكنك عمل مثال كامل مع شرح بعض الخطوات التى يلزم شرحها
ولك مني كل الشكر والاحترام
الرد }}}}
تم الشكر بواسطة:
#9
حاول تستخدم الكود التالي
لكن لتضع ف اعتبارك الكود بهذا الشكل سوف يجعل البورت مفتوحا الي مالا نهاية و قد تحتاج الي اغلاق الكمبيوتر او اغلاق البرنامج من
Task Manager


PHP كود :
       Dim source As New System.Threading.CancellationTokenSource()
 
       Dim token As System.Threading.CancellationToken source.Token
        Dim t 
= New Task(Sub()
 
                            While True
                                 
If token.IsCancellationRequested Then
                                     
Return
 
                                End If

 
                                ' اكتب الكود اللازم لفتح البورت هنا

                             End While

                         End Sub, token)

        t.RunSynchronously() 
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] لا تظهر الفورم بعد التصميم محمد محمود الغرياني 6 60 منذ 2 ساعة مضت
آخر رد: محمد كريّم
  تاثير فى الفورم Mohamed20 2 51 12-02-17, 10:00 PM
آخر رد: Mohamed20
  تثبيت الفورم على امر معين anes 8 164 12-02-17, 02:07 AM
آخر رد: مساعدة
  التعديل الذي أقوم به في الفورم لا يظهر عند عمل RUN نسيم 10 420 23-01-17, 12:02 AM
آخر رد: aboyasneen
  فصل جزء من ايمج بلون محدد الى ايمج اخرى على الفورم samira20 3 103 19-01-17, 03:09 PM
آخر رد: silverlight
  [VB.NET] كيفية برمجه serail port engmedomed@gmail.com 2 137 12-01-17, 03:50 AM
آخر رد: Basil Abdallah
  [VB.NET] استقبال البيانات عن طريق serail port engmedomed@gmail.com 1 105 11-01-17, 02:13 AM
آخر رد: مساعدة
  اريد كود غلق الفورم الحالى وفتح فورم اخر ali.alfoly 8 3,227 04-01-17, 09:18 PM
آخر رد: jojo2014
Sad [سؤال] عدم ظهور التغيرات على الفورم بعد التشغيل أحمد عبد الكريم 2 151 28-12-16, 10:17 PM
آخر رد: HASAN6.0
  [VB.NET] كيف اغلاق برنامجي عن بعد 3asfa~mdmra 10 317 27-12-16, 02:41 AM
آخر رد: %Eman%

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


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