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

📄 medicine_form1.pas

📁 基于DELPHI+SQL的药品管理系统
💻 PAS
字号:
unit medicine_form1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, Db, DBTables, jpeg, ExtCtrls;

type
  Tmed_form = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Edit_id: TEdit;
    Edit_name: TEdit;
    Edit_rule: TEdit;
    Edit_number: TEdit;
    Edit_batch: TEdit;
    Edit_area: TEdit;
    Edit_price: TEdit;
    Edit_unit: TEdit;
    DateTimePicker1: TDateTimePicker;
    Edit_lownumber: TEdit;
    Edit_money: TEdit;
    Query1: TQuery;
    Query2: TQuery;
    Query3: TQuery;
    Query4: TQuery;
    Image1: TImage;
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Edit_idExit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Edit_idChange(Sender: TObject);
    procedure Edit_priceChange(Sender: TObject);
    procedure Edit_idKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_nameKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_areaKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_ruleKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_unitKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_priceKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_batchKeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit_numberKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_lownumberKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_moneyKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    Procedure P_isexist();
    Procedure P_notexist();
  public
    { Public declarations }
  end;

var
  med_form: Tmed_form;

implementation

{$R *.DFM}

procedure Tmed_form.Button2Click(Sender: TObject);
begin
     self.Close;
end;

procedure Tmed_form.Edit_idExit(Sender: TObject);
begin
     query1.Close;
     query1.sql.clear;
     query1.sql.Add('select * from medicine where code=:bianma');
     query1.ParamByName('bianma').AsString:=Edit_id.Text;
     query1.Open;

     if query1.RecordCount > 0 then begin
        Edit_name.text:=query1.FieldByName('name').AsString;
        Edit_name.enabled:=false;
        Edit_rule.text:=query1.FieldByName('rule').AsString;
        Edit_rule.enabled:=false;
        Edit_unit.text:=query1.FieldByName('unit').AsString;
        Edit_unit.enabled:=false;
        Edit_area.text:=query1.FieldByName('area').AsString;
        Edit_area.enabled:=false;
        Edit_batch.text:=query1.FieldByName('batch').AsString;
        Edit_batch.Enabled:=false;
        Edit_price.text:=query1.FieldByName('price').AsString;
        Edit_price.Enabled:=false;
        Edit_lownumber.text:=query1.FieldByName('lownumber').AsString;
        Edit_lownumber.Enabled:=false;
     end;
end;

procedure Tmed_form.FormCreate(Sender: TObject);
begin
     DateTimePicker1.Date:=date()+1000;
end;

procedure Tmed_form.Button1Click(Sender: TObject);
begin
     if Edit_id.Text = '' then
        //ShowMessage('请输入药品的编码');
        Application.MessageBox('请输入药品的编码','提示',MB_OK)
     else begin
          query1.Close;
          query1.sql.clear;
          query1.sql.Add('select * from medicine where code=:bianma');
          query1.ParamByName('bianma').AsString:=Edit_id.Text;
          query1.Open;

          if query1.RecordCount > 0 then
             P_isexist
          else
             P_notexist;
     end;
end;

procedure Tmed_form.P_isexist;
begin
     query3.close;
     query3.SQL.clear;
     query3.SQL.add('select * from medicine where code=:bianma');
     query3.ParamByName('bianma').AsString:=Edit_id.Text;
     query3.Open;

     query2.Close;
     query2.SQL.clear;
     query2.sql.add('update medicine set innumber=:this_number where code=:this_bianma');
     query2.ParamByName('this_number').AsInteger:=query3.FieldByName('innumber').AsInteger + StrToInt(Edit_number.text);
     query2.ParamByName('this_bianma').AsString:=Edit_id.Text;
     query2.ExecSQL;
     //Application.MessageBox('AAAAAAA','提示',MB_OK);
     query3.Close;
     query3.sql.clear;
     query3.sql.add('select * from InMedicine');
     query3.Open;

     query4.Close;
     query4.sql.clear;
     query4.sql.add('insert into InMedicine(id,code,lastdate,isover) values (:this_id,:this_code,:this_date,:this_isover)');
     query4.ParamByName('this_id').AsInteger:=query3.RecordCount + 1;
     query4.ParamByName('this_code').AsString:=Edit_id.Text;
     query4.ParamByName('this_date').AsString:=DateToStr(DateTimePicker1.Date);
     query4.ParamByName('this_isover').AsString:='0';
     query4.ExecSQL;

     Application.MessageBox('数据保存成功,要添加新的数据请重新输入药品编码','提示',MB_OK);
end;

procedure Tmed_form.P_notexist;
begin
     query2.Close;
     query2.SQL.clear;
     query2.sql.add('insert into medicine(code,name,rule,unit,area,price,batch,innumber,lownumber)' +
                    'values (:s_code,:s_name,:s_rule,:s_unit,:s_area,:f_price,:s_batch,:i_number,:i_lownumber)');
     query2.ParamByName('s_code').AsString:=Edit_id.Text;
     query2.ParamByName('s_name').AsString:=Edit_name.text;
     query2.ParamByName('s_rule').AsString:=Edit_rule.text;
     query2.ParamByName('s_unit').AsString:=Edit_unit.text;
     query2.ParamByName('s_area').AsString:=Edit_area.text;
     query2.ParamByName('f_price').AsFloat:=StrToFloat(Edit_price.text);
     query2.ParamByName('s_batch').AsString:=Edit_batch.Text;
     query2.ParamByName('i_number').AsInteger:=StrToInt(Edit_number.text);
     query2.ParamByName('i_lownumber').AsInteger:=StrToInt(Edit_lownumber.Text);
     query2.ExecSQL;

     query3.Close;
     query3.sql.clear;
     query3.sql.add('select * from InMedicine');
     query3.Open;

     //try
     query4.Close;
     query4.sql.clear;
     query4.sql.add('insert into InMedicine(id,code,lastdate,isover) values (:this_id,:this_code,:this_date,:this_isover)');
     query4.ParamByName('this_id').AsInteger:=query3.RecordCount + 1;
     query4.ParamByName('this_code').AsString:=Edit_id.Text;
     query4.ParamByName('this_date').AsString:=DateToStr(DateTimePicker1.Date);
     query4.ParamByName('this_isover').AsString:='0';
     query4.ExecSQL;
     //except
     //Application.MessageBox(
     //end;

     Application.MessageBox('数据保存成功,要添加新的数据请重新输入药品编码','提示',MB_OK);
end;

procedure Tmed_form.Edit_idChange(Sender: TObject);
begin
        Edit_name.text:='';
        Edit_name.enabled:=true;
        Edit_rule.text:='';
        Edit_rule.enabled:=true;
        Edit_unit.text:='';
        Edit_unit.enabled:=true;
        Edit_area.text:='';
        Edit_area.enabled:=true;
        Edit_batch.text:='';
        Edit_batch.Enabled:=true;
        Edit_price.text:='';
        Edit_price.Enabled:=true;
        Edit_lownumber.text:='';
        Edit_lownumber.Enabled:=true;
        Edit_number.text:='';
end;

procedure Tmed_form.Edit_priceChange(Sender: TObject);
begin
     try
     if Edit_price.Text='' then Edit_price.Text:='0';
     if Edit_number.Text='' then Edit_number.Text:='0';

     Edit_money.text := FloatToStr(StrToFloat(Edit_price.text) * StrToFloat(Edit_number.text));
     except
     edit_money.text := '';
     end;
end;

procedure Tmed_form.Edit_idKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

procedure Tmed_form.Edit_nameKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

procedure Tmed_form.Edit_areaKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

procedure Tmed_form.Edit_ruleKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

procedure Tmed_form.Edit_unitKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

procedure Tmed_form.Edit_priceKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

procedure Tmed_form.Edit_batchKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

procedure Tmed_form.DateTimePicker1KeyPress(Sender: TObject;
  var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

procedure Tmed_form.Edit_numberKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

procedure Tmed_form.Edit_lownumberKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

procedure Tmed_form.Edit_moneyKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  begin
    Key := #0;
    SelectNext( TWinControl(Sender), True, True);
  end;
end;

end.

⌨️ 快捷键说明

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