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

📄 stock.pas

📁 完整的delphi书籍源代码,大家有空的时候自己慢慢看看
💻 PAS
字号:
unit Stock;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ADODB, DB, RVClass,RVProj,RVCsStd,StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids,
  ComCtrls;

type
  TStockFrm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    DBGrid1: TDBGrid;
    DBNavigator1: TDBNavigator;
    Button3: TButton;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label8: TLabel;
    Label7: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    DBComboBox1: TDBComboBox;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    Button1: TButton;
    Button2: TButton;
    Button4: TButton;
    TabSheet2: TTabSheet;
    GroupBox2: TGroupBox;
    RadioButton1: TRadioButton;
    Edit4: TEdit;
    RadioButton2: TRadioButton;
    Edit5: TEdit;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    Button5: TButton;
    Button6: TButton;
    GroupBox3: TGroupBox;
    DBGrid2: TDBGrid;
    DBNavigator2: TDBNavigator;
    Button7: TButton;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    ADOTable1: TADOTable;
    ADOQuery2: TADOQuery;
    DataSource2: TDataSource;
    DBComboBox2: TDBComboBox;
    DBComboBox3: TDBComboBox;
    Label11: TLabel;
    ADOTable2: TADOTable;
    Edit3: TEdit;
    DateTimePicker1: TDateTimePicker;
    procedure FormCreate(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure DBComboBox2Change(Sender: TObject);
    procedure DBComboBox3Change(Sender: TObject);
    procedure DBEdit4Change(Sender: TObject);
    procedure DBEdit5Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  StockFrm: TStockFrm;

implementation

uses Main;

{$R *.dfm}

procedure TStockFrm.FormCreate(Sender: TObject);
begin
  pagecontrol1.activepage:=tabsheet1;

  ADOtable1.first;
   while not ADOtable1.eof do
      begin
       dbcombobox1.items.insert(-1,ADOtable1.fieldbyname('FeederName').asstring);
       ADOtable1.Next;
      end;
   ADOtable2.first;
   while not ADOtable2.eof do
      begin
       dbcombobox2.items.insert(-1,ADOtable2.fieldbyname('ProductName').asstring);
       dbcombobox3.items.insert(-1,ADOtable2.fieldbyname('ProductCode').asstring);
       ADOtable2.Next;
      end;

end;

procedure TStockFrm.TabSheet1Show(Sender: TObject);
begin
   edit2.text:=datetostr(Date);
   
end;

procedure TStockFrm.DBComboBox2Change(Sender: TObject);
begin
   with ADOQuery2 do
     begin
       close;
       sql.clear;
       sql.add('select * from Product where ProductName='+''''+DBComboBox2.text+'''');
       open;
       first;
       DBComboBox3.text:=fieldbyname('ProductCode').asstring;
       DBEdit1.text:=fieldbyname('Spec').asstring;
       DBEdit2.text:=fieldbyname('Unit').asstring;
       DBEdit3.text:=fieldbyname('RFStockPrice').asstring;
     end;
end;

procedure TStockFrm.DBComboBox3Change(Sender: TObject);
begin
   with ADOQuery2 do
     begin
       close;
       sql.clear;
       sql.add('select * from Product where ProductCode='+''''+DBComboBox3.text+'''');
       open;
       first;
       DBComboBox2.text:=fieldbyname('ProductName').asstring;
       DBEdit1.text:=fieldbyname('Spec').asstring;
       DBEdit2.text:=fieldbyname('Unit').asstring;
       DBEdit3.text:=fieldbyname('RFStockPrice').asstring;
     end;
end;

procedure TStockFrm.DBEdit4Change(Sender: TObject);
begin
    if (dbedit4.text<>'')and (dbedit5.text<>'')then
    DBEdit6.text:=floattostr(strtofloat(dbedit4.text)*strtofloat(dbedit5.text));
end;

procedure TStockFrm.DBEdit5Change(Sender: TObject);
begin
     if (dbedit4.text<>'')and (dbedit5.text<>'')then
      DBEdit6.text:=floattostr(strtofloat(dbedit4.text)*strtofloat(dbedit5.text));
end;

procedure TStockFrm.Button2Click(Sender: TObject);
begin
  with ADOQuery2 do
     begin
       close;
       sql.clear;
       sql.add('select top 1 * from Stock order by StockID desc');
       open;
       first;
       if fieldbyname('StockDate').asstring=datetostr(Date) then
          edit1.text:=floattostr(fieldbyname('StockID').asfloat+1)
       else
          edit1.text:=floattostr(strtofloat(formatdatetime('yyyy""mm""dd',Date))*10000+1);
       
     end;

    with ADOQuery1 do
     begin
       close;
       sql.clear;
       sql.add('select  * from Stock  where StockID='+''''+edit1.text+'''');
       open;
       first;
       
     end;

end;

procedure TStockFrm.Button4Click(Sender: TObject);
begin
    StockFrm.hide;
end;

procedure TStockFrm.Button1Click(Sender: TObject);
begin
  if dbcombobox1.text='' then
     showmessage('请选择供货商!')
  else
   if dbcombobox2.text='' then
     showmessage('请选择入库货品!')
   else
    if dbedit4.text='' then
     showmessage('请填写入库数量!')
     else
      if dbedit5.text='' then
       showmessage('请填写入库单价!')
   else
    begin
    with ADOQuery2 do
     begin
       close;
       sql.clear;
       sql.add('insert into Stock (StockID,StockDate,FeederName,ProductName,');
       sql.add('ProductCode,Spec,Unit,RFStockPrice,UnitPrice,Quantity,Payment)values (' );
       sql.add(''''+edit1.text+''''+','+''''+edit2.text+''''+',');
       sql.add(''''+dbcombobox1.text+''''+','+''''+dbcombobox2.text+''''+',');
       sql.add(''''+dbcombobox3.text+''''+','+''''+dbedit1.text+''''+',');
       sql.add(''''+dbedit2.text+''''+','+''''+dbedit3.text+''''+',');
       sql.add(''''+dbedit4.text+''''+','+''''+dbedit5.text+''''+',');
       sql.add(''''+dbedit6.text+''''+')');
       execsql;
    end;
    with ADOQuery1 do
      begin
       close;
       sql.clear;
       sql.add('select  * from Stock where StockID='+''''+edit1.text+'''');
       open;
       first;
      end;
    showmessage('此货品添加成功!');
    end;
end;

procedure TStockFrm.Button6Click(Sender: TObject);
begin
   StockFrm.hide;
end;

procedure TStockFrm.TabSheet2Show(Sender: TObject);
begin
   DateTimePicker1.date:=date;
   radiobutton1.checked:=true;
end;

procedure TStockFrm.Button5Click(Sender: TObject);
var query:string;
begin
    query:='';
    if Radiobutton1.checked=true then
       if edit3.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from Stock where StockID like'+''''+'%'+edit3.text+'%'+'''';
    if Radiobutton2.checked=true then
       if edit4.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from Stock where FeederName like'+''''+'%'+edit4.text+'%'+''''+'order by StockID desc';
    if Radiobutton3.checked=true then
          query:='select * from Stock where StockDate ='+''''+datetostr(DateTimePicker1.date)+''''+'order by StockID desc';
    if Radiobutton4.checked=true then
       if edit5.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from Stock where ProductName like'+''''+'%'+edit5.text+'%'+''''+'order by StockID desc';
    
   if query<>'' then
    begin
    with ADOQuery2 do
     begin
       close;
       sql.clear;
       sql.add(query);
       open;
       first;
       if recordcount=0 then
           showmessage('对不起,没有符合条件的查询结果!请重新查询!')
       else
           Groupbox3.caption:='查询结果共'+floattostr(recordcount)+'条记录'

      end;
    end;     
end;

procedure TStockFrm.Button7Click(Sender: TObject);
begin
    MainFrm.RvProject1.Open;
    MainFrm.RvProject1.ExecuteReport('StockQueryReport');
    MainFrm.RvProject1.Close;
end;


procedure TStockFrm.Button3Click(Sender: TObject);
begin
    MainFrm.RvProject1.Open;
    MainFrm.RvProject1.ExecuteReport('StockReport');
    MainFrm.RvProject1.Close;
end;

end.

⌨️ 快捷键说明

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