الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف التعامل مع ملفات ال INI

مغلق
بدأه العالم في 29 يوليو 2006 · 16 رد · 1,283 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

===============

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

======================

سؤالي متعلق بملفات الـــ INI ....

كيف يمكنني ان اتعامل مع هذه الملفات من خلال حفظ قيمة فيها وقراءة قيمة منها وكذلك الكتابة فيها ... كأن مثلا لحفظ ابعاد الفورمة او لحفظ قيمة في مربع نص واستراجاعها

ارجو التفاعل مع الموضوع

وشكرا

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#2

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

وجدت هذا الكود أرجوا أن تستفيد منه

'===================================================
'Class: CINIFile
'Description: Easily use Private Initialization File's (.ini)
'Where to place code: Class File
'
'http://www.littleguru.com
'==================================================
'
'
' GetKeyStr method
' Returns the string value of a key in an ini file or an empty string if the key is not found
'   Set strFile to the ini file you want to use
'   Set strSection to the section of the ini file the key is located under
'   Set strKey to the name of the key who's value you want returned
'
' GetKeyInt method
' Returns the integer value of a key in an ini file or 0 if the key is not found
'   Set strFile to the ini file you want to use
'   Set strSection to the section of the ini file the key is located under
'   Set strKey to the name of the key who's value you want returned
'
' SetKeyString method
' Sets the string value of a key in an ini file
' To set a key to an integer value, convert the number to a string first using CStr()
'   Set strFile to the ini file you want to use
'   Set strSection to the section of the ini file the key is located under
'   Set strKey to the name of the key who's value you want to set
'   Set strData to the string you want written to the key
'
' DeleteSection method
' Deletes a section and all its keys from an ini file
'   Set strFile to the ini file you want to use
'   Set strSection to the name of the section you want to delete
'
' DeleteKey method
' Deletes a key in the specified section
'   Set strFile to the ini file you want to use
'   Set strSection to the section of the ini file the key is located under
'   Set strKey to the name of the key you want to delete
'
'

Private Declare Function GetPrivateProfileString& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String)
Private Declare Function GetPrivateProfileInt& Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String)
Private Declare Function WritePrivateProfileString& Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String)

Public Function GetKeyStr(strFile As String, strSection As String, strKey As String)
	Dim strInfo As String
	Dim lngRet As Long

	strInfo = String(260, " ")

	GetPrivateProfileString strSection, strKey, "", strInfo, 260, strFile

	GetKeyStr = Trim(strInfo)
End Function


Public Function GetKeyInt(strFile As String, strSection As String, strKey As String)
	GetKeyInt = GetPrivateProfileInt(strSection, strKey, 0, strFile)
End Function


Public Sub SetKeyString(strFile As String, strSection As String, strKey As String, strData As String)
	WritePrivateProfileString strSection, strKey, strData, strFile
End Sub


Public Sub DeleteSection(strFile As String, strSection As String)
	WritePrivateProfileString strSection, vbNullString, vbNullString, strFile
End Sub


Public Sub DeleteKey(strFile As String, strSection As String, strKey As String)
	WritePrivateProfileString strSection, strKey, vbNullString, strFile
End Sub

مع تحيــــــــــــــــــــــــــــــــــــ(المحترف.Net)ــــــــــــــــــــــــــــــــــــــــــــــاتي

#3

اخي الكريم بالنسبة للكود الذي ارفقته وهو عبارة عن دوال API فلم افهم هذا الكود فهل من شرح له او حتى مثال مرفق على ذلك

للرفع

للرفع

للرفع

للرفع

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#4

بالخطأ

تم تعديل هذه المشاركة بواسطة samerselo في 30 يوليو 2006 في 01:22

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#5

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

ارجو التعاون ولكم مني جزيل الشكر و التقدير

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#6

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

أسف على عدم الرد في

الفترة السابقة لظروف خارجة عن السيطرة

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

