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