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

📄 productform.pas

📁 针对快餐店的会员管理系统.具有详细的分类及管理作用
💻 PAS
字号:
unit productForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RzTabs, StdCtrls, Mask, RzEdit, RzCmboBx, RzButton, Grids, DB,
  DBGrids, RzDBGrid, ExtCtrls, RzPanel;

type
  TProductListForm = class(TForm)
    RzGroupBox1: TRzGroupBox;
    RzDBGrid1: TRzDBGrid;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    Label1: TLabel;
    RzComboBox1: TRzComboBox;
    Label2: TLabel;
    RzEdit1: TRzEdit;
    RzBitBtn3: TRzBitBtn;
    List: TRzComboBox;
    RzBitBtn4: TRzBitBtn;
    procedure RzBitBtn1Click(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure RzBitBtn3Click(Sender: TObject);
    procedure RzBitBtn4Click(Sender: TObject);
    //检查本次订单中是否已经包含这一产品
    function TestSellList:Boolean;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ProductListForm: TProductListForm;

implementation

uses DM, Editsell, Search;

{$R *.dfm}

procedure TProductListForm.RzBitBtn1Click(Sender: TObject);
begin
//将所选择的产品加到销售列表中去
   with DM1 do try
      ADODataSet7.Append;
      //检查本次订单中是否已经包含这一产品
      if TestSellList then begin
         Messagebox(handle,'本次订单中已经包含这一产品,请选择其他产品!','提示',MB_OK+MB_ICONWARNING);
         ADODataSet7.Cancel;
         Exit;
      end ELSE begin
         ADODataSet7.FieldByName('ID').AsString:=ADODataSet5.FieldByName('ID').AsString;
         ADODataSet7.FieldByName('ProductName').AsString:=ADODataSet5.FieldByName('ProductName').AsString;
         ADODataSet7.FieldByName('Spec').AsString:=ADODataSet5.FieldByName('Spec').AsString;
         ADODataSet7.FieldByName('Unit').AsString:=ADODataSet5.FieldByName('Unit').AsString;
         ADODataSet7.FieldByName('UnitPrice').AsFloat:=ADODataSet5.FieldByName('Price').AsFloat;
         ADODataSet7.FieldByName('Number').AsInteger:=0;
         ADODataSet7.FieldByName('Agio').AsFloat:=10;
         ADODataSet7.Post;
//         ADODataSet6.Requery();
//         ADODataSet7.Requery();
      end;
      ProductListForm.Close;
   Except
      Messagebox(handle,'将产品信息添加到销售出现意外失败!','错误',MB_OK+MB_ICONERROR);
   END;
end;

procedure TProductListForm.RzBitBtn2Click(Sender: TObject);
begin
   Close;
end;

procedure TProductListForm.RzBitBtn3Click(Sender: TObject);
var
   S, L, ID : String;
begin
//搜索产品
   if (List.ItemIndex<0)or(RzEdit1.Text='')or(RzComboBox1.ItemIndex<0)then begin
      Messagebox(handle,'请输入完整的搜索信息后再试!','提示',MB_OK+MB_ICONWARNING);
      Exit;
   end;

   ID:=SearchForm.TransformData('ProductInfo',RzComboBox1.Text);

   case List.ItemIndex of
      0  :  S:='=';
      1  :  S:='<=';
      2  :  S:='>=';
      3  :  S:='<';
      4  :  S:='>';
      5  :  S:=' like ';
   end;

   case RzCombobox1.ItemIndex of
      0,1,2,3  :  L:=''''+RzEdit1.Text+'''';
          4,5  :  L:= RzEdit1.Text;
   end;

   with DM1.ADODataSet5 do try
      CLose;
      case List.ItemIndex of
       0,1,2,3,4 : CommandText:=('Select * from ProductInfo where '+ID+S+L);
               5 : CommandText:=('Select * from ProductInfo where '+ID+S+'''%'+RzEdit1.Text+'%''');
      end;
      Open;
      if RecordCount=0 then begin
         Messagebox(handle,PChar('没有找到任何关于“'+RzEdit1.Text+'”的产品记录,请点击确定返回!'),'信息',MB_OK+MB_ICONINFORMATION);
         Close;
         CommandText:='Select * from ProductInfo';
         Open;
      end;
   except
      CommandText:='Select * from ProductInfo';
      Open;
      Messagebox(handle,'搜索产品失败,请检查所输入的关键词是否正确!','错误',MB_OK+MB_ICONERROR);
   end;
end;

procedure TProductListForm.RzBitBtn4Click(Sender: TObject);
begin
//复位搜索后的数据库
  with DM1.ADODataSet5 do try
     Close;
     CommandText:='Select * from ProductInfo';
     Open;
  except
  end;
end;

function TProductListForm.TestSellList: Boolean;
begin
  //检查本次订单中是否已经包含这一产品
  Result:=false;
  with DM1.ADOQuery1 do try
     Close;
     SQL.Clear;
     SQL.Add('Select * from SellDetail where OrderFormID=:AM and ProductName=:PM');
     Parameters.ParamByName('AM').Value:=EditSellForm.RzDBLabel1.Caption;
     Parameters.ParamByName('PM').Value:=DM1.ADODataSet5.FieldByname('ProductName').AsString;
     Open;
     if (DM1.ADODataSet7.State in[dsInsert])and(RecordCount>0)then
        Result:=True
     else Result:=false;
     Close;
  except
  end;

end;

end.

⌨️ 快捷键说明

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