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

📄 unit3.~pas

📁 用delphi实现的一个酒店管理系统框架
💻 ~PAS
字号:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, ComCtrls,math, Grids, DBGrids,
  DB, ADODB;

type
  TForm3 = class(TForm)
    PopupMenu1: TPopupMenu;
    StatusBar1: TStatusBar;
    MainMenu1: TMainMenu;
    N110: TMenuItem;
    N111: TMenuItem;
    N112: TMenuItem;
    N120: TMenuItem;
    N121: TMenuItem;
    N122: TMenuItem;
    N123: TMenuItem;
    N124: TMenuItem;
    N125: TMenuItem;
    N126: TMenuItem;
    N127: TMenuItem;
    N128: TMenuItem;
    N130: TMenuItem;
    N131: TMenuItem;
    N132: TMenuItem;
    N133: TMenuItem;
    N170: TMenuItem;
    N171: TMenuItem;
    N190: TMenuItem;
    N191: TMenuItem;
    N192: TMenuItem;
    Label1: TLabel;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    N180: TMenuItem;
    N181: TMenuItem;
    N25: TMenuItem;
    N51: TMenuItem;
    N26: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure N111Click(Sender: TObject);
    procedure N112Click(Sender: TObject);
    procedure N121Click(Sender: TObject);
    procedure N122Click(Sender: TObject);
    procedure N123Click(Sender: TObject);
    procedure N124Click(Sender: TObject);
    procedure N125Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure N131Click(Sender: TObject);
    procedure N132Click(Sender: TObject);
    procedure N133Click(Sender: TObject);
    procedure N191Click(Sender: TObject);
    procedure N192Click(Sender: TObject);
    Function ExistForm(s:String):Boolean;
    procedure N181Click(Sender: TObject);
    procedure N25Click(Sender: TObject);
    procedure N51Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
  private
    { Private declarations }
  public
  user,dj:string;//用户名称及其等级
  end;

var
  Form3: TForm3;

implementation

uses Unit1, Unit4, Unit2, Unit6, Unit7, Unit8, Unit9, Unit10, Unit11,
  Inherit, UAllUser, UPCInfo, UDBN, UUpDate, URuanJian;

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);
begin
 Application.ShowMainForm:=False;
end;

procedure TForm3.N111Click(Sender: TObject);
begin//重新登录
Form2.Show;self.Hide;
end;

procedure TForm3.N112Click(Sender: TObject);
begin
halt;
end;

procedure TForm3.N121Click(Sender: TObject);//新建库
begin
Label1.Visible:=true;
SaveDialog1.Title:='新建数据库(*.mdf)';
if not SaveDialog1.Execute then exit;
DM.F1:=SaveDialog1.FileName;//要设置DefaultExt为.Mdf
Application.ProcessMessages;
DM.F2:=copy(DM.F1,1,length(DM.F1)-4)+'.Ldf';//产生新文件名
if not DM.CloseDB(DM.DBN) then showmessage('无法关闭当前库!');//CloseDB库切换到master
N127.Checked:=DM.NewDB(DM.DBN,DM.F1,DM.F2);N128.Checked:=N127.Checked;
If N127.Checked then
Begin N127.Caption:=Dm.DBN+':'+DM.F1;N128.Caption:=Dm.DBN+':'+DM.F2;End
else showmessage('无法创建新库!');
DM.ADOConnection1.DefaultDatabase:=DM.DBN;//由master切换回本库
Label1.Visible:=False;
end;

procedure TForm3.N122Click(Sender: TObject);//打开数据库
begin
Label1.Visible:=true;
Application.ProcessMessages;
if DM.ExistsDB(DM.DBN) then DM.CloseDB(DM.DBN);//若库名已打开则先关闭
OpenDialog1.Title:='打开数据库(*.mdf)';
if not OpenDialog1.Execute then exit;
DM.F1:=OpenDialog1.FileName;
DM.F2:=copy(DM.F1,1,length(DM.F1)-4)+'.Ldf';//要打开库文件名
N127.Checked:=DM.OpenDB(DM.DBN,DM.F1,DM.F2);N128.Checked:=N127.Checked;
If N127.Checked then
Begin N127.Caption:=Dm.DBN+':'+DM.F1;N128.Caption:=Dm.DBN+':'+DM.F2;End;
Label1.Visible:=False;
end;

procedure TForm3.N123Click(Sender: TObject);//关闭库
begin
Label1.Visible:=true;
Application.ProcessMessages;
if not DM.ExistsDB(DM.DBN) then
begin showmessage('库:'''+DM.DBN+'''尚未打开!');exit;end;
if DM.CloseDB(DM.DBN) then N127.Checked:=False;
N128.Checked:=N127.Checked;
Label1.Visible:=False;
end;

procedure TForm3.N124Click(Sender: TObject);//备份库
var f11,f12,f21,f22:TFileStream;N1,N2:string;//流和新文件名
begin
Label1.Visible:=true;
SaveDialog1.Title:='备份数据库(*.mdf)';
if not SaveDialog1.Execute then exit;
N1:=SaveDialog1.FileName;
N2:=copy(N1,1,length(N1)-4)+'.Ldf';//产生新文件名

Application.ProcessMessages;
DM.CloseDB(DM.DBN);//先关闭库

try//当前库复制到新库
f11:=TFileStream.Create(DM.F1,fmOpenRead);//读*.Mdf
f12:=TFileStream.Create(DM.F2,fmOpenRead);//读*.Ldf
f21:=TFileStream.Create(N1,fmCreate);//写*.Mdf
f22:=TFileStream.Create(N2,fmCreate);//写*.Ldf
 try
 f21.CopyFrom(f11,0);f22.CopyFrom(f12,0);
 finally
 f11.Free;f12.Free;f21.Free;f22.Free;
 end;
except
on e:EInOuterror do
 showmessage(e.Message);
end;
End;

procedure TForm3.N125Click(Sender: TObject);//更改库名
Var s:string;
begin
s:=InputBox('改库名','输入新库名',DM.DBN);
if not DM.RenDB(s) then Begin showmessage('改库名失败!');exit;End;
DM.DBN:=s;FormShow(Sender);DM.WriteDBN();
end;

procedure TForm3.FormShow(Sender: TObject);
Var s1,s2:string;
begin
N127.Checked:=DM.DBFiles(s1,s2);N128.Checked:=N127.Checked;
if N127.Checked then
Begin N127.Caption:=DM.DBN+':'+s1;N128.Caption:=DM.DBN+':'+s2;End;
N120.Visible:=dj='A';N25.Visible:=dj<>'R';
Caption:=Form1.Label2.Caption+'--'+DM.Serv+'/'+DM.DBN;
{N2.Visible:=dj<>'R';N5.Visible:=dj<>'R';N130.Visible:=dj='A';
N8.Visible:=dj<>'R';N9.Visible:=dj<>'R'; N182.Visible:=dj='A';}
end;

procedure TForm3.N131Click(Sender: TObject);
Var UAd:TUserAdd;
begin
UAd:=TUserAdd.Create(Application);UAd.Show;
end;

procedure TForm3.N132Click(Sender: TObject);
Var UMd:TUserMod;
begin
UMd:=TUserMod.Create(Application);UMd.Show;
end;

procedure TForm3.N133Click(Sender: TObject);
Var UDe:TUserDel;
begin//if (UserDel=nil) or not UserDel.Showing then
//application.CreateForm(TUserDel,UserDel) else UserDel.show;
UDe:=TUserDel.Create(Application);UDe.Show;
end;

procedure TForm3.N191Click(Sender: TObject);
begin
if About=nil then//关于
Application.CreateForm(TAbout,About);
About.show;
end;

procedure TForm3.N192Click(Sender: TObject);
begin
if Help=nil then//操作说明
Application.CreateForm(THelp,Help);
Help.show;
end;

Function TForm3.ExistForm(s:String):Boolean;
var i:integer;
begin
result:=False;if Pos('(',s)>0 then s:=copy(s,1,Pos('(',s)-1);//去掉自动添加的快捷键
for i:=0 to screen.FormCount-1 do
if s=Screen.Forms[i].Caption then
begin Screen.Forms[i].Show;result:=true;break;end;
end;

procedure TForm3.N181Click(Sender: TObject);//输入表
Var s:string;i:integer;
begin
s:=TmenuItem(Sender).Caption;
if not ExistForm(s) then
Begin
 application.CreateForm(TTInherit,TInherit);
 TInherit.Caption:=s;TInherit.ADODataSet1.Close;
 TInherit.ADODataSet1.CommandText:='select * from 输入表';
 TInherit.ADODataSet1.Open;
End;
for i:=0 to TInherit.DBGrid1.FieldCount-1 do
if  TInherit.DBGrid1.Columns[i].Width>60 then
  TInherit.DBGrid1.Columns[i].Width:=60;
TInherit.DBGrid1.Columns[0].Visible:=false;
end;

procedure TForm3.N25Click(Sender: TObject);
Var aF:TAllUser;
begin //下级用户
aF:=TAllUser.Create(Application);aF.Show;
end;

procedure TForm3.N51Click(Sender: TObject);
begin
N51.Checked:=not N51.Checked;
end;

procedure TForm3.N27Click(Sender: TObject);
begin
Cascade;
end;

procedure TForm3.N28Click(Sender: TObject);
begin
Tile;
end;

procedure TForm3.N3Click(Sender: TObject);
Var aF:TPCInfo;
begin//登录计算机信息
aF:=TPCInfo.Create(Application);aF.FormStyle:=fsMDIChild;aF.Show;
end;

procedure TForm3.N4Click(Sender: TObject);
//Var aF:Txp;
begin//打印位置//aF:=Txp.Create(Application);aF.Show;
if ymsz=nil then//页面位置设置
Application.CreateForm(Tymsz,ymsz);
ymsz.ymL.Text:=floattostr(RoundTo(DM.ymLeft,-3));//保留三位小数
ymsz.ymT.Text:=floattostr(RoundTo(DM.ymTop,-3));
ymsz.show;
end;

procedure TForm3.N5Click(Sender: TObject);
Var aF:TDBNini;
begin//数据库参数信息
aF:=TDBNini.Create(Application);aF.Show;
end;

procedure TForm3.N6Click(Sender: TObject);
Var aF:TFUpDateIni;
begin//自动更新参数信息
aF:=TFUpDateIni.Create(Application);aF.Show;
end;

procedure TForm3.N7Click(Sender: TObject);
Var aF:TRJ;
begin//软件管理
aF:=TRJ.Create(Application);aF.ADODataSet1.Close;
aF.ADODataSet1.CommandText:='Select * from 当前 where 软件='''+(Sender as TMenuItem).Caption+'''';
aF.ADODataSet1.Open;aF.Show;
end;

end.

⌨️ 快捷键说明

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