Delphi 레코드 파일 작업 - 회전
6413 단어 Delphi
4레코드 파일 관련 작업 정보 (1) 기록 파일의 열기 (2) 기록 파일의 읽기와 표시 (3) 기록의 증가 (4) 기록의 삭제 (5) 기록의 수정 (6) 기록 파일의 삭제
4레코드 파일 열기 필요한 방법:
AssingFile(f, FileName);
Reset(f); //
Rewrite(f); //
FileSize(f); //
procedure OpenRecFile(const FileName: string; var f: TFileRec);
begin
AssingFile(f, FileName);
try
Reset(f);
except //
on EInOutError do
begin
try
if FileExists(FileName) = False then // ,
ReWrite(MethodFile)
else // , ,
MessageDlg(' ', mtWarning, [mbOK], 0);
except //
on EInOutError do
MessageDlg(' ', mtWarning, [mbOK], 0);
end;
end;
end;
end;
4레코드 파일의 읽기 필요한 메서드 Read(f,FileRec);
procedure ReadData_FromRecFile;
begin
for i := 1 to FileSize(f) do
begin
Read(f, FileRec);
...// ( )
end;
end;
4기록의 증가 필요한 방법 Seek(f, RecNo);//RecNo는 위치를 정할 기록 번호 Write(f,FileRec)의 기본적인 사고방식을 대표한다. 지정된 기록의 위치를 가져오고 이 위치 뒤의 기록을 하나씩 뒤로 이동(1) 파일의 끝부분에 기록을 추가한다.
procedure InsertData_AtRecFile_Last(const Data: TFileRec); //
begin
Seek(f, FileSize(f));
Write(f, Data);
end;
(2)
procedure InsertData_AtRecFile(const Index: Integer);
// const Data : TFileRec;
//
var
nI: Integer;
begin
if (Index > FileSize(f)) or (Index < 0) then
Exit;
for nI := FileSize(f) - 1 downto Index do
begin
seek(f, nI);
read(f, FileRec);
Seek(f, nI + 1);
Write(f, FileRec);
end;
Seek(f, Index);
Write(f, Data);
end;
레코드 삭제
Seek(f,Index); //Index
Write(f,FileRec)
Truncate(f) //
:
, 。 。
(1) 지정한 색인 번호의 기록 삭제
procedure DeleteData_FromRecFile(const Index: Integer);
var
nI: Integer;
begin
if (Index < 0) or (FileSize(f) = 0) then
Exit;
for nI := Index + 1 to FileSize(f) - 1 do
begin
seek(f, nI);
read(f, FileRec);
seek(f, nI - 1);
Write(f, FileRec);
end;
Seek(f, FileSize(f) - 1); //
Truncate(f);
end;
기록의 수정
procedure ModifyData_AtRecFile(const Index: Integer; const Data: TFileRec);
begin
if (Index < 0) or (FileSize(f) = 0) or (Index > FileSize(f) - 1) then
Exit;
Seek(f, Index);
Write(f, Data);
end;
레코드 파일 닫기
CloseFile(f);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.