我用的是Epson LQ-300K+针式打印机,竟然无法打印中文
使用控制命令也不行,谁能帮我!
ar
LPT1File: TextFile;
sTemp: string;
x: integer;
begin
AssignFile(LPT1File, 'LPT1');
try
Rewrite(LPT1File);
// Writeln(LPT1File, #27 + '@');
write(LPT1File, chr(28) + chr(ord('&'))); //Chr(28) 即 FS
// write(LPT1File, chr(28) + chr(ord('2')));
Writeln(LPT1File, #28#38);
Writeln(LPT1File, '测试');
Writeln(LPT1File, #28#46);
finally
CloseFile(LPT1File);
end;
使用控制命令也不行,谁能帮我!
ar
LPT1File: TextFile;
sTemp: string;
x: integer;
begin
AssignFile(LPT1File, 'LPT1');
try
Rewrite(LPT1File);
// Writeln(LPT1File, #27 + '@');
write(LPT1File, chr(28) + chr(ord('&'))); //Chr(28) 即 FS
// write(LPT1File, chr(28) + chr(ord('2')));
Writeln(LPT1File, #28#38);
Writeln(LPT1File, '测试');
Writeln(LPT1File, #28#46);
finally
CloseFile(LPT1File);
end;
解决方案 »
- 谁能解释一下procedure WMMOVE(var Msg:TMessage);message WM_MOVE;
- 数据库时informix insert语句含中文就插入失败
- 关于TCanvas的一个问题
- 请问:如何判断一个控件是否具有数据感知属性?
- QReport控件怎么安装?
- 应用程序图标如何改变\/?
- 菜问题:程序中如何实现控制SQL SERVER启动和停止(程序与SQL SERVER同一台机器)?
- 封闭开发告一段落,轻松一下,散份
- 字符串处理
- Tblobfield(table.fieldbyname(photo.datafield))中TBlobField为何意?
- 如何通过读取注册表来获取所有文件类型的ICO图标,并存到ImageList里面!!!
- 一不小心升星了,散点分,再问一个菜单项hint显示问题.
EPSON LQ300没有中文字库,打不了中文。
自己画图吧。
Epson LQ-300K+针式打印机有中文字库的
在DOS系统中打印输出的中文是乱码,但英文与数字正常。调整打印机控制面板的字体键不起作用。二.原因分析:
在DOS、Unix等非Windows系统中进行打印时,调用的是打印机自带的硬字库,如果控制面板的字体设置为非中文方式,就会出现打印英文与数字正常,而中文乱码的情况。
说明:
1. 打印机控制面板的字体出厂默认为“宋体”,一般无需更改。
2. Windows系统中通过打印机驱动进行打印时,是按照图形方式进行打印,所以面板上的字体设置不会影响到打印效果。三、解决方法:
1. 打开打印机,确保控制面板上的暂停灯与缺纸灯熄灭;
2. 按住暂停键(3秒),直到暂停灯开始闪烁,再松开暂停键;
3. 此时可通过面板上的字体键设置字体,将字体设置成宋体模式;
4. 当选择字体完毕后,按下暂停键,暂停灯熄灭,这样就完成了设置字体的全部步骤,在DOS系统中即可正常打印。*****************************
上面是我在Epson官方网站上看到的,有点明白原因了,但我按照解决方法来做也不能成功,很奇怪,难道我买的这台打印机有问题?!
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;282474
var
bResult : Boolean;
hPrinter : Cardinal;
tDocInfo : _DOC_INFO_1A;
iWrited : Cardinal;
begin
bResult := OpenPrinter(PChar(sDeviceName), hPrinter, nil);
if bResult then
begin
tDocInfo.pDocName := PChar(sDocName);
tDocInfo.pOutputFile := nil;
tDocInfo.pDatatype := nil;
bResult := StartDocPrinter(hPrinter, 1, @tDocInfo) <> 0;
if bResult then
begin
bResult := StartPagePrinter(hPrinter);
bResult := bResult and WritePrinter(hPrinter, @sData[1], Length(sData), iWrited);
bResult := bResult and EndPagePrinter(hPrinter);
EndDocPrinter(hPrinter);
end;
ClosePrinter(hPrinter);
end;
Result := bResult;
end;......
SendDataToPrinter('打印机名称', 'A Test', #28'&'#28#38'测试'#28#46);
......