here! } end; end; end; Canvas.TextOut(10, 10, ''''This will not be executed''''); end; ----------------------------------------------------------------------------- RunError 停止程式执行且执行run-time error. ----------------------------------------------------------------------------- Unit System 函数原型 procedure RunError [ ( Errorcode: Byte ) ]; 范例 begin {$IFDEF Debug} if P = nil then RunError(204); {$ENDIF} end;
===================================== I/O routines I/O常式 ===================================== AssignFile 指定档案给一个档案变数. ----------------------------------------------------------------------------- Unit System 函数原型 procedure AssignFile(var F; FileName: string); 说明 **一个档案不可重复执行AssignFile两次以上. Example var F: TextFile; S: string; begin if OpenDialog1.Execute then { Display Open dialog box } begin AssignFile(F, OpenDialog1.FileName); { File selected in dialog box } Reset(F); Readln(F, S); { Read the first line out of the file } Edit1.Text := S; { Put string in a TEdit control } CloseFile(F); end; end; ## AssignFile, OpenDialog, Readln, CloseFile Example ----------------------------------------------------------------------------- CloseFile 关闭档案. ----------------------------------------------------------------------------- Unit System 函数原型 procedure CloseFile(var F); #### AssignFile, OpenDialog, Readln, CloseFile Example ----------------------------------------------------------------------------- IOResult 传回最近一次执行I/O函数,是否有错误. ----------------------------------------------------------------------------- Unit System 函数原型 function IOResult: Integer; 范例 var F: file of Byte; S: String; begin S:= ''''c:\ka\aaa.txt''''; AssignFile(F, S); {$I-} Reset(F); {$I+} if IOResult = 0 then Label1.Caption:=''''File size in bytes: '''' + IntToStr(FileSize(F); else Label1.Caption:=''''开档失败''''; end; 说明 传回0表示没有错误. EXAMPLE var F: file of Byte; begin if OpenDialog1.Execute then begin AssignFile(F, OpenDialog1.FileName); {$I-} Reset(F); {$I+} if IOResult = 0 then MessageDlg(''''File size in bytes: '''' + IntToStr(FileSize(F)), mtInformation, [mbOk], 0) else MessageDlg(''''File access error'''', mtWarning, [mbOk], 0); end; end; ----------------------------------------------------------------------------- Reset 开起一个可供读取的档案. ----------------------------------------------------------------------------- Unit System 函数原型 procedure Reset(var F [: File; RecSize: Word ] ); ----------------------------------------------------------------------------- Rewrite 建立一个可供写入的新档案. ----------------------------------------------------------------------------- Unit System 函数原型 procedure Rewrite(var F: File [; Recsize: Word ] ); 范例 procedure TForm1.Button1Click(Sender: TObject); var F: TextFile; I1,I2,I3:Integer; S1,S2,S3:String; begin I1:=1234; I2:=5678; I3:=90; S1:=''''abcd''''; S2:=''''efgh''''; S3:=''''ij''''; AssignFile(F,''''c:\ka\aaa.txt''''); Rewrite(F); Write(F,I1); Write(F,I2); Write(F,I3); Write(F,S1); Write(F,S2); Write(F,S3); Write(F,I1,I2,I3); Write(F,S1,S2,S3); Writeln(F,I1); Writeln(F,I2); Writeln(F,I3); Writeln(F,S1); Writeln(F,S2); Writeln(F,S3); Writeln(F,I1,I2,I3); Writeln(F,S1,S2,S3);
范例 procedure TForm1.Button1Click(Sender: TObject); var F: file of Byte; I1,I2,I3:Byte; begin I1:=16; I2:=32; I3:=48; AssignFile(F,''''c:\ka\aaa.txt''''); Rewrite(F); Write(F,I1); Write(F,I2); Write(F,I3); Write(F,I1,I2,I3);
I1:=0; Reset(F); Read(F, I1);
Label1.Caption:=IntToStr(I1); CloseFile(F); end;
结果 file of Byte 及 file of record 只能以Write及Read,来写入及读取, 不可以Writeln及Readln.
范例 procedure TForm1.Button1Click(Sender: TObject); type ppRec = record pp_No:String[5]; pp_Name:String[10]; pp_Age:Integer; pp_Sum:Double; end; var Rec : ppRec; Rec2: ppRec; F: file of ppRec; begin With Rec do Begin pp_No:=''''0001''''; pp_Name:=''''abc''''; pp_Age:=12; pp_Sum:=600; End;