تقييم الموضوع :
  • 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
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  دمج ملفات المشروع ابو روضة 4 1,642 11-11-22, 09:50 PM
آخر رد: ابو روضة
  نظرة على DropBox SDK و التعامل معها +برنامج رفع و تحميل ملفات ابو ليلى 4 4,882 08-09-22, 11:54 AM
آخر رد: saif2023
Lightbulb [مقال] التعامل مع ملفات اوفيس من خلال مكتبة NPOI ابو ليلى 2 4,199 01-07-21, 11:42 AM
آخر رد: kebboud
  عمل ملفات dll بالفيجول.net hosney 6 8,136 31-01-19, 04:45 PM
آخر رد: alsouf
  [VB.NET] كيفة دمج ملفات تفيذية الي برنامجي كما هو بالصورة ؟ e-coder 1 1,824 06-01-18, 03:00 AM
آخر رد: عبد العزيز البسكري
  [مشروع] مشروع برنامج لتشغيل ملفات mp3 alking-0999 2 3,300 31-12-16, 11:46 PM
آخر رد: Basil Abdallah
  [مقال] دمج كل ملفات برنامجك الى ملف تنفيذى واحد ali.alfoly 25 21,886 02-12-16, 04:04 PM
آخر رد: ali.alfoly
  ابسط مثال لتشغيل ملفات mp3 مستضافة على موقع سعود 4 4,131 01-04-13, 04:04 AM
آخر رد: سامى ابوسريع
  مقال- كيف تصنع ملفات المساعدة Help Files وتربطها مع برنامجك RaggiTech 0 3,196 05-10-12, 07:30 PM
آخر رد: RaggiTech
  ملفات الدوت نت Dot Net مفتوحة المصدر Open Source RaggiTech 0 4,237 05-10-12, 10:49 AM
آخر رد: RaggiTech

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


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