:( :( :(

Using_Initialization_file__s.rar

مع تحيــــــــــــــــــــــــــــــــــــ(المحترف.Net)ــــــــــــــــــــــــــــــــــــــــــــــاتي

#7

بسم الله الرحمن الرحيم

اشكر الاخ ans_adil على اهتمامه بالموضوع وله مني الشكر و التقدير ..

عندي بعض الاسئلة حول ملف الـــ ini

* كيف يمكنني ان اخفي اليكشن اي اريد ان لايظهر في الملف اريد القيمة فقط ...

* كيف يمكنني ان اخفي المفتاح اي اريد ان لايظهر في الملف اريد القيمة فقط ...

* كيف يتم اسناد القيم المحفوظة في الملف الى مربعات النصوص اذا افترضنا ان عند على الفورم ثلاثة مربعات نص ويوجد في الملف ثلاث كلمات فكيف يتم اسناده الى المربعات بالترتيب كما هو بالملف

* والسؤال الاخير كيف يمكن ان اسند القيم المحفوظة في الملف مثلا الى اداة الداتا قريد وليكن مثلا معلومات شخص كالتالي

عبدو محمد مصر 458741548

بحيث يتم عرض الاسم في عمود و البلد في عمود و الرقم في عمود آخر

وشكرا

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#8

يأخي الكريم على حسب معلومات البسطة البدائية حول ملفات Initialization INI

فإن بنية هذة الملفات تعتمد على Section و Key لتسجيل القيم و تحديد أما كنها في الملف لإسترجاعها ، و لا يمكن إخفائها لانها ملفات نصية ذات ترميز ANSI.

أما إذا أرت أن تستخدم الملف النصي كقاعدة بيانات راجع إستخدمات الأداة DATA من أدوات الفجول بيسك 6 لأنها تدعم التعامل مع الملفات النصية كقواعد بيانات.

أسف على عدم إعطاء الموضوع حقه الكافي

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

تم تعديل هذه المشاركة بواسطة ans_adil في 2 أغسطس 2006 في 12:23

مع تحيــــــــــــــــــــــــــــــــــــ(المحترف.Net)ــــــــــــــــــــــــــــــــــــــــــــــاتي

#9
اقتباس
بسم الله الرحمن الرحيم

اشكر الاخ ans_adil على اهتمامه بالموضوع وله مني الشكر و التقدير ..

عندي بعض الاسئلة حول ملف الـــ ini

* كيف يمكنني ان اخفي اليكشن اي اريد ان لايظهر في الملف اريد القيمة فقط ...

* كيف يمكنني ان اخفي المفتاح اي اريد ان لايظهر في الملف اريد القيمة فقط ...

* كيف يتم اسناد القيم المحفوظة في الملف الى مربعات النصوص اذا افترضنا ان عند على الفورم ثلاثة مربعات نص ويوجد في الملف ثلاث كلمات فكيف يتم اسناده الى المربعات بالترتيب كما هو بالملف

* والسؤال الاخير كيف يمكن ان اسند القيم المحفوظة في الملف مثلا الى اداة الداتا قريد وليكن مثلا معلومات شخص كالتالي

عبدو محمد مصر 458741548

بحيث يتم عرض الاسم في عمود و البلد في عمود و الرقم في عمود آخر

==-==-==-==-==-==-==-==

اخواني الاعضاء بالنسبة للمشاركة السابقة التي اوضحت فيها ان لا اريد ان في الملف اسم السكشن ولا المفتاح و انمت اريد القيمة فقط ... مع العلم انني شاهدت عدة تطبيقات تستخدم هذا الملف من دون السكشن او المفتاح ولكن ظهور القيمة فقط فكيف يمكن عمل ذلك ..

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

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#10

أنا أطالب بشرح لهذه الطريقة الهامة

وهي حفظ بيانات في ملف ini

ولا أريد أمثلة أو أكواد صماء

أتمنى الشرح لذلك من أحد الإخوان وشكرا...

راسلني على

mamb121@hotmail.com

أو تفضل وتكرم بزيارة موقعي

www.tecnyt.com

#11

للرفع

للرفع

للرفع

للرفع

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#12

يا شباب الموضوع أبسط مما تتخيلون

هي مثال صغير مع الشرح

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

رح يكون الملف الناتج عن الكود كالتالي

[Section Name]
Key Name=Value

وهو كما ترون قسم باسم section name ومفتاح باسم Key Name و قيمة Value

أول شي لازم نعرف إجرائيات الـ WIn APi كما يلي

Public Declare Function GetPrivateProfileString Lib "kernel32" Alias _
	"GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
	ByVal lpKeyName As Any, ByVal lpDefault As String, _
	ByVal lpReturnedString As String, ByVal nSize As Long, _
	ByVal lpFileName As String) As Long

Public Declare Function WritePrivateProfileString Lib "kernel32" Alias _
  "WritePrivateProfileStringA" (ByVal lpApplicationName As String, _
  ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

وهدول بتجيبون بسهولة من API Viewer المضمن ضمن VB6 يعني بتاخدها جاهزة ما بدا تفكير ولا عذاب

و مشان الكتابة بس منحط قيم البارامترات المناسبة كالكود

	Dim Ret As Long
	Ret = WritePrivateProfileString("Section Name", "Key Name", "Value", "d:\test00.ini")

اسم القسم ثم اسم المفتاح ثم اسم الملف ثم قيمة المفتاح وهيك تم إنشاء الملف أو تخزين أو تعديل قيمة فيه

ومشان الكتابة منعرف متغير نصي ومنحط فيه قيمة ابتدائية وغالبا بستخدم العبارة Space(255) لوضع قيمة ابتدائية فارغة و كمان بقي موضوع ترتيب البارامترات الصحيحة

	Dim Ret As Long
	Dim Rvl As String
	Rvl = Space(255)

	Ret = GetPrivateProfileString("Section Name", "Key Name", "Default Val", Rvl, 255, "d:\test00.ini")
	MsgBox Trim(Rvl)

اسم القسم ثم اسم المفتاح ثم القيمة الافتراضية ان لم يستطع احضار قيمة ثم متغيرنا النصي الذي سيحمل القيمة المعادة من الاجراء ثم طول المتغير ثم اسم الملف

و بستخدم الامر Trim بعد ما احصل على القيمة لحذف المسافات الزائدة

صفي إجابة الأسئلة

العالم كتب:
بسم الله الرحمن الرحيم

اشكر الاخ ans_adil على اهتمامه بالموضوع وله مني الشكر و التقدير ..

عندي بعض الاسئلة حول ملف الـــ ini

* كيف يمكنني ان اخفي اليكشن اي اريد ان لايظهر في الملف اريد القيمة فقط ...

* كيف يمكنني ان اخفي المفتاح اي اريد ان لايظهر في الملف اريد القيمة فقط ...

* كيف يتم اسناد القيم المحفوظة في الملف الى مربعات النصوص اذا افترضنا ان عند على الفورم ثلاثة مربعات نص ويوجد في الملف ثلاث كلمات فكيف يتم اسناده الى المربعات بالترتيب كما هو بالملف

* والسؤال الاخير كيف يمكن ان اسند القيم المحفوظة في الملف مثلا الى اداة الداتا قريد وليكن مثلا معلومات شخص كالتالي

عبدو محمد مصر 458741548

بحيث يتم عرض الاسم في عمود و البلد في عمود و الرقم في عمود آخر

وشكرا

سؤالي الاخفاء لايمكن عمل ذلك لأن هيكلية ملفات الـ ini تعتمد على قسم أو أكثر يحتوي كل قسم على مفتاح واحد أو أكثر وكل مفتاح في هذا القسم له قيمة محددة

بالنسبة لاسناد القيمة المعادة من الملف لمربعات نصوص بسيطة

في مثالي السابق استخدمت المتغير Rvl لارجاع القيمة من الدالة ويمكن اسنادها لمربع نصوص متل ما منسند أي قيمة لمتغير نصي إلى مربع النصوص

	 Text1.Text = Trim(Rvl)

تم تعديل هذه المشاركة بواسطة samerselo في 8 أغسطس 2006 في 00:10

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#13

طيب اخوي لو استخدمنا اداة التري فيو TreeView فهل هذا ممكن

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#14

طريقة معالجتك للبيانات بعد الحصول عليها من الملفات عائدة لك

هي عندك طريقة القراءة والكتابة وقت بتقرا القيمة وبتحطها بمتغير نصي اعمل فيها شو ما بدك صرت هلق عم تتعامل مع أي متغير نصي في برنامجك

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#15

ثم تجدر الملاحظة أن ملفات الـ ini الغرض منها هو تخزين إعدادات البرنامج وليس استخدامها لتخزين بيانات البرنامج أو تحويلها لقاعدة بيانات

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#16

نرجو شرح اكثر لملفات ini

#17

بالنسبة لموضوع ملفات الـ ini تم إيفاء الموضوع حقه من الشرح وبالتفصيل في post 12 و post 2 و post 6 و post 8 في هذا الموضوع

ما هي النقطة التي لانفهمها حتى نستطيع توضيحها - الملف عبارة عن مكان لتخزين الإعدادات وليس لحفظ البيانات أو استخدامه كقاعدة بيانات

ثم إذا أردنا مناقشة موضوع الإعدادات من وجهة نظر VB6 سنرى أن ملفات الـ ini أصبحت قديمة وموجودة بغرض التوافقية مع برامح Windows 3.1 ففي ويندوز 95 وما تلاه يفضل استخدام الريجستري لتخزين الإعدادات وهنا يجب عليك استخدام الإجراء GetSetting و الإجراء SaveSetting لتخزين الإعدادات في الريجستري

تم تعديل هذه المشاركة بواسطة samerselo في 13 أغسطس 2006 في 01:00

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

هذا الموضوع مغلق.

مواضيع مشابهة