StartprogrammingusingObjectPascal:StoringStudentsMarksProgram
성적 프로그램
var
F: file of Byte;
Mark: Byte;
begin
AssignFile(F, 'marks.dat');
Rewrite(F); // Create file
Writeln('Please input students marks, write 0 to exit');
repeat
Write('Input a mark: ');
Readln(Mark);
if Mark <> 0 then // Don't write 0 value
Write(F, Mark);
until Mark = 0;
CloseFile(F);
Write('Press enter key to close..');
Readln;
end.
이 예제에서 형식화 된 파일을 정의하는 이런 구문을 사용했습니다.
F: file of Byte;
이는 파일에 0부터 255까지의 값을 지닐 수 있는 Byte 데이터 형을 지닌 레코드를 포함하고 있다는 뜻입니다.
그리고 Rewrite 프로시저를 사용하여 파일을 만들고 기록하기 위해 엽니다.
Rewrite(F); // Create file
또한 형식화 된 파일에 레코드를 기록하기 위해 Writeln 대신 Write 함수를 사용했습니다.
Write(F, Mark);
Writeln은 유형화 된 파일에 적당하지 않은데, Writeln은 기록한 텍스트의 마지막에 CR/LF 문자를 덧붙이지만, Write는 어떤 덧붙임없이 레코드에 저장하기 때문입니다. 이 경우 10 레코드(바이트 단위)를 입력했다면, 파일 크기는 디스크에서 10 바이트를 차지하게 될 것입니다.
다음 예제에서는 파일의 내용을 어떻게 표시할지 보여주겠습니다.