تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ملفات التهيئة ini
#1
كاتب الموضوع : tibo


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



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

ومن ملفات التهيئة المشهورة الملفان win.ini و system.ini الخاصان بويندوز ، وعادة ما يكون لكل برنامج ملف تهيئة خاصة به وامتداد ملفات التهيئة هو ini , ويتم بملفات التهيئة حفظ أعداداتك الخاصة بك التي قمت بها عند تشغيل برنامج معين فقد تلاحظ عند دخولك لبرنامج ما انة قد وضع آخر اربعة ملفات قمت بتشغيلها في قائمة ملف ( مثل الورد مثلا ) وكذلك يحفظ كل ما قمت بة من تغيرات لتجدها لم تتغير عند تشغيلة في المرة القادمة فما يقوم بة البرنامج هو حفظ الأعدادات التي قمت بها في ملف تهيئة خاص ، لتتم قرائة في المرة القادمة لتشغيلك البرنامج ووضع اعداداتك التي قمت بها .

الشكل العام لملفات التهيئة :


كود :
[Desktop]
Wallpaper = (بلا)
TileWallpaper = 1
.
.
[windows]
run= C:\Scan.exe
load=
BaseCodePage = 1256
لاحظ أن ملف التهيئة يتكون من عدد من الآقسام وأسفل كل قسم عدد من المفاتيح وأمام كل مفتاح قيمتة ، مثلا القسم Desktop يحتوي على مفتاحين ، المفتاح TilrWallpaper قيمتة 1 ، وهذا حال كل ملفات التهيئة .

1 ) الإجراء WritePrivateProfileString و يعلن عنة كالتالي :

كود :
[COLOR=blue]
Public Declare Function[/COLOR][color=black] WritePrivateProfileString[/color] [color=blue]Lib [/color][color=green]'kernel32'[/color][color=green] Alias 'WritePrivateProfileStringA' (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Lon[/color][color=green]g[/color]

وظيفتة :
يستخدم للكتابة لملف التهيئة .
المتغيرات :
lpApplicationName وهو من النوع String وهو يمثل اسم القسم المراد الكتابة بة .
lpKeyName وهو من النوع Any وهو يمثل اسم المفتاح .
lpString وهو من النوع Any وهو يمثل القيمة التي تريد كتابتها.
lpFileName وهو من النوع String وهم يمثل اسم ومسار ملف التهيئة .

القيمة المعادة :
الإجراء يعود بقيمة من النوع Long لاتساوي الصفر في حالة نجاحة ، أما إن فشل الإجراء في اداء المطلوب فسيعود بقيمة تساوي الصفر .
ملاحظات :
عندما تستخدم هذا الإجراء للكتابة إلى ملف تهيئة ، فهناك عدة أحتمالات كأن يكون الملف الذي حددتة غير موجود. في هذة الحالة سيقوم الإجراء بعمل ملف جديد يضع فية ما حددتة لة من قسم ومفتاح وقيمة .

وأما إن كان الملف موجود ، فإنة يفتحة ويبحث عن القسم الذي حددتة ، فإذا لم يجدة فأنة ينشئة ويضع تحتة المفتاح والقيمة التي حددتهما لة . أما إذا وجد القسم فإنة يبحث عن المفتاح الذي حددتة ، فإذا لم يجدة فإنة ينشئة ويضع أمامة القيمة المحددة . أما إذا وجد المفتاح ، فإنة يستبدل القيمة الموجودة أمامة بالقيمة التي حددتها له .


2 ) الإجراء GetPrivateProfileString و يعلن عنه كالتالي :

كود :
[COLOR=blue]
Public Declare Function[/COLOR] GetPrivateProfileString [color=blue]Lib [/color][color=green]'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[/color]



وظيفتة :
يستخدم للقراءة من ملف التهيئة .
المتغيرات :
lpApplicationName وهو من النوع String وهو يمثل اسم القسم المراد الكتابة بة .
lpKeyName وهو من النوع Any وهو يمثل اسم المفتاح .
lpDefault وهو من النوع String وهو يمثل القيمة الافتراضية التي يعود بها الإجراء إن لم يجد المفتاح المحدد .
lpReturnedString وهم من النوع String وهو عبارة عن متغير حرفي يتم تخزين قيمة المفتاح المحدد بها أن وجدة الإجراء .
nSize وهو من النوع Long وهو يمثل حجم المتغير الحرفي .
lpFileName وهو من النوع String وهم يمثل اسم ومسار ملف التهيئة .

القيمة المعادة :
الإجراء يعود بقيمة من النوع Long لاتساوي الصفر في حالة نجاحة تمثل عدد حروف المتغير الذي قراءة ، أما إن فشل الإجراء في اداء المطلوب فسيعود بقيمة تساوي الصفر .


ملاحظة : هذاين الإجراء ين هما الأكثر استخداما مع ملفات التهيئة ، حيث ان الإجراءين WriteProfileString و GetProfileString فهما حاله خاصة من الإجراءين السابقين . فهما يؤديان نفس مهام الإجراءين السابقين ويتطلبان نفس المتغيرات ، ما عدا المتغير الأخير ( اسم ومسار ملف التهيئة ) حين أن هذين الإجراءين سيفترض أنة win.ini ، لذلك فهذا الإجراء يستخدم لتعامل مع الملف wini.ini فقط .


و تمنياتي لكم بالتوفيق Tibo
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مقال] دمج كل ملفات برنامجك الى ملف تنفيذى واحد ali.alfoly 25 7,915 02-12-16, 04:04 PM
آخر رد: ali.alfoly
  عمل ملفات dll بالفيجول.net hosney 5 1,691 15-06-16, 11:36 PM
آخر رد: خالد الرماح
  [مشروع] مشروع برنامج لتشغيل ملفات mp3 alking-0999 1 392 01-06-16, 10:20 PM
آخر رد: CLARO
  ابسط مثال لتشغيل ملفات mp3 مستضافة على موقع سعود 4 1,348 01-04-13, 04:04 AM
آخر رد: سامى ابوسريع
  مقال- كيف تصنع ملفات المساعدة Help Files وتربطها مع برنامجك RaggiTech 0 730 05-10-12, 07:30 PM
آخر رد: RaggiTech
  ملفات الدوت نت Dot Net مفتوحة المصدر Open Source RaggiTech 0 1,457 05-10-12, 10:49 AM
آخر رد: RaggiTech
  تجزئة الكلاس أو الستركتشر على عدة ملفات RaggiTech 1 370 03-10-12, 07:32 AM
آخر رد: RaggiTech
  اسهل طريقة لتصفح ملفات (pdf) RaggiTech 0 338 02-10-12, 01:51 AM
آخر رد: RaggiTech
  إرسال بريد إلكتروني بتنسيق html + إضافة ملفات مرفقة للرسالة (شرح بالصور) RaggiTech 1 1,093 02-10-12, 12:32 AM
آخر رد: RaggiTech
  إرسال بريد إلكتروني بتنسيق html + إضافة ملفات مرفقة للرسالة (شرح بالصور) m.sami.ak 5 1,071 15-09-12, 12:39 AM
آخر رد: m.sami.ak

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


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