crkform.pas
来自「一个物流公司的物流配送系统」· PAS 代码 · 共 219 行
PAS
219 行
unit crkForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, ComCtrls,DateUtils;
type
TFrmcrk = class(TForm)
ds: TDataSource;
dg: TDBGrid;
editPanel: TPanel;
btnPanel: TPanel;
addbtn: TButton;
editbtn: TButton;
okbtn: TButton;
delbtn: TButton;
cancelbtn: TButton;
djedit: TEdit;
Label5: TLabel;
Label4: TLabel;
Label2: TLabel;
Label18: TLabel;
sledit: TEdit;
spmcedit: TComboBox;
czrqpk: TDateTimePicker;
czlxedit: TComboBox;
Label1: TLabel;
procedure inputrealKeyPress(Sender: TObject; var Key: Char);
Procedure inputintKeyPress(Sender:TObject;var Key: Char);
Procedure NextFocusKeyPress(Sender:TObject;var Key:Char);
procedure FormShow(Sender: TObject);
procedure dgCellClick(Column: TColumn);
procedure addbtnClick(Sender: TObject);
procedure editbtnClick(Sender: TObject);
procedure delbtnClick(Sender: TObject);
procedure okbtnClick(Sender: TObject);
procedure cancelbtnClick(Sender: TObject);
procedure dgDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure spmceditEnter(Sender: TObject);
private
Procedure showdb;
public
{ Public declarations }
end;
var
Frmcrk: TFrmcrk;
implementation
uses DataModule, ShareData;
{$R *.dfm}
{ TFrmBasic }
procedure TFrmcrk.showdb;
begin
With DM.cquery do
begin
Active:=False;
SQL.Clear;
sql.Add('select * from crk_v order by lxid,spmc');
active:=True;
end;
end;
procedure TFrmcrk.inputintKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then NextSetFocus(sender)
else
key:=inputintkeys(sender,key);
end;
procedure TFrmcrk.inputrealKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then NextSetFocus(sender)
else
key:=inputrealkeys(sender,key);
end;
procedure TFrmcrk.NextFocusKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then NextSetFocus(sender);
end;
procedure TFrmcrk.FormShow(Sender: TObject);
begin
czrqpk.Date:=date;
clearControls(EditPanel);
EnabledControls(EditPanel,False);
initButtons(btnPanel);
showdb;
end;
procedure TFrmcrk.dgCellClick(Column: TColumn);
begin
if DM.cquery.IsEmpty then exit;
spmcedit.Text:=DM.cquery.FieldByName('spmc').AsString;
djedit.Text:=DM.cquery.FieldByName('sjdj').AsString;
sledit.Text:=DM.cquery.FieldByName('sl').AsString;
czrqpk.Date:=DM.cquery.FieldByName('czrq').ASDateTime;
czlxedit.itemindex:=DM.cquery.FieldByName('czlx').AsInteger;
Enabledcontrols(editPanel,False);
DBClick(btnPanel);
end;
procedure TFrmcrk.addbtnClick(Sender: TObject);
begin
EnabledControls(EditPanel,True);
clearcontrols(EditPanel);
addClick(btnPanel);
end;
procedure TFrmcrk.editbtnClick(Sender: TObject);
begin
EnabledControls(EditPanel,True);
editClick(btnPanel);
end;
procedure TFrmcrk.delbtnClick(Sender: TObject);
begin
if dm.cquery.IsEmpty then exit;
if messagedlg('确认要删除此记录吗?',mtWarning,MBOKCancel,0)=id_ok then
begin
with dm.tempquery do
begin
active:=False;
sql.Clear;
sql.Add('delete from czb where czid=:czid');
parameters.ParamByName('czid').Value:=dm.cquery.fieldbyname('czid').AsInteger;
execsql;
end;
ShowMessage('删除成功!');
end;
updatequery;
delclick(btnPanel);
end;
procedure TFrmcrk.okbtnClick(Sender: TObject);
begin
if spmcedit.Text = '' then
begin
messagedlg('商品名称不能为空,请输入!',mtWarning,[mbok],0);
spmcedit.SetFocus;
exit;
end;
if czlxedit.Text='' then
begin
messagedlg('操作类型不能为空,请选择!',mtWarning,[mbok],0);
czlxedit.SetFocus;
exit;
end;
if djedit.text= '' then djedit.Text:='0';
if sledit.text= '' then sledit.Text:='0';
with dm.tempquery do
begin
Active:=False;
sql.Clear;
if flag then
begin
sql.Add('exec czb_op 1,0,:spmc,:sl,:sjdj,:czrq,:czlx ');
end
else
begin
sql.Add('exec czb_op 2,:czid,:spmc,:sl,:sjdj,:czrq,:czlx ');
parameters.ParamByName('czid').Value:=dm.cquery.fieldbyname('czid').AsInteger;
end;
parameters.ParamByName('spmc').Value:=spmcedit.Text ;
parameters.ParamByName('sl').Value:=sledit.text;
parameters.ParamByName('sjdj').Value:=djedit.Text ;
parameters.ParamByName('czrq').Value:=czrqpk.Date;
parameters.ParamByName('czlx').Value:=czlxedit.ItemIndex;
execsql;
end;
updatequery;
okClick(btnpanel);
enabledcontrols(editpanel,false);
end;
procedure TFrmcrk.cancelbtnClick(Sender: TObject);
begin
enabledcontrols(editpanel,false);
cancelClick(btnpanel);
end;
procedure TFrmcrk.dgDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (DM.cquery.RecNo mod 2)=0 then
dg.Canvas.Brush.Color:=clWhite
else
dg.Canvas.Brush.Color:=clSilver;
dg.DefaultDrawColumnCell(Rect,DAtaCol,Column,State);
end;
procedure TFrmcrk.spmceditEnter(Sender: TObject);
begin
with DM.TempQuery do
begin
Active:=False;
SQL.clear;
SQL.add('select spmc from spb order by spmc');
Active:=True;
spmcedit.Items.Clear;
while not Eof do
begin
spmcedit.Items.Add(FieldbyName('spmc').asString);
next;
end;
Active:=False;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?