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

📄 basicdata.pas

📁 飞恒进销存(超市批发)管理系统V5.1(含源程序) 语言:Delphi 6/7 相关控件:FastReport 2.4以上, Ehlib 3.4以上 1.数据库为fhe2db_V51.da
💻 PAS
字号:
unit BasicData;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ImgList, Menus, ComCtrls, ToolWin, Grids, DBGridEh, ExtCtrls, ADODB,
  DB, StdCtrls, Mask, DBCtrlsEh;

type
  TBasicDataForm = class(TForm)
    PMprint: TPopupMenu;
    Mpreview: TMenuItem;
    ILinfo: TImageList;
    BasicPanel: TPanel;
    BasicDataDBG: TDBGridEh;
    CoolBar1: TCoolBar;
    Tbinfo: TToolBar;
    Tbadd: TToolButton;
    Tbedit: TToolButton;
    Tbdel: TToolButton;
    ToolButton4: TToolButton;
    TBsec: TToolButton;
    Tbprint: TToolButton;
    TbRights: TToolButton;
    Tbsave: TToolButton;
    ToolButton7: TToolButton;
    Tbexit: TToolButton;
    qyBasicdata: TADOQuery;
    DSBasicdata: TDataSource;
    Panel1: TPanel;
    Label6: TLabel;
    dbevipno: TDBEditEh;
    procedure FormShow(Sender: TObject);
    procedure TbexitClick(Sender: TObject);
    procedure TbaddClick(Sender: TObject);
    procedure TbeditClick(Sender: TObject);
    procedure TbdelClick(Sender: TObject);
    procedure TBsecClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure dbevipnoKeyPress(Sender: TObject; var Key: Char);
    procedure BasicDataDBGDblClick(Sender: TObject);
  private
    { Private declarations }
    FSql:string;
    FTableId:integer;
    sTablename:string;
    sQueryCode,sFrName:string;
  public
    { Public declarations }
    property  xSql:string read FSql write FSql;
    property  xTableId:integer read FTableId write FTableId;
  end;

var
  BasicDataForm: TBasicDataForm;

implementation

uses datamodule1, VIPCards, edit;

{$R *.dfm}

procedure TBasicDataForm.FormShow(Sender: TObject);
var
  tmpStream:TADOBlobStream;
begin
  sTableName:=dataE2.aTblname[FTableid];
  Panel1.Visible:=(FTableid=101);
  // read blob field
  if dataE2.OpenTable('select * from queryModule where upper(ModuleCode)= :ModuleCode',sTableName) then
  begin
    tmpStream := TADOBlobStream.Create(DataE2.adoQuery1.FieldByName('GridColumns') as TBlobField, bmRead);
    xSql:=dataE2.ADOQuery1.fieldbyname('Sql1').asstring+' '+dataE2.ADOQuery1.fieldbyname('Sql2').asstring;
    sQueryCode:=dataE2.ADOQuery1.fieldbyname('queryCode').asstring;
    //相对应的报表文件名
    sFrName:=dataE2.ADOQuery1.fieldbyname('RptName').asstring;
    dataE2.ADOQuery1.close;  end
  else exit;

  try
    tmpStream.Position :=0;
    try
      BasicDataDBG.Columns.LoadFromStream(tmpStream);  //load columns from gridcolumns
    except
      BasicDataDBG.Columns.clear;
    end;
  finally
    tmpStream.Free ;
  end;
  TBsec.Click;
  BasicDataDBG.DataSource :=DSBasicdata ;
end;

procedure TBasicDataForm.TbexitClick(Sender: TObject);
begin
  close;
end;

procedure TBasicDataForm.TbaddClick(Sender: TObject);
begin
  case FTableid of
    101: begin
           qyBasicdata.Append;
           qyBasicdata.FieldByName('CardID').AsFloat:=edtForm.GetID('CardID','VIPCards');
           VIPCardsForm.showmodal;
         end;
  end;
end;

procedure TBasicDataForm.TbeditClick(Sender: TObject);
begin
  if not qyBasicdata.Eof then
    case FTableid of
      101: begin
             VIPCardsForm.showmodal;
             qyBasicdata.Edit;
           end;
    end;
end;

procedure TBasicDataForm.TbdelClick(Sender: TObject);
begin
  case FTableid of
    101: begin
           if not qyBasicdata.Eof then
             if Application.MessageBox('真的要删除当前记录吗?', '提示', MB_YESNO+MB_ICONWarning)=IDYES then
               qyBasicdata.Delete;
             //qyBasicdata.Post;
         end;
  end;
end;

procedure TBasicDataForm.TBsecClick(Sender: TObject);
begin
  with qyBasicdata do
  begin
    if active then close;
    sql.clear;
    sql.Text:=xSql;
    if FTableid=101 then
    begin
      Parameters[0].Value:=dbevipno.Text+'%';
    end;
    open;
  end;
end;

procedure TBasicDataForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  BasicDataDBG.DataSource :=nil;
end;

procedure TBasicDataForm.dbevipnoKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
    TBsec.Click;
end;

procedure TBasicDataForm.BasicDataDBGDblClick(Sender: TObject);
begin
  Tbedit.Click;
end;

end.

⌨️ 快捷键说明

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