📄 unit_main.~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 + -