I'm printing labels and page 1 prints well, however after a form feed I have an extra line feed at the top of the page which pushes all my addresses down one line on every subsequent page.
Code:
PrinterSetupDialog1.execute;
AssignPrn(fPrn);
Rewrite(fPrn);
with Printer.Canvas do begin
Font.Name := 'Courier New';
Font.size := 14;
end;
dm.tblMembers.First;
iSpace:=23;
iPgCnt:=0;
while not dm.tblMembers.eof do begin
iCnt:=0;
sName:='';
sAddress1:='';
sAddress2:='';
sAddress3:='';
sPostCode:='';
while (iCnt <> 3) and (not dm.tblMembers.eof) do begin
if (dm.tblMembers['Club1'] = lEmail.text) or (dm.tblMembers['Club2'] = lEmail.text) or (dm.tblMembers['Club3'] = lEmail.text)then begin
sTemp:=dm.tblMembersMEMNAME.asString;
sTemp:=trim(sTemp);
iTemp:=Length(sTemp);
sName:=sName+sTemp+StringOfChar(' ',iSpace-iTemp);
sTemp:=dm.tblMembersADDRESS1.asString;
sTemp:=trim(sTemp);
iTemp:=Length(sTemp);
sAddress1:=sAddress1+sTemp+StringOfChar(' ',iSpace-iTemp);
sTemp:=dm.tblMembersADDRESS2.asString;
sTemp:=trim(sTemp);
iTemp:=Length(sTemp);
sAddress2:=sAddress2+sTemp+StringOfChar(' ',iSpace-iTemp);
sTemp:=dm.tblMembersADDRESS3.asString;
sTemp:=trim(sTemp);
iTemp:=Length(sTemp);
sAddress3:=sAddress3+sTemp+StringOfChar(' ',iSpace-iTemp);
sTemp:=dm.tblMembersPOSTCODE.asString;
sTemp:=trim(sTemp);
iTemp:=Length(sTemp);
sPostCode:=sPostCode+sTemp+StringOfChar(' ',iSpace-iTemp);
iCnt:=iCnt+1;
end;
dm.tblMembers.next;
end;
WriteLn(fPrn,Copy(sName,1,65));
WriteLn(fPrn,Copy(sAddress1,1,65));
WriteLn(fPrn,Copy(sAddress2,1,65));
WriteLn(fPrn,Copy(sAddress3,1,65));
WriteLn(fPrn,Copy(sPostCode,1,65)+#13#10#13#10);
iPgCnt:=iPgCnt+1;
if iPgCnt=7 then begin
WriteLn(fPrn,#12);
iPgCnt:=0;
end;
end;
CloseFile(fPrn);
dm.tblMembers.First;
end;