公司交给我个条码程序,打印效果是  第一行标题,下面是条码 最后是选中记录中的字段 
现在要改程序,打印效果要求是   第一行                 标题 
                               第二行   A:记录中的第2个字段  B:第3个字段
                               第三行   C:4                D:5
                           第四行          条码   
程序如下  望高手指教啊 
procedure TForm1.Button6Click(Sender: TObject);
begin
  n:=checklistbox1.Count;  while n>0  do
   if n=1 then        begin
       // 打印一条
          openport('TSC TTP-344M');
          clearbuffer();
          sendcommand('size 68mm,19mm');
          //sendcommand('gap 2mm,0');
          // 打印标签的长度,宽度,速度,浓度,感应器类别,垂直间距,偏移距离
          setup('68','19','3','12','0','2','2');
          //打印文字
          //windowsfont(24,60,48,0,0,0,'标楷体',pchar(edit1.text));
          windowsfont(48,30,strtoint(edit4.Text),0,0,0,'标楷体',pchar(edit1.text));
          //打印条码x方向起点,y方向起点,字符串型别,高度,1列印玛文,旋转 ,,,内容
          barcode('72','84','128',pchar(edit9.text),'1','0','2','2',pchar(copy(checklistbox1.Items[0],0,12)));
          windowsfont(12,160,strtoint(edit8.text),0,0,0,'标楷体',pchar(copy(checklistbox1.Items[n-1],13,length(checklistbox1.Items[0]))));
          nobackfeed();
          printlabel('1','1');
          closeport;
          n:=n-1;
        end
        else
        begin
     // 打印多条
        openport('TSC TTP-344M');
        clearbuffer();
        begin
          sendcommand('size 68mm,19mm');
          setup('68','19','3','12','0','2','2');
          //打印文字
          windowsfont(48,30,strtoint(edit4.text),0,0,0,'标楷体',pchar(edit1.text));
          windowsfont(448,30,strtoint(edit4.text),0,0,0,'标楷体',pchar(edit1.text));
          windowsfont(48,60,30,0,2,0,'标楷体',pchar('资产组别:'+checklistbox1.items));//   打印字
          windowsfont(448,60,30,0,2,0,'标楷体',pchar('资产类别:'));//   打印字
          //打印条码x方向起点,y方向起点,字符串型别,高度,1列印玛文,旋转 ,,,内容
          barcode('72','84','128',pchar(edit9.text),'1','0','2','2',pchar(copy(checklistbox1.Items[n-1],0,12)));
          barcode('472','84','128',pchar(edit9.text),'1','0','2','2',pchar(copy(checklistbox1.Items[n-2],0,12)));          windowsfont(48,240,strtoint(edit8.text),0,0,0,'标楷体',pchar(copy(checklistbox1.Items[n-1],13,length(checklistbox1.Items[n-1]))));
          windowsfont(448,240,strtoint(edit8.text),0,0,0,'标楷体',pchar(copy(checklistbox1.Items[n-2],13,length(checklistbox1.Items[n-2]))));
          nobackfeed();
          printlabel('1','1');
          n:=n-2;
          end;
          closeport;
       end;
      end;
      end.

解决方案 »

  1.   

    咋没人呢  各位高手  俺刚学会上CSDN   你们就照顾下吧
      

  2.   

    如果你的源程序可以直接编译的话,你只需要修改几行语句就好了啊。
    就是修改
      //打印文字 
                        windowsfont(48,30,strtoint(edit4.text),0,0,0,'标楷体',pchar(edit1.text)); 
                        windowsfont(448,30,strtoint(edit4.text),0,0,0,'标楷体',pchar(edit1.text)); 
                        windowsfont(48,60,30,0,2,0,'标楷体',pchar('资产组别:'+checklistbox1.items));//       打印字 
                        windowsfont(448,60,30,0,2,0,'标楷体',pchar('资产类别:'));//       打印字 这些代码,你可以尝试加入一行无任何意思的文字进去看看效果,变调整变修改。例如
      //打印文字 
                        windowsfont(48,30,strtoint(edit4.text),0,0,0,'标楷体',pchar(edit1.text)); 
                        windowsfont(448,30,strtoint(edit4.text),0,0,0,'标楷体',pchar(edit1.text)); 
                        windowsfont(48,60,30,0,2,0,'标楷体',pchar('资产组别:'+checklistbox1.items));//       打印字 
                        windowsfont(448,60,30,0,2,0,'标楷体',pchar('资产类别:'));//       打印字 
                        windowsfont(48,60,30,0,2,0,'标楷体',pchar('资产组别:'+checklistbox1.items));//       打印字 
                        windowsfont(448,60,30,0,2,0,'标楷体',pchar('资产类别:'));//       打印字 
    看看效果。