📄 formstock.~pas
字号:
unit FormStock;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, DB, StdCtrls, Grids, DBGrids, ExtCtrls;
type
TStock = class(TForm)
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label1: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
GroupBox2: TGroupBox;
Label7: TLabel;
ComboBox1: TComboBox;
Edit7: TEdit;
Button4: TButton;
Button1: TButton;
Button3: TButton;
GroupBox3: TGroupBox;
DBGrid2: TDBGrid;
Button5: TButton;
DataSource1: TDataSource;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
ADOTable2: TADOTable;
DataSource2: TDataSource;
DBGrid1: TDBGrid;
Edit8: TEdit;
Label9: TLabel;
Button2: TButton;
Label10: TLabel;
Label11: TLabel;
Edit9: TEdit;
Edit10: TEdit;
procedure Edit2Change(Sender: TObject);
//procedure Edit2Exit(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Edit6Enter(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
// procedure DBGrid2ColumnMoved(Sender: TObject; FromIndex,
// ToIndex: Integer);
procedure DBGrid2CellClick(Column: TColumn);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit3Change(Sender: TObject);
procedure DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
procedure Timer1Timer(Sender: TObject);
// procedure DBGrid1ColumnMoved(Sender: TObject; FromIndex,
// ToIndex: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Stock: TStock;
ID:string;
Exist:boolean;
implementation
uses FormManage;
{$R *.dfm}
procedure TStock.Edit2Change(Sender: TObject);
begin
AdoTable1.Locate('药品名称',Edit2.Text,[loCaseInsensitive, loPartialKey]);
if AdoTable2.Locate('药品名称',Edit2.Text,[loCaseInsensitive, loPartialKey])then
begin
Exist:=true;
edit5.Text:=adoTable2.FieldValues['进货单价'];
edit3.Text:=adoTable2.FieldValues['药品代码'];
Edit8.Text:=AdoTable2.FieldValues['进货厂家'];
Edit9.Text:=AdoTable2.FieldValues['生产日期'];
Edit10.Text:=AdoTable2.FieldValues['有效期'];
end
else
Exist:=false;
end;
{procedure TStock.Edit2Exit(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 药品信息 where 药品名称='''+edit2.Text+'''');
adoquery1.Open;
if adoquery1.fieldbyname('药品代码').AsString<>''
then
begin
edit5.Text:=adoquery1.fieldbyname('进货单价').AsString;
edit3.Text:=adoquery1.fieldbyname('药品代码').AsString;
ID:=adoquery1.fieldbyname('药品代码').AsString;
Exist:=true;
AdoTable2.Locate('药品代码',ID,[loCaseInsensitive, loPartialKey])
end
else
begin
ShowMessage('您想购入本店暂时没有的的药品吗?');
Edit5.Clear;
Edit7.Clear;
Exist:=false;
end
end;
}
procedure TStock.FormCreate(Sender: TObject);
begin
Edit1.Text:=DateToStr(Date);
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
Edit9.Clear;
Edit10.Clear;
end;
procedure TStock.Edit6Enter(Sender: TObject);
begin
if Edit2.Text='' then
begin
ShowMessage('请输入您购入的药品名称!');
Edit2.SetFocus;
end;
if Edit4.Text='' then
begin
ShowMessage('请输入您购入的药品数量!');
Edit4.SetFocus;
end
else
Edit6.Text:=FloatToStr(StrToFloat(Edit5.Text)*StrToFloat(Edit4.Text));
end;
procedure TStock.DBGrid1CellClick(Column: TColumn);
begin
Edit3.Text:=AdoTable1.FieldValues['药品代码'];
edit5.Text:=adoTable1.FieldValues['进货单价'];
//edit3.Text:=adoTable1.FieldValues['药品代码'];
Edit8.Text:=AdoTable1.FieldValues['进货厂家'];
Edit4.Text:=AdoTable1.FieldValues['进货数量'];
Edit1.Text:=AdoTable1.FieldValues['进货日期'];
end;
procedure TStock.Button4Click(Sender: TObject);
begin
if Edit7.Text<>''then
//ShowMessage( ComboBox1.Items[0]+'****************'+Edit7.text);
begin
if AdoTable1.Locate(ComboBox1.Items[ComboBox1.ItemIndex],Edit7.text,[loCaseInsensitive, loPartialKey]) then
begin
Edit1.Text:=DateToStr(AdoTable1.FieldValues['进货日期']);
Edit2.text:=AdoTable1.FieldValues['药品名称'];
Edit3.Text:=AdoTable1.FieldValues['药品代码'];
Edit4.Text:=IntToStr(AdoTable1.FieldValues['进货数量']);
Edit5.Text:=FloatToStr(AdoTable1.FieldValues['进货单价']);
Edit6.text:=FloatToStr(AdoTable1.FieldValues['进货金额']);
Edit8.text:=FloatToStr(AdoTable1.FieldValues['进货厂家']);
end
else
ShowMessage('对不起,查不到您输入的药品信息!');
end
else
begin
ShowMessage('请输入要查询的药品名称!');
Edit7.SetFocus;
end
end;
procedure TStock.Button3Click(Sender: TObject);
begin
AdoTable2.Edit;
AdoTable2.FieldValues['库存数'] := AdoTable2.FieldValues['库存数']+StrToInt(Edit4.text)-AdoTable1.FieldValues['进货数量'];
AdoTable2.Post;
AdoTable1.Edit;
AdoTable1.FieldValues['进货日期'] := Edit1.text;
AdoTable1.FieldValues['药品名称'] := Edit2.text;
AdoTable1.FieldValues['药品代码'] := Edit3.text;
AdoTable1.FieldValues['进货数量'] := Edit4.text;
AdoTable1.FieldValues['进货单价'] := Edit5.text;
AdoTable1.FieldValues['进货金额'] := Edit6.text;
AdoTable1.FieldValues['进货厂家'] := Edit7.text;
AdoTable1.Post;
end;
procedure TStock.Button1Click(Sender: TObject);
begin
if Edit6.Text='' then
begin
ShowMessage('请确认此次进货的进货金额');
Edit6.SetFocus;
end
else
begin
if Exist and AdoTable2.FieldValues['进货单价']= StrToFloat(Edit5.text) then
begin
AdoTable2.Edit;
AdoTable2.FieldValues['药品名称'] := Edit2.text;
AdoTable2.FieldValues['药品代码'] := Edit3.text;
AdoTable2.FieldValues['库存数'] := Edit4.text+AdoTable2.FieldValues['库存数'];
AdoTable2.FieldValues['进货单价'] := Edit5.text;
AdoTable2.FieldValues['进货厂家'] := Edit8.text;
AdoTable2.FieldValues['生产日期'] := Edit9.text;
AdoTable2.FieldValues['有效期'] := Edit10.text;
AdoTable2.FieldValues['销售单价'] := StrToFloat(Edit5.text)*1.2;
AdoTable2.Post;
AdoTable1.Append;
AdoTable1.FieldValues['进货日期'] := Edit1.text;
AdoTable1.FieldValues['药品名称'] := Edit2.text;
AdoTable1.FieldValues['药品代码'] := Edit3.text;
AdoTable1.FieldValues['进货数量'] := Edit4.text;
AdoTable1.FieldValues['进货单价'] := Edit5.text;
AdoTable1.FieldValues['进货金额'] := Edit6.text;
AdoTable1.FieldValues['进货厂家'] := Edit8.text;
AdoTable1.Post;
end
else
begin
if AdoTable2.Locate('药品代码',Edit3.text,[loCaseInsensitive, loPartialKey]) then
begin
ShowMessage('药品代码出错,请核实!');
Edit3.SetFocus;
end
else
begin
AdoTable2.Append;
AdoTable2.FieldValues['药品名称'] := Edit2.text;
AdoTable2.FieldValues['药品代码'] := Edit3.text;
AdoTable2.FieldValues['库存数'] := Edit4.text;
AdoTable2.FieldValues['进货单价'] := Edit5.text;
AdoTable2.FieldValues['进货厂家'] := Edit8.text;
AdoTable2.FieldValues['生产日期'] := Edit9.text;
AdoTable2.FieldValues['有效期'] := Edit10.text;
AdoTable2.FieldValues['销售单价'] := StrToFloat(Edit5.text)*1.2;
AdoTable2.Post;
AdoTable1.Append;
AdoTable1.FieldValues['进货日期'] := Edit1.text;
AdoTable1.FieldValues['药品名称'] := Edit2.text;
AdoTable1.FieldValues['药品代码'] := Edit3.text;
AdoTable1.FieldValues['进货数量'] := Edit4.text;
AdoTable1.FieldValues['进货单价'] := Edit5.text;
AdoTable1.FieldValues['进货金额'] := Edit6.text;
AdoTable1.FieldValues['进货厂家'] := Edit8.text;
AdoTable1.Post;
{Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear; }
end
end;
end
end;
procedure TStock.Button5Click(Sender: TObject);
begin
Stock.Close;
Manage.Show;
end;
{procedure TStock.DBGrid2ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
begin
Edit2.Text:=AdoTable2.FieldValues['药品名称'];
Edit9.Text:=AdoTable2.FieldValues['生产日期'];
Edit10.Text:=AdoTable2.FieldValues['有效期'];
Edit4.Clear;
Edit6.Clear;
end;
}
procedure TStock.DBGrid2CellClick(Column: TColumn);
begin
Edit3.Text:=AdoTable2.FieldValues['药品代码'];
Edit9.Text:=AdoTable2.FieldValues['生产日期'];
Edit10.Text:=AdoTable2.FieldValues['有效期'];
Edit4.Clear;
Edit6.Clear;
end;
procedure TStock.Button2Click(Sender: TObject);
begin
AdoTable2.Edit;
AdoTable2.FieldValues['库存数'] := AdoTable2.FieldValues['库存数']-AdoTable1.FieldValues['进货数量'];
AdoTable2.Post;
AdoTable1.Delete;
AdoTable1.Post;
end;
procedure TStock.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Manage.Show;
end;
procedure TStock.Edit3Change(Sender: TObject);
begin
//AdoTable1.Locate('药品代码',Edit3.Text,[loCaseInsensitive, loPartialKey]);
if AdoTable2.Locate('药品代码',Edit3.Text,[loCaseInsensitive, loPartialKey])then
begin
Exist:=true;
Edit2.Text:=adoTable2.FieldValues['药品名称'];
Edit9.Text:=AdoTable2.FieldValues['生产日期'];
Edit10.Text:=AdoTable2.FieldValues['有效期'];
end
else
Exist:=false;
end;
procedure TStock.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
begin
end;
//procedure TStock.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
// ToIndex: Integer);
//begin
//end;
procedure TStock.Timer1Timer(Sender: TObject);
begin
Edit1.Text:=DateToStr(Date);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -