一个很简单的问题(100分)

  • 主题发起人 主题发起人 LeonSu
  • 开始时间 开始时间
L

LeonSu

Unregistered / Unconfirmed
GUEST, unregistred user!
请教一下AssignFile(prn,'LPT1')和AssignPrn(prn)之间到底有什么区别,越详细越好
 
AssignPrn过程
Printers

procedure AssignPrn(var F: Text);

AssignPrn将一个文本文件变量分配给指针。调用AssignPrn促使所有信息写到F,这个文本文件变量将被发送到指针。当变量被分配后,应用程序必须调用Rewrite过程。

当用户点按窗体上的按钮时,这个代码在打印机上打印一行文本。
procedure TForm1.Button1Click(Sender: TObject);
var
MyFile: TextFile;
begin

AssignPrn(MyFile);
Rewrite(MyFile);
Writeln(MyFile, ‘Print this text’);
System.CloseFile(MyFile);
end;
AssignFile( LogTF, 'log/log.txt');

{检查日志文件是否存在}
if FileExists( LOGFILE ) then

Append( LogTF )
else

Rewrite( LogTF );


try
{向文件写入一行字符串}
Writeln( LogTF, LogMsg+'{' , DateTimeToStr(Now)+'}' );

finally
CloseFile( LogTF );

end;
 
var
prn: TextFile;
str: String;
begin
// 把打印机当做一个文件,
// 如果打印机接并口1,则该文件名为lpt1;接并口2,则文件名为lpt2;……
// 如果打印机接串口1,则该文件名为com1;接串口2,则文件名为com2;……
Assignfile(prn,'lpt1');
// or 'com1'
Rewrite(prn);
// 准备写文件
str := Chr(27) + 'a';
// 控制码 如:chr(27)+'a' 或打印文本(直接赋值给str)
Writeln(prn, str);
// 打印输出
CloseFile(prn);
// 关闭打印机,结束打印
end;

找了点,给你参考
 
AssignFile(prn,'LPT1') 传送任意文件到打印机
AssignPrn(prn) 传送文本文件到打印机
任意文件和文本文件的区别
procedure AssignFile(var F: file;
FileName: string);
F是任意类型的文件变量,Filename是要打印的文件名
procedure AssignPrn(var F: Text);
F是文本类型的文件变量
再调用上面的过程后还需调用rewrite()
 
也就是说 assignprn只能传送文本信息(不包括控制码),并且,只能传送给默认打印机,也就是LPT1端口
而Assignfile是能传任意内容到指定的端口,如:LPT1、LPT2、COM1、COM2,同时也支持控制码的传送
对不?
 
接受答案了.
 
后退
顶部