Difference between revisions of "Using INI Files/ar"
m (Fixed syntax highlighting; deleted category included in page template) |
|||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{INI Files}} | ||
+ | |||
<div dir="rtl"> | <div dir="rtl"> | ||
==ملفات اﻷعدادات INI== | ==ملفات اﻷعدادات INI== | ||
Line 49: | Line 51: | ||
واﻵن لننتقل إلي الكود .. | واﻵن لننتقل إلي الكود .. | ||
− | + | <syntaxhighlight lang=pascal> | |
− | |||
− | <syntaxhighlight> | ||
Program IniSample; | Program IniSample; | ||
Line 114: | Line 114: | ||
===المراجع=== | ===المراجع=== | ||
هنا: [http://lazarus-ccr.sourceforge.net/docs/fcl/inifiles/index.html Free Pascal documentation on INI files] | هنا: [http://lazarus-ccr.sourceforge.net/docs/fcl/inifiles/index.html Free Pascal documentation on INI files] | ||
+ | |||
+ | |||
+ | == شاهد أيضا == | ||
+ | |||
+ | * [[XML Tutorial]] | ||
</div> | </div> |
Latest revision as of 09:06, 4 March 2020
│
العربية (ar) │
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
polski (pl) │
русский (ru) │
中文(中国大陆) (zh_CN) │
ملفات اﻷعدادات INI
معلومات أساسية
تستخدم ملفات INI لحفظ إعدادات المستخدم اﻷساسية بسهولة , فعن طريق الوحدة INIfiles و الفئة TINIFile يمكنك بكل سهولة التعامل مع ملفات INI الموجودة مسبقا , تجد هذه الوحدة ضمن مكتبات FCL
ملفات INI
تستخدم ملفات INI الأقواس لتحديد اﻷقسام واللتي بدورها تحتوي علي مفاتيح و قيم .
يتم الفصل بين المفتاح والقيمة المقابلة له بعلامة التساوي (المفتاح=القيمة).
أسماء اﻷقسام تكتب بين قوسين مربعين ج[قسم].
التعليقات دائما مسموح بها ويسبق سطر التعليق بعلامة الفاصلة المنقوطة (;) ,وبماأن ملفات INI ليست قياسية بشكل كامل فأنه يمكن استخدام رموز التعليق اﻷخري كعلامة # .
حاليا يتم أستخدام ملفات INI أقل من أستخدام ملفات xml لتخزين السلاسل النصية , لأن ملفات INI لا تستطيع معالجة النصوص الكبيرة بشكل جيد.
مثال علي ملف INI :
; Comment. Beginning of INI file
; empty lines are ignored
; note that no section has been defined.
Compiler=Delphi
; Key: Compiler
; Value: Delphi
[General]
; This starts a General section
Compiler=FreePascal
; Key Compiler and value FreePascal
مثال قراءة ملف INI
التطبيق التالي يوضح كيفية قراءة ملف INI , عليك أولا إنشاء ملف INI واحفظه باسم "C:\DB.ini" . أنشئ فيه قسم باسم INIDB واضف إليه المفاتيح والقيم التالية :
[INIDB]
; Save as C:\DB.ini
Author=Adam
Pass=
DBFile=C:\Money.dat
واﻵن لننتقل إلي الكود ..
Program IniSample;
{$mode objfpc}{$H+}
Uses
Classes,SysUtils,INIFiles;
Var
INI:TINIFile;
Author,Pass,DBFile:String;
PassEnter:String;
begin
// Create the object, specifying the place where it can find the ini file:
INI := TINIFile.Create('C:\DB.ini');
// Demonstrates reading strings from the INI file.
// You can also read booleans etc.
Author := INI.ReadString('INIDB','Author','');
Pass := INI.ReadString('INIDB','Pass','');
DBFile := INI.ReadString('INIDB','DBFile','');
if Pass <> '' then
begin
Writeln('Password Required');
Repeat
Readln(PassEnter);
if not (PassEnter = Pass) then Writeln('Wrong Password');
until(PassEnter = Pass);
Writeln('Correct Password');
end;
Writeln('Author : '+Author);
Writeln('File : '+DBFile);
Writeln('Password : '+Pass);
Readln;
// After we used ini file, we must call the Free method of object
// ... although this really should be wrapped in a try..finally block
// so that the object will be freed regardless of any errors above.
Ini.Free;
end.
أشياء لابد أن تعرفها
تحتوي الفئة TINIFile علي كثير من الخصائص واﻷجراءات والدوال اللتي يمكن استخدامها .
CaseSensitive - تتيح لك هذه الخاصية أن تجعل المفاتيح واﻷقسام حساسة لحالة اﻷحرف أم لا , افتراضيا غير حساسة لحالة اﻷحرف.
ReadString - تأخذ 3 مدخلات , اﻷول هو القسم اللذي يجب البحث فيه والثاني هو المفتاح اللذي سيتم البحث عنه والثالث هو قيمة افتراضية حال أن القسم و/أو المفتاح المطلوبين غير موجودين
WriteString - تأخذ 3 مدخلات أيضا , اﻷول هو القسم والثاني المفتاح والثالث هو القيمة المراد اسنادها لهذا المفتاح , لاحظ أنه إذا كان المفتاح والقسم موجودين من قبل فأنه سيتم كتابة القيمة الجديدة فوق القديمة .
ReadSections - تسمح لك بأخذ جميع اﻷقسام من ملف INI في صورة TString أو TStringList عن طريق المعامل As .
DeleteKey - تمكنك من حذف مفتاح موجود داخل أحد اﻷقسام .
EraseSection - تمكنك من حذف قسم كامل بكل محتوياته .
وغير ذلك يوجد الكثير من اﻷجراءات والدوال ولكن ماسبق يكفي لكي تبدأ .
المراجع
هنا: Free Pascal documentation on INI files