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

📄 ureg.pas

📁 针对商品与仓库存储商品等信息的管理及维护的管理软件。它能够辅助仓库管理人员对供应商信息、商品基本信息以及商品入库、出库、库存信息查询等进行控制管理
💻 PAS
字号:
unit uReg;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, ComCtrls, ExtCtrls, ImgList, Buttons,
  Mask, DBCtrls;

type
  TFrmReg = class(TForm)
    Panel1: TPanel;
    Panel3: TPanel;
    DBGrid1: TDBGrid;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ImageList1: TImageList;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    dbName: TDBEdit;
    dbMember: TDBEdit;
    dbAge: TDBEdit;
    dbDate: TDBEdit;
    dbMemo: TDBEdit;
    Groupclass: TGroupBox;
    ListBox1: TListBox;
    btnNew: TSpeedButton;
    btnEdit: TSpeedButton;
    btnDel: TSpeedButton;
    btnYes: TSpeedButton;
    btnCancel: TSpeedButton;
    btnClose: TSpeedButton;
    dbTerm: TDBEdit;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    ComboBox2: TComboBox;
    dbbID: TDBEdit;
    Label8: TLabel;
    Label9: TLabel;
    Edit3: TEdit;
    Label10: TLabel;
    Edit4: TEdit;
    Label11: TLabel;
    Label12: TLabel;
    Edit2: TEdit;
    Label13: TLabel;
    ComboBox3: TComboBox;
    Label14: TLabel;
    GroupBox2: TGroupBox;
    Panel2: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure btnNewClick(Sender: TObject);
    procedure btnYesClick(Sender: TObject);
    procedure btnEditClick(Sender: TObject);
    procedure btnDelClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
    formmode:string;
    procedure BtnMode;
    procedure InsertMode;
    Procedure UpdateMode;
    Procedure NormalMode;
  public
    { Public declarations }
  end;

var
  FrmReg: TFrmReg;

implementation
uses MainD,UTIL,ureportreg;
{$R *.dfm}

procedure TFrmReg.BtnMode;
begin
  BtnNew.Enabled     := False;
  BtnEdit.Enabled    := False;
  BtnDel.Enabled     := False;
  BtnYes.Enabled     := False;
  BtnCancel.Enabled  := False;
  BtnClose.Enabled   := False;
  Groupclass.Enabled := False;
  DBGrid1.Enabled    := False;
  combobox2.Enabled  := False;
  pagecontrol1.Pages[0].Enabled := False;
if formmode = 'nor' then
begin
  combobox2.Enabled  := True;
  BtnNew.Enabled     := True;
  BtnEdit.Enabled    := True;
  BtnDel.Enabled     := True;
  BtnYes.Enabled     := False;
  BtnCancel.Enabled  := False;
  Groupclass.Enabled := True;
  DBGrid1.Enabled    := True;
  BtnClose.Enabled   := true;
  pagecontrol1.Pages[0].Enabled := True;

end else if (formmode='ins') or (formmode = 'edt')  then begin
  if formmode='ins' then
  combobox2.Enabled  := true;
  BtnNew.Enabled     := False;
  BtnEdit.Enabled    := False;
  BtnDel.Enabled     := False;
  BtnYes.Enabled     := True;
  BtnCancel.Enabled  := True;
  Groupclass.Enabled := False;
  DBGrid1.Enabled    := False;
  BtnClose.Enabled   := False;
  pagecontrol1.Pages[0].Enabled := False;
end;

end;

procedure TFrmReg.FormCreate(Sender: TObject);
var
 I:integer;
begin
 combobox1.Clear;
 for i:=0 to 5 do
 begin
 combobox1.Items.Add(inttostr(i+2002)+'年春');
 combobox1.Items.Add(inttostr(i+2002)+'年秋');
 end;
with MainDFrm do
begin
 Qclass.SQL.Clear;
 Qclass.SQL.Add('SELECT * FROM regdate');
 Qclass.SQL.Add('order by bID');

 UQclass.InsertSQL.Clear;
 UQclass.InsertSQL.Add('INSERT INTO Reginfo');
 UQclass.InsertSQL.Add('(bID,member,age,rterm,rDate,Memo)');
 UQclass.InsertSQL.Add('VALUES');
 UQclass.InsertSQL.Add('(:bID,:member,:age,:rterm,:rDate,:Memo)');

 UQclass.ModifySQL.Clear;
 UQclass.ModifySQL.Add('UPDATE  Reginfo SET');
 UQclass.ModifySQL.Add('member=:member,age=:age,rterm=:rterm,rDate=:rDate,Memo=:Memo');
 UQclass.ModifySQL.Add('WHERE bID=:bID');

 UQclass.DeleteSQL.Clear;
 UQclass.DeleteSQL.Add('DELETE FROM Reginfo');
 UQclass.DeleteSQL.Add('WHERE bID=:bID');

 Qclass.Close;
 Qclass.Open;
 listbox1.Clear;
 Qgrant.SQL.Clear;
 Qgrant.SQL.Add('select * from Classinfo');
 Qgrant.Close;
 Qgrant.Open;
 Qgrant.First;
 while not Qgrant.Eof do
 begin
 listbox1.Items.Add(Qgrant.Fields.Fields[0].AsString+
  '@'+Qgrant.Fields.Fields[1].AsString);
 Qgrant.Next;
 end;
 end;
 normalmode;
end;

procedure TFrmReg.InsertMode;
begin
 formmode := 'ins';
 btnMode;
end;

procedure TFrmReg.NormalMode;
begin
formmode := 'nor';
btnMode;
end;

procedure TFrmReg.UpdateMode;
begin
 formmode := 'edt';
 btnMode;
end;

procedure TFrmReg.btnNewClick(Sender: TObject);
begin
if listbox1.ItemIndex<0 then
begin
showmessage('请选择班级!');
exit;
end;
if combobox1.Text='' then
begin
showmessage('请选择学期!');
exit;
end;

if MaindFrm.CheckPermission(UserID,'reg002')=False then exit;
InsertMode;
MainDFrm.Qclass.Append;
with MainDFrm do
begin
 Qclass.FieldByName('bID').AsString :='';
 Qclass.FieldByName('member').AsString :='';
 Qclass.FieldByName('age').AsString :='';
 Qclass.FieldByName('rterm').AsString :=combobox1.Text;
 Qclass.FieldByName('rDate').AsString :=Datetostr(date);
 Qclass.FieldByName('Memo').AsString :='';
 end;
end;

procedure TFrmReg.btnYesClick(Sender: TObject);
begin
if dbName.Text='' then
begin
showmessage('请输入姓名!');
 exit;
 end;
if dbTerm.Text='' then exit;
with MainDFrm do
begin
if formmode = 'ins' then
begin
  if  ChecktbID('Arcinfo','bName',dbName.Text)=False then
  begin
    showmessage('很抱歉,没有['+dbName.Text+']相关信息,不能注册!'
       +#13+'请录入[学生信息]后再进行注册!');
    exit;
  end;
  dbbID.Text :=Qgrant.Fields.Fields[0].AsString;
  Qgrant.SQL.Clear;
  Qgrant.SQL.Add('select bID from Reginfo');
  Qgrant.SQL.Add('where bID='''+dbbID.Text+'''');
  Qgrant.SQL.Add('and rTerm='''+dbTerm.Text+'''');
  Qgrant.Close;
  Qgrant.Open;
  if not Qgrant.Eof then
  begin
  showmessage('该生已经注册了,请选择其他学生!');
  exit;
  end;
 end;
  try
   Qclass.Post;
   Qclass.Database.StartTransaction;
   Qclass.ApplyUpdates;
   Qclass.CommitUpdates;
   Qclass.Database.Commit;

  except
   Qclass.Database.Rollback;
   Qclass.CancelUpdates;
   showmessage('存盘失败!');
  end;
  Qclass.Close;
  Qclass.Open;
end;
 NormalMode;
end;
procedure TFrmReg.btnEditClick(Sender: TObject);
begin
if MaindFrm.CheckPermission(UserID,'reg003')=False then exit;
UpdateMode;
MainDFrm.Qclass.Edit;
end;

procedure TFrmReg.btnDelClick(Sender: TObject);
begin
if MaindFrm.CheckPermission(UserID,'reg004')=False then exit;
if MessageBox(Application.Handle,'确认要删除吗?','删除提示',
    mb_ICONInformation+mb_YESNO+mb_DEFbutton2)=mryes then
 with MainDFrm do
 begin
 UQclass.DeleteSQL.Clear;
 UQclass.DeleteSQL.Add('DELETE FROM Reginfo');
 UQclass.DeleteSQL.Add('WHERE bID='''+dbbID.Text+'''');
 UQclass.DeleteSQL.Add('and rTerm='''+dbTerm.Text+'''');
 try
   Qclass.Delete;
   Qclass.Database.StartTransaction;
   Qclass.ApplyUpdates;
   Qclass.CommitUpdates;
   Qclass.Database.Commit;
 except
   Qclass.Database.Rollback;
   Qclass.CancelUpdates;
   showmessage('存盘失败!');
 end;
end;
end;

procedure TFrmReg.btnCancelClick(Sender: TObject);
begin
if messagebox(0,'确定不更新本条数据?','提示',
mb_ICONInformation+mb_yesno+mb_defbutton2)= mryes then
begin
 MainDFrm.Qclass.Cancel;
 NormalMode;
end;
end;

procedure TFrmReg.ListBox1Click(Sender: TObject);
var
tmpstr:string;
i:integer;
begin
tmpstr :=Listbox1.Items[Listbox1.itemindex];
tmpstr :=trim(tmpstr);
i := pos('@',tmpstr);
tmpstr :=copy(tmpstr,1,i-1);
with MainDFrm do
begin
  Qgrant.SQL.Clear;
  Qgrant.SQL.Add('select bID,bName from Arcinfo');
  Qgrant.SQL.Add('where cID='''+tmpstr+'''');
//  Qgrant.SQL.Add('and Classinfo.cClass=''' );
//  Qgrant.SQL.Add(+'''');
  try
    Qgrant.close;
    Qgrant.Open;
  except
    exit;
  end;
  QGrant.First;
  combobox2.Clear;
//  combobox2.Items.Add(tmpstr);
  while not Qgrant.Eof do
  begin
    combobox2.Items.Add(Qgrant.Fields.Fields[1].asstring);
    Qgrant.Next;
  end;
end;
end;

procedure TFrmReg.ComboBox2Change(Sender: TObject);
begin
if combobox2.ItemIndex<0 then exit;
dbName.Text := combobox2.Items[combobox2.itemindex];
with MainDFrm do
begin
Qgrant.SQL.Clear;
Qgrant.SQL.Add('select bID from Arcinfo');
Qgrant.SQL.Add('where bName='''+dbName.Text+'''');
Qgrant.Close;
Qgrant.Open;
if not Qgrant.Eof then dbbID.Text := Qgrant.Fields.Fields[0].AsString;
end;
end;

procedure TFrmReg.ComboBox1Change(Sender: TObject);
begin
if combobox1.ItemIndex<0 then exit;
dbTerm.Text := combobox1.Items[combobox1.itemindex];
end;

procedure TFrmReg.SpeedButton1Click(Sender: TObject);
var
tmp: array[1..9] of string;
str:string;
i:integer;
begin
 tmp[1] := edit3.Text;
 tmp[2] := edit4.Text;
 tmp[3] := edit5.Text;
 tmp[4] := edit6.Text;
 tmp[5] := edit2.Text;
 tmp[6] := edit7.Text;
 tmp[7] := trim(combobox3.Text);
 tmp[8] := trim(combobox1.Text);
 if listbox1.itemindex < 0 then
 begin
 showmessage('请选择班级再查询!');
 exit;
 end else 
 tmp[9] := listbox1.Items[listbox1.itemindex];
 i := pos('@',tmp[9]);
 delete(tmp[9],1,i);
 str:='';
 if tmp[1]<> '' then
 str :=str + 'and bID>='''+tmp[1]+'''';
 if tmp[2]<>'' then
 str := str +'and bID<='''+tmp[2]+'''';
 if tmp[3]<> '' then
 str := str +'and age>='+tmp[3];
 if tmp[4]<>'' then
 str := str +'and age<='+tmp[4];
 if tmp[5]<>'' then
 str := str +'and bName='''+tmp[5]+'''';
 if tmp[6]<>'' then
 str := str+'and rDate='''+tmp[6]+'''';
 if tmp[7]<>'' then
 str := str +'and member='''+tmp[7]+'''';
 if tmp[8] <>'' then
 str := str+ 'and rterm='''+tmp[8]+'''';
 with MainDFrm do
 begin
   Qclass.SQL.Clear;
   Qclass.SQL.Add('select * from regdate');
   Qclass.SQL.add('where cClass='''+tmp[9]+'''');
   Qclass.sql.Add(str);
   Qclass.Close;
   Qclass.Open;
 end;
end;

procedure TFrmReg.SpeedButton2Click(Sender: TObject);
var
  FrmRegstd: TFrmRegstd;
begin
if MaindFrm.CheckPermission(UserID,'reg005')=False then exit;
 FrmRegstd := TFrmRegstd.Create(Application);
 try

 finally
  FrmRegstd.Free;
 end;

end;

procedure TFrmReg.SpeedButton3Click(Sender: TObject);
var
  FrmRegstd: TFrmRegstd;
begin
if MaindFrm.CheckPermission(UserID,'reg005')=False then exit;
 FrmRegstd := TFrmRegstd.Create(Application);
 try

 finally
  FrmRegstd.Free;
 end;

end;

procedure TFrmReg.SpeedButton4Click(Sender: TObject);
begin
close;
end;

procedure TFrmReg.SpeedButton5Click(Sender: TObject);
var
  FrmRegstd: TFrmRegstd;
begin
 FrmRegstd := TFrmRegstd.Create(Application);
 try
  FrmRegstd.ShowModal;
 finally
  FrmRegstd.Free;
 end;

end;

procedure TFrmReg.btnCloseClick(Sender: TObject);
begin
close;
end;

procedure TFrmReg.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
canClose := True;
if (formmode = 'ins') or (formmode = 'edt') then
begin
  MessageBox(application.Handle,'请先结束输入模式后再离开','警告',
  mb_ICONWarning+mb_OK);
  canClose := False;
end;

end;

end.

⌨️ 快捷键说明

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