⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 suite component ace report
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, Db, DBTables, StdCtrls, Buttons, SctBtn, SctVar,
  ExtCtrls, SctRep, Menus, AcePage, SctCtrl;

type
  TForm1 = class(TForm)
    SctReport1: TSctReport;
    ReportPage: TSctGrouppage;
    ReportHeaderBand: TSctBand;
    ReportHeaderBandlevel: TSctLevel;
    PageHeaderBand: TSctBand;
    PageHeaderBandlevel: TSctLevel;
    DetailBand: TSctBand;
    DetailBandlevel: TSctLevel;
    PageFooterBand: TSctBand;
    PageFooterBandlevel: TSctLevel;
    ReportFooterBand: TSctBand;
    ReportFooterBandlevel: TSctLevel;
    SctReportButton1: TSctReportButton;
    BackBiolifeSource: TDataSource;
    FrontbiolifeSource: TDataSource;
    biolifeTable: TTable;
    DBGrid1: TDBGrid;
    svarDateTime: TSctDateTimeVar;
    svarPage: TSctPageVar;
    DataSourceGuide: TSctDataSourceGuide;
    DataSourceGuide1: TSctDataSourceGuide;
    biolifetableSpecies_NoVar: TSctDBVar;
    biolifetableCategoryVar: TSctDBVar;
    biolifetableCommon_NameVar: TSctDBVar;
    biolifetableSpecies_NameVar: TSctDBVar;
    biolifetableLength__cm_Var: TSctDBVar;
    biolifetableLength_InVar: TSctDBVar;
    biolifetableNotesVar: TSctDBVar;
    biolifetableGraphicVar: TSctDBVar;
    biolifetableSpecies_NoVar1: TSctDBVar;
    biolifetableCategoryVar1: TSctDBVar;
    biolifetableCommon_NameVar1: TSctDBVar;
    biolifetableSpecies_NameVar1: TSctDBVar;
    biolifetableLength__cm_Var1: TSctDBVar;
    biolifetableLength_InVar1: TSctDBVar;
    biolifetableNotesVar1: TSctDBVar;
    biolifetableGraphicVar1: TSctDBVar;
    FrontDataBand: TSctSubDataBand;
    DataLevel: TSctLevel;
    BackDataBand: TSctSubDataBand;
    Data1Level: TSctLevel;
    FrontDataBandHeader: TSctDataHeadBand;
    FrontDataBandHeaderLevel: TSctLevel;
    BackDataBandHeader: TSctDataHeadBand;
    BackDataBandHeaderLevel: TSctLevel;
    varlabel: TSctvarlabel;
    varlabel1: TSctvarlabel;
    varlabel2: TSctvarlabel;
    ImageLabel: TSctImageLabel;
    varlabel3: TSctvarlabel;
    varlabel4: TSctvarlabel;
    varlabel5: TSctvarlabel;
    varlabel6: TSctvarlabel;
    varlabel7: TSctvarlabel;
    ImageLabel1: TSctImageLabel;
    Sctvarlabel1: TSctvarlabel;
    Sctvarlabel2: TSctvarlabel;
    Sctvarlabel3: TSctvarlabel;
    Sctvarlabel4: TSctvarlabel;
    procedure ReportPageDataStart(Sender: TObject);
    procedure ReportPageDataSkip(Sender: TObject);
    procedure FrontDataBandDataStart(Sender: TObject);
    procedure FrontDataBandDataSkip(Sender: TObject);
    procedure BackDataBandDataStart(Sender: TObject);
    procedure BackDataBandDataSkip(Sender: TObject);
  private
    { Private declarations }
    RecordsPerPage, RecordSpot: Integer;
    StartBookMark: TBookmark;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ReportPageDataStart(Sender: TObject);
begin
  biolifeTable.First;
  RecordsPerPage := 5;
  TSctGroupPage(Sender).DataIsFinished := biolifeTable.Eof;
end;

procedure TForm1.ReportPageDataSkip(Sender: TObject);
begin
  TSctGroupPage(Sender).DataIsFinished := biolifeTable.Eof;
end;

procedure TForm1.FrontDataBandDataStart(Sender: TObject);
begin
  RecordSpot := 0;
  if biolifeTable.eof then TSctSubDataBand(Sender).DataIsFinished := True
  else
  begin
    StartBookMark := biolifeTable.GetBookmark;
    Inc(RecordSpot);
  end;
end;

procedure TForm1.FrontDataBandDataSkip(Sender: TObject);
begin
  biolifeTable.Next;
  if biolifeTable.eof or (RecordSpot >= RecordsPerPage) then TSctSubDataBand(Sender).DataIsFinished := True
  else
  begin
    Inc(RecordSpot);
  end;
end;

procedure TForm1.BackDataBandDataStart(Sender: TObject);
begin
  RecordSpot := 0;
  biolifeTable.GotoBookmark(StartBookmark);
  biolifeTable.FreeBookmark(StartBookmark);
  StartBookmark := nil;
  Inc(RecordSpot);
end;

procedure TForm1.BackDataBandDataSkip(Sender: TObject);
begin
  biolifeTable.Next;
  if biolifeTable.eof or (RecordSpot >= RecordsPerPage) then TSctSubDataBand(Sender).DataIsFinished := True
  else
  begin
    Inc(RecordSpot);
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -