📄 qqdj.pas
字号:
unit qqdj;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ExtCtrls, Grids, DBGrids, DBCtrls, Db;
type
Tqqdjb = class(TForm)
Panel1: TPanel;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
DateTimePicker1: TDateTimePicker;
Label4: TLabel;
ComboBox1: TComboBox;
Label5: TLabel;
Label6: TLabel;
Edit3: TEdit;
Label7: TLabel;
Label8: TLabel;
Edit5: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
DataSource1: TDataSource;
DataSource2: TDataSource;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupListBox1: TDBLookupListBox;
DBGrid2: TDBGrid;
DataSource3: TDataSource;
DBGrid1: TDBGrid;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Edit2Enter(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid2CellClick(Column: TColumn);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure Edit1Enter(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure DBGrid2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
qqdjb: Tqqdjb;
implementation
uses datamodule, qqsd, qqdjfind;
{$R *.DFM}
procedure Tqqdjb.FormShow(Sender: TObject);
begin
dblookuplistbox1.enabled:=false;
datamodule1.qqdj.append;
edit1.text:='';
edit2.text:='';
edit3.text:='';
edit5.text:='';
dbgrid2.visible:=false;
end;
procedure Tqqdjb.Button1Click(Sender: TObject);
var
i:real;
begin
i:=datamodule1.qqsd.fieldbyname('a_price').asfloat;
with datamodule1.qqdj do
try
begin
fieldbyname('A_number').asstring:=edit1.text;
fieldbyname('a_name').asstring:=edit2.text;
fieldbyname('a_date').asdatetime:=datetimepicker1.date;
fieldbyname('a_type').asstring:= combobox1.text;
fieldbyname('A_dw').asstring:=dblookupcombobox1.Field.asstring;
fieldbyname('a_price').asfloat:=i;
fieldbyname('A_how').asfloat:=strtofloat(edit3.text);
fieldbyname('A_total').asfloat:=strtofloat(edit5.text);
post;
append;
edit1.text:='';
edit2.text:='';
edit3.text:='';
edit5.text:='';
end;
except
showmessage('不能正确保存数据,请确保输入数据的正确性');
end;
end;
procedure Tqqdjb.Edit2Enter(Sender: TObject);
begin
if edit3.text='' then
showmessage('请在数量栏输入数字')
else
edit5.text:=floattostr(strtofloat(edit3.text)*datamodule1.qqsd.fieldbyname('a_price').asfloat)
end;
procedure Tqqdjb.FormClose(Sender: TObject; var Action: TCloseAction);
begin
datamodule1.qqdj.cancel;
self.release;
end;
procedure Tqqdjb.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
str:string;
begin
if inttostr(key)='13' then
begin
str:='select *from yggb where a_number like ';
str:=str+''''+'%'+edit1.text+'%'+'''';
with datamodule1.yggb do
begin
close;
sql.clear;
sql.add(str);
prepare;
open;
end;
if datamodule1.yggb.eof then
showmessage('查无此人,请重新输入,谢谢!')
else
begin
dbgrid2.visible:=true;
dbgrid2.setfocus;
end;
end;
end;
procedure Tqqdjb.Edit2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
str:string;
begin
if inttostr(key)='13' then
begin
str:='select *from yggb where a_name like ';
str:=str+''''+'%'+edit2.text+'%'+'''';
with datamodule1.yggb do
begin
close;
sql.clear;
sql.add(str);
prepare;
open;
end;
if datamodule1.yggb.eof then
showmessage('查无此人,请重新输入,谢谢!')
else
begin
dbgrid2.visible:=true;
dbgrid2.setfocus;
end;
end;
end;
procedure Tqqdjb.DBGrid2CellClick(Column: TColumn);
begin
edit1.text:=datamodule1.yggb.fieldbyname('a_number').asstring;
edit2.text:=datamodule1.yggb.fieldbyname('a_name').asstring;
dbgrid2.visible:=false;
dblookupcombobox1.SetFocus;
end;
procedure Tqqdjb.Button4Click(Sender: TObject);
begin
qqsdb.show;
end;
procedure Tqqdjb.Button2Click(Sender: TObject);
begin
qqdjfindb.show;
end;
procedure Tqqdjb.Button3Click(Sender: TObject);
begin
self.close;
end;
procedure Tqqdjb.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
lastcolor: TColor;
begin
with (Sender as TDBGrid) do
begin
lastcolor := clred;
case DataSource.DataSet.RecNo mod 2 of
1: lastcolor := $00F5FEFD;
0: lastcolor := clwhite;
end;
if gdSelected in State then
lastcolor := clred; //选中行背景为绿色
Canvas.Brush.Color := lastcolor;
DefaultDrawDataCell(Rect, Column.Field, State);
end;
end;
procedure Tqqdjb.Edit1Enter(Sender: TObject);
begin
with (sender as tedit) do
color:=cllime;
//dbgrid2.setfocus;
end;
procedure Tqqdjb.Edit1Exit(Sender: TObject);
begin
with (sender as tedit) do
color:=clwhite;
end;
procedure Tqqdjb.DBGrid2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
begin
edit1.text:=datamodule1.yggb.fieldbyname('a_number').asstring;
edit2.text:=datamodule1.yggb.fieldbyname('a_name').asstring;
dbgrid2.visible:=false;
end;
if key=27 then
dbgrid2.visible:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -