unit U_MJEdit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
  cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, DBClient, ADODB,
  cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
  cxClasses, cxControls, cxGridCustomView, cxGrid, StdCtrls, ExtCtrls,
  ComCtrls, ToolWin, cxButtonEdit;

type
  TfrmMJEdit = class(TForm)
    ToolBar1: TToolBar;
    ToolButton2: TToolButton;
    TBClose: TToolButton;
    Panel1: TPanel;
    Label1: TLabel;
    MJID: TEdit;
    cxGrid2: TcxGrid;
    Tv2: TcxGridDBTableView;
    tv2CDType: TcxGridDBColumn;
    tv2CDWZ: TcxGridDBColumn;
    v2Column2: TcxGridDBColumn;
    Tv2CDQty: TcxGridDBColumn;
    Tv2CDReason: TcxGridDBColumn;
    v2Column1: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    ADOTmp: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOCmd: TADOQuery;
    DataSource1: TDataSource;
    Order_MJ: TClientDataSet;
    ToolButton1: TToolButton;
    ToolButton3: TToolButton;
    Label2: TLabel;
    MJMaoZ: TEdit;
    Label4: TLabel;
    M: TLabel;
    Label6: TLabel;
    MJLen: TEdit;
    RadioGroup1: TRadioGroup;
    Ma: TLabel;
    Label7: TLabel;
    MJQty3: TEdit;
    Label5: TLabel;
    Label8: TLabel;
    MJFK: TEdit;
    Label9: TLabel;
    Label10: TLabel;
    Label3: TLabel;
    Label11: TLabel;
    MJSJKZ: TEdit;
    ToolButton4: TToolButton;
    Label13: TLabel;
    MJQty2: TEdit;
    Label12: TLabel;
    Label14: TLabel;
    MJQty4: TEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure MJIDKeyPress(Sender: TObject; var Key: Char);
    procedure tv2CDTypePropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure tv2CDWZPropertiesEditValueChanged(Sender: TObject);
    procedure v2Column2PropertiesEditValueChanged(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure TBCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure MJMaoZChange(Sender: TObject);
    procedure MJQty4Change(Sender: TObject);
    procedure MJMaoZExit(Sender: TObject);
    procedure MJQty4Exit(Sender: TObject);
  private
    { Private declarations }

    function  SaveData():Boolean;
  public
    KgZMiXS:String;
    { Public declarations }
  end;

var
  frmMJEdit: TfrmMJEdit;

implementation
uses
  U_RTFun,U_ZDYHelp,U_DataLink;

{$R *.dfm}

procedure TfrmMJEdit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=caFree;
end;

procedure TfrmMJEdit.FormDestroy(Sender: TObject);
begin
  frmMJEdit:=nil;
end;

procedure TfrmMJEdit.MJIDKeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
  begin
    with ADOTmp do
    begin
      Close;
      sql.Clear;
      SQL.Add('select A.*,AOrddefstr3=(select AOrddefstr3 from JYOrder_Sub_AnPai B where B.APID=A.APID),  ');
      sql.Add('AOrddefstr2=(select AOrddefstr2 from JYOrder_Sub_AnPai B where B.APID=A.APID) from WFB_MJJY A');
      sql.Add(' where A.MJID='''+Trim(MJID.Text)+'''');
      Open;
    end;
    if ADOTmp.IsEmpty then
    begin
      MJID.Text:='';
      Label2.Caption:='';
      Label2.Visible:=False;
      Application.MessageBox('�������!','��ʾ',0);
      Exit;
    end;
    MJMaoZ.Text:=Trim(ADOTmp.fieldbyname('MJMaoZ').AsString);
    MJLen.Text:=Trim(ADOTmp.fieldbyname('MJLen').AsString);
    MJQty3.Text:=Trim(ADOTmp.fieldbyname('MJQty3').AsString);
    MJQty2.Text:=Trim(ADOTmp.fieldbyname('MJQty2').AsString);
    MJQty4.Text:=Trim(ADOTmp.fieldbyname('MJQty4').AsString);
    MJFK.Text:=Trim(ADOTmp.fieldbyname('MJFK').AsString);
    MJSJKZ.Text:=Trim(ADOTmp.fieldbyname('MJSJKZ').AsString);
    M.Caption:=Trim(Trim(ADOTmp.fieldbyname('MJTypeOther').AsString));
    Ma.Caption:=Trim(Trim(ADOTmp.fieldbyname('MJStr1').AsString));
    if Trim(m.Caption)='' then
    begin
      m.Caption:=Trim(ADOTmp.fieldbyname('AOrddefstr3').AsString);
    end;
    if Trim(Ma.Caption)='' then
    begin
      Ma.Caption:=Trim(ADOTmp.fieldbyname('AOrddefstr2').AsString);
    end;
    if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString))='��Ʒ' then
    begin
      RadioGroup1.ItemIndex:=0
    end else
    if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString))='��Ʒ' then
    begin
      RadioGroup1.ItemIndex:=1;
    end else
    if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString))='����' then
    begin
      RadioGroup1.ItemIndex:=2;
    end;
    with ADOTmp do
    begin
      Close;
      sql.Clear;
      SQL.Add('select * from WFB_MJJY_CD A   where A.MJID='''+Trim(MJID.Text)+'''');
      Open;
    end;
    Label2.Caption:=Trim(MJID.Text);
    Label2.Visible:=True;
    MJID.Text:='';
    SCreateCDS20(ADOTmp,Order_MJ);
    SInitCDSData20(ADOTmp,Order_MJ);

  end;
end;

procedure TfrmMJEdit.tv2CDTypePropertiesButtonClick(Sender: TObject;
  AButtonIndex: Integer);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='WFBCD';
      flagname:='�õ�';
      if ShowModal=1 then
      begin
        Self.Order_MJ.Edit;
        Self.Order_MJ.FieldByName('CDName').value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmMJEdit.tv2CDWZPropertiesEditValueChanged(Sender: TObject);
var
  mvalue,CDBeg,CDEnd:string;
  FFReal:Double;
begin
  mvalue:=TcxTextEdit(Sender).EditingText;
  with Order_MJ do
  begin
    Edit;
    FieldByName('CDBeg').Value:=mvalue;
    Post;
  end;
  CDBeg:=Trim(Order_MJ.fieldbyname('CDBeg').AsString);
  CDEnd:=Trim(Order_MJ.fieldbyname('CDEnd').AsString);
  if (Trim(CDBeg)<>'') and (Trim(CDEnd)<>'') then
  begin
    if TryStrToFloat(CDBeg,FFReal) and TryStrToFloat(CDBeg,FFReal) then
    begin
      if StrToFloat(CDEnd)<StrToFloat(CDBeg)  then
      begin
        Application.MessageBox('��ֹλ��С����ʼλ��!','��ʾ',0);
        Exit;
      end;
      with Order_MJ do
      begin
        Edit;
        FieldByName('CDQty').Value:=StrToFloat(CDEnd)-StrToFloat(CDBeg);
        Post;
      end;
    end else
    begin
      Application.MessageBox('�Ƿ�����!','��ʾ',0);
      Exit;
    end;
  end;
end;

procedure TfrmMJEdit.v2Column2PropertiesEditValueChanged(Sender: TObject);
var
  mvalue,CDBeg,CDEnd:string;
  FFReal:Double;
begin
  mvalue:=TcxTextEdit(Sender).EditingText;
  with Order_MJ do
  begin
    Edit;
    FieldByName('CDEnd').Value:=mvalue;
    Post;
  end;
  CDBeg:=Trim(Order_MJ.fieldbyname('CDBeg').AsString);
  CDEnd:=Trim(Order_MJ.fieldbyname('CDEnd').AsString);
  if (Trim(CDBeg)<>'') and (Trim(CDEnd)<>'') then
  begin
    if TryStrToFloat(CDBeg,FFReal) and TryStrToFloat(CDBeg,FFReal) then
    begin
      if StrToFloat(CDEnd)<StrToFloat(CDBeg)  then
      begin
        Application.MessageBox('��ֹλ��С����ʼλ��!','��ʾ',0);
        Exit;
      end;
      with Order_MJ do
      begin
        Edit;
        FieldByName('CDQty').Value:=StrToFloat(CDEnd)-StrToFloat(CDBeg);
        Post;
      end;
    end else
    begin
      Application.MessageBox('�Ƿ�����!','��ʾ',0);
      Exit;
    end;
  end;
end;

procedure TfrmMJEdit.ToolButton1Click(Sender: TObject);
begin
  if Trim(Label2.Caption)='' then Exit;
  Order_MJ.Append;
  Order_MJ.Post;
end;

procedure TfrmMJEdit.ToolButton3Click(Sender: TObject);
begin
  if Trim(Label2.Caption)='' then Exit;
  if Order_MJ.IsEmpty then Exit;
  if Trim(Order_MJ.fieldbyname('MCID').AsString)<>'' then
  begin
    if Application.MessageBox('ȷ��Ҫɾ��������','��ʾ',32+4)<>IDYES then Exit;
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('delete WFB_MJJY_CD where MCID='''+Trim(Order_MJ.fieldbyname('MCID').AsString)+'''');
      ExecSQL;
    end;
  end;
  Order_MJ.Delete;
end;
function  TfrmMJEdit.SaveData():Boolean;
var
  maxno,KgZMiXs,KgZMaXs:String;
  FFreal:Double;
begin
  try
    ADOCmd.Connection.BeginTrans;
    ///����õ��
    with Order_MJ do
    begin
      First;
      while not Eof do
      begin
        if Trim(Order_MJ.fieldbyname('MCID').AsString)='' then
        begin
          if GetLSNo(ADOTmp,maxno,'MC','WFB_MJJY_CD',5,1)=False then
          begin
            ADOCmd.Connection.RollbackTrans;
            Application.MessageBox('ȡ����ˮ��ʧ�ܣ�','��ʾ',0);
            Exit;
          end;
        end else
        begin
          maxno:=Trim(Order_MJ.fieldbyname('MCID').AsString);
        end;
        with ADOCmd do
        begin
          Close;
          SQL.Clear;
          sql.Add('select * from WFB_MJJY_CD  ');
          sql.Add(' where MCID='''+Trim(maxno)+'''');
          Open;
        end;
        with ADOCmd do
        begin
          if Trim(Order_MJ.fieldbyname('MCID').AsString)='' then
            Append
          else
            Edit;
          FieldByName('MJId').Value:=Trim(Label2.Caption);
          FieldByName('MCID').Value:=Trim(maxno);
          SSetSaveDataCDSNew(ADOCmd,Tv2,Order_MJ,'WFB_MJJY_CD',0);
          Post;
        end;

        Order_MJ.Edit;
        Order_MJ.FieldByName('MCID').Value:=Trim(maxno);
        Order_MJ.FieldByName('MJID').Value:=Trim(Label2.Caption);
        Next;
      end;
    end;
    if Trim(MJMaoZ.Text)<>'' then
    begin
      if TryStrToFloat(MJMaoZ.Text,FFreal)=False then
      begin
        ADOCmd.Connection.RollbackTrans;
        Application.MessageBox('�����Ƿ�����!','��ʾ',0);
        Exit;
      end;
    end;
    if Trim(MJLen.Text)<>'' then
    begin
      if TryStrToFloat(MJLen.Text,FFreal)=False then
      begin
        ADOCmd.Connection.RollbackTrans;
        Application.MessageBox('���ȷǷ�����!','��ʾ',0);
        Exit;
      end;
    end;
    if Trim(MJSJKZ.Text)<>'' then
    begin
      if TryStrToFloat(MJSJKZ.Text,FFreal)=False then
      begin
        ADOCmd.Connection.RollbackTrans;
        Application.MessageBox('���طǷ�����!','��ʾ',0);
        Exit;
      end;
    end;
    if Trim(MJQty2.Text)<>'' then
    begin
      if TryStrToFloat(MJQty2.Text,FFreal)=False then
      begin
        ADOCmd.Connection.RollbackTrans;
        Application.MessageBox('���������Ƿ�����!','��ʾ',0);
        Exit;
      end;
    end;
    if Trim(MJQty4.Text)<>'' then
    begin
      if TryStrToFloat(MJQty4.Text,FFreal)=False then
      begin
        ADOCmd.Connection.RollbackTrans;
        Application.MessageBox('���طǷ�����!','��ʾ',0);
        Exit;
      end;
    end;
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('UPdate WFB_MJJY Set MJTypeOther='''+Trim(M.Caption)+'''');
      sql.Add(',MJStr1='''+Trim(Ma.Caption)+'''');
      if Trim(MJLen.Text)<>'' then
      begin
        sql.Add(',MJLen='+Trim(MJLen.Text));
      end else
      begin
        sql.Add(',MJLen=0');
      end;
      if Trim(MJQty3.Text)<>'' then
      begin
        sql.Add(',MJQty3='+Trim(MJQty3.Text));
      end else
      begin
        sql.Add(',MJQty3=0');
      end;
      if Trim(MJQty2.Text)<>'' then
      begin
        sql.Add(',MJQty2='+Trim(MJQty2.Text));
      end else
      begin
        sql.Add(',MJQty2=0');
      end;
      if Trim(MJFK.Text)<>'' then
      begin
        sql.Add(',MJFK='+Trim(MJFK.Text));
      end else
      begin
        sql.Add(',MJFK=0');
      end;
      if Trim(MJMaoZ.Text)<>'' then
      begin
        sql.Add(',MJMaoZ='+Trim(MJMaoZ.Text));
      end else
      begin
        sql.Add(',MJMaoZ=0');
      end;
      if Trim(MJSJKZ.Text)<>'' then
      begin
        sql.Add(',MJSJKZ='+Trim(MJSJKZ.Text));
      end else
      begin
        sql.Add(',MJSJKZ=0');
      end;
      if Trim(MJQty4.Text)<>'' then
      begin
        sql.Add(',MJQty4='+Trim(MJQty4.Text));
      end else
      begin
        sql.Add(',MJQty4=0');
      end;
      if RadioGroup1.ItemIndex=0 then
      begin
        sql.Add(',MJType=''��Ʒ'' ');
      end else
      if RadioGroup1.ItemIndex=1 then
      begin
        sql.Add(',MJType=''��Ʒ'' ');
      end else
      if RadioGroup1.ItemIndex=2 then
      begin
        sql.Add(',MJType=''��ƴ'' ');
      end;
      sql.Add(' where MJID='''+Trim(Label2.Caption)+'''');
      ExecSQL;
    end;
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('Update WFB_MJJY Set ');
      SQL.Add(' MJLenMa=MJLen*1.0936');
      sql.Add(' where MJID='''+Trim(Label2.Caption)+'''');
      ExecSQL;
    end;
    with ADOTmp do
    begin
      Close;
      sql.Clear;
      sql.Add('select * from JYOrder_main where Mainid=(');
      sql.Add('select Mainid from WFB_MJJY where MJID='''+Trim(Label2.Caption)+''')');
      Open;
    end;
    KgZMiXs:=Trim(ADOTmp.fieldbyname('KgZMiXs').AsString);
    KgZMaXs:=Trim(ADOTmp.fieldbyname('KgZMiXs').AsString);
    if Trim(KgZMiXs)='' then
    begin
      KgZMiXs:='0';
    end;
    if Trim(KgZMaXs)='' then
    begin
      KgZMaXs:='0';
    end;
    with ADOCmd do
    begin
      if Trim(KgZMiXs)<>'0' then
      begin
        Close;
        sql.Clear;
        sql.Add('Update WFB_MJJY Set ');
        SQL.Add(' MJLen=MJQty4*'+KgZMiXs);
        if Trim(KgZMaXs)='0' then
        begin
          SQL.Add(' ,MJLenMa=MJQty4*1.0936*'+KgZMiXs);
        end;
        sql.Add(' where MJID='''+Trim(Label2.Caption)+'''');
        ExecSQL;
      end;
    end;
    with ADOCmd do
    begin
      if Trim(KgZMaXs)<>'0' then
      begin
        Close;
        sql.Clear;
        sql.Add('Update WFB_MJJY Set ');
        SQL.Add(' MJLenMa=MJQty4*'+KgZMaXs);
        if Trim(KgZMiXs)='0' then
        begin
          SQL.Add(',MJLen=MJQty4*0.9144*'+KgZMaXs);
        end;
        sql.Add(' where MJID='''+Trim(Label2.Caption)+'''');
        ExecSQL;
      end;
    end;
    ADOCmd.Connection.CommitTrans;
    Result:=True;
  except
    Result:=False;
    ADOCmd.Connection.RollbackTrans;
    Application.MessageBox('����ʧ�ܣ�','��ʾ',0);
  end;
end;

procedure TfrmMJEdit.ToolButton2Click(Sender: TObject);
begin
  if Trim(Label2.Caption)='' then Exit;
  if SaveData() then
  begin
    Application.MessageBox('����ɹ�!','��ʾ',0);
    Exit;
  end;
end;

procedure TfrmMJEdit.TBCloseClick(Sender: TObject);
begin
  Close;
  WriteCxGrid('��ƥ����',Tv2,'Ⱦ���������');
end;

procedure TfrmMJEdit.FormShow(Sender: TObject);
begin
  ReadCxGrid('��ƥ����',Tv2,'Ⱦ���������');
end;

procedure TfrmMJEdit.ToolButton4Click(Sender: TObject);
begin
  with ADOTmp do
  begin
    Close;
    sql.Clear;
    sql.Add('select * from CK_BanCP_CR where MJID='''+Trim(Label2.Caption)+'''');
    Open;
  end;
  if ADOTmp.IsEmpty=False then
  begin
    Application.MessageBox('�Ѳ���������ݲ���ɾ��!','��ʾ',0);
    Exit;
  end else
  begin
    if Application.MessageBox('ȷ��Ҫ�������������Ϻ����ݲ��ָܻ���','��ʾ',32+4)=IDYES then
    begin
      with ADOCmd do
      begin
        Close;
        sql.Clear;
        sql.Add('delete WFB_MJJY where MJID='''+Trim(Label2.Caption)+'''');
        sql.Add('delete WFB_MJJY_CD where MJID='''+Trim(Label2.Caption)+'''');
        ExecSQL;
      end;
      Label2.Caption:='';
    end;
  end;
end;

procedure TfrmMJEdit.MJMaoZChange(Sender: TObject);
var
  FReal:Double;
begin
 // if StrToFloat(MJSJKZ.Text)*StrToFloat(MJFK.Text)=0 then Exit;
  if Trim(MJMaoZ.Text)='' then
  begin
    MJLen.Text:='';
    MJQty4.Text:='';
    Exit;
  end;
  if TryStrToFloat(MJMaoZ.Text,FReal)=False then Exit;
  if Trim(MJQty3.Text)<>'' then
  begin
    if TryStrToFloat(MJQty3.Text,FReal)=False then Exit;
    MJQty4.Text:=FloatToStr(StrToFloat(MJMaoZ.Text)-StrToFloat(MJQty3.Text));
  end else
  begin
    MJQty4.Text:=MJMaoZ.Text;
  end;
  if Trim(MJSJKZ.Text)='' then Exit;
  if TryStrToFloat(MJSJKZ.Text,FReal)=False then
  begin
    Application.MessageBox('����¼�����!','��ʾ',0);
    Exit;
  end;
  if Trim(MJFK.Text)='' then Exit;
  if TryStrToFloat(MJFK.Text,FReal)=False then
  begin
    Application.MessageBox('����¼�����!','��ʾ',0);
    Exit;
  end;
 { if StrToFloat(MJSJKZ.Text)*StrToFloat(MJFK.Text)=0 then Exit;
  MJLen.Text:=FormatFloat('0.0',StrToFloat(MJQty4.Text)*1000*100/StrToFloat(MJSJKZ.Text)/StrToFloat(MJFK.Text)); }
  if Trim(KgZMiXS)='' then
    MJLen.Text:=FormatFloat('0.0',StrToFloat(MJQty4.Text)*1000*100/StrToFloat(MJSJKZ.Text)/StrToFloat(MJFK.Text))
  else begin
    if StrToFloat(MJSJKZ.Text)*StrToFloat(MJFK.Text)=0 then Exit;
    MJLen.Text:=FormatFloat('0.0',StrToFloat(MJQty4.Text)*StrToFloat(KgZMiXS));
  end;
end;

procedure TfrmMJEdit.MJQty4Change(Sender: TObject);
var
  FReal:Double;
begin
  if Trim(MJQty4.Text)='' then
  begin
    MJLen.Text:='';
    MJMaoZ.Text:='';
    Exit;
  end;
  if TryStrToFloat(MJQty4.Text,FReal)=False then Exit;
  if Trim(MJQty3.Text)<>'' then
  begin
    if TryStrToFloat(MJQty3.Text,FReal)=True then
      MJMaoZ.Text:=FloatToStr(StrToFloat(MJQty4.Text)+StrToFloat(MJQty3.Text));
  end else
  begin
    MJMaoZ.Text:=MJQty4.Text;
  end;
  if Trim(MJSJKZ.Text)='' then Exit;
  if TryStrToFloat(MJSJKZ.Text,FReal)=False then
  begin
    Application.MessageBox('����¼�����!','��ʾ',0);
    Exit;
  end;
  if Trim(MJFK.Text)='' then Exit;
  if TryStrToFloat(MJFK.Text,FReal)=False then
  begin
    Application.MessageBox('����¼�����!','��ʾ',0);
    Exit;
  end;
  if Trim(KgZMiXS)='' then
    MJLen.Text:=FormatFloat('0.0',StrToFloat(MJQty4.Text)*1000*100/StrToFloat(MJSJKZ.Text)/StrToFloat(MJFK.Text))
  else begin
    if StrToFloat(MJSJKZ.Text)*StrToFloat(MJFK.Text)=0 then Exit;
    MJLen.Text:=FormatFloat('0.0',StrToFloat(MJQty4.Text)*StrToFloat(KgZMiXS));
  end;
end;

procedure TfrmMJEdit.MJMaoZExit(Sender: TObject);
begin
  if (trim(MJMaoZ.Text)='') and (trim(MJQty4.Text)='') then exit;
  if (trim(MJMaoZ.Text)='') and (trim(MJQty3.Text)='') then exit;
  if (trim(MJQty4.Text)='') and (trim(MJQty3.Text)='') then exit;

  if (trim(MJQty3.Text)='') then exit;

  if (trim(MJMaoZ.Text)<>'') then
  begin
    MJQty4.Text:=floattostr(strtofloatdef(trim(MJMaoZ.Text),0)-strtofloatdef(trim(MJQty3.Text),0) );
    exit;
  end;
end;

procedure TfrmMJEdit.MJQty4Exit(Sender: TObject);
begin
  if (trim(MJMaoZ.Text)='') and (trim(MJQty4.Text)='') then exit;
  if (trim(MJMaoZ.Text)='') and (trim(MJQty3.Text)='') then exit;
  if (trim(MJQty4.Text)='') and (trim(MJQty3.Text)='') then exit;

  if (trim(MJQty3.Text)='') then exit;

  if (trim(MJQty4.Text)<>'') then
  begin
    MJMaoZ.Text:=floattostr(strtofloatdef(trim(MJQty3.Text),0)+strtofloatdef(trim(MJQty4.Text),0) );
    exit;
  end;
end;

end.