2024年4月29日发(作者:)

// 向LPT口打印一个文本文件

procedure ile(AFileToPrint: string);

var

Port, FileToPrint: TextFile;

ALine: string;

begin

AssignFile(FileToPrint, AFileToPrint);

Reset(FileToprint);

AssignFile(Port, 'LPT1 ');

Rewrite(Port);

while not Eof(FileToPrint) do

begin

Readln(FileToPrint, ALine);

Writeln(Port, ALine);

end;

CloseFile(Port);

CloseFile(FileToPrint);

end;

// 打印小单

// 输出到文本,稍后再输出到LPT1端口;

OutFile:=ExtractFilePath(e)+ ' ';

AssignFile(F, OutFile);

Rewrite(F);

CompanyTitle:=yTitle+ '购物清单 ';

CompanyTitle:=StringOfChar( ' ', (32-Length(CompanyTitle)) div

2)+CompanyTitle;

Writeln(F, CompanyTitle);

Writeln(F, '-------------------------------- ');

// Writeln(F, '收银机: '++ ' 单号: '+);

// Writeln(F, '收银员: '++ ' 日期: '+);

Write(F, '收银员: ', Format( '%-10s ', [n]));

Writeln(F, '单号: '+n);

Writeln(F, '日期: '+n+ ' 时间: '+FormatDateTime( 'hh:mm:ss ',

Now));

Writeln(F, '-------------------------------- ');

// 456789012

Writeln(F, '商品名称 数量 单价 金额 ');

eControls;

;

while not do

begin

MerName:=alues[ 'MerName '];

len:=Length(MerName);

if len < 18 then

MerName:=MerName+StringOfChar( ' ', 18-len);

if (len mod 2) = 0 then

Write(F, Copy(MerName, 1, 18))

else

Write(F, (Copy(MerName, 1, 17)+ ' '):18);

Write(F, alues[ 'Qty ']:2);

Write(F, FormatFloat( '0.0 ', alues[ 'Price ']):6);

Writeln(F, FormatFloat( '0.0 ', alues[ 'Amount ']):6);

;

end;

Controls;

Writeln(F, '-------------------------------- ');

Writeln(F, '合计: ',n:8, ' 让利: ', n:8);

Writeln(F, '实收: ',n:8, ' 金卡: ',

FormatCurr( '0.00 ', CardPayment):8

);

Writeln(F, '现金: ',

FormatCurr( '0.00 ', StrToCurr()-CardPayment):8,

' 找补: ', n:8

);

Writeln(F, ' '); //空行,添加或减少空行即可控制出纸多少。

...

PrintFile(Outfile); // 输出文件到打印口

输出如下例:

XX化妆品世界购物清单

--------------------------------

收银员:01 单号:000000329

日期:2003-07-16 时间:17:53:28

--------------------------------

商品名称 数量 单价 金额

8g华美健强力消痘乳 4 16.0 64.0

小口红 1 5.0 5.0

180g隆力奇蛇胆不紧 3 20.8 62.4

速效脱毛露 2 7.5 15.0

美容海藻面膜 3 18.0 54.0

蕾琪唇彩 1 12.0 12.0

.....