18-03-2012, 12:28 PM
[indent]
السلام عليكم ورحمة الله وبركاته ،
احتجت في برنامجي التعامل مع ملف نصي فقلت لماذا لا أفرد له موضوعا خاصا لعل الإخوة يستفيدون منه
لنفرض أن الملف المراد التعامل معه هو ملف نصي Text
1- تعريف المتغير ملف نصي:
للتعامل مع الملف النصي لابد من تعريفه داخل البرنامج .
2- تعيين الملف داخل القرص الصلب :
وذلك إذا فرضنا وجود الملف MyFile.txt داخل مجلد C:\MyFolder.
أما إذا استعملنا openDialog للبحث عن الملف النصي :
3- قراءة الملف النصي:
طبعا على فرض أن الملف النصي موجود فعلا على القرص الصلب ،
1-3 - تهيئة الملف النصي للقراءة من بداية الملف ، ببساطة نستعمل الكود التالي :
2-3- لقراءة الملف النصي نستعمل متغير من نوع نص String و نحفظ المعلومات داخل Memo .
شرح الكود :
* استعملنا حلقة while لقراءة الملف من البداية حتى النهاية EOF تعني End Of File
* : نقوم بقراءة السطر و ارفاقه داخل المتغير النصي Lig ثم ننتقل إلى السطر الثاني.
* ندخل محتوى المتغير lig داخل memo.
* نقوم بغلق الملف.
الكتابة داخل الملف النصي :
للكتابة داخل الملف النصي هناك إجرائين مهمين :
1- الإجراء
هذا الإجراء يقوم بحذف الملف من القرص الصلب إن كان موجودا و إعادة تنشئته من جديد (لا بد من الحذر إذن)
2- الإجراء
يقوم ببساطة إصافة المعلومات داخل الملف بشرط أن يكون الملف موجود حقيقة داخل القرص الصلب.
إذن للكتابة في الملف النصي :
أو (على حسب إختيارك)
هذا ما تيسر لي جمعه و أسأل الله تعالى أن ينفع به.
[/indent]
السلام عليكم ورحمة الله وبركاته ،
احتجت في برنامجي التعامل مع ملف نصي فقلت لماذا لا أفرد له موضوعا خاصا لعل الإخوة يستفيدون منه

لنفرض أن الملف المراد التعامل معه هو ملف نصي Text
1- تعريف المتغير ملف نصي:
للتعامل مع الملف النصي لابد من تعريفه داخل البرنامج .
كود :
var
F:textfile ;2- تعيين الملف داخل القرص الصلب :
كود :
assignfile(F,'C:\MyFolder\MyFile.txt');وذلك إذا فرضنا وجود الملف MyFile.txt داخل مجلد C:\MyFolder.
أما إذا استعملنا openDialog للبحث عن الملف النصي :
كود :
if opendialog.execute then
assignfile(F,opendialog.filename);3- قراءة الملف النصي:
طبعا على فرض أن الملف النصي موجود فعلا على القرص الصلب ،
1-3 - تهيئة الملف النصي للقراءة من بداية الملف ، ببساطة نستعمل الكود التالي :
كود :
reset(F);2-3- لقراءة الملف النصي نستعمل متغير من نوع نص String و نحفظ المعلومات داخل Memo .
كود :
Lig : string ;
while not eof(F) do
begin
readln(F,lig);
memo.lines.add(lig);
end;
closefile(F);شرح الكود :
*
كود :
while not eof(F) do*
كود :
readln(F,lig);*
كود :
memo.lines.add(lig);*
كود :
closefile(F);الكتابة داخل الملف النصي :
للكتابة داخل الملف النصي هناك إجرائين مهمين :
1- الإجراء
كود :
rewrite()2- الإجراء
كود :
append()يقوم ببساطة إصافة المعلومات داخل الملف بشرط أن يكون الملف موجود حقيقة داخل القرص الصلب.
إذن للكتابة في الملف النصي :
كود :
rewrite(F);
for I := 1 to memo.lines.count do
begin
lig := memo.lines[I];
writeln(F,lig)
end;
closefile(F);أو (على حسب إختيارك)
كود :
append(F);
for I := 1 to memo.lines.count do
begin
lig := memo.lines[I];
writeln(F,lig)
end;
closefile(F);هذا ما تيسر لي جمعه و أسأل الله تعالى أن ينفع به.

[/indent]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.

