function StringToFile(mString: string; mFileName: TFileName): Boolean; var vFile: file of Char; I: Integer; begin {$I-} AssignFile(vFile, mFileName); Rewrite(vFile); for I := 1 to Length(mString) do Write(vFile, mString[I]); CloseFile(vFile); {$I+} Result := (IOResult = 0) and (mFileName <> ''); end; { StringToFile }StringToFile(#27'|w'#45#1, 'C:\temp.txt'); StringToFile('type c:\temp.txt > PRN', 'C:\temp.bat'); WinExec('C:\temp.bat');
不过搂主可能没有,废话,有就不问了,
SQL5560(最后一朵蝴蝶兰) :你的没错吧,怎么没找到?
我知道使用汇编的方法写并口,然后把汇编程序内嵌到delphi中
procedure WritePort(ConByte:byte);
begin
ASM
MOV DX, portaddress;
MOV AL, ConByte;
OUT DX, AL;
END;
end;
ConByte对应为并口的控制字符
portaddress 为并口地址
应该能解决你的问题了
哪么去查一下ASSIC码把,把对应ASSIC码传给上边的过程,执行过程就能搞定了
MOV DX, portaddress;
MOV AL, ConByte;
OUT DX, AL;
这些是汇编程序,用来向并口写数据,portaddress是并口地址,到你机器的BIOS里能看到
是16进制的,同样conbyte也是16进制,是控制字符
var
vFile: file of Char;
I: Integer;
begin
{$I-}
AssignFile(vFile, mFileName);
Rewrite(vFile);
for I := 1 to Length(mString) do Write(vFile, mString[I]);
CloseFile(vFile);
{$I+}
Result := (IOResult = 0) and (mFileName <> '');
end; { StringToFile }StringToFile(#27'|w'#45#1, 'C:\temp.txt');
StringToFile('type c:\temp.txt > PRN', 'C:\temp.bat');
WinExec('C:\temp.bat');
可惜我是用的VISUAL FOXPRO 来打开的.当然VB 也可以.同样是一句话.
主要区别于你所使用的连接打印机的型号,你可以到打印机的网页去查找SAMPLE.至少
BASIC一定有的.DELPHI和BASIC也差不了多少.都是发送一个打印命令而已.
这个简单,你在论坛里搜索一下Dos,肯定可以找到