?? 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 + -