📄 unit4.pas
字号:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, ADODB, Mask, Grids, DBGrids;
type
TForm4 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Button1: TButton;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
Label5: TLabel;
Edit3: TEdit;
Label7: TLabel;
DateTimePicker1: TDateTimePicker;
Label8: TLabel;
Button2: TButton;
Button3: TButton;
ADODataSet1: TADODataSet;
Label9: TLabel;
ComboBox2: TComboBox;
Button4: TButton;
Button5: TButton;
ADODataSet2: TADODataSet;
ADODataSet3: TADODataSet;
ADOCommand1: TADOCommand;
Edit6: TEdit;
Button6: TButton;
Edit7: TEdit;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
DBGrid1: TDBGrid;
Label11: TLabel;
ADODataSet4: TADODataSet;
DataSource1: TDataSource;
Label6: TLabel;
Edit4: TEdit;
Button7: TButton;
Label10: TLabel;
Label12: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Label13: TLabel;
Edit10: TEdit;
Label14: TLabel;
Edit11: TEdit;
Label15: TLabel;
Edit12: TEdit;
Label16: TLabel;
Edit13: TEdit;
Label17: TLabel;
Edit14: TEdit;
Label18: TLabel;
Button8: TButton;
Button9: TButton;
ADODataSet5: TADODataSet;
Button10: TButton;
Edit15: TEdit;
ADOCommand2: TADOCommand;
ComboBox3: TComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure ComboBox1Enter(Sender: TObject);
procedure ComboBox2Enter(Sender: TObject);
procedure ComboBox2Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Edit6Change(Sender: TObject);
procedure Edit7Change(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure TabSheet1Exit(Sender: TObject);
procedure TabSheet2Exit(Sender: TObject);
procedure TabSheet3Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
Leibie:string;
bianhao:string;
ID_2:integer;
implementation
{$R *.dfm}
uses unit1,unit5,unit6;
procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
Form_show:=False;
end;
procedure TForm4.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm4.FormCreate(Sender: TObject);
var
i:integer;
begin
DateTimePicker1.date:=Date();
Form_show:=True;
xinleibie_show:=False;
//从数据库读出新书种类信息
Adodataset1.Active:=False;
Adodataset1.CommandText:='select * from leibie';
Adodataset1.Active:=True;
//循环写到 comboboxx1中去
for i:=0 to 99 do
form1.combobox[i]:='';
form1.stringlength:=0;
for i:=0 to Adodataset1.RecordCount-1 do
begin
Form1.combobox[i]:=Adodataset1.Fields[1].AsString;
Adodataset1.Next;
end;
form1.stringlength:=i;
Adodataset1.Active:=True;
end;
procedure TForm4.ComboBox1Click(Sender: TObject);
var
i:integer;
begin
Leibie:=Combobox1.Text;
edit1.Text:='';
combobox2.Enabled:=True;
//为显示小类别作字符串数组准备
//取得类别leibie_num
Adodataset1.Active:=False;
Adodataset1.CommandText:='select id from Leibie where leibie='''+trim(leibie)+'''';
Adodataset1.Active:=True;
Form1.leibie_num:=Adodataset1.Fields[0].AsString;
Adodataset1.Active:=False;
//打开leibie_num所对应的数据库
Adodataset2.Active:=False;
Adodataset2.CommandText:='select * from '+form1.leibie_num;
Adodataset2.Active:=True;
for i:=0 to 99 do
form1.combobox_1[i]:='';
form1.stringlength_1:=0;
for i:=0 to Adodataset2.RecordCount-1 do
begin
form1.combobox_1[i]:=Adodataset2.Fields[1].AsString;
Adodataset2.Next;
end;
form1.stringlength_1:=i;
combobox2.Text:='请选择';
end;
procedure TForm4.Button4Click(Sender: TObject);
var
xinleibie_1:TForm5;
begin
if not xinleibie_show then
begin
xinleibie_1:=TForm5.Create(application);
xinleibie_1.Show;
end
else
messagedlg('窗口已打开!',mtwarning,[mbok],0)
end;
procedure TForm4.ComboBox1Enter(Sender: TObject);
var
i:integer;
begin
combobox1.Items.Clear;
for i:=0 to form1.stringlength-1 do
begin
combobox1.Items.Add(Form1.combobox[i])
end;
end;
procedure TForm4.ComboBox2Enter(Sender: TObject);
var
i:integer;
begin
//重写combobox2下拉列表
Combobox2.Items.Clear;
for i:=0 to form1.stringlength_1-1 do
begin
combobox2.Items.Add(Form1.combobox_1[i]);
end;
end;
procedure TForm4.ComboBox2Click(Sender: TObject);
begin
form1.leibie_num_1:=Combobox2.Text;
Adodataset3.Active:=False;
Adodataset3.CommandText:='select * from '+Form1.leibie_num+' where mincheng='''+Form1.leibie_num_1+'''';
Adodataset3.Active:=True;
Form1.leibie_num_1:=Adodataset3.Fields[0].AsString;
Adodataset3.Active:=False;
end;
procedure TForm4.Button5Click(Sender: TObject);
var
xinleibie_1:Tform6;
begin
if not xinleibie_show then
begin
xinleibie_1:=Tform6.Create(application);
xinleibie_1.Show;
end
else
messagedlg('窗口已打开!',mtwarning,[mbok],0)
end;
procedure TForm4.ComboBox2Change(Sender: TObject);
var
year,month,day:word;
command_exe:boolean;
begin
form1.leibie_num_1:=Combobox2.Text;
Adodataset3.Active:=False;
Adodataset3.CommandText:='select * from '+Form1.leibie_num+' where mincheng='''+Form1.leibie_num_1+'''';
Adodataset3.Active:=True;
Form1.leibie_num_1:=Adodataset3.Fields[0].AsString;
Adodataset3.Active:=False;
command_exe:=True;
//计算新进图书的最后编号
DecodeDate(date,year,month,day);
bianhao:=Form1.leibie_num+inttostr(year)+Form1.leibie_num_1;
Adodataset3.Active:=False;
adodataset3.CommandText:='select book_id,id_1,id_2 from Shuku where id_1='''+bianhao+''' order by ID_2 DESC';
//showmessage(adodataset3.CommandText);
Adodataset3.Active:=True;
//将数据集的指针移到最后一条记录上
if Adodataset3.RecordCount<> 0 then
begin
while Adodataset3.Eof do
Adodataset3.Next;
end;
if Adodataset3.Fields[2].AsInteger=0 then
begin
//第一本书入库则第二个编号为'A'
id_2:=65;
end
else
begin
//不是第一本书则第二个编号为前一本书的编号前加1
id_2:=Adodataset3.Fields[2].AsInteger+1;
if id_2>=91 then
begin
messagedlg('不能输入新书',mtwarning,[mbok],0);
//第二个编号超过了26(Z)不能输入新书
command_exe:=False;
edit1.Text:='';
end
end;
if command_exe then
begin
edit1.Text:=bianhao+chr(id_2);
end;
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
if (edit1.Text<>'') and (edit2.Text<>'') and (edit3.Text<>'') and (combobox3.Text<>'') then
begin
//新书信息写入数据库
Adocommand1.CommandText:='insert into shuku (BOOK_ID,ID_1,ID_2,Shumin,Jiage,Ru_riqi,GJbumen,ZhuTai) values ('''+Trim(edit1.Text)+''','''+bianhao+''','''+inttostr(ID_2)+''','''+trim(edit2.Text)+''','''+Trim(edit3.Text)+''','''+DateToStr(DateTimePicker1.Date)+''','''+Trim(combobox3.Text)+''',''正常'')';
showmessage(Adocommand1.CommandText);
Adocommand1.Execute;
messagedlg('操作完成!',mtinformation,[mbok],0);
//还原文本框
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -