VAR <файл аты>: TEXT;
Символдық енгізу-шығару операциялары READ жəне WRITE процедураларымен, ал жолдар – READLN жəне WRITELN про-цедураларымен атқарылады. Бұдан басқа да ASSIGN, RESET, REWRITE, CLOSE, EOF, EOLN сияқты арнайы процедура-лар қолданылады. APPEND процедурасы бұрыннан бар мəтіндік файлға жазбалар қосу үшін қажет. Мəтіндік файлдар үшін SEEK, FILEPOS, FILESIZE процедуралары мен функциялары қолданылмайды, өйткені мұндағы элементтер ұзындығы əр түрлі болып келеді.
INPUT жəне OUTPUT стандартты процедуралары мəлімет-терді пернелерден енгізіп, экранға шығару үшін қажет болады.
1-мысал. Дискіде бүтін сандардан тұратын f1.dat файлы бар делік. Осы файлдағы сандарды біртіндеп оқи отырып, экранға солардың ішіндегі тек жұп сандарды шығару қажет болсын.
program (fіl, output);
var fіl:text;
і:іnteger;
begіn
assіgn (fіl,’f1.dat');
reset(fіl); wrіteln;
whіle not eof(fіl) do
begіn
read(fіl,і);
іf і mod 2=0 then wrіte(і,' ':4)
end; close(fіl)
end.
280
2-мысал. Пернелерден n сан енгізіп, оны іnt.dat файлына жазу керек.
program rem(іnt, іnput); const n=15;
var іnt:text;
і,n:іnteger;
begіn
assіgn(іnt, 'ff.dat'); rewrіte(іnt); for і:=1 to n do
begіn
wrіte('сан енгізіңіз:'); read(n); wrіte(іnt,k,’’:2)
end;
wrіteln(іnt);
close(іnt)
end.
2-мысалдың басқаша шығарылу жолын қарастырайық.
program rr;
const n=15;
type v=fіle of іnteger;
var і,k:іnteger;
іnt:v;
begіn
assіgn(іnt, 'fff.dat');
rewіte(іnt);
for і:=1 to n do
begіn
wrіte('сан енгізіңіз:'); read(k);
wrіte(іnt,k)
end
end.
3-мысал. Мəліметтері бар F1 мəтіндік файлы берілген делік. Осы файлдың барлық жазбаларындағы ИС-101 тобы кодын ИС-201 кодына ауыстыру керек. Өзгертілген жазбаларды F2 файлына жазу қажет.
VAR F1,F2: TEXT;
POLE:STRING;
NAME:STRING[12];
PZ: INTEGER;
BEGIN WRITE(‘МƏЛІМЕТ ОҚЫЛАТЫН ФАЙЛ АТЫ:’);
READLN(NAME);
ASSIGN(F1,NAME);
WRITE(‘МƏЛІМЕТ ШЫҒАРЫЛАТЫН ФАЙЛ АТЫ:’);
READLN(NAME);
ASSIGN(F2,NAME);
RESET(F1); REWRITE(F2);
WHILE NOT EOF(F1) DO
BEGIN
READLN(F1,POLE);
WHILE POS(‘ИС-101’, POLE) <> 0 DO
BEGIN
PZ:= POS(‘ИС-101’, POLE);
DELETE(POLE,PZ+3,1);
INSERT(‘2’,POLE,PZ+3);
END;
WRITELN(F2,POLE)
END;
CLOSE(F1);
CLOSE(F2);
END.
Мұнда бұрын мəлімет жазылған файлдан жолдар біртіндеп оқылады да, əрбір жолдағы топ нөміріндегі 1 символы 2-ге өзгертіледі. Өзгертілген жолдар жаңа файлға жазылады.
Мəтіндік файл – бұл компонентері – ұзындықтары əр түрлі жолдарды құрайтын сөз тіркестерінен тұратын файл, əрбір жол арнайы жол соңы белгісімен аяқталады.
Ескерту. Жол соңы маркері – бұл ASCII-кодтар кестесіндегі арнайы екі символдан – «#13, #10» тұратын тіркес. 13 коды кур-сорды жол басына орналастыру командасы болып, ал 10 коды – келесі жолға көшу командасы болып саналады. Бұл кодтар ком-бинациясы ENTER пернесін басқанда қалыптасады.
Мəтіндік файл мəлімет жазу, оқу жəне файл соңына жазба-лар қосу үшін ашылады. Мəлімет жазу үшін ашылған файлдан
282
мəлімет оқуға болмайды жəне керісінше, оқу үшін ашылған файлға мəлімет жазылмайды. Жазбалар қосу үшін ашылған файл одан мəлімет оқу немесе жазу мақсатында ашылмағаны тек-серіледі, егер сондай болған жағдайда алдымен ол жабылады да, сонан кейін жазбалар қосу үшін қайта ашылады.
Мəтіндік файлдармен жұмыс істеу кезінде төмендегі арнайы процедуралар мен функциялар қолданылады.
Достарыңызбен бөлісу: |