procedure TForm1.Button4Click(Sender: TObject);
var
PText:system.text;
i:integer; 
begin
////      Assignfile(PText,'lpt1'); // 设置打印机
  if printdialog1.execute then  AssignPRN(PText);
  Rewrite(PText);
  Printer.Canvas.Font.Name:='黑体'; //控制字体
  Printer.Canvas.Font.Size:=10; // 控制字号
  writeln(Ptext,'卡号:210008888888');
  Printer.Canvas.Font.Size:=10;
  writeln(Ptext,'');
  writeln(Ptext,'密码:111111');
  writeln(Ptext,'');
  Printer.Canvas.Font.Size:=8;
  writeln(Ptext,'开卡时间'+datetimetostr(now));
  writeln(Ptext,''); //打印空行
  system.close(Ptext);
帮我看看这个打印好像不行,在打印任务栏上显示,但不打印,一会就在打印任务栏上自动删除!!如果用上面的assignfile函数就可以打印,但打印设置的字体之类没用了,拜托了

解决方案 »

  1.   

    字体可用printer的控制码,有的小票机带的。
      

  2.   

    printer的控制码我以前用过的,我当时用的是爱普生的票据打印机,你可以查看下打印机的厂商说明,那里面应该有字体控制这些命令的,或者你直接问厂家,他们会给你的
      

  3.   

    恩,和打印机有关,像爱普生就得使用后缀带M的型号,如TM-U220BM,这样就可以设置字体大小等,
    而TM-U220B就不支持中文 设置了
    你自己好好看下打印机说明书,或咨询打印机公司客服。