📄 dcgl.pas
字号:
unit dcgl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, DB, DBTables,
System.ComponentModel;
type
Tdcgl_Form = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
GroupBox4: TGroupBox;
GroupBox5: TGroupBox;
GroupBox6: TGroupBox;
l1_LB: TListBox;
Panel1: TPanel;
Panel2: TPanel;
in1_CBox: TComboBox;
sm_Edit: TEdit;
cmdRone: TButton;
cmdRall: TButton;
cmdLall: TButton;
cmdLone: TButton;
sl_LEdit: TLabeledEdit;
cmdsave: TButton;
r1_LB: TListBox;
GroupBox1: TGroupBox;
l2_LB: TListBox;
Panel3: TPanel;
GroupBox2: TGroupBox;
cmdrone1: TButton;
cmdrall1: TButton;
cmdlall1: TButton;
cmdlone1: TButton;
sl1_LEdit: TLabeledEdit;
cmdsave1: TButton;
GroupBox3: TGroupBox;
Panel4: TPanel;
in2_CBox: TComboBox;
r2_LB: TListBox;
out_CBox: TComboBox;
GroupBox7: TGroupBox;
sm1_Edit: TEdit;
procedure FormCreate(Sender: TObject);
procedure sm_EditEnter(Sender: TObject);
procedure cmdRoneClick(Sender: TObject);
procedure l1_LBClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure cmdsaveClick(Sender: TObject);
procedure cmdRallClick(Sender: TObject);
procedure cmdLoneClick(Sender: TObject);
procedure cmdLallClick(Sender: TObject);
procedure out_CBoxSelect(Sender: TObject);
procedure cmdsave1Click(Sender: TObject);
procedure cmdrall1Click(Sender: TObject);
procedure cmdrone1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
dcgl_Form: Tdcgl_Form;
implementation
uses main;
{$R *.dfm}
procedure Tdcgl_Form.FormCreate(Sender: TObject);
begin
with tquery.Create(nil) do
begin
try
Close;
SessionName:=mainform.Database1.SessionName;
DatabaseName:=mainform.Database1.DatabaseName;
SQL.Clear;
SQL.Add('select * from t_xsb');
Open;
l1_LB.Items.Clear;
if recordcount> 0 then
begin
while not Eof do
begin
l1_lb.Items.Add(fieldbyname('sl').AsString+'&'+fieldbyname('tm').AsString+'>'+fieldbyname('sm').AsString);
Next;
end;
end;
finally
Free;
end;
end;
end;
procedure Tdcgl_Form.sm_EditEnter(Sender: TObject);
var
sm,sqlstr:string;
begin
sm:=trim(sm_Edit.Text);
if length(sm)<1 then
begin
sqlstr:='select * from t_xsb';
end
else
begin
sm:='%'+sm+'%';
sqlstr:='select * from t_xsb where(sm like '''+sm+''')';
end;
with tquery.Create(nil) do
begin
try
Close;
SessionName:=mainform.Database1.SessionName;
DatabaseName:=mainform.Database1.DatabaseName;
SQL.Clear;
SQL.Add(sqlstr);
Open;
l1_lb.Items.Clear;
if recordcount> 0 then
begin
while not Eof do
begin
l1_lb.Items.Add(fieldbyname('sl').AsString+'&'+fieldbyname('tm').AsString+'>'+fieldbyname('sm').AsString);
Next;
end;
end;
finally
Free;
end;
end;
end;
procedure Tdcgl_Form.cmdRoneClick(Sender: TObject);
var
j,i:integer;
xx:string;
begin
if l1_lb.ItemIndex>=0 then
begin
j:=length(trim(l1_lb.Items.Strings[l1_lb.ItemIndex]));
i:=pos('&',trim(l1_lb.Items.Strings[l1_lb.ItemIndex]));
xx:=copy(trim(l1_lb.Items.Strings[l1_lb.ItemIndex]),i+1,j-i);
xx:=trim(sl_LEdit.Text)+'&'+xx;
r1_lb.Items.Add(xx);
l1_lb.Items.Delete(l1_lb.ItemIndex);
end;
end;
procedure Tdcgl_Form.l1_LBClick(Sender: TObject);
var
i:integer;
xx:string;
begin
i:=pos('&',trim(l1_lb.Items.Strings[l1_lb.ItemIndex]));
xx:=copy(trim(l1_lb.Items.Strings[l1_lb.ItemIndex]),1,i-1);
sl_LEdit.Text:=xx;
end;
procedure Tdcgl_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;
mainform.N22.Enabled:=true;
end;
procedure Tdcgl_Form.cmdsaveClick(Sender: TObject);
var
j,i:integer;
sl1,czsj,czdz,skm,sm,tm,syh,zz,cbs,cbrq,zs,ys,gjz,nrjj,rgrq,sl,sqlstr:string;
begin
skm:=trim(in1_CBox.Text);
rgrq:=mainform.getnettime;
with tquery.Create(nil) do
begin
try
Close;
SessionName:=mainform.Database1.SessionName;
DatabaseName:=mainform.Database1.DatabaseName;
while r1_LB.Items.Count> 0 do
begin
i:=pos('&',trim(r1_LB.Items.Strings[0]));
j:=pos('>',trim(r1_LB.Items.Strings[0]));
sl:=copy(trim(r1_LB.Items.Strings[0]),1,i-1);
tm:=copy(trim(r1_LB.Items.Strings[0]),i+1,j-i-1);
sqlstr:='select * from t_xsb where (tm='''+tm+''')';
Close;
SQL.Clear;
SQL.Add(sqlstr);
Open;
tm:=fieldbyname('tm').AsString;
syh:=fieldbyname('syh').AsString;
sm:=fieldbyname('sm').AsString;
zz:=fieldbyname('zz').AsString;
cbs:=fieldbyname('cbs').AsString;
zs:=fieldbyname('zs').AsString;
ys:=fieldbyname('ys').AsString;
gjz:=fieldbyname('gjz').AsString;
nrjj:=fieldbyname('nrjj').AsString;
cbrq:=fieldbyname('cbrq').AsString;
sl1:=fieldbyname('sl').AsString;
sqlstr:='insert into t_csb(tm,syh,sm,zz,cbs,cbrq,zs,ys,gjz,nrjj,jbs,kjs,rgrq,skm)';
sqlstr:=sqlstr+'values('''+tm+''','''+syh+''','''+sm+''','''+zz+''','''+cbs;
sqlstr:=sqlstr+''','''+cbrq+''','''+zs+''','''+ys+''','''+gjz+''','''+nrjj;
sqlstr:=sqlstr+''','''+sl+''','''+sl+''','''+rgrq+''','''+skm+''')';
Close;
SQL.Clear;
SQL.Add(sqlstr);
ExecSQL;
if strtofloat(sl)>=strtofloat(sl1) then
sqlstr:='delete t_xsb where(tm='''+tm+''')'
else
sqlstr:='update t_xsb set sl=sl-'''+sl+''' where (tm='''+tm+''')';
Close;
SQL.Clear;
SQL.Add(sqlstr);
ExecSQL;
czdz:='添加藏书:'+sm+','+zz;
czsj:=mainform.getnettime;
mainForm.addlog(mainform.dlname,czsj,czdz);
r1_LB.Items.Delete(0);
end;
finally
Free;
end;
end;
end;
procedure Tdcgl_Form.cmdRallClick(Sender: TObject);
begin
While l1_lb.Items.Count>0 do
begin
r1_lb.Items.Add(l1_LB.Items.Strings[0]);
l1_lb.Items.Delete(0);
end;
end;
procedure Tdcgl_Form.cmdLoneClick(Sender: TObject);
begin
if r1_lb.ItemIndex>=0 then
begin
l1_lb.Items.Add(r1_LB.Items.Strings[r1_lb.ItemIndex]);
r1_lb.Items.Delete(r1_lb.ItemIndex);
end;
end;
procedure Tdcgl_Form.cmdLallClick(Sender: TObject);
begin
While r1_lb.Items.Count>0 do
begin
l1_lb.Items.Add(r1_LB.Items.Strings[0]);
r1_lb.Items.Delete(0);
end;
end;
procedure Tdcgl_Form.out_CBoxSelect(Sender: TObject);
var
sm,skm,sqlstr:string;
begin
sm:=trim(sm1_Edit.Text);
skm:=trim(out_CBox.Text);
if length(sm)< 1 then
begin
sqlstr:='select * from t_csb where(skm='''+skm+''')';
end
else
begin
sm:='%'+sm+'%';
sqlstr:='select * from t_csb where(skm='''+skm+''')and(sm like '''+sm+''')';
end;
with tquery.Create(nil) do
begin
try
Close;
SessionName:=mainform.Database1.SessionName;
DatabaseName:=mainform.Database1.DatabaseName;
SQL.Clear;
SQL.Add(sqlstr);
Open;
l2_LB.Items.Clear;
if recordcount> 0 then
begin
while not Eof do
begin
l2_lb.Items.Add(fieldbyname('jbs').AsString+'&'+fieldbyname('tm').AsString+'>'+fieldbyname('sm').AsString);
Next;
end;
end;
finally
Free;
end;
end;
end;
procedure Tdcgl_Form.cmdsave1Click(Sender: TObject);
var
j,i:integer;
sl1,czsj,czdz,skm,sm,tm,syh,zz,cbs,cbrq,zs,ys,gjz,nrjj,rgrq,sl,sqlstr:string;
begin
skm:=trim(in2_CBox.Text);
with tquery.Create(nil) do
begin
try
Close;
SessionName:=mainform.Database1.SessionName;
DatabaseName:=mainform.Database1.DatabaseName;
while r2_LB.Items.Count> 0 do
begin
i:=pos('&',trim(r2_LB.Items.Strings[0]));
j:=pos('>',trim(r2_LB.Items.Strings[0]));
sl:=copy(trim(r2_LB.Items.Strings[0]),1,i-1);
tm:=copy(trim(r2_LB.Items.Strings[0]),i+1,j-i-1);
sqlstr:='select * from t_csb where (tm='''+tm+''')';
Close;
SQL.Clear;
SQL.Add(sqlstr);
Open;
tm:=fieldbyname('tm').AsString;
syh:=fieldbyname('syh').AsString;
sm:=fieldbyname('sm').AsString;
zz:=fieldbyname('zz').AsString;
cbs:=fieldbyname('cbs').AsString;
zs:=fieldbyname('zs').AsString;
ys:=fieldbyname('ys').AsString;
gjz:=fieldbyname('gjz').AsString;
nrjj:=fieldbyname('nrjj').AsString;
cbrq:=fieldbyname('cbrq').AsString;
sl1:=fieldbyname('jbs').AsString;
rgrq:=fieldbyname('rgrq').AsString;
sqlstr:='insert into t_csb(tm,syh,sm,zz,cbs,cbrq,zs,ys,gjz,nrjj,jbs,kjs,rgrq,skm)';
sqlstr:=sqlstr+'values('''+tm+''','''+syh+''','''+sm+''','''+zz+''','''+cbs;
sqlstr:=sqlstr+''','''+cbrq+''','''+zs+''','''+ys+''','''+gjz+''','''+nrjj;
sqlstr:=sqlstr+''','''+sl+''','''+sl+''','''+rgrq+''','''+skm+''')';
Close;
SQL.Clear;
SQL.Add(sqlstr);
ExecSQL;
if strtofloat(sl)>=strtofloat(sl1) then
sqlstr:='delete t_csb where(tm='''+tm+''')'
else
sqlstr:='update t_csb set jbs=jbs-'''+sl+''',kjs=kjs-'''+sl+''' where (tm='''+tm+''')';
Close;
SQL.Clear;
SQL.Add(sqlstr);
ExecSQL;
czdz:='图书调配:'+sm+','+zz;
czsj:=mainform.getnettime;
mainForm.addlog(mainform.dlname,czsj,czdz);
r2_LB.Items.Delete(0);
end;
finally
Free;
end;
end;
end;
procedure Tdcgl_Form.cmdrall1Click(Sender: TObject);
begin
While l2_LB.Items.Count>0 do
begin
r2_LB.Items.Add(l2_LB.Items.Strings[0]);
l2_LB.Items.Delete(0);
end;
end;
procedure Tdcgl_Form.cmdrone1Click(Sender: TObject);
var
j,i:integer;
xx:string;
begin
if l2_LB.ItemIndex>=0 then
begin
j:=length(trim(l2_LB.Items.Strings[l2_LB.ItemIndex]));
i:=pos('&',trim(l2_LB.Items.Strings[l2_LB.ItemIndex]));
xx:=copy(trim(l2_LB.Items.Strings[l2_LB.ItemIndex]),i+1,j-i);
xx:=trim(sl1_LEdit.Text)+'&'+xx;
r2_LB.Items.Add(xx);
l2_LB.Items.Delete(l2_LB.ItemIndex);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -