📄 frmhuajia.pas
字号:
unit FrmHuajia;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Grids, DBGrids, ExtCtrls, DB, ADODB;
type
TFormHuajia = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
ComboBox1: TComboBox;
Label5: TLabel;
ComboBox2: TComboBox;
Label6: TLabel;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
DBGrid2: TDBGrid;
StringGrid1: TStringGrid;
ComboBox3: TComboBox;
Edit4: TEdit;
Label7: TLabel;
Label8: TLabel;
Edit5: TEdit;
Timer1: TTimer;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Timer2: TTimer;
Button6: TButton;
Button7: TButton;
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure StringGrid1Click(Sender: TObject);
procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox3Change(Sender: TObject);
procedure ComboBox3CloseUp(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormHuajia: TFormHuajia;
i,k,j,h,u,bb:integer;
a,b,item,p,q,v:string;
sum,xx,m:extended;
implementation
uses FrmMain;
{$R *.dfm}
procedure TFormHuajia.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
//同步选择与输入相同的药物信息
end;
procedure TFormHuajia.StringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
//绘制表格,在表格的位置插入DBGrid
if (gdFocused in State) then
begin
DBGrid2.Left:=Rect.Right+StringGrid1.Left;
DBGrid2.Top:=Rect.Bottom+StringGrid1.Top;
end;
end;
procedure TFormHuajia.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
//设定只有选择第一项时才显示DBGird
if acol=0 then
DBGrid2.Visible:=true
else
DBGrid2.Visible:=false;
end;
procedure TFormHuajia.StringGrid1Click(Sender: TObject);
begin
i:=FormHuajia.StringGrid1.Row;//返回指针放置点的行号
k:=FormHuajia.StringGrid1.RowCount;
end;
procedure TFormHuajia.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
//限制只能输入数字退格键
if (not (key in['0'..'9']) and (key<>#8)) then
begin
MessageDlg('请输入真确数字',mtConfirmation,[mbOK],0);
Key:=#0;
end;
end;
procedure TFormHuajia.ComboBox3Change(Sender: TObject);
begin
FormHuajia.ComboBox3.Text:=FormHuajia.ComboBox3.Items.Text;
end;
procedure TFormHuajia.ComboBox3CloseUp(Sender: TObject);
begin
//当下拉菜单回复时,把信息输入到相应的文本框中
end;
procedure TFormHuajia.Button1Click(Sender: TObject);
begin
if (FormHuajia.ComboBox3.Text<>'') and (FormHuajia.Edit4.Text<>'')
and (FormHuajia.ComboBox2.Text<>'')and (FormHuajia.ComboBox3.Text<>'') then
//判断输入是否为空,不为空则插入信息
begin
end
else Application.MessageBox('不能为空','提示',MB_OK);
FormHuajia.Button7.Click;
end;
procedure TFormHuajia.Timer1Timer(Sender: TObject);
begin
FormHuajia.Edit5.Text:=formatdatetime('yyyy-mm-dd'+' '+'hh:mm:ss',now);
end;
procedure TFormHuajia.Button3Click(Sender: TObject);
var
i,Max,Max1:integer;
s:string;
begin
//自动生成编号
end;
procedure TFormHuajia.Button4Click(Sender: TObject);
begin
//清零
FormHuajia.Edit1.Text:='';
FormHuajia.Edit2.Text:='';
FormHuajia.Edit3.Text:='';
FormHuajia.Edit4.Text:='';
FormHuajia.ComboBox3.Text:='';
FormHuajia.ComboBox2.Text:='';
FormHuajia.ComboBox3.Text:='';
end;
procedure TFormHuajia.Button5Click(Sender: TObject);
var
x,y,z,Max:integer;
g:string;
begin
if bb=0 then//当判断是否已经保存过
begin
Max:=0;
for y:=1 to u do //设置列号
for x:=0 to 5 do//设置行号
begin
g:=FormHuajia.StringGrid1.Cells[x,y];//输出当前格子中的信息
if (FormHuajia.StringGrid1.Cells[x,y]<>'') and (x<>2) and (x<>1) then //判断此格子是否为空,且不为第2,3列的格子
begin
end;
bb:=1;
end;
end;
end;
procedure TFormHuajia.Timer2Timer(Sender: TObject);
begin
//取当天输入的信息的行数
if FormHuajia.StringGrid1.Cells[0,u+1]<>'' then
begin
u:=u+1;
end;
end;
procedure TFormHuajia.Edit4Change(Sender: TObject);
begin
bb:=0;//初始化
end;
procedure TFormHuajia.Button6Click(Sender: TObject);
var
k:integer;
begin
//计算总金额
for k:=1 to u do
begin
if FormHuajia.StringGrid1.Cells[5,u]<>'' then
begin
m:=m+strtofloat(FormHuajia.StringGrid1.Cells[5,u]);
FormHuajia.Edit3.Text:=floattostr(m);
end;
end;
end;
procedure TFormHuajia.Button7Click(Sender: TObject);
begin
FormHuajia.Button4.Click;//清零输入信息
a:=Formatdatetime('yyyy-mm-dd',now()+1)+' '+'23:59:59'; //设置时间的最大值
b:=Formatdatetime('yyyy-mm-dd',now())+' '+'00:00:00';//设置时间的最小值
//初始设置,把StringGrid1的首行设置文字
FormHuajia.StringGrid1.Cells[0,0]:=' 药品编号 ';
FormHuajia.StringGrid1.Cells[1,0]:=' 药物名称 ';
FormHuajia.StringGrid1.Cells[2,0]:=' 规 格 ';
FormHuajia.StringGrid1.Cells[3,0]:=' 单 价 ';
FormHuajia.StringGrid1.Cells[4,0]:=' 数 量 ';
FormHuajia.StringGrid1.Cells[5,0]:=' 金 额 ';
FormHuajia.StringGrid1.Cells[6,0]:=' 有效期 ';
FormHuajia.StringGrid1.Cells[7,0]:=' 费用归类 ';
FormHuajia.Button3.Click;//自动生成号码触发
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -