StartprogrammingusingObjectPascal:DisplayFileContentsProgram
파일 내용 보여주기 프로그램
Program ReadContents;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils
{ you can add units after this };
var
FileName: string;
F: file;
Block: array [0 .. 1023] of Byte;
i, NumRead: Integer;
begin
Write('Input source file name: ');
Readln(FileName);
if FileExists(FileName) then
begin
AssignFile(F, FileName);
FileMode:= 0; // open for read only
Reset(F, 1);
while not Eof(F) do
begin
BlockRead(F, Block, SizeOf(Block), NumRead);
// display contents in screen
for i:= 0 to NumRead - 1 do
Writeln(Block[i], ':', Chr(Block[i]));
end;
CloseFile(F);
end
else // File does not exist
Writeln('Source File does not exist');
Write('press enter key to close..');
Readln;
end.
이 예제를 실행하고 예제에 대하여 텍스트 파일 이름을 입력하고 나면, 처음에는 CR/LF 값 (13/10)을 보게 되는데, 제각각의 문자 코드 (ASCII)를 표시하기 때문입니다. 리눅스에서는 10진수로 10의 값을 갖는 라인 피드 (LF)만 보게 됩니다.
그림이나, 실행파일과 같은 다른 형식의 파일도 내부가 어떻게 생겼는지 보기 위해 표시할 수 있습니다.
이 예제에서 메모리에 97이라는 바이트 값으로 저장된 a 와 65라는 바이트 값으로 저장된 A와 같은 문자들의 숫자 값을 얻기 위해 Chr 함수를 사용했습니다.