因为不通用,所以我没有用DELPHI写过,
很久以前用TC2.0写的,用EPSON指令集
/*打印一行汉字(字符数组,放大参数(是否采用倍宽打印),字符长度,打印端口[通常为0])*/
void printline(unsigned char ch[],int fd,int cd,int print_port)
{ int i;
unsigned char chh[2];
if (fd==2)
{
biosprint(0,27,print_port);
biosprint(0,14,print_port);
}
for (i=0;i<cd;i++)
if (ch<0xf8)
{
biosprint(0,ch,print_port);
if (ch>0xa0)
{
i++;
biosprint(0,ch,print_port);
}
}
else
{
chh[0]=ch;
i++;
chh[1]=ch;
dylpz(fd,chh,print_port);//用于打印一些在UCDOS/HDDOS中自造的汉字
if (fd==1)
biosprint(0,20,print_port);
if (fd==2)
{
biosprint(0,27,print_port);
biosprint(0,14,print_port);
}
}
biosprint(0,20,print_port);
}
在DELPHI中,你把PRN当成文件写就可以了,
如下:
ASSIGNED('PRN',fp);
write(fp,打印机指令);//如EPSON换行:write(fp,27);write(fp,10);
write(fp,str);
close(fp);