📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, ComCtrls, StdCtrls, Spin, Mask,
DBCtrls, ExtCtrls, Dbf,unit2,unit3,unit4;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
GroupBox1: TGroupBox;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
SpinEdit1: TSpinEdit;
Button1: TButton;
Label3: TLabel;
SpinEdit2: TSpinEdit;
Label4: TLabel;
Panel1: TPanel;
Label5: TLabel;
DBEdit1: TDBEdit;
Label6: TLabel;
DBEdit2: TDBEdit;
Label7: TLabel;
DBEdit3: TDBEdit;
Label8: TLabel;
DBEdit4: TDBEdit;
Label9: TLabel;
DBGrid1: TDBGrid;
Panel2: TPanel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
DBGrid2: TDBGrid;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
GroupBox2: TGroupBox;
Label15: TLabel;
Label16: TLabel;
Edit6: TEdit;
Button4: TButton;
Button5: TButton;
ListBox1: TListBox;
Button6: TButton;
OpenDialog1: TOpenDialog;
ProgressBar1: TProgressBar;
GroupBox3: TGroupBox;
Label17: TLabel;
Edit7: TEdit;
Label18: TLabel;
Button7: TButton;
GroupBox4: TGroupBox;
ListBox2: TListBox;
ADOTable1: TADOTable;
DataSource2: TDataSource;
Edit13: TEdit;
Label25: TLabel;
ADOQuery2: TADOQuery;
DataSource3: TDataSource;
DataSource4: TDataSource;
Label19: TLabel;
Edit8: TEdit;
Button2: TButton;
ADOTable2: TADOTable;
DataSource5: TDataSource;
ADOQuery3: TADOQuery;
DataSource6: TDataSource;
ADOQuery4: TADOQuery;
DataSource7: TDataSource;
Panel3: TPanel;
Edit11: TEdit;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
Label23: TLabel;
Label21: TLabel;
Label22: TLabel;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
Label24: TLabel;
Label20: TLabel;
Label26: TLabel;
Edit12: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Label27: TLabel;
Edit14: TEdit;
Button8: TButton;
Button3: TButton;
DBGrid3: TDBGrid;
Panel4: TPanel;
Button11: TButton;
Button10: TButton;
Button9: TButton;
Label13: TLabel;
Edit5: TEdit;
Label14: TLabel;
Edit15: TEdit;
Button15: TButton;
StatusBar1: TStatusBar;
Timer1: TTimer;
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure ListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button6Click(Sender: TObject);
procedure Edit7KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ListBox2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure fbsKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure Button7Click(Sender: TObject);
procedure SpinEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button3Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Edit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button15Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
begin
adoquery1.Close;
adoquery1.Parameters.FindParam('aaa').Value:=edit1.Text;
adoquery1.Open;
//spinedit1.SetFocus;
if adoquery1.RecordCount >0 then if MessageDlg('是否购买此书? ' ,
mtConfirmation, [mbYes, mbNo], 0) = mrYes then spinedit1.SetFocus else begin
edit1.Text:='';
edit1.SetFocus;
//spinedit1.SetFocus;
end
else
edit5.SetFocus;
end
else
begin
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
adoquery1.Close;
end;
end;
procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
edit2.Text:=adoquery1.fieldbyname('书名').AsString;
edit3.Text:=adoquery1.fieldbyname('作者').AsString;
edit4.Text:=adoquery1.fieldbyname('出版社').AsString;
edit5.Text:=adoquery1.fieldbyname('定价').AsString;
spinedit1.Value:=adoquery1.fieldbyname('复本数').AsInteger;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//
if ((edit1.Text='') or (spinedit1.Value<=0) or (strtofloat(edit5.Text)<=0) or (edit5.Text='')) then
begin
showmessage('基本信息不全!');
exit;
end;
if adotable1.RecordCount>300 then
begin
statusbar1.Panels.Items[4].Text:='技术支持';
statusbar1.Panels.Items[5].Text:='电话:0371-5017552 Email: yuanxq888@yahoo.com.cn';
//showmessage('此版本为试用版,只能处理30条记录,你已处理'+inttostr(adotable1.RecordCount)+'条!');
end;
//if adotable1.RecordCount>30 then
//begin
// showmessage('你已处理30条记录,现在本软件将退出!');
// close;
//end;
//adoquery3.Close;
//adoquery3.SQL.Clear;
//adoquery3.SQL.Add('');
//adoquery3.Open;
//if not adoquery3.Eof then
//begin
// showmessage('这本书你已经订过了,不能重订!');
// exit;
//end;
adotable1.Append;
adotable1.FieldByName('isbn').AsString:=edit1.Text;
adotable1.FieldByName('书名').AsString:=edit2.Text;
adotable1.FieldByName('作者').AsString:=edit3.Text;
adotable1.FieldByName('出版社').AsString:=edit4.Text;
adotable1.FieldByName('定价').AsString:=edit5.Text;
adotable1.FieldByName('复本数').Value:=spinedit1.Value;
adotable1.FieldByName('zhekou').AsFloat:=spinedit2.Value/100;
adotable1.FieldByName('daohuo').AsInteger:=0;
adotable1.Post;
edit1.Text:='';
edit2.text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='0';
spinedit1.Value:=0;
adoquery1.Close;
edit1.SetFocus;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if opendialog1.Execute then edit6.Text:=opendialog1.FileName;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if edit6.Text='' then exit;
if listbox1.Items.IndexOf(edit6.Text)<0 then
listbox1.Items.Append(edit6.Text);
end;
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
t:integer;
begin
if key=46 then
begin
for t:=1 to listbox1.Items.Count do
begin
if listbox1.Selected[t-1] then listbox1.Items.Delete(t-1);
end;
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
var
ttt,ttl:pchar;
i,m,n:integer;
aaa,bbb:string;
begin
if (listbox1.Items.Count<=1) or (edit13.Text='') then exit;
edit8.Text:=edit13.Text;
if adotable2.RecordCount=0 then adotable2.Append else adotable2.Edit;
adotable2.Fields[0].AsString:=edit13.Text;
adotable2.Post;
ttt:=pchar(edit13.Text);
ttl:=pchar(listbox1.Items.strings[0]);
copyfile(ttl,ttt,true);
aaa:=extractfilename(listbox1.Items.Strings[1]);
m:=0;
bbb:='';
for i:=1 to length(aaa) do
begin
if aaa[i]='.' then m:=1;
if m=0 then bbb:=bbb+aaa[i];
end;
aaa:=bbb;
adoquery2.SQL.Strings[0]:='select * from '+aaa;
adoquery2.SQL.Strings[2]:='';
for i:=2 to listbox1.Items.Count do
begin
dbf1.Close;
dbf1.FilePathFull:=extractfiledir(listbox1.Items.Strings[i-1]);
dbf1.TableName:=extractfilename(listbox1.Items.Strings[i-1]);
dbf1.Open;
while not dbf1.Eof do
begin
aaa:=dbf1.Fields[0].AsString;
bbb:=dbf1.Fields[1].AsString;
adoquery2.Parameters.FindParam('cs2').Value:=aaa;
adoquery2.Parameters.FindParam('cs3').Value:=bbb;
adoquery2.Open;
if adoquery2.Eof then
begin
adoquery2.Edit;
adoquery2.Append;
adoquery2.Fields[0]:=dbf1.Fields[0];
adoquery2.Fields[1]:=dbf1.Fields[1];
adoquery2.Fields[2]:=dbf1.Fields[2];
adoquery2.Fields[3]:=dbf1.Fields[3];
adoquery2.Fields[4]:=dbf1.Fields[4];
adoquery2.Fields[5]:=dbf1.Fields[5];
adoquery2.Fields[6]:=dbf1.Fields[6];
adoquery2.Fields[7]:=dbf1.Fields[7];
adoquery2.Fields[8]:=dbf1.Fields[8];
adoquery2.Post;
end
else
begin
if adoquery2.Fields[5].AsInteger > dbf1.Fields[5].AsInteger then
begin
dbf1.Delete;
end
else
begin
adoquery2.Edit;
adoquery2.Fields[5]:=dbf1.Fields[5];
adoquery2.Post;
dbf1.Delete;
end;
end;
dbf1.Next;
end;
dbf1.PackTable;
end;
adoquery2.SQL.Strings[2]:=' and gengxin <> 1';
for i:=1 to listbox1.Items.Count do
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -