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

📄 unit_main.~pas

📁 DELPHI 编写的绣花厂管理软件
💻 ~PAS
字号:
unit Unit_main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, Buttons, DB, ADODB, ComCtrls, Menus, ImgList, shellapi,
  StdCtrls, ToolWin;

type
  TForm_main = class(TForm)
    ADOQuery1: TADOQuery;
    Timer_show: TTimer;
    ADOCn: TADOConnection;
    StatusBar_main: TStatusBar;
    MainMenu1: TMainMenu;
    N3: TMenuItem;
    N44: TMenuItem;
    N50: TMenuItem;
    N42: TMenuItem;
    N43: TMenuItem;
    N18: TMenuItem;
    N70: TMenuItem;
    N67: TMenuItem;
    N66: TMenuItem;
    N64: TMenuItem;
    N63: TMenuItem;
    N2: TMenuItem;
    N4: TMenuItem;
    N16: TMenuItem;
    N5: TMenuItem;
    N41: TMenuItem;
    N21: TMenuItem;
    N6: TMenuItem;
    N15: TMenuItem;
    MenuItem1: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    MenuItem2: TMenuItem;
    MenuItem3: TMenuItem;
    MenuItem4: TMenuItem;
    MenuItem5: TMenuItem;
    MenuItem6: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N1: TMenuItem;
    N12: TMenuItem;
    Label1: TLabel;
    Label2: TLabel;
    Image1: TImage;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    BackBtn: TToolButton;
    ForwardBtn: TToolButton;
    StopBtn: TToolButton;
    RefreshBtn: TToolButton;
    NavigatorImages: TImageList;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    procedure FormCreate(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormShow(Sender: TObject);
    procedure Timer_showTimer(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N41Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N44Click(Sender: TObject);
    procedure N42Click(Sender: TObject);
    procedure N43Click(Sender: TObject);
    procedure N70Click(Sender: TObject);
    procedure N66Click(Sender: TObject);
    procedure N64Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure MenuItem2Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure MenuItem6Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure BackBtnClick(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure RefreshBtnClick(Sender: TObject);
    procedure StopBtnClick(Sender: TObject);
    procedure ForwardBtnClick(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure p_add_form(form_name:string);  //创建窗体时追加进窗休记录
    procedure p_del_form(form_name:string);  //关闭窗体时删除窗体记录
    function f_is_active_form(form_name:string):boolean; //判断该窗体是否已创建
    function f_get_now:tdatetime;             //得到当前数据库日期
  end;

var
   Form_main: TForm_main;
   //标志窗体是否激活
   gl_active_count : integer;
   gs_active_form : array [0..100] of string;

   gs_userid : string;    //用户ID
   gs_username :String;  //名字
   gs_userbm :String;    //部门

implementation

uses Unit_login, Unit_set_password, Unit_set_khzl, Unit_set_gys,
  Unit_set_login, Unit_set_fkfs, Unit_set_hp, Unit_input_cgsh,
  Unit_input_cgth, Unit_input_xs, Unit_query_cgsh, Unit_query_xs,
  Unit_query_cgth, Unit_query_lr, Unit_query_qk, Unit_set_sjbf,
  Unit_set_sjhy, Unit_set_about, Unit_query_kc;

{$R *.dfm}

procedure TForm_main.p_add_form(form_name:string);
begin
   gl_active_count := gl_active_count + 1;
   gs_active_form[gl_active_count] := form_name;
end;

procedure TForm_main.p_del_form(form_name:string);
var i : integer;
begin
   i := 0;
   if i > gl_active_count then exit;
   while gs_active_form[i] <> form_name do
   begin
      i := i + 1;
      if i > gl_active_count then exit;
   end;
   gl_active_count := gl_active_count - 1;
   while i <= gl_active_count do
   begin
      gs_active_form[i] := gs_active_form[i + 1];
      i := i + 1;
   end;
end;

function TForm_main.f_is_active_form(form_name:string):boolean;
var i : integer;
begin
   for i := 0 to gl_active_count do
   begin
      if gs_active_form[i] = form_name then
      begin
         f_is_active_form := true;
         exit;
      end;
   end;
   f_is_active_form := false;
end;

function TForm_main.f_get_now:tdatetime;             //得到当前数据库日期
begin
    f_get_now := now;
end;

procedure TForm_main.FormCreate(Sender: TObject);
begin
   //初始化记录窗体是否创建的数组
   gl_active_count := -1;
end;

procedure TForm_main.FormPaint(Sender: TObject);
begin
   if (not ADOCn.Connected) or (self.tag=1) then exit;
   if not f_is_active_form('Form_login') then
      Application.CreateForm(TForm_login, Form_login);
   if form_login.tag=1 then exit;
   self.Enabled := false;
   form_login.Show;
   form_login.SetFocus;
end;

procedure TForm_main.Image1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
   if (not ADOCn.Connected) or (self.tag=1) then exit;
   if not f_is_active_form('Form_login') then
      Application.CreateForm(TForm_login, Form_login);
   if form_login.tag=1 then exit;
   self.Enabled := false;
   form_login.Show;
   form_login.SetFocus;
end;

procedure TForm_main.FormShow(Sender: TObject);
var a,b : string;
begin
//数据库连接
   adocn.Close;
   a:=ExtractFilePath(paramstr(0))+'xhxc.mdb';  //得到执行文件EXE目录下的数据库
   b:='Provider=Microsoft.Jet.OLEDB.4.0;password="";user id=admin;Data Source='+
        a+';Persist Security Info=False';  //连接字符串
   AdoCn.ConnectionString:=b;
   try
      ADOCn.Connected:=true;
   except
      showmessage('数据库连接失败!');
      Application.Terminate;
   end;
   if not f_is_active_form('Form_login') then  //显示登陆窗体
      Application.CreateForm(TForm_login, Form_login);
   if form_login.tag=1 then exit;
   self.Enabled := false;
   form_login.Show;
   form_login.SetFocus;
   self.tag := 1;
end;

procedure TForm_main.Timer_showTimer(Sender: TObject);
var d : Tdatetime;
begin
  //在状态栏显示当前日期
   if (not ADOCn.Connected) then exit;
   d := f_get_now;
   StatusBar_main.Panels[1].Text := formatdatetime('YYYY',d)+'年'+formatdatetime('MM',d)+'月'+
      formatdatetime('DD',d)+'日' ;

end;

procedure TForm_main.N13Click(Sender: TObject);
begin
//退出程序
   form_main.Close;
end;

procedure TForm_main.N24Click(Sender: TObject);
begin
//弹出帮助文档
   shellexecute(handle,nil,pchar(ExtractFilePath(paramstr(0))+'操作说明.doc'),nil,nil,sw_shownormal);
end;

procedure TForm_main.N4Click(Sender: TObject);
begin
//弹出客户资料设置单
  if f_is_active_form('form_set_khzl') = false then
      Application.CreateForm(Tform_set_khzl, form_set_khzl);
   form_set_khzl.show;
end;

procedure TForm_main.N5Click(Sender: TObject);
begin
//弹出销售人员设置单
   if f_is_active_form('form_set_gys') = false then
      Application.CreateForm(Tform_set_gys, form_set_gys);
   form_set_gys.show;
end;

procedure TForm_main.N41Click(Sender: TObject);
begin
//弹出操作员设置窗体
   if  gs_username='系统管理员' then  //判断是否为系统管理员,在此为权限设置
   begin
     if f_is_active_form('form_set_login') = false then
        Application.CreateForm(Tform_set_login, form_set_login);
     form_set_login.show;
   end
   else
      showmessage('只有系统管理员才有此权限!') ;
end;

procedure TForm_main.N6Click(Sender: TObject);
begin
//弹出付款方式设置窗体
   if f_is_active_form('form_set_fkfs') = false then
      Application.CreateForm(Tform_set_fkfs, form_set_fkfs);
   form_set_fkfs.show;
end;

procedure TForm_main.N15Click(Sender: TObject);
begin
//弹出货品资料设置窗体
   if f_is_active_form('form_set_hp') = false then
      Application.CreateForm(Tform_set_hp, form_set_hp);
   form_set_hp.show;
end;

procedure TForm_main.N44Click(Sender: TObject);
begin
   //弹出生产入库单
   if f_is_active_form('form_input_cgsh') = false then
      Application.CreateForm(Tform_input_cgsh, form_input_cgsh);
   form_input_cgsh.show;
end;

procedure TForm_main.N42Click(Sender: TObject);
begin
//弹出销售收款单
   if f_is_active_form('form_input_xssk') = false then
      Application.CreateForm(Tform_input_xssk, form_input_xssk);
   form_input_xssk.show;
end;

procedure TForm_main.N43Click(Sender: TObject);
begin
//弹出销售退货单
  if f_is_active_form('form_input_cgth') = false then
      Application.CreateForm(Tform_input_cgth, form_input_cgth);
   form_input_cgth.show;
end;

procedure TForm_main.N70Click(Sender: TObject);
begin
//弹出生产入库查询单
   if f_is_active_form('form_query_cgsh') = false then
      Application.CreateForm(Tform_query_cgsh, form_query_cgsh);
   form_query_cgsh.show;
end;

procedure TForm_main.N66Click(Sender: TObject);
begin
// 弹出销售收款查询单
 if f_is_active_form('form_query_xs') = false then
      Application.CreateForm(Tform_query_xs, form_query_xs);
   form_query_xs.show;
end;

procedure TForm_main.N64Click(Sender: TObject);
begin
//弹出退货查询单
 if f_is_active_form('form_query_cgth') = false then
      Application.CreateForm(Tform_query_cgth, form_query_cgth);
   form_query_cgth.show;
end;

procedure TForm_main.N11Click(Sender: TObject);
begin
//弹出利润查询单
   if f_is_active_form('form_query_lr') = false then
      Application.CreateForm(Tform_query_lr, form_query_lr);
   form_query_lr.show;
end;

procedure TForm_main.N10Click(Sender: TObject);
begin
//欠款查询单
  if f_is_active_form('form_query_qk') = false then
      Application.CreateForm(Tform_query_qk, form_query_qk);
   form_query_qk.show;
end;

procedure TForm_main.MenuItem2Click(Sender: TObject);
begin
//修改密码
   if f_is_active_form('Form_Set_Password') = false then
      Application.CreateForm(TForm_Set_Password, Form_Set_Password);
   Form_Set_Password.show;
end;

procedure TForm_main.N7Click(Sender: TObject);
begin
//弹出数据库备分
   if f_is_active_form('Form_Set_sjbf') = false then
      Application.CreateForm(TForm_Set_sjbf, Form_Set_sjbf);
   Form_Set_sjbf.show;
end;

procedure TForm_main.N8Click(Sender: TObject);
begin
//弹出数据库恢复窗体
   if f_is_active_form('Form_Set_sjhy') = false then
      Application.CreateForm(TForm_Set_sjhy, Form_Set_sjhy);
   Form_Set_sjhy.show;
end;

procedure TForm_main.MenuItem6Click(Sender: TObject);
begin
//弹出关于窗体
   aboutbox.showmodal;
end;

procedure TForm_main.N12Click(Sender: TObject);
begin
//弹出库存查询单
   if f_is_active_form('Form_query_kc') = false then
      Application.CreateForm(TForm_query_kc, Form_query_kc);
   Form_query_kc.show;
end;

procedure TForm_main.BackBtnClick(Sender: TObject);
begin
     N44.Click;//生产入库
end;

procedure TForm_main.ToolButton2Click(Sender: TObject);
begin
   if  application.MessageBox('是否真的退出系统?','退出提示',mb_yesno) =idyes then
        form_main.Close//退出系统
   else
       exit;
end;

procedure TForm_main.RefreshBtnClick(Sender: TObject);
begin
    N42.Click;//销售收款
end;

procedure TForm_main.StopBtnClick(Sender: TObject);
begin
   N12.Click;//库存查询
end;

procedure TForm_main.ForwardBtnClick(Sender: TObject);
begin
   N11.Click; //利润查询
end;

procedure TForm_main.ToolButton1Click(Sender: TObject);
begin
    N10.Click; //欠款查询
end;

end.

⌨️ 快捷键说明

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