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

📄 dcgl.pas

📁 我的本科毕业代码,基本功能都出来了.不是特别好,请指教
💻 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 + -