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 + -
显示快捷键?