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

📄 unit7.pas

📁 电力系统集中抄表 采集器 上位机软件 可以经行集中抄表
💻 PAS
字号:
unit Unit7;

interface

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

type
  TForm7 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Database1: TDatabase;
    DBFdir: TEdit;
    Edit1: TEdit;
    DbfName: TEdit;
    ADOQuery1: TADOQuery;
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure DbgridRefresh();
    procedure DbgridTitle();
  end;

var
  Form7: TForm7;

implementation
  uses Unit1;
{$R *.dfm}
procedure   tform7.DbgridRefresh();
var
  zz, S, ConStr, ii2: string;
  F: TextFile;
  i, ii: Integer;
begin
try
ADOQuery1.Close;
Edit1.Text:= '0';
DBGrid1.Refresh;
//DBFdir.Text:='c:\';
Unit7.Form7.DBFdir.Text := Unit1.Form1.DBFdir.Text;
zz:=Unit1.Form1.dbgrid2select.Text + '.dbf';//'FSJC_JZQ.dbf';
      ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="'
        + DBFdir.Text //ExtractFilePath(zz)
      + '";Extended Properties=dBase 5.0;Persist Security Info=False';
      S := ExtractFileName(zz);
      S := copy(S, 1, Pos('.dbf', Lowercase(S)) - 1);
      //ADOQuery1
      ADOQuery1.ConnectionString := ConStr;
      ADOQuery1.SQL.Clear;
     if Unit1.Form1.DBGrid1.Columns.Count = 30 then    //苏源表
        ADOQuery1.SQL.Add('select distinct bh,dz,dxh,byss,cbsj,sslbxm from ' + S);


     if Unit1.Form1.DBGrid1.Columns.Count = 23 then    //寰宇表
        ADOQuery1.SQL.Add('select distinct UP_BH,DZ,UP_SDB,CBSJ,lx from ' + S);

      ADOQuery1.Active := true;
      ADOQuery1.Open;
      DBGrid1.DataSource.DataSet:= ADOQuery1;
      DBGrid1.Refresh;
      DbgridTitle()
      except
      end;
end;


procedure TForm7.DBGrid1TitleClick(Column: TColumn);
var
  zz, S, ConStr, ii2,TitleStr: string;
  F: TextFile;
  i, ii, click: integer;

label FjSql;
begin
try
  TitleStr:=Column.FieldName;
  ADOQuery1.Close;
 // DBFdir.Text := 'c:\';
 Unit7.Form7.DBFdir.Text := Unit1.Form1.DBFdir.Text;
 zz:=Unit1.Form1.dbgrid2select.Text + '.dbf';//'FSJC_JZQ.dbf';

  ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="'
    + DBFdir.Text //ExtractFilePath(zz)
  + '";Extended Properties=dBase 5.0;Persist Security Info=False';
  S := ExtractFileName(zz);
  S := copy(S, 1, Pos('.dbf', Lowercase(S)) - 1);
  //ADOQuery1
  ADOQuery1.ConnectionString := ConStr;
  ADOQuery1.SQL.Clear;
  if Edit1.Text = '0' then begin
     if Unit1.Form1.DBGrid1.Columns.Count = 30 then    //苏源表
        ADOQuery1.SQL.Add('select distinct bh,dz,dxh,byss,cbsj,sslbxm from ' + S+ ' order by '+ TitleStr +  ' desc');

     if Unit1.Form1.DBGrid1.Columns.Count = 23 then    //寰宇表
        ADOQuery1.SQL.Add('select distinct UP_BH,DZ,UP_SDB,CBSJ,lx from ' + S+ ' order by '+ TitleStr +  ' desc');

    //ADOQuery1.SQL.Add('select * from ' + S + ' order by '+ TitleStr +  ' desc');
    Edit1.Text := '1';
    goto FjSql;
  end;

  if Edit1.Text = '1' then begin
  if Unit1.Form1.DBGrid1.Columns.Count = 30 then    //苏源表
        ADOQuery1.SQL.Add('select distinct bh,dz,dxh,byss,cbsj,sslbxm from ' + S+ ' order by '+ TitleStr +  ' Asc');

     if Unit1.Form1.DBGrid1.Columns.Count = 23 then    //寰宇表
        ADOQuery1.SQL.Add('select distinct UP_BH,DZ,UP_SDB,CBSJ,lx from ' + S+ ' order by '+ TitleStr +  ' Asc');
    //ADOQuery1.SQL.Add('select * from ' + S + ' order by '+ TitleStr +  '  ASC');
    Edit1.Text := '0';
  end;

  FjSql: ADOQuery1.Active := true;
  ADOQuery1.Open;
  DBGrid1.DataSource.DataSet := ADOQuery1;
  DBGrid1.Refresh;
  DbgridTitle();
  //ADOQuery1
   except
   end;
end;

procedure TForm7.FormCreate(Sender: TObject);
begin
try
except
end;
end;


procedure TForm7.DbgridTitle();
begin
 if Unit1.Form1.DBGrid1.Columns.Count = 30 then  begin  //苏源表
    DBGrid1.Columns[0].Title.caption := '表号';
    DBGrid1.Columns[1].Title.caption := '地址';
    DBGrid1.Columns[2].Title.caption := '段序号';
    DBGrid1.Columns[3].Title.caption := '本月示数';
    DBGrid1.Columns[4].Title.caption := '抄表时间';
    DBGrid1.Columns[5].Title.caption := '类别';
  end;

  if Unit1.Form1.DBGrid1.Columns.Count = 23 then begin   //苏源表
    DBGrid1.Columns[0].Title.caption := '表号';
    DBGrid1.Columns[1].Title.caption := '地址';
    DBGrid1.Columns[2].Title.caption := '示数';
    DBGrid1.Columns[3].Title.caption := '抄表时间';
    DBGrid1.Columns[4].Title.caption := '类别';
  end;

end;
end.

⌨️ 快捷键说明

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