اذهب الي المحتوي
أوفيسنا

حفظ اعدادات فورم فى ملف خارجي (INI)


عمر ضاحى
إذهب إلى أفضل إجابة Solved by محمد أبوعبدالله,

الردود الموصى بها

السلام عليكم 

كنت  فى المرفق ملف لقاعدة بيانات بها فورم 

هذا الفورم به خيارين تختار منهم واحد

اريد ان عندما تقوم باختيار اى خيار منهم والضغط على مفتاح حفظ او الحفظ التلقائى لحالة الاختيار

ان يحفظ لى الاعدادات فى ملف جنب قاعدة البيانات بامتداد INI

بحيث عندما اقوم بفتح الفورم اجد الاعدادات كما تركتها اخر مره

 

Project2.rar

رابط هذا التعليق
شارك

للتوضيح 

وللفيده لغيري

انا عملت الموضوع ده بربط النموذج بجدول انشأته لحفظ الاعدادات 

وشغال تمام لكن اريد ان اقوم به ك كود VBA

والملف المرفق للتوضيح ما فعلته

Project2.accdb

رابط هذا التعليق
شارك

هناك ايضا طريقه لحفظ الاعدادات فى الرجسترى فى الوندوز

وهيكون مسار الحفظ فى الرجسترى هو 

[HKEY_CURRENT_USER\SOFTWARE\VB and VBA Program Settings\SaveOP\Option]

بيقوم بانشاء المفتاح فى الرجسترى وعند الحفظ يحفظ اخر اعدادات فى الرجسترى

 

مرفق ملف للتوضيح 

 

 

Project3.accdb

رابط هذا التعليق
شارك

4 minutes ago, عمر ضاحى said:

هناك ايضا طريقه لحفظ الاعدادات فى الرجسترى فى الوندوز

وهيكون مسار الحفظ فى الرجسترى هو 

[HKEY_CURRENT_USER\SOFTWARE\VB and VBA Program Settings\SaveOP\Option]

بيقوم بانشاء المفتاح فى الرجسترى وعند الحفظ يحفظ اخر اعدادات فى الرجسترى

 

مرفق ملف للتوضيح 

 

 

Project3.accdb 444 kB · 0 downloads

استاذ عمر العزيز .. انا شخص مبتدأ جدا باكسس .. لكن سؤالك مبهم في الاقل لي .. ما الذي تريد فعله بالضبط والامثلة كلها متشابهة 

رابط هذا التعليق
شارك

6 دقائق مضت, Eng.Qassim said:

استاذ عمر العزيز .. انا شخص مبتدأ جدا باكسس .. لكن سؤالك مبهم في الاقل لي .. ما الذي تريد فعله بالضبط والامثلة كلها متشابهة 

كلها طرق لحفظ اعدادات قورم

فى المرفق الثاني 

حفظ عن طريق جدول

فى المرفق الثالث 

حفظ عن طريق الرجسترى

 

انا اريد ان احفظ الاعدادات فى ملف خارجي كما هو فى مرفق الاول 

اى عند اختيار شئ يحفظ الذى اخترته فى ملف Settimg.ini

 

 

انا قمت بنشر الطريقتين الاخرى لامثالى من المبتدئين 

وانا شايف ان الرجسترى اسهلهم وافضلهم لانه غير مرتبط باى جدول

لكن ممكن ان هناك اجهزة الرجسترى فيها محمي من الاضافه والتعديد غير لامور معينه 

فانا اريد ان اجعل الحفظ فى ملف بامتداد INI

تم تعديل بواسطه عمر ضاحى
رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله وبركاته

3 ساعات مضت, عمر ضاحى said:

ان يحفظ لى الاعدادات فى ملف جنب قاعدة البيانات بامتداد INI

بحيث عندما اقوم بفتح الفورم اجد الاعدادات كما تركتها اخر مره

تفضل اخي الكريم

Private Sub cmdSave_Click()

    X1 = CurrentProject.Path & "\Setting.ini"
    
    X3 = FreeFile
    Open X1 For Input As X3
    
        Line Input #X3, X
        X5 = X5 & X

    Close X3
    
    If Me.L1 = 1 Then
        X7 = 2
    Else
        X7 = 1
    End If
   
    X5 = Replace(X5, X7, Me.L1)
    
    X3 = FreeFile
    Open X1 For Output As X3
    Print #X3, X5
    Close X3


End Sub

Private Sub Form_Load()

Dim X As String
    Open CurrentProject.Path & "\Setting.ini" For Input As #1
        Input #1, X
        Me.L1 = X
    Close #1
End Sub

Project201.rar

تحياتي

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

26 دقائق مضت, محمد أبوعبدالله said:

وعليكم السلام ورحمة الله وبركاته

تفضل اخي الكريم

Private Sub cmdSave_Click()

    X1 = CurrentProject.Path & "\Setting.ini"
    
    X3 = FreeFile
    Open X1 For Input As X3
    
        Line Input #X3, X
        X5 = X5 & X

    Close X3
    
    If Me.L1 = 1 Then
        X7 = 2
    Else
        X7 = 1
    End If
   
    X5 = Replace(X5, X7, Me.L1)
    
    X3 = FreeFile
    Open X1 For Output As X3
    Print #X3, X5
    Close X3


End Sub

Private Sub Form_Load()

Dim X As String
    Open CurrentProject.Path & "\Setting.ini" For Input As #1
        Input #1, X
        Me.L1 = X
    Close #1
End Sub

Project201.rar 40.39 kB · 3 downloads

تحياتي

اولا احب اشكرك بشده على العمل الرائع

بسم الله ما شاء الله ابداع

هل يمكننى ان اطلب طلب اضافى 

ان فى حال ملف INI غير موجود 

يقوم بأنشاء الملف 

وادخال القيمه فيه

رابط هذا التعليق
شارك

  • أفضل إجابة
19 دقائق مضت, عمر ضاحى said:

ان فى حال ملف INI غير موجود 

يقوم بأنشاء الملف 

وادخال القيمه فيه

تفضل اخي الكريم

Private Sub Form_Load()
    On Error GoTo err:
    Dim X As String
        Open CurrentProject.Path & "\Setting.ini" For Input As #1
            Input #1, X
            Me.L1 = X
        Close #1
err:
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set a = fs.CreateTextFile(CurrentProject.Path & "\Setting.ini", True)
        a.WriteLine ("1")
        a.Close
    
End Sub

تحياتي

  • Like 2
رابط هذا التعليق
شارك

او بطريقة اخرى

Private Sub Form_Load()

    X = CurrentProject.Path & "\Setting.ini"
    If Len(Dir(X)) = 0 Then
            Set fs = CreateObject("Scripting.FileSystemObject")
            Set a = fs.CreateTextFile(CurrentProject.Path & "\Setting.ini", True)
            a.WriteLine ("1")
            a.Close
    Else
            Open CurrentProject.Path & "\Setting.ini" For Input As #1
                Input #1, X
                Me.L1 = X
            Close #1
    End If

    
End Sub

تحياتي

  • Like 2
رابط هذا التعليق
شارك

57 دقائق مضت, عمر ضاحى said:

ربنا يجازيك عنا كل خير ويحفظك من كل سوء 

ولك بالمثل اخي الكريم بارك الله فيك

تحياتي

رابط هذا التعليق
شارك

1 ساعه مضت, Eng.Qassim said:

استاذ عمر ... ممكن تشرح لنا الفائدة لاني لست اختصاص حاسبات وحاسس ان الموضوع مهم

جزاك الله خيرا وللاستاذ الفاضل محمد ابو عبد الله

تفضل هذا المثال 

و هو عبارة عن حفظ معلومات تسجيل الدخول بإستخدام ملف خارجي

image.png.52c4765e1ef081d8e9d96460df9be596.png

ادخل اي معلومات النموذج للمثال فقط ليس مرتبط بأي جدول

بعد ملئ جميع الحقول و اختيار حفظ معلومات الدخول ستظهر لك رسالة بهذا الشكل

image.png.086de2e7490174499a690494af270639.png

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

image.png.b87b69f7ed7ca7e62e8822f4a0150363.png

شكل الملف من الداخل

image.png.4c0b8bb44283459ff71714999e7907f8.png

المعلومات مشفرة بإستخدام التشفير

لكن الفكرة انه عند اغلاق النموذج و اعادة فتحه ستجد بأنه تم جلب البيانات للحقول

 

Database2.mdb

تم تعديل بواسطه د.كاف يار
  • Like 4
رابط هذا التعليق
شارك

اساتذتي الافاضل اذا اردت ان اضيف بيانات فوق البيانات المخزنة في الملف سابقا

بدون حذف البيانات السابقة الموجودة في الملف

فكيف يكون الكود

مثلا قمت بحفظ بيانات المستخدم الاول واريد ان احفظ بيانات المستخدم الثاني بجانب البيانات السابقة بحيث استدعيها من ملف واحد

ارجو ان اكون وضحت مطلوبي 

 

رابط هذا التعليق
شارك

2 ساعات مضت, محمد القدسي said:

اساتذتي الافاضل اذا اردت ان اضيف بيانات فوق البيانات المخزنة في الملف سابقا

بدون حذف البيانات السابقة الموجودة في الملف

فكيف يكون الكود

مثلا قمت بحفظ بيانات المستخدم الاول واريد ان احفظ بيانات المستخدم الثاني بجانب البيانات السابقة بحيث استدعيها من ملف واحد

ارجو ان اكون وضحت مطلوبي 

 

تفضل هذا المثال بعد التعديل

سيتم انشاء فولد

سيتم انشاء ملف بإسم كل مستخدم

سيتم تعبئة البيانات بعد ادخال اسم المستخدم و تطابقه مع احد الملفات

في حال اسم المستخدم غير نشط لن يستطيع المستخدم تسجيل الدخول

 

Database2.mdb

  • Like 2
رابط هذا التعليق
شارك

5 ساعات مضت, محمد القدسي said:

مع الاسف استاذي لم افهم مقصود المثال جرت اضيف مستخدم لاخر من شان اعرف هل اضيف المستخدم الجديد في الملف فلم افلح يا حبذا تشرح اكثر عن هذا المرفق

 

لن يتم اضافة المستخدم الآخر على نفس الملف

سيتم انشاء ملف بإسم كل مستخدم

تفضل هذا شرح بالفيديو المرفق

 

 

Video2.zip

  • Like 1
رابط هذا التعليق
شارك

ما زلت معاك استاذي في كل جديد

طيب كيف اضيف عدة سجلات في جدول مثلا username يحوى حقل nameuser

وبه بيانات مثلا السجل الاول "محمد"

والسجل الثاني "احمد"

والثالث "خالد"

كيف اضيف الثلاثة السجلات مرة واحدة لداخل ملف ini

اوجو الا اكون اثقلت عليك استاذي 

لاكني طالب علم لديكم يريد ان ينهل مما اعطاكم الله

رابط هذا التعليق
شارك

منذ ساعه, محمد القدسي said:

ما زلت معاك استاذي في كل جديد

طيب كيف اضيف عدة سجلات في جدول مثلا username يحوى حقل nameuser

وبه بيانات مثلا السجل الاول "محمد"

والسجل الثاني "احمد"

والثالث "خالد"

كيف اضيف الثلاثة السجلات مرة واحدة لداخل ملف ini

اوجو الا اكون اثقلت عليك استاذي 

لاكني طالب علم لديكم يريد ان ينهل مما اعطاكم الله

افتح موضوع جديد و ارفق فيه مثال لما تريد

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information