unit_enterprise.pas

来自「美汇美容网网站管理系统」· PAS 代码 · 共 497 行 · 第 1/2 页

PAS
497
字号
unit Unit_Enterprise;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, XPMenu, DBCtrls, StdCtrls, Mask, Buttons, Grids, DBGrids,
  ExtCtrls, ComCtrls, dxtree, dxdbtree, ToolWin, Unit_DM, DB;

type
  TForm_Enterprise = class(TForm)
    ControlBar1: TControlBar;
    ToolBar1: TToolBar;
    tbAdd: TToolButton;
    tbEdit: TToolButton;
    tbDel: TToolButton;
    ToolButton1: TToolButton;
    tbList: TToolButton;
    tbSearch: TToolButton;
    ToolButton2: TToolButton;
    tbClassManage: TToolButton;
    ToolButton4: TToolButton;
    tbClose: TToolButton;
    pcEnterprise: TPageControl;
    tsList: TTabSheet;
    Splitter1: TSplitter;
    Panel1: TPanel;
    Panel3: TPanel;
    dbtvClass: TdxDBTreeView;
    Panel2: TPanel;
    Panel4: TPanel;
    tsParticular: TTabSheet;
    GroupBox1: TGroupBox;
    Label12: TLabel;
    Label13: TLabel;
    XPMenu1: TXPMenu;
    pmClass: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N4: TMenuItem;
    N3: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    pmInfoList: TPopupMenu;
    N11: TMenuItem;
    pmInfoSearch: TPopupMenu;
    N7: TMenuItem;
    N8: TMenuItem;
    DBGrid1: TDBGrid;
    Label4: TLabel;
    dbeusername: TDBEdit;
    Label5: TLabel;
    dbeName: TDBEdit;
    Label6: TLabel;
    dbePrin: TDBEdit;
    Label7: TLabel;
    dbePhone: TDBEdit;
    Label8: TLabel;
    dbeAddress: TDBEdit;
    Label9: TLabel;
    dbeEmail: TDBEdit;
    Label11: TLabel;
    Label14: TLabel;
    dbeProvince: TDBEdit;
    dbeCity: TDBEdit;
    GroupBox2: TGroupBox;
    DBGrid2: TDBGrid;
    Label10: TLabel;
    Label15: TLabel;
    procedure dbtvClassChange(Sender: TObject; Node: TTreeNode);
    procedure N1Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure tbCloseClick(Sender: TObject);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure tbAddClick(Sender: TObject);
    procedure tbEditClick(Sender: TObject);
    procedure tbDelClick(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure tbListClick(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_Enterprise: TForm_Enterprise;

implementation

uses Unit_Order, Unit_Enterprise_manage, Unit_Enterprise_locate,
  Unit_enterprise_Search, Unit_Class_Add;

{$R *.dfm}

procedure TForm_Enterprise.dbtvClassChange(Sender: TObject;
  Node: TTreeNode);
begin
  if dbtvClass.Selected<>nil then
  begin
    with dm.adsEnterprise do
    begin
      close;
      case dbtvclass.Selected.Level of
      0:CommandText:='select * from enterprise where iProvince=' + inttostr(dbtvclass.DBTreeNodes.GetKeyFieldValue(dbtvclass.Selected));
      1:CommandText:='select * from enterprise where iCity=' + inttostr(dbtvclass.DBTreeNodes.GetKeyFieldValue(dbtvclass.Selected));
      else
        CommandText:='select * from enterprise';
      end;
      //showmessage(CommandText);
      open;
    end;
  end;
end;

procedure TForm_Enterprise.N1Click(Sender: TObject);
var
  upNo:integer;
begin
    upNo:=0;    
    application.CreateForm(TForm_Class_Add,Form_Class_Add);
    AnimateWindow(Form_Class_Add.Handle,500,AW_BLEND);

  {参数说明:
  1。hwnd : 一个你要显示窗体的句柄。
  2。dwTime : 完成显示操作的时间。(一般为500-1000,你可以自己调        节)
 3。dwFlags : 这是一个关键的东东,它决定了你的子窗体弹出的方         式。
 dwFlags其中包括9种基本弹出方式,当然你可以组合它们使用,下面我就对者9种方法做个简单的介绍:
 a. AW_SLIDE : 表示用滑动方式显示;
 b. AW_BLEND : 表示用淡出或淡入方式显示;(Windows 2000菜单显示)
 c. AW_CENTER : 表示窗体从小窗体沿对角线扩大至窗体定义的大小;
 d. AW_HIDE : 顾名思义,就是隐藏窗体;
 e. AW_HOR_POSITIVE :窗体从左向右生成生成显示
 f. AW_HOR_NEGATIVE :窗体从右向左生成生成显示
 g. AW_VER_NEGATIVE :窗体从下向上生成生成显示
 h: AW_VER_POSITIVE :窗体从上向下生成生成显示
 i: AW_ACTIVATE :顾名思义,就是激活窗体;}

    Form_Class_Add.caption:='添加省';
    Form_Class_Add.Show;
    Form_Class_Add.Visible:=false;
    Form_Class_Add.ShowModal;

    {添加分类}
    if length(Form_Class_Add.Edit1.Text)>1 then
    begin
      with dm.atProvinceCity do
      begin
          append;
          fieldvalues['iUpNo']:=upNo;
          fieldValues['vName']:=Form_Class_Add.edit1.text;
          post;
          updatebatch();
          Refresh;
      end;
    end;
    Form_Class_Add.Free;
end;

procedure TForm_Enterprise.N3Click(Sender: TObject);
begin
  if dbtvClass.Selected<>nil then
    dbtvClass.Selected.EditText;
end;

procedure TForm_Enterprise.N2Click(Sender: TObject);
var
  upNo:integer;
begin
  if (dbtvClass.Selected<>nil) and (dbtvClass.Selected.Level<1) then
  begin
    upNo:=dbtvClass.DBTreeNodes.GetKeyFieldValue(dbtvclass.Selected);
    application.CreateForm(TForm_Class_Add,Form_Class_Add);
    AnimateWindow(Form_Class_Add.Handle,500,AW_BLEND);

  {参数说明:
  1。hwnd : 一个你要显示窗体的句柄。
  2。dwTime : 完成显示操作的时间。(一般为500-1000,你可以自己调        节)
 3。dwFlags : 这是一个关键的东东,它决定了你的子窗体弹出的方         式。
 dwFlags其中包括9种基本弹出方式,当然你可以组合它们使用,下面我就对者9种方法做个简单的介绍:
 a. AW_SLIDE : 表示用滑动方式显示;
 b. AW_BLEND : 表示用淡出或淡入方式显示;(Windows 2000菜单显示)
 c. AW_CENTER : 表示窗体从小窗体沿对角线扩大至窗体定义的大小;
 d. AW_HIDE : 顾名思义,就是隐藏窗体;
 e. AW_HOR_POSITIVE :窗体从左向右生成生成显示
 f. AW_HOR_NEGATIVE :窗体从右向左生成生成显示
 g. AW_VER_NEGATIVE :窗体从下向上生成生成显示
 h: AW_VER_POSITIVE :窗体从上向下生成生成显示
 i: AW_ACTIVATE :顾名思义,就是激活窗体;}

    Form_Class_Add.caption:='添加城市';
    Form_Class_Add.Show;
    Form_Class_Add.Visible:=false;
    Form_Class_Add.ShowModal;

    {添加分类}
    if length(Form_Class_Add.Edit1.Text)>1 then
    begin
      with dm.atProvinceCity do
      begin
          append;
          fieldvalues['iUpNo']:=upNo;
          fieldValues['vName']:=Form_Class_Add.edit1.text;
          post;
          updatebatch();
          Refresh;
      end;
    end;
    Form_Class_Add.Free;
  end
  else
    application.MessageBox('请选择省或不能再添加下级城市.','提示',MB_OK);
end;

procedure TForm_Enterprise.N6Click(Sender: TObject);
begin
  if dbtvClass.Selected<>nil then
  begin
    if application.MessageBox('你确定要删除这个省市吗?'+#13+'[注意] 删除省市的同时将删除分类下的所有信息.','警告',MB_YESNO)=IDYES then
    begin
        case dbtvclass.Selected.Level of
          0:dm.adocm.CommandText:='DELETE FROM enterprise WHERE iProvince='+inttostr(dbtvClass.DBTreeNodes.GetKeyFieldValue(dbtvClass.Selected));
          1:dm.adocm.CommandText:='DELETE FROM enterprise WHERE iCity='+inttostr(dbtvClass.DBTreeNodes.GetKeyFieldValue(dbtvClass.Selected));
        end;

        try
          dm.adocm.Execute;
          dbtvclass.Selected.Delete;
        except
          application.MessageBox('删除这个省市下的所有企业不成功.'+#13+'删除省市操作失败.','错误',MB_OK);
        end;
    end;
  end;
end;

procedure TForm_Enterprise.FormCreate(Sender: TObject);
begin
  Self.Left:= Round(Screen.Width/2-Width/2);
  Self.Top :=Round(Screen.Height/2-Height/2);

  {数据库连接并打开数据表}
  if not dm.adoc.Connected then
  begin

⌨️ 快捷键说明

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