StartprogrammingusingObjectPascal:CreateAndAppendStudentMarksProgram
학생 성적을 새로 만들고 덧붙이는 프로그램
Program ReadWriteMarks;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils
{ you can add units after this };
var
F: file of Byte;
Mark: Byte;
begin
AssignFile(F, 'marks.dat');
if FileExists('marks.dat') then
begin
FileMode:= 2; // Open file for read/write
Reset(F); // open file
Writeln('File already exist, opened for append');
// Display file records
while not Eof(F) do
begin
Read(F, Mark);
Writeln('Mark: ', Mark);
end
end
else // File not found, create it
begin
Rewrite(F);
Writeln('File does not exist,, not it is created');
end;
Writeln('Please input students marks, write 0 to exit');
Writeln('File pointer position at record # ', FilePos(f));
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.
참고로 이 예제에서는 Seek 프로시저를 사용하지 않고, 대신 모든 파일의 내용을 먼저 읽었습니다. 이 동작(모든 파일을 읽기)는 포인터를 파일의 마지막으로 이동합니다.
다음 예제에서는 자동차의 정보를 저장하기 위해 레코드로 이루어진 파일을 사용할 것입니다.