記錄文件的打開和創建同文本文件一樣也需要關聯和初始化兩個步驟
記錄文件缺省情況下以讀寫方式打開
FileMode的取值和意義如下表
表
━━━━━━━━━━━━━━
取值 意義
──────────────
━━━━━━━━━━━━━━
FileMode是一個全局變量
在本系統中
procedure TRecFileForm
begin
if OpenDialog
FileName := OpenDialog
else
exit;
AssignFile(MethodFile
try
Reset(MethodFile)
FileOpened := True;
except
On EInOutError do
begin
try
if FileExists(FileName) = False then
begin
ReWrite(MethodFile)
FileOpened := True;
end
else
begin
FileOpened := False;
MessageDlg(
end;
except
On EInOutError do
begin
FileOpened := False;
MessageDlg(
end;
end;
end;
end;
if FileOpened = False then exit;
Count := FileSize(MethodFile)
if Count>
ChangeGrid;
RecFileForm
NewButton
OpenButton
CloseButton
end;
首先系統試圖用Reset打開一個文件
有關異常處理的內容請讀者參看第十二章
當用戶按下
procedure TRecFileForm
begin
FileName := InputBox(
if FileName =
try
AssignFile(MethodFile
if FileExists(FileName) then
begin
Reset(MethodFile)
Count := FileSize(MethodFile)
if Count>
ChangeGrid;
end
else
begin
Rewrite(MethodFile)
count :=
end;
FileOpened := true;
Except
on EInOutError do
begin
FileName :=
FileOpened := False;
end;
end;
if FileOpened then
begin
NewButton
OpenButton
CloseButton
RecFileForm
end;
end;
當文件打開或創建後
● 若文件非空
●
● 把文件名附到窗口標題後
定義一個全局變量Count用來保存文件中的記錄個數
Count := FileSize(MethodFile)
如果Count >
確定StringGrid
With StringGrid do
if count < MaxShow then
Height := DefaultRowHeight * (Count+
else
Height := DefaultRowHeight * MaxShow+
RowCount := Count+
end;
而後從文件中逐個讀入記錄並顯示在StringGrid
for i :=
begin
Read(MethodFile
ShowMethod(MethodRec
end;
ShowMehtod是一個過程
Str (MethodRec
StringGrid
即Result顯示域寬為
[
From:http://tw.wingwit.com/Article/program/Delphi/201311/25242.html