me&delphi
13-03-2009, 02:41 AM
أي برنامج يتعامل مع الملفات يمكن أن يصدر عنه أخطاء الادخال / الاخراج
والتي تظهر رسالة الخطأ و للتحكم في هده الرسائل في دلفي نستعمل التعليمتين {-sI} و {+sI}
{-sI} تقوم بتعطيل مراقبة الأخطاء من طرف Compiler و {+sI} تقوم بتفعيلها
الدالة IOResult تعود بقيمة تساوي الصفر في حالة عدم حدوث أي خطأ و بقيمة تخالف الصفر في حالة حدوثه وهده القيمة تبين نوع الخطأ
ولتفادي أي رسالة خطأ يكفينا و ضع الكود المحتمل و قوع الخطأ به بين التعليمتين و هدا المثال يوضح أكثر
procedure TForm1.Button1Click(Sender: TObject);
var F:TextFile;
Texte,Ligne:string;
begin
AssignFile(F,'H:\fssdf.Txt');
{$I-}
Reset(F);
{$I+}
if (IOResult = 0) then
begin
repeat
Readln(F,Ligne);
Texte:=Texte+Ligne+Chr(13)+Chr(10);
until Eof(F);
CloseFile(F);
Memo1.Text:= Texte;
end
else
MessageDlg('Ce ficher n'+Chr(39)+'existe pas',mtError,[mbOK],0);
end;
لم أستعمل Memo1.Lines.LoadFromFile() لأبين طريقة التعامل مع الملف
أما بالنسبة لباقي الدوال أو الاجراءات فهي موجودة مع الشرح و المثال في دلفي (AssignFile,Readln,CloseFile,Eof,Reset)
والتي تظهر رسالة الخطأ و للتحكم في هده الرسائل في دلفي نستعمل التعليمتين {-sI} و {+sI}
{-sI} تقوم بتعطيل مراقبة الأخطاء من طرف Compiler و {+sI} تقوم بتفعيلها
الدالة IOResult تعود بقيمة تساوي الصفر في حالة عدم حدوث أي خطأ و بقيمة تخالف الصفر في حالة حدوثه وهده القيمة تبين نوع الخطأ
ولتفادي أي رسالة خطأ يكفينا و ضع الكود المحتمل و قوع الخطأ به بين التعليمتين و هدا المثال يوضح أكثر
procedure TForm1.Button1Click(Sender: TObject);
var F:TextFile;
Texte,Ligne:string;
begin
AssignFile(F,'H:\fssdf.Txt');
{$I-}
Reset(F);
{$I+}
if (IOResult = 0) then
begin
repeat
Readln(F,Ligne);
Texte:=Texte+Ligne+Chr(13)+Chr(10);
until Eof(F);
CloseFile(F);
Memo1.Text:= Texte;
end
else
MessageDlg('Ce ficher n'+Chr(39)+'existe pas',mtError,[mbOK],0);
end;
لم أستعمل Memo1.Lines.LoadFromFile() لأبين طريقة التعامل مع الملف
أما بالنسبة لباقي الدوال أو الاجراءات فهي موجودة مع الشرح و المثال في دلفي (AssignFile,Readln,CloseFile,Eof,Reset)