Файлды қию Кейде белгілі позициядан бастап файлдың соңын жою қажеттілігі туындайды. Мұндай жағдайда Turbo Pascal-да Truncate стандартты процедурасы бар.
Truncate процедурасы ашық файлға қолданыла отырып, оның мазмұнын ағымдағы позициядан бастап, соңына дейін жояды.
Procedure Truncate (var f);
Мұндағы f - Text типінен өзге кез-келген типті файлдық айнымалы. Нұсқауышты файлдағы белгілі бір элементтің алдына орналастыру мүмкіндігі бар ма? Жалпы Turbo Pascal-да ол үшін Seek процедурасы бар. Дегенмен, бұл процедурамен таныс болмағандықтан, параметрлі цикл операторының (For) көмегімен файлдағы (типтендірілген немесе типтендірілмеген) белгілі элементтер санын оқуды ұйымдастырып, соңынан Truncate процедурасын қолдануға болады. Truncate процедурасы қолданылған программа келесі мысалда көрсетілген.
Program Trunc;
Var f:file of char;
i:integer;
j:char;
procedure out;
begin
Reset(f);
While not EoF(f) do
Begin
Read(f, j);
Write(j)
End
End; {Out}
Begin {Program}
Assign(f, ‘FILE.TXT’);
Rewrite(f);
{A, B, C, D, E, F енгізу}
FOR J:=’A’ to ‘F’ do Write(f, j);
WriteLn(‘Қиғанға дейінгі файл:’);
Out;
Reset(f);
{3 жазбаны оқу}
For i:=1 to 3 do Read(f, j);
Truncate(f); {Файлды қию}
WriteLn;
WriteLn(‘Қиғаннан кейінгі файл:’);
Out; {Файл мазмұнын шығару}
Close(f);
Erase(f)
End. {Program}
Бұл программада типтендірілген f файлдық айнымалы жарияланып, соңынан FILE.TXT файлымен байланыстырылған. Осыдан кейін осы файл Rewrite процедурасының көмегімен ашылады (егер мұндай файл болмаса, Rewrite процедурасының жаңа бос файл жасайтынын білеміз). Егер файлдық айнымалымен файлды байланыстырған кезде каталог көрсетілмесе, үнсіз келісім бойынша ағымдағы каталог қолданылады. Сонымен FILE.TXT файлы Turbo Pascal файлдары орналасқан каталогта құрылады. Бірақ программа соңында шақырылған Erase процедурасы бұл файлды жояды.
Осылайша файл құрылды, ашылды, енді оған алты элемент – ‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’ символдары енгізіледі де, файл мазмұны экранға шығарылады. Осыдан кейін файлдың үш элементі оқылады да, Truncate процедурасының көмегімен файлды қию орындалады. Содан кейін файл мазмұны тағы да экранға шығарылады, осымен Truncate процедурасын қолдану нәтижесі көрінеді. Ең соңында басында құрылған FILE.TXT файлы жабылып (Close процедурасы), жойылады (Erase процедурасы). FILE.TXT файлын экранға шығару Out процедурасы арқылы орындалған. Ол программа денесінде екі рет шақырылады (толық файлды және қиылған файлды экранға шығару үшін).
Trunc программасының экранға шығарылуы төмендегідей көрінеді.
Қиғанға дейінгі файл:
ABCDEF
Қиғаннан кейінгі файл:
ABC
Trunc программасының әрекетін 8-сурет бейнелейді.
Қалауыңызша келесі операторлардағы ‘F’ және 3 мәндерін өзгерте отырып, файлға жазылатын символдар ұзындығы мен Truncate процедурасы қолданылғаннан кейін қалатын әріптер санын өзгертіп көруге болады.
FOR J:=’A’ to ‘F’ do Write(f, j);
және
For i:=1 to 3 do Read(f, j);