Pos打印机编程的Assignfile(MyFile,lpt1)问题,急!

代码如下:
MyFile: TextFile;
begin
Assignfile(MyFile,'lpt1'); // or 'com1'
Rewrite(MyFile);
Writeln(MyFile, 控制码); //控制码 如:chr(27)+'a'
System.CloseFile(MyFile);

每次第一次执行此代码时,就出现io error 103

如果没有打开pos打印机,就会出现死机现象,不知道怎样解决?
[301 byte] By [hup-点化生命] at [2008-1-9]
# 1
var
MyFile: TextFile;
FileName: string;
begin
FileName := nmg_StrPath+'lpt1';//nmg_StrPath 在窗体CREATE的时候动态赋值
//还有你文件名若需要指定是什么类型可以加后缀,也可以指定位置,这里我只做个比方
if not FileExists(FileName) then //这句话来判断文件是否存
begin
AssignFile(MyFile,FileName);
Rewrite(MyFile,FileName);
CloseFile(MyFile);
end
else begin
Assignfile(MyFile,FileName); // or 'com1'
Append(MyFile);
Writeln(MyFile, 控制码); //控制码 如:chr(27)+'a'
CloseFile(MyFile);
end;
zuoansuifeng-左岸 at 2007-10-19 > top of Msdn China Tech,Delphi,非技术区...
# 3
to:zuoansuifeng(左岸) :
nmg_StrPath的作用是什么?
我现在打印的代码是一行行输出的
hup-点化生命 at 2007-10-19 > top of Msdn China Tech,Delphi,非技术区...
# 4
我现在的代码:
procedure TfrmPrint.Writecommdata(text: string);
var F: TextFile;
begin
AssignFile(F, 'lpt1');
Rewrite(F);
Write(F, text);
CloseFile(F);
end;
hup-点化生命 at 2007-10-19 > top of Msdn China Tech,Delphi,非技术区...
# 5
nmg_StrPath 在窗体CREATE的时候动态赋值

Path相当于路径

这里是定义一个全局的路径变量 可以指定它的输出路径

zuoansuifeng-左岸 at 2007-10-19 > top of Msdn China Tech,Delphi,非技术区...
# 6
Assignfile(MyFile,'LPT1'); //我用大写的,'LPT1'表示并口1
Rewrite(MyFile);
Writeln(MyFile, 控制码);
CloseFile(MyFile); //不用加system.
//以上代码我测试过没问题
# 7
串口的可以考虑使用串口控件,如spcomm
# 8
to luxuewei5214(小卢:以下内容仅供参考) :
不用加system,是什么意思?

Writeln与Write有什么区别?
hup-点化生命 at 2007-10-19 > top of Msdn China Tech,Delphi,非技术区...
# 9
还是不行,在Write或Writeln句出现死机
hup-点化生命 at 2007-10-19 > top of Msdn China Tech,Delphi,非技术区...
# 10
可以使用批处理文件做
--temp.data-- // 内容为两个字节
Chr(27) + 'a'

--temp.bat--
type temp.data > LPT1

让后用,赫赫
WinExec('temp.bat', SW_HIDE);
# 11
没有好的解决办法吗?
hup-点化生命 at 2007-10-19 > top of Msdn China Tech,Delphi,非技术区...
# 12
好的办法已经都写出来了!是你自己领悟不到楼上高人们的精华……
嘿嘿~~
newfang-传说中的MIC at 2007-10-19 > top of Msdn China Tech,Delphi,非技术区...
# 13
那请你指点迷津!
hup-点化生命 at 2007-10-19 > top of Msdn China Tech,Delphi,非技术区...
# 14
http://topic.Codefund.cn/t/20031011/09/2343184.html
hup-点化生命 at 2007-10-19 > top of Msdn China Tech,Delphi,非技术区...
# 15
to luxuewei5214(小卢:以下内容仅供参考) :
不用加system,是什么意思?
答:直接写Closefile;
Writeln与Write有什么区别?
答:前者输出后换行;后者输出不换行