123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- unit BatchReplaceBillsFrm;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls, ConstMethodUnit, ZJGrid, DataBase;
- type
- TBatchReplaceBillsForm = class(TForm)
- pnlBills: TPanel;
- lblBills: TLabel;
- zgBills: TZJGrid;
- pnlBillsSpr: TPanel;
- pnlOther: TPanel;
- btnOk: TButton;
- btnCancel: TButton;
- procedure btnOkClick(Sender: TObject);
- private
- FBillsData: TDMDataBase;
- FOrgB_Code: string;
- FOrgName: string;
- FOrgUnits: string;
- public
- procedure InitGridHead;
- procedure Init(ABillsData: TDMDataBase);
- procedure Execute;
- end;
- procedure BatchReplaceBillsData(ABillsData: TDMDataBase);
- implementation
- uses DB;
- {$R *.dfm}
- procedure BatchReplaceBillsData(ABillsData: TDMDataBase);
- var
- BatchReplaceBillsForm: TBatchReplaceBillsForm;
- begin
- BatchReplaceBillsForm := TBatchReplaceBillsForm.Create(nil);
- try
- BatchReplaceBillsForm.Init(ABillsData);
- if BatchReplaceBillsForm.ShowModal = mrOk then
- BatchReplaceBillsForm.Execute;
- finally
- BatchReplaceBillsForm.Free;
- end;
- end;
- { TBatchReplaceBillsForm }
- procedure TBatchReplaceBillsForm.btnOkClick(Sender: TObject);
- begin
- if zgBills.Cells[1, 1].Text = '' then
- MessageError(Handle, '헝渴흙헌데긍뵀!')
- else
- ModalResult := mrOK;
- end;
- procedure TBatchReplaceBillsForm.Execute;
- begin
- with FBillsData do
- begin
- cdsBills.First;
- while not cdsBills.Eof do
- begin
- if SameText(Trim(cdsBillsB_Code.AsString), FOrgB_Code) and
- SameText(Trim(cdsBillsName.AsString), FOrgName) and
- SameText(Trim(cdsBillsUnits.AsString), FOrgUnits) then
- begin
- cdsBills.Edit;
- cdsBillsB_Code.AsString := zgBills.Cells[1, 1].Text;
- cdsBillsName.AsString := zgBills.Cells[2, 1].Text;
- cdsBillsUnits.AsString := zgBills.Cells[3, 1].Text;
- if StrToFloatDef(zgBills.Cells[4, 1].Text, 0) <> 0 then
- cdsBillsUnitPrice.AsFloat := StrToFloatDef(zgBills.Cells[4, 1].Text, 0);
- cdsBills.Post;
- end;
- cdsBills.Next;
- end;
- end;
- end;
- procedure TBatchReplaceBillsForm.Init(ABillsData: TDMDataBase);
- begin
- FBillsData := ABillsData;
- InitGridHead;
- with FBillsData do
- begin
- FOrgB_Code := Trim(cdsBillsB_Code.AsString);
- FOrgName := Trim(cdsBillsName.AsString);
- FOrgUnits := Trim(cdsBillsUnits.AsString);
- zgBills.Cells[1, 1].Text := cdsBillsB_Code.AsString;
- zgBills.Cells[1, 1].TextAlign := gaCenterLeft;
- zgBills.Cells[2, 1].Text := cdsBillsName.AsString;
- zgBills.Cells[2, 1].TextAlign := gaCenterLeft;
- zgBills.Cells[3, 1].Text := cdsBillsUnits.AsString;
- zgBills.Cells[3, 1].TextAlign := gaCenterLeft;
- zgBills.Cells[4, 1].Text := cdsBillsUnitPrice.AsString;
- zgBills.Cells[4, 1].TextAlign := gaCenterRight;
- end;
- end;
- procedure TBatchReplaceBillsForm.InitGridHead;
- begin
- zgBills.Cells[1, 0].Text := '헌데긍뵀';
- zgBills.ColWidths[1] := 80;
- zgBills.Cells[2, 0].Text := '츰냔';
- zgBills.ColWidths[2] := 120;
- zgBills.Cells[3, 0].Text := '데貫';
- zgBills.ColWidths[3] := 50;
- zgBills.Cells[4, 0].Text := '데송';
- zgBills.ColWidths[4] := 60;
- end;
- end.
|