Өзіндік бақылау сұрақтары:
Файлдармен жұмыс істеу үшін қандай процедуралар қолданылады?
Файлдармен қандай операцияларды орындайды?
Файлдардан оқу және шығару үшін қандай процедуралар қолданылады?
1 Файлдарды жариялау тек файлдардың компоненттерінің типін көрсетеді. Программа мәліметтерді файлға шығару немесе файлдан оқу үшін, нақты бір файлды көрсету керек, яғни файлдық айнымалыны нақты бір файлмен байланыстыру.
AssignFile процедурасының сипатталуы:
AssignFile (var f,Файл Атауы:string);
Мысал:
AssignFile (f, ‘a:\result.txt);
AssignFile (f, ‘\students\aliev\korni.txt);
fname:=(‘otchet.txt’);
AssignFile (f, fname);
2 Файлға шығару, Файылды жабу, Файылды енгізу, файлды ашу, оқу, файл соңы
3 Файлдан оқу read және readln инструкциялары көмегімен орындалады, жалпы түрде жазылуы:
read (ФайлдықАйнымалы, Айнымалылар тізімі);
readln (ФайлдықАйнымалы, Айнымалылар тізімі);
Мұндағы:
Файлдық Айнымалы – айнымалы TextFile типінде;
Айнымалылар тізімі – үтірмен ажыратылған айнымалылар атаулары.
Нәтижені шығару алдында файлды алдымен ашу керек. Шығу файлын құратын программа егер қолданылған болса, онда нәтиже жазылған файл дискіде бар. Сондықтан программист файлдағы ескі мәліметтерді жаңамен ауыстыру немесе ескіні жаңамен толықтыруды шешу керек
Листинг 12.1. Жаңа құру немесе ескі файлды жаңаға ауыстыру.
procedure TForm1.Button1Click(Sender: TObject);
var
f:TextFile; //файл
fName:string; //файл атауы
i:integer;
begin
fName:=Edit1.Text;
AssignFile(f,fName);
Rewrite(f); //жазу үшін ашу
//файлға жазу
for i:=0 to Memo.Lines.Count do //қатар нольден бастап номерленеді
writeln (f,Memo.Lines[i]);
CloseFile(f); //файлды жабу
MessageDlg ‘Мәліметтер файлға жазылды’, mtInformation,[mbOk],0);
end;
Листинг 13.2 Файлдағы мәліметтерді толықтыру
Procedure TForm1.Button2Click(Sender: TObject);
var
f:TextFile; //файл
fName:string[80]; //файл атауы
i:integer;
begin
fName:=Edit1.Text;
AssignFile(f,fName);
Appened(f); //толықтыру үшін ашу
//файлға жазу
for i:=0 to Memo.Lines.Count do //қатар нольден бастап номерленеді
writeln (f,Memo.Lines[i]);
CloseFile(f); //файлды жобу
MessageDlg ‘Мәліметтер файлға жазылады’mtInformation,[mbOk],0);
end;
Достарыңызбен бөлісу: |