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

📄 tx_file_u.~pas

📁 可查询任意oracle库中的表内容 万能数据库表查询
💻 ~PAS
字号:
unit tx_file_u;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, Grids, DBGridEh, RzTabs, ADODB, RzButton,
  StdCtrls, Mask, RzEdit, ComCtrls, ExtCtrls, RzPanel, RzCmboBx,
  TFlatMaskEditUnit, TFlatMaskDateUnit, RzStatus, WinSkinData, DBGridEhImpExp;

type
  Tcxbsj_f = class(TForm)
    DataSource1: TDataSource;
    SaveDlg: TSaveDialog;
    btn_sc: TRzBitBtn;
    btn_exit: TRzBitBtn;
    RzGroupBox1: TRzGroupBox;
    Label1: TLabel;
    RzPageControl1: TRzPageControl;
    TabSheet1: TRzTabSheet;
    dbg_xs: TDBGridEh;
    btn_cx: TRzBitBtn;
    DataSource2: TDataSource;
    StatusBar1: TStatusBar;
    SkinData1: TSkinData;
    btn_hf: TRzBitBtn;
    Dialog1: TOpenDialog;
    edt_bm: TRzEdit;
    Label3: TLabel;
    cbx_bm: TRzComboBox;
    procedure btn_exitClick(Sender: TObject);
    procedure btn_cxClick(Sender: TObject);
    procedure edt_qssjKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cbx_lxKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure dbg_xsDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
    procedure btn_hfClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btn_scClick(Sender: TObject);
    procedure cbx_bmChange(Sender: TObject);
    procedure cbx_bmKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edt_bmKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edt_bmChange(Sender: TObject);
  private
    { Private declarations }
    procedure p_mouse(lx:integer);
  public
    { Public declarations }
  end;

var
  cxbsj_f: Tcxbsj_f;

implementation

uses dm_u;

{$R *.dfm}

procedure Tcxbsj_f.p_mouse(lx: Integer); //控制鼠标形状
begin
  if lx = 1 then Screen.Cursor := -19 //等待状态
  else Screen.Cursor := -2; //恢复原状
end;
procedure Tcxbsj_f.btn_exitClick(Sender: TObject);
begin
  close;
end;

procedure Tcxbsj_f.btn_cxClick(Sender: TObject);
var sql: string;
begin
  p_mouse(1);
  with dm.ads1 do
  begin
    close;
    commandtext := 'select * from ' + edt_bm.Text;
    open;
    dbg_xs.Columns[0].Footer.valuetype:=fvtStaticText;
    dbg_xs.Columns[0].Footer.value:='总计:';
    dbg_xs.Columns[1].Footer.valuetype:=fvtCount;
  end;
  p_mouse(0);
end;

procedure Tcxbsj_f.edt_qssjKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 13 then
    perform(wm_nextdlgctl, 0, 0);
end;

procedure Tcxbsj_f.cbx_lxKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 13 then btn_cx.SetFocus;
end;

procedure Tcxbsj_f.dbg_xsDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
begin
  if gdSelected in State then Exit; //隔行改变网格背景色:
  if dm.ads1.RecNo mod 2 = 0 then
    (Sender as TDBGridEh).Canvas.Brush.Color := clwhite //clinfobk //定义背景颜色
  else
    (Sender as TDBGridEh).Canvas.Brush.Color := clCream; //RGB(191, 255, 223);  //定义背景颜色
  //定义网格线的颜色:
  dbg_xs.DefaultDrawColumnCell(Rect, DataCol, Column, State);
  with (Sender as TDBGridEh).Canvas do //画 cell 的边框
  begin
    Pen.Color := $00D8E9EC; //$00ff0000; //定义画笔颜色(蓝色)
    MoveTo(Rect.Left, Rect.Bottom); //画笔定位
    LineTo(Rect.Right, Rect.Bottom); //画蓝色的横线
    Pen.Color := clbtnface; //定义画笔颜色(兰色)
    MoveTo(Rect.Right, Rect.Top); //画笔定位
    LineTo(Rect.Right, Rect.Bottom); //画绿色
  end;
end;

procedure Tcxbsj_f.btn_hfClick(Sender: TObject);
begin
  Dialog1.filter := 'Skin files (*.skn)|*.SKN';
  Dialog1.initialdir := '..\..\skins\';
  if Dialog1.execute then
    SkinData1.skinfile := dialog1.filename;
  if not SkinData1.Active then
    SkinData1.Active := true;
end;

procedure Tcxbsj_f.FormCreate(Sender: TObject);
begin
  rzpagecontrol1.ActivePageIndex := 0;
  with dm.ads2 do
  begin
    close;
    commandtext:='select * from tab order by tname';
    open;
    first;
    while not eof do
    begin
      cbx_bm.Items.Add(fieldbyname('tname').AsString);
      next;
    end;
  end;
end;

procedure Tcxbsj_f.btn_scClick(Sender: TObject);
var dbg: Tdbgrideh;
  ExpClass: TDBGridEhExportClass;
  Ext: string;
  path: string;
begin
  SaveDlg.FileName := edt_bm.Text;
  if SaveDlg.Execute then
  begin
    case SaveDlg.FilterIndex of
      1: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
      2: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
      3: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
      4: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
      5: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
      6: begin ExpClass := TDBGridEhExportAsRTF; Ext := '*.*'; end;
    else
      ExpClass := nil; Ext := '';
    end;
    if ExpClass <> nil then
    begin
      if UpperCase(Copy(SaveDlg.FileName, Length(SaveDlg.FileName) - 2, 3)) <>
        UpperCase(Ext) then
        SaveDlg.FileName := SaveDlg.FileName + '.' + Ext;
      dbg := dbg_xs;
      dbg.Selection.SelectAll;
      SaveDBGridEhToExportFile(ExpClass, dbg {TDBGridEh(ActiveControl)},
        SaveDlg.FileName, False);
      dbg.Selection.Clear;
      ShowMessage('导出' + SaveDlg.FileName + '.' + Ext + '文件成功。');
    end;
  end;
end;

procedure Tcxbsj_f.cbx_bmChange(Sender: TObject);
begin
  edt_bm.Text:=cbx_bm.Items.Strings[cbx_bm.itemindex];
end;

procedure Tcxbsj_f.cbx_bmKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then edt_bm.SetFocus;
end;

procedure Tcxbsj_f.edt_bmKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then btn_cx.SetFocus;
end;

procedure Tcxbsj_f.edt_bmChange(Sender: TObject);
begin
  cbx_bm.ItemIndex:=cbx_bm.Items.IndexOf(edt_bm.Text);
end;

end.

⌨️ 快捷键说明

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