📄 main.pas
字号:
procedure TFormMain.DateEx32CloseUp(Sender: TObject);
var
StartYear,StartMonth,StartDay:Word;
EndYear,EndMonth,EndDay:Word;
Fee:Word;
begin
DecodeDate(DateEx31.Date,StartYear,StartMonth,StartDay);
DecodeDate(DateEx32.Date,EndYear,EndMonth,EndDay);
if EndYear < StartYear then
MessageDlg('时限日期不能小于起始日期!',mtWarning,[mbOK],0)
else if (EndYear = StartYear) and (EndMonth < StartMonth) then
MessageDlg('时限日期不能小于起始日期!',mtWarning,[mbOK],0)
else
begin
Fee:=((EndYear-StartYear)*12+EndMonth-StartMonth)*EducationRate;
EdtExFee3.Text:=IntToStr(Fee);
end;
end;
procedure TFormMain.DateEx42CloseUp(Sender: TObject);
var
StartYear,StartMonth,StartDay:Word;
EndYear,EndMonth,EndDay:Word;
Fee:Word;
begin
DecodeDate(DateEx41.Date,StartYear,StartMonth,StartDay);
DecodeDate(DateEx42.Date,EndYear,EndMonth,EndDay);
if EndYear < StartYear then
MessageDlg('时限日期不能小于起始日期!',mtWarning,[mbOK],0)
else if (EndYear = StartYear) and (EndMonth < StartMonth) then
MessageDlg('时限日期不能小于起始日期!',mtWarning,[mbOK],0)
else
begin
Fee:=((EndYear-StartYear)*12+EndMonth-StartMonth)*VideoRate;
EdtExFee4.Text:=IntToStr(Fee);
end;
end;
procedure TFormMain.EdtExFee1Change(Sender: TObject);
var
t:Integer;
begin
t:=StrToInt(EdtExFee1.Text)+StrToInt(EdtExFee2.Text)+StrToInt(EdtExFee3.Text)+StrToInt(EdtExFee4.Text);
EdtEx9.Text:=IntToStr(t);
end;
function TFormMain.ServNumberEx: Integer;
var
i,j:Integer;
begin
j:=0;
for i:=1 to 4 do
if (FindComponent('CheckEx'+IntToStr(i)) as TCheckBox).Checked then
j:=j+1;
Result:=j;
end;
procedure TFormMain.CalcServEx;
var
i,j,k:Integer;
y1,m1,d1,y2,m2,d2:Word;
Temp:TCheckBox;
TmpDate1,TmpDate2:TwwDBDateTimePicker;
begin
j:=ServNumberEx;
k:=0;
SetLength(TmpArray,j);
for i:=1 to 4 do
begin
Temp:=FindComponent('CheckEx'+IntToStr(i)) as TCheckBox;
if Temp.Checked then
begin
TmpArray[k].SName:=Temp.Caption;
case i of
1:TmpArray[k].SID:='528';
2:TmpArray[k].SID:='544';
3:TmpArray[k].SID:='560';
4:TmpArray[k].SID:='576';
end;
TmpDate1:=FindComponent('DateEx'+IntToStr(i)+'1') as TwwDBDateTimePicker;
TmpDate2:=FindComponent('DateEx'+IntToStr(i)+'2') as TwwDBDateTimePicker;
DecodeDate(TmpDate1.Date,y1,m1,d1);
DecodeDate(TmpDate2.Date,y2,m2,d2);
TmpArray[k].SYear:=y1;
TmpArray[k].SMonth:=m1;
TmpArray[k].SDay:=d1;
TmpArray[k].Stime:=(y2-y1)*12+m2-m1;
TmpArray[k].SFee:=StrToInt((FindComponent('EdtExFee'+IntToStr(i)) as Tedit).Text);
k:=k+1;
end;
end;
end;
procedure TFormMain.BtnEx1Click(Sender: TObject); //续费确定按钮
var
i:Integer;
TmpID:String;
y1,m1,d1,y2,m2,d2:Word;
TmpDate1,TmpDate2:TwwDBDateTimePicker;
begin
for i:=1 to 4 do
begin
TmpDate1:=FindComponent('DateEx'+IntToStr(i)+'1') as TwwDBDateTimePicker;
TmpDate2:=FindComponent('DateEx'+IntToStr(i)+'2') as TwwDBDateTimePicker;
DecodeDate(TmpDate1.Date,y1,m1,d1);
DecodeDate(TmpDate2.Date,y2,m2,d2);
if y2 < y1 then
begin
MessageDlg('时限日期不能小于起始日期!',mtWarning,[mbOK],0);
Exit;
end
else if (y2 = y1) and (m2 < m1) then
begin
MessageDlg('时限日期不能小于起始日期!',mtWarning,[mbOK],0);
Exit;
end;
end;
CalcServEx;
if ServNumberEx > 0 then
begin
TmpID:= DataM.QueryUser.FieldByName('UserID').AsString;
with DataM.QueryService1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT ServName, ServTypeID, StartYear, StartMonth, StartDay, ServTime, Fee, UserID');
SQL.Add('FROM "Service.DB" Service');
SQL.Add('WHERE "Service".UserID="'+TmpID+'"');
Open;
Edit;
RequestLive:=True;
First;
for i:=0 to Length(TmpArray)-1 do
begin
//不管有否记录,另增加记录
Append;
FieldByName('ServName').AsString:=TmpArray[i].SName;
FieldByName('UserID').AsString:=TmpID;
FieldByName('ServTypeID').AsString := TmpArray[i].SID;
FieldByName('StartYear').AsInteger:=TmpArray[i].SYear;
FieldByName('StartMonth').AsInteger:=TmpArray[i].SMonth;
FieldByName('StartDay').AsInteger:=TmpArray[i].SDay;
FieldByName('ServTime').AsInteger:=TmpArray[i].Stime;
FieldByName('Fee').AsInteger:=TmpArray[i].SFee;
Post;
Next;
end;
//覆盖记录
{if FieldByName('ServTypeID').AsString = TmpArray[i].SID then
begin
FieldByName('StartYear').AsInteger:=TmpArray[i].SYear;
FieldByName('StartMonth').AsInteger:=TmpArray[i].SMonth;
FieldByName('StartDay').AsInteger:=TmpArray[i].SDay;
FieldByName('ServTime').AsInteger:=TmpArray[i].Stime;
FieldByName('Fee').AsInteger:=TmpArray[i].SFee;
Post;
Next;
end
else
begin
with DataM.TableService1 do
begin
Open;
Insert;
FieldByName('UserID').AsString := TmpID;
FieldByName('ServTypeID').AsString := TmpArray[i].SID;
FieldByName('StartYear').AsInteger:=TmpArray[i].SYear;
FieldByName('StartMonth').AsInteger:=TmpArray[i].SMonth;
FieldByName('StartDay').AsInteger:=TmpArray[i].SDay;
FieldByName('ServTime').AsInteger:=TmpArray[i].Stime;
FieldByName('Fee').AsInteger:=TmpArray[i].SFee;
Post;
Close;
end;
end;
end;}
//RequestLive:=False;
//Close;
end;
//DataM.QueryUser.Close;
//DataM.QueryAgent.Close;
BtnEx1.Enabled:=False;
BtnEx2.Enabled:=False;
BtnEx3.Enabled:=True;
end
else
MessageDlg('你没有选择续费项目',mtWarning,[mbOK],0);
end;
procedure TFormMain.BtnEx2Click(Sender: TObject);//续费取消按钮
var
i,j:Integer;
Temp:TCheckBox;
TmpDate:TwwDBDateTimePicker;
begin
for i:=1 to 4 do
begin
Temp:=FindComponent('CheckEx'+IntToStr(i)) as TCheckBox;
Temp.Checked:=False;
TmpDate:=FindComponent('DateEx'+IntToStr(i)+'1') as TwwDBDateTimePicker;
TmpDate.Date:=Date();
TmpDate.Enabled:=False;
for j:=1 to 3 do
(FindComponent('LblEx'+IntToStr(Temp.Tag)+IntToStr(j)) as TLabel).Enabled:=
False;
for j:=1 to 2 do
begin
TmpDate:=FindComponent('DateEx'+IntToStr(Temp.Tag)+IntToStr(j)) as TwwDBDateTimePicker;
TmpDate.Enabled:=False;
TmpDate.Clear;
end;
(FindComponent('EdtExFee'+IntToStr(Temp.Tag)) as TEdit).Enabled:=False;
(FindComponent('EdtExFee'+IntToStr(Temp.Tag)) as TEdit).Text:='0';
end;
BtnEx1.Enabled:=False;
BtnEx2.Enabled:=False;
end;
procedure TFormMain.BtnEx5Click(Sender: TObject);//续费“下一条”按钮
begin
PageControl.ActivePage:=TabSheet8;
end;
//修改用户
procedure TFormMain.ModifyUser(i: Integer; S: String);
begin
with DataM.QueryUser do
begin
Close;
SQL.Clear;
SQL.Add('SELECT UserID, Name, IDcard, Phone, Address, CardNo, UserCardNo,UserZIP, AgentID,UserRemark,PrintMark');
SQL.Add('FROM "Userinfo.DB" Userinfo');
if i =1 then
SQL.Add('WHERE CardNo = "' +s+'"')
else if i = 2 then
SQL.Add('WHERE UserCardNo = "' +s+'"')
else if i = 3 then
SQL.Add('WHERE Name = "' +s+'"');
Open;
end;
DataM.TableAgent.Open;
end;
procedure TFormMain.BtnModify1Click(Sender: TObject);
var
UID:Integer;
begin
if (EdtModify1.Text='') or (EdtModify5.Text='') or (EdtModify6.Text='') then
MessageDlg('用户名、用户证、卡号不能为空!',mtWarning,[mbOK],0)
else if Application.MessageBox('确定修改吗?','修改用户',MB_OKCANCEL) = IDOK then
begin
DataM.QueryUser.RequestLive:=True;
DataM.QueryUser.Edit;
DataM.QueryUser.Post;
UID:=DataM.QueryUser.FieldByName('UserID').AsInteger;
DataM.QueryUser.DisableControls;
//DataM.QueryUser.Close;
//DataM.QueryUser.RequestLive:=False;
DataM.TableAgent.DisableControls;
//DataM.TableAgent.Close;
with DataM.QueryPrint do
begin
Close;
SQL.Clear;
SQL.Add('SELECT CardNo, UserID');
SQL.Add('FROM "PrintNo.DB" PrintNo');
SQL.Add('WHERE UserID ='+IntToStr(UID));
Open;
Close;
SQL.Clear;
SQL.Add('UPDATE "PrintNo.DB" PrintNo');
SQL.Add('SET PN = 0');
SQL.Add('SET CardNo = "'+EdtModify6.Text+'"');
SQL.Add('WHERE UserID ='+IntToStr(UID));
PrePare;
ExecSQL;
Close;
UnPrepare;
BtnModify1.Enabled:=False;
BtnModify3.Enabled:=False;
end;
end;
end;
procedure TFormMain.TabSheet4Show(Sender: TObject);
var
i:Integer;
begin
DataM.QueryUser.Close;
DataM.TableAgent.Close;
UserUpdateEnable(False);
for i:=1 to 6 do
(FindComponent('EdtModify'+IntToStr(i)) as TwwDBEdit).Text:='';
//ComboModify1.Text:='';
Panel4.Enabled:=True;
BtnModify2.Enabled:=True;
for i:=0 to Panel4.ControlCount-1 do
Panel4.Controls[i].Enabled:=True;
RBtnUpdate1.Checked:=True;
EdtUpdate2.Enabled:=False;
EdtUpdate3.Enabled:=False;
EdtUpdate1.Text:='';
EdtUpdate2.Text:='';
EdtUpdate3.Text:='';
EdtUpdate1.Enabled:=True;
// EdtUpdate1.SetFocus;
end;
procedure TFormMain.BtnModify2Click(Sender: TObject);
var
Sel,i:Integer;
Str:String;
begin
if RBtnUpdate1.Checked then
begin
Sel:=1;
Str:=EdtUpdate1.Text;
end
else if RBtnUpdate2.Checked then
begin
Sel:=2;
Str:=EdtUpdate2.Text;
end
else
begin
Sel:=3;
Str:=EdtUpdate3.Text;
end;
if (Findcomponent('EdtUpdate'+IntToStr(Sel)) as TEdit).Text = '' then
MessageDlg('请输入参数!',mtConfirmation,[mbOK],0)
else
begin
ModifyUser(Sel,Str);
if DataM.QueryUser.RecordCount >= 1 then
begin
UserUpdateEnable(True);
for i:=0 to Panel4.ControlCount-1 do
begin
if Panel4.Controls[i] is TEdit then
(Panel4.Controls[i] as Tedit).Text:='';
RBtnUpdate1.Checked:=True;
Panel4.Controls[i].Enabled:=False;
BtnModify2.Enabled:=False;
end;
end
else
MessageDlg('没有此用户!',mtConfirmation,[mbOK],0);
end;
end;
procedure TFormMain.BtnModify5Click(Sender: TObject);
var
i:Integer;
begin
UserUpdateEnable(False);
Panel4.Enabled:=True;
for i:=0 to Panel4.ControlCount-1 do
begin
Panel4.Controls[i].Enabled:=True;
if Panel4.Controls[i] is TEdit then
(Panel4.Controls[i] as Tedit).Text:='';
end;
RBtnUpdate1.Checked:=True;
EdtUpdate2.Enabled:=False;
EdtUpdate3.Enabled:=False;
BtnModify2.Enabled:=True;
{for i:=0 to TabSheet4.ControlCount-1 do
begin
if TabSheet4.Controls[i] is TwwDBEdit then
(TabSheet4.Controls[i] as TwwDBEdit).Text:='';
BtnModify5.Enabled:=False;
end;}
DataM.QueryUser.Close;
DataM.TableAgent.Close;
end;
procedure TFormMain.BtnModify3Click(Sender: TObject);//删除
var
TmpID:String;
begin
if Application.MessageBox('确定删除吗?','删除用户',MB_OKCANCEL) = IDOK then
begin
TmpID:=DataM.QueryUser.FieldByName('UserID').AsString;
with DataM.QueryService1 do
begin
//删除用户服务信息
Close;
SQL.Clear;
SQL.Add('DELETE FROM Service');
SQL.Add('WHERE UserID ="'+TmpID+'"');
Prepare;
ExecSQL;
Close;
UnPrepare;
//删除用户打印标记
Close;
SQL.Clear;
SQL.Add('DELETE FROM PrintNo');
SQL.Add('WHERE UserID ="'+TmpID+'"');
Prepare;
ExecSQL;
Close;
UnPrepare;
//删除用户
SQL.Clear;
SQL.Add('DELETE FROM UserInfo');
SQL.Add('WHERE UserID ="'+TmpID+'"');
Prepare;
ExecSQL;
Close;
UnPrepare;
end;
DataM.QueryAgent.Close;
DataM.QueryUser.Close;
BtnModify1.Enabled:=False;
BtnModify3.Enabled:=False;
BtnModify4.Enabled:=False;
end;
end;
procedure TFormMain.RBtnUpdate1Click(Sender: TObject);
begin
EdtUpdate1.Enabled:=True;
EdtUpdate1.SetFocus;
EdtUpdate2.Enabled:=False;
EdtUpdate3.Enabled:=False;
EdtUpdate2.Text:='';
EdtUpdate3.Text:='';
end;
procedure TFormMain.RBtnupdate2Click(Sender: TObject);
begin
EdtUpdate1.Enabled:=False;
EdtUpdate1.Text:='';
EdtUpdate2.Enabled:=True;
EdtUpdate2.SetFocus;
EdtUpdate3.Enabled:=False;
EdtUpdate3.Text:='';
end;
procedure TFormMain.RBtnupdate3Click(Sender: TObject);
begin
EdtUpdate1.Enabled:=False;
EdtUpdate1.Text:='';
EdtUpdate2.Enabled:=False;
EdtUpdate2.Text:='';
EdtUpdate3.Enabled:=True;
EdtUpdate3.SetFocus;
end;
//查询
procedure TFormMain.TabSheet5S
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -