📄 main.~pas
字号:
{
================================================================================
* 软件名称:货运作业物流系统
* 单元名称:主窗体文件
* 单元版本:V1.0
* 单元作者:cm991 (cm@ytht.net)
* 备 注:开发完成
* 开发平台:Access2000+windows2000 + Delphi7
* 兼容测试:PWin9X/2000/XP + Delphi 5/6/7
* 本 地 化:该单元中的字符串支持本地化处理方式
* 更新记录:2003.03.15 V1.0
* 创建单元
================================================================================
|</PRE>}
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, ComCtrls, StdCtrls;
type
UserInfo = record // 定义用户信息
UserID: string; // 用户编号
UserName: string; // 用户名称
end;
type
TMainForm = class(TForm)
MainMenu1: TMainMenu;
ZY: TMenuItem;
ZY110: TMenuItem;
ZY120: TMenuItem;
ZY130: TMenuItem;
N6: TMenuItem;
ZY210: TMenuItem;
ZY220: TMenuItem;
N9: TMenuItem;
ZY310: TMenuItem;
CX: TMenuItem;
CX110: TMenuItem;
CX120: TMenuItem;
N14: TMenuItem;
CX210: TMenuItem;
CX220: TMenuItem;
N17: TMenuItem;
CX310: TMenuItem;
CX320: TMenuItem;
JS: TMenuItem;
JS110: TMenuItem;
N22: TMenuItem;
JS210: TMenuItem;
JS220: TMenuItem;
JS230: TMenuItem;
JS240: TMenuItem;
N27: TMenuItem;
JS310: TMenuItem;
JS320: TMenuItem;
N31: TMenuItem;
JS420: TMenuItem;
N33: TMenuItem;
JS510: TMenuItem;
WH: TMenuItem;
WH110: TMenuItem;
WH120: TMenuItem;
N38: TMenuItem;
WH210: TMenuItem;
N40: TMenuItem;
WH310: TMenuItem;
WH320: TMenuItem;
WH330: TMenuItem;
WH340: TMenuItem;
WH350: TMenuItem;
WH360: TMenuItem;
N47: TMenuItem;
WH410: TMenuItem;
WH420: TMenuItem;
FW: TMenuItem;
FW110: TMenuItem;
FW120: TMenuItem;
N53: TMenuItem;
FW210: TMenuItem;
FW220: TMenuItem;
Help: TMenuItem;
Help110: TMenuItem;
Panel1: TPanel;
StatusBar1: TStatusBar;
JS410: TMenuItem;
procedure Panel1DockDrop(Sender: TObject; Source: TDragDockObject; X,
Y: Integer);
procedure WH110Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure WH120Click(Sender: TObject);
procedure WH210Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure WH310Click(Sender: TObject);
procedure WH320Click(Sender: TObject);
procedure WH330Click(Sender: TObject);
procedure WH340Click(Sender: TObject);
procedure WH350Click(Sender: TObject);
procedure Help110Click(Sender: TObject);
procedure WH360Click(Sender: TObject);
procedure WH410Click(Sender: TObject);
procedure WH420Click(Sender: TObject);
procedure ZY110Click(Sender: TObject);
procedure JS510Click(Sender: TObject);
procedure ZY120Click(Sender: TObject);
procedure ZY130Click(Sender: TObject);
procedure ZY210Click(Sender: TObject);
procedure ZY220Click(Sender: TObject);
procedure ZY310Click(Sender: TObject);
procedure CX110Click(Sender: TObject);
procedure FW210Click(Sender: TObject);
procedure FW220Click(Sender: TObject);
procedure FW110Click(Sender: TObject);
procedure FW120Click(Sender: TObject);
procedure CX120Click(Sender: TObject);
procedure CX210Click(Sender: TObject);
procedure CX220Click(Sender: TObject);
procedure CX310Click(Sender: TObject);
procedure CX320Click(Sender: TObject);
procedure JS420Click(Sender: TObject);
procedure JS410Click(Sender: TObject);
procedure JS210Click(Sender: TObject);
procedure JS220Click(Sender: TObject);
procedure JS230Click(Sender: TObject);
procedure JS240Click(Sender: TObject);
procedure JS310Click(Sender: TObject);
procedure JS320Click(Sender: TObject);
procedure JS110Click(Sender: TObject);
private
{ Private declarations }
public
Auser: Userinfo;
{ Public declarations }
end;
var
MainForm: TMainForm;
Hour, Min, Sec, MSec, year, month, day: Word;
implementation
uses WH110Unit, DMUnit, WH120Unit, WH210Unit, WH310Unit, WH320Unit,
WH330Unit, WH340Unit, WH350Unit, WH360Unit, WH410Unit, WH420Unit,
ZY110Unit, JS510Unit, ZY130Unit, ZY210Unit, ZY220Unit, ZY310Unit,
CX110Unit, FW210Unit, FW110Unit, CX120Unit, CX210Unit, CX220Unit,
CX310Unit, CX320Unit, JS420Unit, JS210Unit, JS220Unit, JS230Unit,
JS240Unit, JS310Unit, JS320Unit, JS110Unit;
{$R *.dfm}
procedure TMainForm.Panel1DockDrop(Sender: TObject;
Source: TDragDockObject; X, Y: Integer);
var
i: integer;
begin
i := 0;
{--- 如果要打开一个新的窗体,判断是否打开了一个窗体,如果是则关闭 ---}
while (i <= Panel1.ControlCount - 1) and (Panel1.ControlCount > 1) do
begin
if Panel1.Controls[i] is TForm then
begin
{--- 释放一个控件后I不递增 ---}
Panel1.Controls[i].Free;
end
else
i := i + 1;{--- 如果不是,I加1 ---}
end;
end;
procedure TMainForm.WH110Click(Sender: TObject);
begin
try //弹出公司资料设置窗体
MainForm.Caption := '货运作业物流系统 --- ' + WH110.Caption;
// 显示窗体的标题变化
WH110Form := TWH110Form.Create(Application);
WH110Form.ManualDock(Panel1, nil, AlClient)
except
MessageBox(0, '公司资料设置窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;
procedure TMainForm.FormShow(Sender: TObject);
begin
StatusBar1.Panels[0].TEXT := DM.company.FieldByName('名称').AsString;
StatusBar1.Panels[1].TEXT := '操作员编号: ' + Auser.UserID;
StatusBar1.Panels[2].TEXT := '操作员姓名: ' + Auser.UserName;
end;
procedure TMainForm.WH120Click(Sender: TObject);
begin
try //弹出公司资料设置窗体
MainForm.Caption := '货运作业物流系统 --- ' + WH120.Caption;
// 显示窗体的标题变化
WH120Form := TWH120Form.Create(Application);
WH120Form.ManualDock(Panel1, nil, AlClient)
except
MessageBox(0, '操作人员权限设置窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;
procedure TMainForm.WH210Click(Sender: TObject);
begin
try
Application.CreateForm(TWH210Form, WH210Form);
WH210Form.ShowModal;
WH210Form.Free;
except
MessageBox(0, '密码改变窗体创建错误', '', MB_OK + MB_ICONSTOP);
end
end;
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageBox(0, '真的要退出本系统吗?', '确认', MB_YESNO + MB_ICONQUESTION) =
IDYES then
begin
DM.UserLogin.Locate('用户名称', Auser.UserName, []);
// 定位当前用户在数据库中的位置
//记录用户的退出时间
DecodeDate(now, year, month, day);
DecodeTime(Now, Hour, Min, Sec, MSec);
DM.UserLogin.Edit;
//记录退出日期
DM.UserLogin.FieldByName('退出日期').AsString := IntToStr(year) + '年' +
IntToStr(Month) + '月' + IntToStr(day) + '日';
DM.UserLogin.FieldByName('退出时间').AsString := IntToStr(Hour) + '时' +
IntToStr(Min) + '分' + IntToStr(sec) + '秒';
DM.UserLogin.Post;
Application.Terminate;
end;
end;
procedure TMainForm.WH310Click(Sender: TObject);
begin
try //弹出物流方式设置窗体
MainForm.Caption := '货运作业物流系统 --- ' + WH310.Caption;
// 显示窗体的标题变化
WH310Form := TWH310Form.Create(Application);
WH310Form.ManualDock(Panel1, nil, AlClient)
except
MessageBox(0, '物流方式设置窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;
procedure TMainForm.WH320Click(Sender: TObject);
begin
try //弹出委托单位设置窗体
MainForm.Caption := '货运作业物流系统 --- ' + WH320.Caption;
// 显示窗体的标题变化
WH320Form := TWH320Form.Create(Application);
WH320Form.ManualDock(Panel1, nil, AlClient)
except
MessageBox(0, '委托单位设置窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;
procedure TMainForm.WH330Click(Sender: TObject);
begin
try //弹出经营单位设置窗体
MainForm.Caption := '货运作业物流系统 --- ' + WH330.Caption;
// 显示窗体的标题变化
WH330Form := TWH330Form.Create(Application);
WH330Form.ManualDock(Panel1, nil, AlClient)
except
MessageBox(0, '经营单位设置窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;
procedure TMainForm.WH340Click(Sender: TObject);
begin
try //弹出到港名称设置窗体
MainForm.Caption := '货运作业物流系统 --- ' + WH340.Caption;
// 显示窗体的标题变化
WH340Form := TWH340Form.Create(Application);
WH340Form.ManualDock(Panel1, nil, AlClient)
except
MessageBox(0, '到港名称设置窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;
procedure TMainForm.WH350Click(Sender: TObject);
begin
try //弹出仓库名称设置窗体
MainForm.Caption := '货运作业物流系统 --- ' + WH350.Caption;
// 显示窗体的标题变化
WH350Form := TWH350Form.Create(Application);
WH350Form.ManualDock(Panel1, nil, AlClient)
except
MessageBox(0, '仓库名称设置窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;
procedure TMainForm.Help110Click(Sender: TObject);
begin
MessageBox(0, ' 货物配送物流管理系统' + #13#10 + ' ' + #13#10 +
' 版本1.0' + #13#10 + ' ' + #13#10 + ' 内部测试', '关于…………',
MB_OK + MB_ICONINFORMATION);
end;
procedure TMainForm.WH360Click(Sender: TObject);
begin
try //弹出车辆资料管理设置窗体
MainForm.Caption := '货运作业物流系统 --- ' + WH360.Caption;
// 显示窗体的标题变化
WH360Form := TWH360Form.Create(Application);
WH360Form.ManualDock(Panel1, nil, AlClient)
except
MessageBox(0, '车辆资料管理窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;
procedure TMainForm.WH410Click(Sender: TObject);
begin
try //弹出客户明细资料设置窗体
MainForm.Caption := '货运作业物流系统 --- ' + WH410.Caption;
// 显示窗体的标题变化
WH410Form := TWH410Form.Create(Application);
WH410Form.ManualDock(Panel1, nil, AlClient)
except
MessageBox(0, '客户明细资料设置窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;
procedure TMainForm.WH420Click(Sender: TObject);
begin
try //弹出传真窗体
MainForm.Caption := '货运作业物流系统 --- ' + WH420.Caption;
// 显示窗体的标题变化
WH420Form := TWH420Form.Create(Application);
WH420Form.ManualDock(Panel1, nil, AlClient)
except
MessageBox(0, '传真窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -