📄 main.~pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, ComCtrls, DB,
DBTables, DBCtrls, TeEngine, Series, TeeProcs, Chart, DbChart, Menus,
Mask, ImgList,shellapi;
type
TmainForm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Panel1: TPanel;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
BitBtn1: TBitBtn;
DBGrid1: TDBGrid;
Bevel2: TBevel;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
DataSource1: TDataSource;
Table1: TTable;
TabSheet7: TTabSheet;
Bevel3: TBevel;
DBNavigator1: TDBNavigator;
Table1BianHao: TStringField;
Table1XingMing: TStringField;
Table1Sex: TStringField;
Table1BuMen: TStringField;
Table1ZhuZhi: TStringField;
Table1GongZi: TFloatField;
Table1ZhiCheng: TStringField;
DataSource2: TDataSource;
Table2: TTable;
DBChart1: TDBChart;
Series1: TPieSeries;
DBGrid2: TDBGrid;
Bevel4: TBevel;
Table2BianHao: TStringField;
Table2YueFen: TStringField;
Table2YchuQin: TFloatField;
Table2ChiDao: TFloatField;
Table2ZaoTui: TFloatField;
Table2QingJia: TFloatField;
Table2KuangGong: TFloatField;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
DataSource3: TDataSource;
Table3: TTable;
Table3BianHao: TStringField;
Table3YueFen: TStringField;
Table3Gongzi: TFloatField;
Table3Jiangjin: TFloatField;
Table3Sgongzi: TFloatField;
DBGrid3: TDBGrid;
Bevel5: TBevel;
Panel2: TPanel;
Label8: TLabel;
Label9: TLabel;
Edit6: TEdit;
ComboBox3: TComboBox;
RadioGroup1: TRadioGroup;
Label10: TLabel;
Label11: TLabel;
Edit7: TEdit;
Edit8: TEdit;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
DataSource4: TDataSource;
Query1: TQuery;
Label12: TLabel;
Edit9: TEdit;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label14: TLabel;
Edit11: TEdit;
UpDown1: TUpDown;
Label16: TLabel;
Edit12: TEdit;
UpDown2: TUpDown;
Label17: TLabel;
DBGrid4: TDBGrid;
GroupBox3: TGroupBox;
DBGrid5: TDBGrid;
Label15: TLabel;
Edit13: TEdit;
UpDown3: TUpDown;
Label18: TLabel;
Edit14: TEdit;
UpDown4: TUpDown;
Label19: TLabel;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
Label21: TLabel;
Edit16: TEdit;
Label20: TLabel;
Edit15: TEdit;
DBGrid6: TDBGrid;
BitBtn9: TBitBtn;
Query1BianHao: TStringField;
Query1XingMing: TStringField;
Query1Sex: TStringField;
Query1BuMen: TStringField;
Query1ZhiCheng: TStringField;
Query1ZhuZhi: TStringField;
Query1GongZi: TFloatField;
Query1Bianma: TStringField;
Query2: TQuery;
DataSource5: TDataSource;
Query2BianHao: TStringField;
Query2YueFen: TStringField;
Query2Gongzi: TFloatField;
Query2Jiangjin: TFloatField;
Query2Sgongzi: TFloatField;
DataSource6: TDataSource;
Table2Schuqin: TFloatField;
BitBtn12: TBitBtn;
BitBtn13: TBitBtn;
Table1Bianma: TStringField;
Query3: TQuery;
Query3BianHao: TStringField;
Query3YueFen: TStringField;
Query3YchuQin: TFloatField;
Query3ChiDao: TFloatField;
Query3ZaoTui: TFloatField;
Query3QingJia: TFloatField;
Query3KuangGong: TFloatField;
Query3schuqin: TIntegerField;
Timer1: TTimer;
GroupBox4: TGroupBox;
Label23: TLabel;
Label22: TLabel;
Label13: TLabel;
Edit10: TEdit;
Edit17: TEdit;
Edit18: TEdit;
BitBtn14: TBitBtn;
GroupBox5: TGroupBox;
Image1: TImage;
Label24: TLabel;
Label25: TLabel;
TreeView1: TTreeView;
ImageList1: TImageList;
Label26: TLabel;
Bevel6: TBevel;
BitBtn15: TBitBtn;
RichEdit1: TRichEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label27: TLabel;
Image2: TImage;
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Table2CalcFields(DataSet: TDataSet);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DBGrid2ColExit(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure Table3CalcFields(DataSet: TDataSet);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure Query3CalcFields(DataSet: TDataSet);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn13Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure TabSheet5Show(Sender: TObject);
procedure BitBtn14Click(Sender: TObject);
procedure Edit18Exit(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure BitBtn15Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit10Exit(Sender: TObject);
private
passwordin:boolean;
truesalary:real;
//procedure WMNChitTest(var Msg:TWMNChitTest);
// message WM_NCHITTEST;
//function SetLayeredWindowAttributes(hwnd:HWND;crKey:longint;bAlpha:byte;dwFlags:longint):longint; stdcall; external user32;
function cmppassword(s1:string; s2:string):boolean; { Private declarations }
public
{ Public declarations } superpower,userpower1,userpower2,userpower3:boolean;
end;
var
mainForm: TmainForm;
x,w,h:integer;
pic:trect;
ss,a1,a2,a3,username,userpass:string[60];
implementation
uses passdlg, chuqin, zuozhe;
{$R *.dfm}
function tmainform.cmppassword(s1:string;s2:string):boolean;
var
datafile:file;
rt:boolean;
numread:integer;
buf1,buf2:string[30];
begin
rt:=false;
assignfile(datafile,'system.ini');
reset(datafile,1);
repeat
blockread(datafile,buf1,12,numread);
blockread(datafile,buf2,12,numread);
if (s1=buf1) and (s2=buf2) then
begin
username:=s1;
userpass:=s2;
result:=true;
exit;
end;
until(numread=0);
closefile(datafile);
cmppassword:=rt;
end;
procedure TmainForm.FormActivate(Sender: TObject);
var
cmptimes,bn:integer;
ss1,ss2:string[200];
begin
cmptimes:=1;
if passwordin=false then
begin
passwordin:=true;
repeat
bn:=passworddlg.showmodal;
if bn=mrok then
begin
ss1:=passworddlg.combobox1.text;
ss2:=passworddlg.password.text;
if cmppassword(ss1,ss2) then
cmptimes:=100
else
begin
cmptimes:=cmptimes+1;
if cmptimes>3 then
close
else
messagedlg('密码错误,请重新输入,一共三次机会!',mtwarning,[mbok],0);
end;
end
else {bn=mrcancel}
begin
cmptimes:=100;
close;
end;
until(cmptimes>3);
if passworddlg.ComboBox1.Text='system' then
begin
mainform.UpdateActions;
PageControl1.ActivePage:=tabsheet1;
DBNavigator1.Visible:=true;
end
else if passworddlg.ComboBox1.text='renshi' then
begin
mainform.UpdateActions;
PageControl1.ActivePage:=tabsheet1;
DBNavigator1.Visible:=true;
tabsheet3.TabVisible:=false;
end
else if passworddlg.ComboBox1.text='caiwu' then
begin
mainform.UpdateActions;
PageControl1.ActivePage:=tabsheet3;
tabsheet1.TabVisible:=false;
tabsheet2.TabVisible:=false;
end
else if passworddlg.ComboBox1.text='guest' then
begin
mainform.UpdateActions;
PageControl1.ActivePage:=tabsheet1;
DBGrid1.Align:=alclient;
DBGrid1.ShowHint:=True;
DBGrid1.Hint:='您只有浏览的权利!';
DBGrid1.ReadOnly:=True;
dbgrid2.ReadOnly:=true;
bitbtn1.Visible:=false;
bitbtn4.Enabled:=false;
bitbtn2.Enabled:=false;
tabsheet3.TabVisible:=false;
tabsheet5.TabVisible:=false;
end;
end;
end;
procedure TmainForm.BitBtn1Click(Sender: TObject);
begin
if (combobox1.text='') or (edit1.text='') or (edit2.text='') or (edit3.text='') or(edit4.text='') or (edit5.text='')
or (combobox2.text='') then
begin
MessageDlg('资料输入不全!', mtWarning, [mbOk], 0);
exit;
end;
table1.active:=true;
with table1 do
begin
append;
FieldValues['bianhao'] := trim(edit1.text);
FieldValues['xingming'] := trim(edit2.text);
FieldValues['sex'] := trim(combobox1.text);
fieldvalues['bianma']:=trim(edit16.Text);
FieldValues['zhicheng'] := trim(edit3.text);
FieldValues['bumen'] :=trim(combobox2.text);
FieldValues['zhuzhi'] :=trim(edit4.text);
FieldValues['gongzi'] :=strtofloat(trim(edit5.text));
Post;
end;
combobox1.text:='男';
combobox2.text:='车间办公室';
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit16.Text:='';
end;
procedure TmainForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,#13]) then key:=#0 ;
end;
procedure TmainForm.Table2CalcFields(DataSet: TDataSet);
var a1,a2,a3,a4,a5:real;
begin
with table2 do
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -