?? unithf.pas
字號:
unit UnitHf;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzButton, RzBtnEdt, RzEdit, StdCtrls, Mask, ImgList, RzTabs,
ComCtrls, Buttons, DB, ADODB, Grids, DBGrids, ExtCtrls;
type
THfForm = class(TForm)
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
ImageList1: TImageList;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Panel3: TPanel;
RzBitBtn1: TRzBitBtn;
Panel2: TPanel;
DBGrid1: TDBGrid;
Edit_GoodsName: TEdit;
Edit_GoodsType: TEdit;
Label13: TLabel;
Edit_GoodsOwner: TEdit;
Label14: TLabel;
Edit_CustName: TEdit;
Label15: TLabel;
Edit_CustTel: TEdit;
Label16: TLabel;
Edit_CustAddr: TEdit;
Label17: TLabel;
Edit_OutDate: TEdit;
Label4: TLabel;
Edit_GoodsNo: TEdit;
Label8: TLabel;
Memo_ServiceRemark: TMemo;
Edit_CustRemark: TEdit;
Label5: TLabel;
Edit_OutRemark: TEdit;
Label6: TLabel;
Label7: TLabel;
Edit_InDate: TEdit;
Edit_InRemark: TEdit;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
DateTimePicker1: TDateTimePicker;
Label9: TLabel;
ADODataSet1CallID: TAutoIncField;
ADODataSet1CallDate: TWideStringField;
ADODataSet1CallRemark: TWideStringField;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
procedure Edit_GoodsNoKeyPress(Sender: TObject; var Key: Char);
procedure Memo_ServiceRemarkKeyPress(Sender: TObject; var Key: Char);
procedure Edit_GoodsNoChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
procedure ClearAll;
procedure OpenData;
public
{ Public declarations }
end;
implementation
uses UnitDM;
{$R *.dfm}
procedure THfForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=27 then Close;
end;
procedure THfForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ADODataSet1.Close;
Action := caFree;
end;
procedure THfForm.DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then Memo_ServiceRemark.SetFocus;
end;
procedure THfForm.Edit_GoodsNoKeyPress(Sender: TObject; var Key: Char);
begin
Edit_GoodsNo.Text := Trim(Edit_GoodsNo.Text);
if Trim(Edit_GoodsNo.Text)='' then Exit;
if Key=#13 then
begin
try
DM1.ADOQuery1.Close;
DM1.ADOQuery1.SQL.Text := ' select A.GoodsName, A.GoodsType, B.* from Tab_GoodsNo A '
+ ' left join Tab_Goods B on A.GoodsNo=B.GoodsNo '
+ ' where B.IsSale=1 and A.GoodsNo=''' + Edit_GoodsNo.Text + ''' ';
DM1.ADOQuery1.Open;
if DM1.ADOQuery1.RecordCount=1 then
begin
Edit_OutDate.Text := DM1.ADOQuery1.FieldByName('OutDate').AsString;
Edit_GoodsOwner.Text := DM1.ADOQuery1.FieldByName('GoodsOwner').AsString;
Edit_GoodsName.Text := DM1.ADOQuery1.FieldByName('GoodsName').AsString;
Edit_GoodsType.Text := DM1.ADOQuery1.FieldByName('GoodsType').AsString;
Edit_InDate.Text := DM1.ADOQuery1.FieldByName('InDate').AsString;
Edit_InRemark.Text := DM1.ADOQuery1.FieldByName('InRemark').AsString;
Edit_CustName.Text := DM1.ADOQuery1.FieldByName('CustName').AsString;
Edit_CustTel.Text := DM1.ADOQuery1.FieldByName('CustTel').AsString;
Edit_CustAddr.Text := DM1.ADOQuery1.FieldByName('CustAddr').AsString;
Edit_CustRemark.Text := DM1.ADOQuery1.FieldByName('CustRemark').AsString;
Edit_OutRemark.Text := DM1.ADOQuery1.FieldByName('OutRemark').AsString;
//查詢反饋意見
OpenData;
DateTimePicker1.SetFocus;
end
else
begin
Application.MessageBox('未銷售此串號商品!', '提示', MB_OK + MB_ICONINFORMATION);
Edit_GoodsNo.SetFocus;
end;
DM1.ADOQuery1.Close;
except
DM1.ADOQuery1.Close;
end;
end;
end;
procedure THfForm.Memo_ServiceRemarkKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then RzBitBtn1.SetFocus;
end;
procedure THfForm.ClearAll;
begin
DateTimePicker1.DateTime := now;
Memo_ServiceRemark.Lines.Clear;
Edit_OutDate.Clear;
Edit_GoodsOwner.Clear;
Edit_GoodsName.Clear;
Edit_GoodsType.Clear;
Edit_InDate.Clear;
Edit_InRemark.Clear;
Edit_CustName.Clear;
Edit_CustTel.Clear;
Edit_CustAddr.Clear;
Edit_CustRemark.Clear;
Edit_OutRemark.Clear;
ADODataSet1.Close;
end;
procedure THfForm.Edit_GoodsNoChange(Sender: TObject);
begin
ClearAll;
end;
procedure THfForm.FormCreate(Sender: TObject);
begin
ClearAll;
Edit_GoodsNo.Clear;
end;
procedure THfForm.OpenData;
begin
//查詢反饋意見
if Trim(Edit_GoodsNo.Text)<>'' then
begin
try
ADODataSet1.DisableControls;
ADODataSet1.Close;
ADODataSet1.CommandText :=' select A.* from Tab_Call A '
+ ' where A.GoodsNo=''' + Trim(Edit_GoodsNo.Text) + ''' '
+ ' order by A.CallDate ';
ADODataSet1.Open;
ADODataSet1.Last;
finally
ADODataSet1.EnableControls;
end;
end;
end;
procedure THfForm.RzBitBtn1Click(Sender: TObject);
var
sql1: string;
ServiceRemark,GoodsNo: string;
begin
GoodsNo := Trim(Edit_GoodsNo.Text);
if GoodsNo='' then
begin
Application.MessageBox('請輸入串號!', '提示', MB_OK + MB_ICONINFORMATION);
Edit_GoodsNo.SetFocus;
Exit;
end;
ServiceRemark := Trim(Memo_ServiceRemark.Lines.Text);
if ServiceRemark='' then ServiceRemark := ' ';
sql1 := ' insert into Tab_Call(GoodsNo, CallDate, CallRemark)values(:GoodsNo, :CallDate, :CallRemark) ';
try
DM1.ADOConnection1.BeginTrans;
DM1.ADOQuery1.Close;
DM1.ADOQuery1.SQL.Clear;
DM1.ADOQuery1.SQL.Text := sql1;
DM1.ADOQuery1.Parameters.ParamByName('GoodsNo').Value := GoodsNo;
DM1.ADOQuery1.Parameters.ParamByName('CallDate').Value := FormatDateTime('yyyymmdd', DateTimePicker1.DateTime);
DM1.ADOQuery1.Parameters.ParamByName('CallRemark').Value := ServiceRemark;
DM1.ADOQuery1.ExecSQL;
DM1.ADOConnection1.CommitTrans;
DM1.ADOQuery1.Close;
//刷新顯示
OpenData;
Application.MessageBox('登記成功!', '提示', MB_OK + MB_ICONINFORMATION);
Memo_ServiceRemark.Lines.Clear;
except
DM1.ADOConnection1.RollbackTrans;
DM1.ADOQuery1.Close;
end;
end;
procedure THfForm.DBGrid1DblClick(Sender: TObject);
var
ServiceID: string;
begin
//刪除記錄
if not ADODataSet1.Active then Exit;
if ADODataSet1.IsEmpty then Exit;
ServiceID := Trim(ADODataSet1.FieldByName('CallID').AsString);
if ServiceID='' then Exit;
if Application.MessageBox(PChar('是否真的要刪除當前反饋意見記錄?刪除后不可恢復'),'請確認',MB_OKCancel + MB_DEFBUTTON2 + MB_IconQuestion)<>ID_OK then Exit;
try
DM1.ADOConnection1.BeginTrans;
DM1.ADOQuery1.Close;
DM1.ADOQuery1.SQL.Clear;
DM1.ADOQuery1.SQL.Text := 'delete from Tab_Call where CallID=:CallID';
DM1.ADOQuery1.Parameters.ParamByName('CallID').Value := ServiceID;
DM1.ADOQuery1.ExecSQL;
DM1.ADOConnection1.CommitTrans;
DM1.ADOQuery1.Close;
//刷新顯示
OpenData;
except
DM1.ADOConnection1.RollbackTrans;
DM1.ADOQuery1.Close;
end;
end;
procedure THfForm.FormActivate(Sender: TObject);
begin
Edit_GoodsNo.SetFocus;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -