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

📄 unit1.pas

📁 将网页数据分页的方法运用到delphi上的实例
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    btnFirst: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    btnPrior: TButton;
    btnNext: TButton;
    btnLast: TButton;
    Button1: TButton;
  procedure fanye;
    procedure FormCreate(Sender: TObject);
    procedure btnFirstClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  pages,recordcount,countpage:integer;
  PageNo,countpages:string;
  pagecount:real;
implementation

{$R *.dfm}
procedure TForm1.fanye;
begin
     edit1.Text:=inttostr(pages);
     PageNo:=inttostr((pages-1)*countpage);
     countpages:=inttostr(countpage);
     ADODataSet1.Close;
     if   PageNo='0'  then
         ADODataSet1.CommandText:='select top '+countpages+' * from cz_chengzdbz'
      else
         ADODataSet1.CommandText:='select top '+countpages+' *  from cz_chengzdbz where id not in (select top '+PageNo+' id from cz_chengzdbz )' ;
     ADODataSet1.Open;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    countpage:=24;     //每页记录数
    ADODataSet1.Open;
    recordcount:=ADODataSet1.RecordCount;   //数据记录数
    ADODataSet1.Recordset.PageSize:=countpage;
    pagecount:=recordcount/countpage;
    if  pagecount>round(pagecount) then
        pagecount:=round(pagecount)+1
     else
        pagecount:=round(pagecount);
     pages:=1;
     edit1.Text:=inttostr(pages);
     fanye;
     edit2.Text:=inttostr(round(pagecount));
end;

procedure TForm1.btnFirstClick(Sender: TObject);
begin
    if Sender = btnFirst then
        pages := 1         //pages为当前页数
    else if Sender = btnPrior then  begin
          pages:=pages - 1;
          if   pages <1 then
              pages:=1;
       end
    else if Sender = btnNext then  begin
         pages:= pages+1 ;
         if  pages>pagecount then
             pages:=round(pagecount);
       end
    else pages :=round(pagecount);
       fanye;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   close;
end;

end.

⌨️ 快捷键说明

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