unit UnitMain;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Menus, ComCtrls, ExtCtrls, DB, ADODB,Dialogs;type
TFrmMain = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
StatusBar1: TStatusBar;
Timer1: TTimer;
N18: TMenuItem;
N19: TMenuItem;
N22: TMenuItem;
menu: TADOQuery;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
Procedure ADDItem;
{ Private declarations }
public
{ Public declarations }
Bitmap: TBitmap;
Loged: integer;
UserName: string;
procedure Init(P: integer);
end;var
FrmMain: TFrmMain;
aItems: array of TMenuItem;implementationuses UnitLogin, UnitYiBiao , unitkufang ,unitddiao ,
unitdm,UNittranse, querytranse,unitxitong, qdiandiao ,
fYIBIAOQUERY,querykufang,unituser,unitrizhi,rizhiquery,unitabout;
{$R *.dfm}procedure TFrmMain.N2Click(Sender: TObject);
begin
FrmLogin := TFrmLogin.Create(application);
With FrmLogin do
Try
Init(ShowModal)
finally
Free;
end;
end;procedure TFrmMain.N3Click(Sender: TObject);
begin
if MessageBox(Handle, '是否真要退出?', '提示', MB_ICONQUESTION or MB_YESNO) = idYes then
Close;
end;procedure TFrmMain.Init(P: integer);
begin
case P of
0:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N18.Enabled := False;
N22.Enabled := False;
StatusBar1.Panels[0].Text := '无用户登陆';
end;
1:
begin
N2.Enabled := True;
N20.Enabled := True;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := True;
N17.Enabled := True;
N18.Enabled := true;
N22.Enabled := True;
StatusBar1.Panels[0].Text := '超级用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName;
end;
2:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := True;
N10.Enabled := True;
N18.Enabled := False;
N22.Enabled := True;
StatusBar1.Panels[0].Text := '管理用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName;
end;
3:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N22.Enabled := True;
StatusBar1.Panels[0].Text := '普通用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName;
end;
end;
end;procedure TFrmMain.FormCreate(Sender: TObject);
var
year, month, day: word;
begin
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('images\background.bmp');
Loged := 0;
Init(Loged);
decodedate(date, year, month, day);
StatusBar1.Panels[2].Text := ' ' + IntToStr(year) + '年' +
IntToStr(month) + '月' + IntToStr(day) + '日' + ' ';
StatusBar1.Panels[3].Text := formatdatetime('hh:nn:ss', time);
end;procedure TFrmMain.FormDestroy(Sender: TObject);
begin
Bitmap.Free;
end;procedure TFrmMain.FormPaint(Sender: TObject);
var
x, y: integer;
begin
y := 0;
while y < ClientHeight do
begin
x := 0;
while x < ClientWidth do
begin
Canvas.Draw(x, y, Bitmap);
x := x + Bitmap.Width;
end;
y := y + Bitmap.Height;
end;
end;procedure TFrmMain.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[3].Text := FormatDateTime('hh:nn:ss', time);
end;procedure Tfrmmain.Pro_Click;
begin
transe:=Ttranse.Create(application);
transe.show;
transe.Caption :=(Sender as TMenuItem).caption;
end;procedure TFrmMain.ADDItem;
var I:integer;
begin
if (loged=1) or (loged=2) then
begin
with menu do
begin
close;
SQL.clear;
sql.add(' select * from 传输系统 order by xuhao ');
Open;
SetLength(aItems,recordCount);
for i:=0 to recordCount-1 do
begin
aItems[i]:=TMenuItem.Create(N4);
aItems[i].Name :='m'+trim(Fieldbyname('xuhao').asstring);
aItems[i].Caption := trim(Fieldbyname('name').asstring);
aItems[i].OnClick:=Pro_Click;
N4.Add(aItems[i]);
Next;
end;
end ;
end ;end;procedure TFrmMain.FormShow(Sender: TObject);
begin
ADDItem;
end;
end.
请教上面,procedure TFrmMain.Init(P: integer);
begin
case P of
中p的值是哪里来的,从那个地方的到的,我想把他在付给loged变量,怎么做!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Menus, ComCtrls, ExtCtrls, DB, ADODB,Dialogs;type
TFrmMain = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
StatusBar1: TStatusBar;
Timer1: TTimer;
N18: TMenuItem;
N19: TMenuItem;
N22: TMenuItem;
menu: TADOQuery;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
Procedure ADDItem;
{ Private declarations }
public
{ Public declarations }
Bitmap: TBitmap;
Loged: integer;
UserName: string;
procedure Init(P: integer);
end;var
FrmMain: TFrmMain;
aItems: array of TMenuItem;implementationuses UnitLogin, UnitYiBiao , unitkufang ,unitddiao ,
unitdm,UNittranse, querytranse,unitxitong, qdiandiao ,
fYIBIAOQUERY,querykufang,unituser,unitrizhi,rizhiquery,unitabout;
{$R *.dfm}procedure TFrmMain.N2Click(Sender: TObject);
begin
FrmLogin := TFrmLogin.Create(application);
With FrmLogin do
Try
Init(ShowModal)
finally
Free;
end;
end;procedure TFrmMain.N3Click(Sender: TObject);
begin
if MessageBox(Handle, '是否真要退出?', '提示', MB_ICONQUESTION or MB_YESNO) = idYes then
Close;
end;procedure TFrmMain.Init(P: integer);
begin
case P of
0:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N18.Enabled := False;
N22.Enabled := False;
StatusBar1.Panels[0].Text := '无用户登陆';
end;
1:
begin
N2.Enabled := True;
N20.Enabled := True;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := True;
N17.Enabled := True;
N18.Enabled := true;
N22.Enabled := True;
StatusBar1.Panels[0].Text := '超级用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName;
end;
2:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := True;
N10.Enabled := True;
N18.Enabled := False;
N22.Enabled := True;
StatusBar1.Panels[0].Text := '管理用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName;
end;
3:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N22.Enabled := True;
StatusBar1.Panels[0].Text := '普通用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName;
end;
end;
end;procedure TFrmMain.FormCreate(Sender: TObject);
var
year, month, day: word;
begin
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('images\background.bmp');
Loged := 0;
Init(Loged);
decodedate(date, year, month, day);
StatusBar1.Panels[2].Text := ' ' + IntToStr(year) + '年' +
IntToStr(month) + '月' + IntToStr(day) + '日' + ' ';
StatusBar1.Panels[3].Text := formatdatetime('hh:nn:ss', time);
end;procedure TFrmMain.FormDestroy(Sender: TObject);
begin
Bitmap.Free;
end;procedure TFrmMain.FormPaint(Sender: TObject);
var
x, y: integer;
begin
y := 0;
while y < ClientHeight do
begin
x := 0;
while x < ClientWidth do
begin
Canvas.Draw(x, y, Bitmap);
x := x + Bitmap.Width;
end;
y := y + Bitmap.Height;
end;
end;procedure TFrmMain.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[3].Text := FormatDateTime('hh:nn:ss', time);
end;procedure Tfrmmain.Pro_Click;
begin
transe:=Ttranse.Create(application);
transe.show;
transe.Caption :=(Sender as TMenuItem).caption;
end;procedure TFrmMain.ADDItem;
var I:integer;
begin
if (loged=1) or (loged=2) then
begin
with menu do
begin
close;
SQL.clear;
sql.add(' select * from 传输系统 order by xuhao ');
Open;
SetLength(aItems,recordCount);
for i:=0 to recordCount-1 do
begin
aItems[i]:=TMenuItem.Create(N4);
aItems[i].Name :='m'+trim(Fieldbyname('xuhao').asstring);
aItems[i].Caption := trim(Fieldbyname('name').asstring);
aItems[i].OnClick:=Pro_Click;
N4.Add(aItems[i]);
Next;
end;
end ;
end ;end;procedure TFrmMain.FormShow(Sender: TObject);
begin
ADDItem;
end;
end.
请教上面,procedure TFrmMain.Init(P: integer);
begin
case P of
中p的值是哪里来的,从那个地方的到的,我想把他在付给loged变量,怎么做!
var I:integer;
begin
if loged in [1,2] then //请高手指教,错了吗
begin
with menu do
begin
close;
SQL.clear;
sql.add(' select * from 传输系统 order by xuhao ');
Open;
SetLength(aItems,recordCount);
for i:=0 to recordCount-1 do
begin
aItems[i]:=TMenuItem.Create(N4);
aItems[i].Name :='m'+trim(Fieldbyname('xuhao').asstring);
aItems[i].Caption := trim(Fieldbyname('name').asstring);
aItems[i].OnClick:=Pro_Click;
N4.Add(aItems[i]);
Next;
end;
end ;
end ;end;
//if loged in [1,2] then //如果注释掉,程序正常!,是在不知道怎么搞的!
begin
case P of
0:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := False;
N10.Enabled := False;
N11.Enabled := False;
N12.Enabled := False;
N13.Enabled := False;
N14.Enabled := False;
N16.Enabled := False;
N17.Enabled := False;
N18.Enabled := False;
N22.Enabled := False;
loged:=p;
StatusBar1.Panels[0].Text := '无用户登陆';
end;
1:
begin
N2.Enabled := True;
N20.Enabled := True;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := True;
N10.Enabled := True;
N11.Enabled := True;
N12.Enabled := True;
N13.Enabled := True;
N14.Enabled := True;
N16.Enabled := True;
N17.Enabled := True;
N18.Enabled := true;
N22.Enabled := True;
loged:=p;
StatusBar1.Panels[0].Text := '超级用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName ;
end;
2:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := True;
N10.Enabled := True;
N11.Enabled := True;
N12.Enabled := True;
N13.Enabled := True;
N14.Enabled := True;
N15.Enabled := True;
N16.Enabled := false;
N17.Enabled := True;
N18.Enabled := False;
N22.Enabled := True;
loged:=p;
StatusBar1.Panels[0].Text := '管理用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName;
end;
3:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := False;
N10.Enabled := True;
N11.Enabled := False;
N12.Enabled := True;
N13.Enabled := False;
N14.Enabled := True;
N15.Enabled := True;
N16.Enabled := false;
N17.Enabled := True;
N18.Enabled := False;
N22.Enabled := True;
loged:=p;
StatusBar1.Panels[0].Text := '普通用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName;
end;
end;
end;
procedure TFrmMain.ADDItem;
var I:integer;
begin
if loged in [1,2] then //请高手指教,错了吗
begin
with menu do
begin
close;
SQL.clear;
sql.add(' select * from 传输系统 order by xuhao ');
Open;
SetLength(aItems,recordCount);
for i:=0 to recordCount-1 do
begin
aItems[i]:=TMenuItem.Create(N4);
aItems[i].Name :='m'+trim(Fieldbyname('xuhao').asstring);
aItems[i].Caption := trim(Fieldbyname('name').asstring);
aItems[i].OnClick:=Pro_Click;
N4.Add(aItems[i]);
Next;
end;
end ;
end ;end;
//if loged in [1,2] then //如果注释掉,程序正常!,是在不知道怎么搞的!
这是全部,你看看!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Menus, ComCtrls, ExtCtrls, DB, ADODB,Dialogs;type
TFrmMain = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
StatusBar1: TStatusBar;
Timer1: TTimer;
N18: TMenuItem;
N19: TMenuItem;
N22: TMenuItem;
menu: TADOQuery;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure Pro_Click(sender:tobject);
procedure FormShow(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
Procedure ADDItem;
{ Private declarations }
public
{ Public declarations }
Bitmap: TBitmap;
Loged: integer;
UserName: string;
procedure Init(P: integer);
end;var
FrmMain: TFrmMain;
aItems: array of TMenuItem;implementationuses UnitLogin, UnitYiBiao , unitkufang ,unitddiao ,
unitdm,UNittranse, querytranse,unitxitong, qdiandiao ,
fYIBIAOQUERY,querykufang,unituser,unitrizhi,rizhiquery,unitabout;
{$R *.dfm}procedure TFrmMain.N2Click(Sender: TObject);
begin
FrmLogin := TFrmLogin.Create(application);
With FrmLogin do
Try
Init(ShowModal)
finally
Free;
end;
end;procedure TFrmMain.N3Click(Sender: TObject);
begin
if MessageBox(Handle, '是否真要退出?', '提示', MB_ICONQUESTION or MB_YESNO) = idYes then
Close;
end;procedure TFrmMain.Init(P: integer);
begin
case P of
0:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := False;
N10.Enabled := False;
N11.Enabled := False;
N12.Enabled := False;
N13.Enabled := False;
N14.Enabled := False;
N16.Enabled := False;
N17.Enabled := False;
N18.Enabled := False;
N22.Enabled := False;
loged:=p;
StatusBar1.Panels[0].Text := '无用户登陆';
end;
1:
begin
N2.Enabled := True;
N20.Enabled := True;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := True;
N10.Enabled := True;
N11.Enabled := True;
N12.Enabled := True;
N13.Enabled := True;
N14.Enabled := True;
N16.Enabled := True;
N17.Enabled := True;
N18.Enabled := true;
N22.Enabled := True;
loged:=p;
StatusBar1.Panels[0].Text := '超级用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName ;
end;
2:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := True;
N10.Enabled := True;
N11.Enabled := True;
N12.Enabled := True;
N13.Enabled := True;
N14.Enabled := True;
N15.Enabled := True;
N16.Enabled := false;
N17.Enabled := True;
N18.Enabled := False;
N22.Enabled := True;
loged:=p;
StatusBar1.Panels[0].Text := '管理用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName;
end;
3:
begin
N2.Enabled := True;
N20.Enabled := False;
N3.Enabled := True;
N8.Enabled := True;
N9.Enabled := False;
N10.Enabled := True;
N11.Enabled := False;
N12.Enabled := True;
N13.Enabled := False;
N14.Enabled := True;
N15.Enabled := True;
N16.Enabled := false;
N17.Enabled := True;
N18.Enabled := False;
N22.Enabled := True;
loged:=p;
StatusBar1.Panels[0].Text := '普通用户';
StatusBar1.Panels[1].Text := '当前用户:' + UserName;
end;
end;
end;procedure TFrmMain.FormCreate(Sender: TObject);
var
year, month, day: word;
begin
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('images\background.bmp');
Loged := 0;
Init(Loged);
decodedate(date, year, month, day);
StatusBar1.Panels[2].Text := ' ' + IntToStr(year) + '年' +
IntToStr(month) + '月' + IntToStr(day) + '日' + ' ';
StatusBar1.Panels[3].Text := formatdatetime('hh:nn:ss', time);
end;
begin
Bitmap.Free;
end;procedure TFrmMain.FormPaint(Sender: TObject);
var
x, y: integer;
begin
y := 0;
while y < ClientHeight do
begin
x := 0;
while x < ClientWidth do
begin
Canvas.Draw(x, y, Bitmap); //注意
x := x + Bitmap.Width;
end;
y := y + Bitmap.Height;
end;
end;procedure TFrmMain.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[3].Text := FormatDateTime('hh:nn:ss', time);
end;procedure TFrmMain.N11Click(Sender: TObject);
begin
FrmYiBiao :=TFrmYiBiao.Create(Application);
FrmYiBiao.Show;
end;procedure TFrmMain.N9Click(Sender: TObject);
begin
diandiao:=Tdiandiao.Create(application);
diandiao.Show;
end;procedure TFrmMain.N13Click(Sender: TObject);
begin
kufang:=tkufang.Create(application);
kufang.Show;
end;procedure Tfrmmain.Pro_Click;
begin
transe:=Ttranse.Create(application);
transe.show;
transe.Caption :=(Sender as TMenuItem).caption;
end;
procedure TFrmMain.ADDItem;
var I:integer;
begin
if loged in [1,2] then
begin
with menu do
begin
close;
SQL.clear;
sql.add(' select * from 传输系统 order by xuhao ');
Open;
SetLength(aItems,recordCount);
for i:=0 to recordCount-1 do
begin
aItems[i]:=TMenuItem.Create(N4);
aItems[i].Name :='m'+trim(Fieldbyname('xuhao').asstring);
aItems[i].Caption := trim(Fieldbyname('name').asstring);
aItems[i].OnClick:=Pro_Click;
N4.Add(aItems[i]);
Next;
end;
end ;
end ;end;procedure TFrmMain.FormShow(Sender: TObject);
begin
ADDItem;
end;procedure TFrmMain.N22Click(Sender: TObject);
var
querychuanshu: Tquerychuanshu;
begin
querychuanshu:= tquerychuanshu.create(application);
querychuanshu.show;
end;procedure TFrmMain.N10Click(Sender: TObject);
begin
queryddiao:=tqueryddiao.Create(application);
queryddiao.Show;
end;procedure TFrmMain.N12Click(Sender: TObject);
begin
frmYIBIAOQUERY:=tfrmYIBIAOQUERY.create(application);
frmyibiaoquery.show;
end;procedure TFrmMain.N14Click(Sender: TObject);
begin
qkufang:=tqkufang.Create(application);
qkufang.Show;
end;procedure TFrmMain.N20Click(Sender: TObject);
begin
form2:=tform2.Create(application);
form2.Show;
end;procedure TFrmMain.N18Click(Sender: TObject);
begin
Form3:=tform3.Create(application);
form3.Show;
end;procedure TFrmMain.N16Click(Sender: TObject);
begin
Form4:=tform4.Create(application);
form4.Show;
end;procedure TFrmMain.N17Click(Sender: TObject);
begin
form5:=tform5.Create(application);
form5.Show;
end;procedure TFrmMain.N8Click(Sender: TObject);
begin
guanyu:=tguanyu.Create(application);
guanyu.Show;
end;end.
看看错!//if loged in [1,2] then //如果注释掉,程序正常!,是在不知道怎么搞的!
这是全部,你看看!
是调用时赋值的