本例子幾個變數的說明
tfilerec = record //記錄定義
day : integer;
...//其他定義
end;
f : file of tfilerec //標準的輸入/輸出檔案
filrec : tfilerec //記錄資料
filename : 記錄檔案的名稱
關於記錄檔案的相關操作
(1)記錄檔案的開啟
(2)記錄檔案的讀入和顯示
(3)記錄的增加
(4)記錄的刪除
(5)記錄的修改
(6)記錄檔案的刪除
記錄檔案的開啟
需要使用的方法:
assingfile(f, filename);
reset(f); //開啟乙個已經存在的記錄檔案
rewrite(f); //新建立乙個記錄檔案
filesize(f); //返回記錄檔案記錄個數
procedure openrecfile(const filename: string; var f: tfilerec);
begin
assingfile(f, filename);
tryreset(f);
except //開啟檔案出現異常的處理
on einouterror do
begin
tryif fileexists(filename) = false then //如果檔案不存在,建立
rewrite(methodfile)
else //檔案存在,但是打不開,表示這個檔案有問題
messagedlg('檔案不能開啟', mtwarning, [mbok], 0);
except //建立新檔案的時候出現異常的處理
on einouterror do
messagedlg('檔案不能建立', mtwarning, [mbok], 0);
end;
end;
end;
end;
記錄檔案的讀入
需要使用的方法
read(f,filerec);
procedure readdata_fromrecfile;
begin
for i := 1 to filesize(f) do
begin
read(f, filerec);
...//其他的處理(比如記錄的顯示等等)
end;
end;
記錄的增加
需要使用的方法
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;
//需要插入的資料
varni: 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);
varni: 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);
Delphi關於記錄檔案的操作 轉
本例子幾個變數的說明 tfilerec record 記錄定義 day integer 其他定義 end f file of tfilerec 標準的輸入 輸出檔案 filrec tfilerec 記錄資料 filename 記錄檔案的名稱 關於記錄檔案的相關操作 1 記錄檔案的開啟 2 記錄檔案的...
Delphi操作Excel日誌記錄
1 匯出資料uses comobj procedure tform10.execlexit var h,k integer excelid olevariant s string begin tryexcept exit end tryk adoqry.recordcount excelid.vis...
Delphi 檔案操作的封裝
unit fileoper inte ce uses windows,shellapi,sysutils type tfileoper class public class function winerasefile owner integer wichfiles string sendtorecy...