📄 label3.pas
字号:
unit Label3;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, sctctrl, Sctvar, Sctrep, Buttons, Sctbtn,
ExtCtrls, DB, DBTables, Grids, DBGrids, AcePage;
const NumCols = 3;
type
TLabelsForm = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
ReportHeaderBand: TSctBand;
ReportHeaderBandlevel: TSctLevel;
PageHeaderBand: TSctBand;
PageHeaderBandlevel: TSctLevel;
DetailBand: TSctBand;
DetailBandlevel: TSctLevel;
PageFooterBand: TSctBand;
PageFooterBandlevel: TSctLevel;
ReportFooterBand: TSctBand;
ReportFooterBandlevel: TSctLevel;
ReportPage: TSctGrouppage;
SctReport1: TSctReport;
svarDataTime: TSctDateTimeVar;
svarPage: TSctPageVar;
DataSourceGuide: TSctDataSourceGuide;
Add1: TSctExprvar;
Add2: TSctExprvar;
Add3: TSctExprvar;
Sctvarlabel1: TSctvarlabel;
Sctvarlabel2: TSctvarlabel;
Sctvarlabel3: TSctvarlabel;
procedure ReportPageDataStart(Sender: TObject);
procedure ReportPageDataSkip(Sender: TObject);
procedure ReportPageDataFinish(Sender: TObject);
procedure Add1GetData(oVar: TSctvar);
procedure FillAddresses;
private
{ Private declarations }
MyAddress: array[0..NumCols] of String;
public
{ Public declarations }
end;
var
LabelsForm: TLabelsForm;
implementation
{$R *.DFM}
procedure TLabelsForm.ReportPageDataStart(Sender: TObject);
begin
if Not Table1.Active Then Table1.Active := True;
Table1.First;
if Table1.Eof then TSctGroupPage(Sender).DataIsFinished := True;
FillAddresses;
end;
procedure TLabelsForm.FillAddresses;
var
Spot: Integer;
begin
Spot := 0;
while (Spot < NumCols) And Not Table1.Eof do
begin
if Not Table1.Eof then
begin
{ TSctVarLabels have a suppressblanklines property that
can be used is one of the address lines is blank }
MyAddress[Spot] := Table1.FieldByName('COMPANY').AsString + #10
+ Table1.FieldByName('ADDR1').AsString + #10
+ Table1.FieldByName('ADDR2').AsString + #10
+ Table1.FieldByName('CITY').AsString + ', '
+ Table1.FieldByName('STATE').AsString
+ Table1.FieldByName('ZIP').AsString;
Table1.Next;
end else MyAddress[Spot] := '';
Inc(Spot);
end;
end;
procedure TLabelsForm.ReportPageDataSkip(Sender: TObject);
begin
if Table1.Eof Then TSctGroupPage(Sender).DataIsFinished := True
else FillAddresses;
end;
procedure TLabelsForm.ReportPageDataFinish(Sender: TObject);
begin
Table1.Active := False;
end;
procedure TLabelsForm.Add1GetData(oVar: TSctvar);
begin
oVar.AsString := MyAddress[oVar.Tag];
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -