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

📄 unit11.pas

📁 服装制造业的库存管理系统,服装进销存进货,库存,出货等等.
💻 PAS
字号:
unit Unit11;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, Grids, DBGridEh, Buttons, ComCtrls, ToolWin;

type
  TForm11 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    DateTimePicker1: TDateTimePicker;
    GroupBox1: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    ComboBox1: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit2: TComboBox;
    ToolBar1: TToolBar;
    ToolButton2: TToolButton;
    SpeedButton15: TSpeedButton;
    SpeedButton20: TSpeedButton;
    ToolButton6: TToolButton;
    SpeedButton1: TSpeedButton;
    ToolButton8: TToolButton;
    SpeedButton5: TSpeedButton;
    ToolButton7: TToolButton;
    SpeedButton11: TSpeedButton;
    DBGridEh1: TDBGridEh;
    DataSource1: TDataSource;
    Button1: TButton;
    procedure SpeedButton11Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure SpeedButton15Click(Sender: TObject);
    procedure SpeedButton20Click(Sender: TObject);
    procedure DBGridEh1DblClick(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
  private
    procedure ZdID(aSql: string);
    function QueryTabel(aSql: string): Boolean;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form11: TForm11;

implementation

uses Data, Unit1;

{$R *.dfm}

function TForm11.QueryTabel(aSql: string): Boolean;
begin
  with MyData do
  begin
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add(aSql);
    ADOQuery1.Open;
  end;
end;

procedure TForm11.ZdID(aSql: string);
var
  Sum:string;
begin
  with MyData do
  begin
    aSql:='Select * from 产品入库单资料';
    ADOSelect.SQL.Clear;
    ADOSelect.SQL.Add(aSql);
    ADOSelect.Open;
    if ADOSelect.RecordCount>0 then
    begin
      aSql:='Select max(id) from 产品入库单资料';
      ADOSelect.SQL.Clear;
      ADOSelect.SQL.Add(aSql);
      ADOSelect.Open;
      Sum:='IC'+IntToStr(StrToInt(ADOSelect.Fields.Fields[0].Value)+10000);
    end
    else
      Sum:='IC10000';
    edit1.Text:=Sum;
  end;
end;

procedure TForm11.SpeedButton11Click(Sender: TObject);
begin
  Close;
end;

procedure TForm11.SpeedButton5Click(Sender: TObject);
begin
  if MessageBox(Handle, '你是否要删除?', '操作提示', MB_YESNO +
    MB_ICONWARNING + MB_DEFBUTTON3 + MB_TOPMOST)=IDYES then
  begin
    if DataSource1.DataSet.RecordCount>0 then
      DataSource1.DataSet.Delete;
  end;
end;

procedure TForm11.SpeedButton1Click(Sender: TObject);
begin
  QueryTabel('Select * From 产品入库单资料');
end;

procedure TForm11.FormShow(Sender: TObject);
begin
  if (Form1.Qx='浏览者')  then
  begin
    SpeedButton15.Enabled:=False;
    SpeedButton20.Enabled:=False;
    SpeedButton5.Enabled:=False;
  end;
  QueryTabel('Select * From 产品入库单资料');
  with MyData do
  begin
    ADOSelect.SQL.Clear;
    ADOSelect.SQL.Add('Select 生产单编号 from 生产单资料');
    ADOSelect.Open;
    Edit2.Clear;
    while not ADOSelect.Eof do
    begin
      Edit2.Items.Add(ADOSelect.Fields.Fields[0].Value);
      ADOSelect.Next;
    end;
  end;
end;

procedure TForm11.Edit2Change(Sender: TObject);
var
  aSql:string;
begin
  with MyData do
  begin
    aSql:='Select 产品编号,产品名称,颜色 from 生产单资料 where 生产单编号='''+edit2.text+'''';
    ADOSelect.SQL.Clear;
    ADOSelect.SQL.Add(aSql);
    ADOSelect.Open;
    if ADOSelect.RecordCount>0 then
    begin
       ComboBox1.Text:=ADOSelect.FieldByName('产品编号').AsString;
       edit4.Text:=ADOSelect.FieldByName('产品名称').AsString;
       edit5.Text:=ADOSelect.FieldByName('颜色').AsString;
    end;
  end;
end;

procedure TForm11.Button1Click(Sender: TObject);
begin
  ZdID('');//自动生成编号
end;

procedure TForm11.SpeedButton15Click(Sender: TObject);
var
  acheck:string;
  i,j,s,d:Integer;
begin
  if Trim(Edit1.Text)='' then
  begin
    MessageBox(Handle, '请输入产品入库单编号!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit1.SetFocus;
    Exit;
  end;
  if Trim(Edit2.Text)='' then
  begin
    MessageBox(Handle, '请输入生产单编号!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit2.SetFocus;
    Exit;
  end;
  if Trim(ComboBox1.Text)='' then
  begin
    MessageBox(Handle, '请选择产品编号!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    ComboBox1.SetFocus;
    Exit;
  end;
  if Trim(Edit4.Text)='' then
  begin
    MessageBox(Handle, '请填写产品名称!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit4.SetFocus;
    Exit;
  end;
  if Trim(Edit5.Text)='' then
  begin
    MessageBox(Handle, '请填写颜色!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit5.SetFocus;
    Exit;
  end;
  if Trim(Edit6.Text)='' then
  begin
    MessageBox(Handle, '请填写入库量!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit6.SetFocus;
    Exit;
  end;    
  try
    MyData.ADOConnection1.BeginTrans;
    DataSource1.DataSet.Insert;
    DataSource1.DataSet.FieldByName('产品入库单编号').AsString:=Edit1.Text;
    DataSource1.DataSet.FieldByName('生产单编号').AsString:=Edit2.Text;
    DataSource1.DataSet.FieldByName('产品编号').AsString:=ComboBox1.Text;
    DataSource1.DataSet.FieldByName('产品名称').AsString:=Edit4.Text;
    DataSource1.DataSet.FieldByName('颜色').AsString:=Edit5.Text;
    DataSource1.DataSet.FieldByName('入库量').AsString:=Edit6.Text;
    if RadioButton1.Checked then
    DataSource1.DataSet.FieldByName('存放仓库').AsString:='西一';
    if RadioButton2.Checked then
    DataSource1.DataSet.FieldByName('存放仓库').AsString:='西二';
    DataSource1.DataSet.FieldByName('时间').AsString:=DateToStr(DateTimePicker1.Date);
    DataSource1.DataSet.Post;
    MyData.ADOConnection1.CommitTrans;
    ComboBox1.Clear;  Edit4.Clear ;Edit6.Clear;
    Edit5.Clear;
    MessageBox(Handle, '产品入库成功!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
  except
    DataSource1.DataSet.Cancel;
    MyData.ADOConnection1.RollbackTrans;
    MessageBox(Handle, '产品入库失败!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
  end;
end;

procedure TForm11.SpeedButton20Click(Sender: TObject);
var
  acheck:string;
  i,j,s,d:Integer;
begin
  if Trim(Edit2.Text)='' then
  begin
    MessageBox(Handle, '请输入生产单编号!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    ComboBox1.SetFocus;
    Exit;
  end;
  if Trim(ComboBox1.Text)='' then
  begin
    MessageBox(Handle, '请选择产品编号!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    ComboBox1.SetFocus;
    Exit;
  end;
  if Trim(Edit4.Text)='' then
  begin
    MessageBox(Handle, '请填写产品名称!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit4.SetFocus;
    Exit;
  end;
  if Trim(Edit5.Text)='' then
  begin
    MessageBox(Handle, '请填写颜色!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit5.SetFocus;
    Exit;
  end;
  if Trim(Edit6.Text)='' then
  begin
    MessageBox(Handle, '请填写入库量!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit6.SetFocus;
    Exit;
  end;    
  try
    MyData.ADOConnection1.BeginTrans;
    DataSource1.DataSet.Edit;
    DataSource1.DataSet.FieldByName('产品入库单编号').AsString:=Edit1.Text;
    DataSource1.DataSet.FieldByName('生产单编号').AsString:=Edit2.Text;
    DataSource1.DataSet.FieldByName('产品编号').AsString:=ComboBox1.Text;
    DataSource1.DataSet.FieldByName('产品名称').AsString:=Edit4.Text;
    DataSource1.DataSet.FieldByName('颜色').AsString:=Edit5.Text;
    DataSource1.DataSet.FieldByName('入库量').AsString:=Edit6.Text;
    if RadioButton1.Checked then
    DataSource1.DataSet.FieldByName('存放仓库').AsString:='西一';
    if RadioButton2.Checked then
    DataSource1.DataSet.FieldByName('存放仓库').AsString:='西二';
    DataSource1.DataSet.FieldByName('时间').AsString:=DateToStr(DateTimePicker1.Date);
    DataSource1.DataSet.Post;
    MyData.ADOConnection1.CommitTrans;
    ComboBox1.Clear;  Edit4.Clear ;Edit6.Clear;
    Edit5.Clear;
    MessageBox(Handle, '产品入库成功!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
  except
    DataSource1.DataSet.Cancel;
    MyData.ADOConnection1.RollbackTrans;
    MessageBox(Handle, '产品入库失败!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
  end;
end;

procedure TForm11.DBGridEh1DblClick(Sender: TObject);
begin
  if DataSource1.DataSet.RecordCount<=0 then
  begin
    MessageBox(Handle, '没有数据源!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Exit;
  end;
  Edit2.Text:=DataSource1.DataSet.FieldByName('生产单编号').AsString;
  DateTimePicker1.Date:=StrToDate(DataSource1.DataSet.FieldByName('时间').AsString);
  ComboBox1.Text:=DataSource1.DataSet.FieldByName('产品编号').AsString;
  Edit4.Text:=DataSource1.DataSet.FieldByName('产品名称').AsString;
  Edit5.Text:=DataSource1.DataSet.FieldByName('颜色').AsString;
  Edit6.Text:=DataSource1.DataSet.FieldByName('入库量').AsString;
  if Trim(DataSource1.DataSet.FieldByName('存放仓库').AsString)='西一' then
    RadioButton1.Checked ;
  if Trim(DataSource1.DataSet.FieldByName('存放仓库').AsString)='西二' then
    RadioButton2.Checked ;
end;

procedure TForm11.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  if Length(Trim(edit2.Text))=0 then
  begin
    if not (key in ['I']) then
    begin
        edit2.Clear;
        Key:=#0;
        Application.MessageBox('产品编号第1个首字母为i', '友情提示',
          MB_OK + MB_ICONWARNING);
    end;
  end;
  if Length(Trim(edit1.Text))=1 then
  begin
    if not (key in ['C']) then
    begin
        edit2.Clear;
        Key:=#0;
        Application.MessageBox('产品编号第2个首字母为C', '友情提示',
          MB_OK + MB_ICONWARNING);
    end;
  end;
end;

end.

⌨️ 快捷键说明

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