【delphi开源代码栏目提醒】:网学会员鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“DdmxAdd.pas”一文,供大家参考学习
unit DdmxAdd;
interface
uses
Windows, SysUtils, Variants, Classes, Controls, Forms, Dialogs, StdCtrls,
dmXsgl, XSGLCommon, DB;
type
TDdmxAddForm = class(TForm)
btCancel: TButton;
btOk: TButton;
lblPm: TLabel;
lblBm: TLabel;
lblXh: TLabel;
lblDw: TLabel;
lblDj: TLabel;
edtPm: TEdit;
edtXh: TEdit;
edtDw: TEdit;
edtDj: TEdit;
cbBm: TComboBox;
lblSl: TLabel;
edtSl: TEdit;
lblZk: TLabel;
edtZk: TEdit;
procedure btOkClick(Sender: TObject);
procedure cbBmChange(Sender: TObject);
private
{ Private declarations }
FdmXSGL: TdmXsgl;
FDdh: string;
function CheckData: Boolean;
public
{ Public declarations }
constructor Create(AOwner: TComponent; AdmXSGL: TdmXsgl; ADdh: string); reintroduce;
end;
implementation
{$R *.dfm}
function TDdmxAddForm.CheckData: Boolean;
function IsEmpty(AMC: string; Aedt: TEDIT): Boolean;
begin
Aedt.Text := Trim(Aedt.Text);
Result := (Length(Aedt.Text) = 0);
if Result then
begin
showmessage(AMC + '不能为空!');
Aedt.SetFocus;
end;
end;
begin
Result := False;
if cbBm.ItemIndex = -1 then
begin
ShowMessage('请选择产品!');
cbBm.SetFocus;
Exit;
end
else begin
with FdmXSGL do
begin
if LocateValue('DDMX', 'DDH;CPBM', vararrayof([FDdh, cbBm.Text])) then
begin
ShowMessage('您已订购了该产品!');
cbBm.SetFocus;
Exit;
end;
end;
end;
if IsEmpty('订购数量', edtSl) then
Exit
else if (not IsNumeric(edtSl.Text)) or (strToFloat(edtSl.Text) <= 0) then
begin
ShowMessage('订购数量必须大于0!');
edtSl.SetFocus;
Exit;
end;
if IsEmpty('折扣率', edtZk) then
Exit
else if (not IsNumeric(edtZk.Text)) or (strToFloat(edtZk.Text) <= 0) or
(strToFloat(edtZk.Text) >1) then
begin
ShowMessage('折扣率必须是0到1之间的一个数值!');
edtZk.SetFocus;
Exit;
end;
Result := True;
end;
constructor TDdmxAddForm.Create(AOwner: TComponent; AdmXSGL: TdmXsgl; ADdh: string);
begin
inherited Create(AOwner);
FdmXSGL := AdmXSGL;
FDdh := ADdh;
with FdmXSGL do
InitComboBox(cbBm.items, 'CPXX', 'CPBM');
end;
procedure TDdmxAddForm.btOkClick(Sender: TObject);
begin
if CheckData then
begin
with FdmXSGL.adoqDdmx do
begin
Append;
FieldByName('DDH').AsString := FDdh;
FieldByName('CPBM').AsString := cbBm.Text;
FieldByName('SL').AsFloat := StrToFloat(edtSL.Text);
FieldByName('ZK').AsFloat := StrToFloat(edtZK.Text);
Post;
ReQuery;
end;
Close;
end;
end;
procedure TDdmxAddForm.cbBmChange(Sender: TObject);
begin
with FdmXsgl.adoqCommon do
begin
Close;
SQL.Text := 'Select * From CPXX Where CPBM = ' + QuotedStr(cbBm.Text);
Open;
edtPm.Text := FieldByName('PM').AsString;
edtXh.Text := FieldByName('XH').AsString;
edtDw.Text := FieldByName('DW').AsString;
edtDj.Text := FloatToStr(FieldByName('DJ').AsFloat);
end;
end;
end.
上一篇:
frmfctable.frm
下一篇:
电力调度管理中信息技术论文