rxiaoshoukaidan.~pas

来自「这是一个关于药品进销存的管理软件」· ~PAS 代码 · 共 275 行

~PAS
275
字号
unit Rxiaoshoukaidan;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, DB, ADODB;

type
  Txiaoshoukaidan = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    Edit3: TEdit;
    ComboBox1: TComboBox;
    Label5: TLabel;
    Label6: TLabel;
    Edit4: TEdit;
    ComboBox2: TComboBox;
    Button1: TButton;
    Button2: TButton;
    StringGrid1: TStringGrid;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Button3: TButton;
    Button4: TButton;
    ADOQuery1: TADOQuery;
    ADOCommand1: TADOCommand;
    procedure FormShow(Sender: TObject);
    procedure ComboBox1DropDown(Sender: TObject);
    procedure ComboBox1Select(Sender: TObject);
    procedure ComboBox2DropDown(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Edit5Click(Sender: TObject);
    procedure Edit6Click(Sender: TObject);
    procedure Edit7Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  xiaoshoukaidan: Txiaoshoukaidan;

implementation

uses FormKehuxinxi, FormXiaoshoukaidanyaopinxinxi;

{$R *.dfm}

procedure Txiaoshoukaidan.FormShow(Sender: TObject);
var
num:string;
num1,k:integer;
begin
edit2.Text:=datetostr(date);
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select max(销售编号) as 最大销售编号 from 销售信息';
adoquery1.Open;
num:=adoquery1.fieldbyname('最大销售编号').AsString;
num1:=strtoint(num);
num1:=num1+1;
edit1.Text:=inttostr(num1);
stringgrid1.Cols[0].Add('序号');
stringgrid1.ColWidths[0]:=32;
stringgrid1.Cols[1].Add('药品编号');
stringgrid1.ColWidths[1]:=64;
stringgrid1.Cols[2].Add('药品拼音简码');
stringgrid1.ColWidths[2]:=64;
stringgrid1.Cols[3].Add('药品名称');
stringgrid1.ColWidths[3]:=96;
stringgrid1.Cols[4].Add('批号');
stringgrid1.ColWidths[4]:=64;
stringgrid1.Cols[5].Add('库存数量');
stringgrid1.ColWidths[5]:=64;
stringgrid1.Cols[6].Add('厂家名称');
stringgrid1.ColWidths[6]:=64;
stringgrid1.Cols[7].Add('规格');
stringgrid1.ColWidths[7]:=32;
stringgrid1.Cols[8].Add('单位');
stringgrid1.ColWidths[8]:=32;
stringgrid1.Cols[9].Add('有效期至');
stringgrid1.ColWidths[9]:=64;
stringgrid1.Cols[10].Add('剂型名称');
stringgrid1.ColWidths[10]:=64;
stringgrid1.Cols[11].Add('类别名称');
stringgrid1.ColWidths[11]:=64;
stringgrid1.Cols[12].Add('处方标志');
stringgrid1.ColWidths[12]:=64;
stringgrid1.Cols[13].Add('批准文号');
stringgrid1.ColWidths[13]:=32;
stringgrid1.Cols[14].Add('预售价');
stringgrid1.ColWidths[14]:=48;
stringgrid1.Cols[15].Add('仓库名称');
stringgrid1.ColWidths[15]:=64;
stringgrid1.Cols[16].Add('折扣率');
stringgrid1.ColWidths[16]:=48;
stringgrid1.Cols[17].Add('折扣后售价');
stringgrid1.ColWidths[17]:=96;
stringgrid1.Cols[18].Add('数量');
stringgrid1.ColWidths[18]:=32;
stringgrid1.Cols[19].Add('金额');
stringgrid1.ColWidths[19]:=32;
stringgrid1.Cols[20].Add('质量状况');
stringgrid1.ColWidths[20]:=64;
stringgrid1.Cols[21].Add('备注');
stringgrid1.ColWidths[21]:=32;
for k:=1 to 19 do
  begin
  stringgrid1.Rows[k].Add(inttostr(k));
  stringgrid1.RowHeights[k]:=19;
  end;
end;

procedure Txiaoshoukaidan.ComboBox1DropDown(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select 业务员姓名 from 业务员信息';
adoquery1.Open;
while not adoquery1.Eof do
  begin
     combobox1.Items.Add(adoquery1.fieldbyname('业务员姓名').AsString);
     adoquery1.Next;
  end
end;

procedure Txiaoshoukaidan.ComboBox1Select(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select 业务员编号 from 业务员信息 where 业务员姓名='''+combobox1.Text+'''';
adoquery1.Open;
edit3.Text:=adoquery1.fieldbyname('业务员编号').AsString;
end;

procedure Txiaoshoukaidan.ComboBox2DropDown(Sender: TObject);
begin
kehuxinxi.Show;
end;

procedure Txiaoshoukaidan.Button1Click(Sender: TObject);
begin
xiaoshoukaidanyaopinxinxi.Show;
end;

procedure Txiaoshoukaidan.Edit5Click(Sender: TObject);
var
j,k:integer;
begin
j:=0;
for k:=1 to 19 do
  begin
  if stringgrid1.Cells[1,k]<>'' then
    begin
    j:=j+1;
    end;
  end;
edit5.Text:=inttostr(j);
end;

procedure Txiaoshoukaidan.Edit6Click(Sender: TObject);
var
num,i,j,k:integer;

begin
k:=0;
for i:=1 to 19 do
  begin
  if stringgrid1.Cells[18,i]<>'' then
    begin
    j:=strtoint(stringgrid1.Cells[18,i]);
    k:=k+j;
    end;
  end;
edit6.Text:=inttostr(k);
end;

procedure Txiaoshoukaidan.Edit7Click(Sender: TObject);
var
num,k:double;
i:integer;
begin
num:=0.0;
for i:=1 to 19 do
  begin
  if stringgrid1.Cells[19,i]<>'' then
   begin
     k:=strtofloat(stringgrid1.Cells[19,i]);
     num:=num+k;
   end;
  end;
edit7.Text:=floattostr(num);

end;

procedure Txiaoshoukaidan.Button3Click(Sender: TObject);
var
i:integer;
num,num1,num2,num3:double;
temp,num4,jixinghao,leibiehao,cangkuhao,gongyingshanghao:string;
begin

for i:=1 to 19 do
  begin
  if stringgrid1.Cells[1,i]<>'' then
    begin
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Text:='select 库存数量 from 库存信息 where 批号='''+stringgrid1.Cells[4,i]+'''';
    adoquery1.Open;
    num:=strtofloat(adoquery1.fieldbyname('库存数量').AsString);
//    showmessage(adoquery1.fieldbyname('库存数量').AsString);
    num1:=strtofloat(stringgrid1.Cells[18,i]);
    num2:=num-num1;
    temp:=floattostr(num2);
//    showmessage(temp);
    adocommand1.CommandText:='update 库存信息 set 库存数量='''+temp+''' where 批号='''+stringgrid1.Cells[4,i]+'''';
    adocommand1.Execute;
    adoquery1.Active:=false;
    adoquery1.Active:=true;
    end;
  end;
num3:=strtofloat(edit1.Text);

for i:=1 to 19 do
  begin
  if stringgrid1.Cells[1,i]<>'' then
    begin
      adoquery1.close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Text:='select 剂型编号 from 药品剂型信息 where 剂型名称='''+stringgrid1.cells[10,i]+'''';
      adoquery1.Open;
      jixinghao:=adoquery1.fieldbyname('剂型编号').AsString;
      adoquery1.close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Text:='select 类别编号 from 药品分类 where 类别名称='''+stringgrid1.cells[11,i]+'''';
      adoquery1.Open;
      leibiehao:=adoquery1.fieldbyname('类别编号').AsString;
      adoquery1.close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Text:='select 仓库编号 from 仓库信息 where 仓库名称='''+stringgrid1.cells[15,i]+'''';
      adoquery1.Open;
      cangkuhao:=adoquery1.fieldbyname('仓库编号').AsString;
      adoquery1.close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Text:='select 供应商编号 from 供应商信息 where 供应商名称='''+stringgrid1.cells[6,i]+'''';
      adoquery1.Open;
      gongyingshanghao:=adoquery1.fieldbyname('供应商编号').AsString;
      num3:=num3+1;
      num4:=floattostr(num3);
     // showmessage(jixinghao,leibiehao,cangkuhao,gongyingshanghao)
      adocommand1.CommandText:='insert into 销售信息([销售编号],[药品编号],[剂型编号],[类别编号],[仓库编号],[业务员编号],[客户编号],[供应商编号],[销售日期],[单位],[批号],[预售价],[折扣率],[折扣后售价],[质量状况],[销售数量],[销售金额],[有效期至],[备注]) values('''+num4+''','''+stringgrid1.Cells[1,i]+''','''+jixinghao+''','''+leibiehao+''','''+cangkuhao+''','''+edit3.text+''','''+edit4.text+''','''+gongyingshanghao+''','''+edit2.Text+''','''+stringgrid1.Cells[8,i]+''','''+stringgrid1.Cells[4,i]+''','''+stringgrid1.Cells[14,i]+''','''+stringgrid1.Cells[16,i]+''','''+stringgrid1.Cells[17,i]+''','''+stringgrid1.Cells[20,i]+''','''+stringgrid1.Cells[18,i]+''','''+stringgrid1.Cells[19,i]+''','''+stringgrid1.Cells[9,i]+''','''+stringgrid1.Cells[21,i]+''')';

      adocommand1.Execute;
      adoquery1.Active:=false;
      adoquery1.Active:=true;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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