⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editem.~pas

📁 this is sample for traders
💻 ~PAS
字号:
unit edItem;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtDlgs, Menus, JvExMask, JvToolEdit, JvDBControls, Buttons,
  DBCtrls, JvDBImage, StdCtrls, JvExControls, JvComponent, JvStaticText,
  Mask, ExtCtrls, DB, JvDBLookup, Grids, DBGrids, JvExDBGrids, JvDBGrid,
  JvDBUltimGrid, DBNumEdit, ImgList, ZAbstractRODataset, ZDataset,
  JvGradientCaption, JclStrings, ZAbstractDataset, ZSqlProcessor,
  JvExStdCtrls, JvButton, JvCtrls, JvFooter, JvExExtCtrls, JvExtComponent,
  DynamicSkinForm;

type
  TedItemForm = class(TForm)
    GroupBox1: TGroupBox;
    Panel3: TPanel;
    btnChange: TButton;
    dbedCode: TDBEdit;
    JvStaticText1: TJvStaticText;
    JvStaticText2: TJvStaticText;
    ChkSerialBox: TDBCheckBox;
    JvStaticText3: TJvStaticText;
    dbedFoto: TJvDBImage;
    JvStaticText4: TJvStaticText;
    JvStaticText5: TJvStaticText;
    dbedName: TDBEdit;
    dbedSize: TDBEdit;
    OpenPictureDialog1: TOpenPictureDialog;
    dsActive: TDataSource;
    JvDBLookupCombo1: TJvDBLookupCombo;
    JvDBLookupCombo2: TJvDBLookupCombo;
    JvDBLookupCombo3: TJvDBLookupCombo;
    dsSat: TDataSource;
    stCodeBar: TJvStaticText;
    DBEDCODEBAR: TDBEdit;
    dsGrup: TDataSource;
    dsBrand: TDataSource;
    JvFooter1: TJvFooter;
    btnCancel: TJvFooterBtn;
    btnSave: TJvFooterBtn;
    ImageList1: TImageList;
    spDynamicSkinForm1: TspDynamicSkinForm;
    procedure FormCreate(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure InputFoto1Click(Sender: TObject);
    procedure HapusFoto1Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure btnEdGrupClick(Sender: TObject);
    procedure btnEdBrandClick(Sender: TObject);
  private
  public
    procedure Edit;
    procedure Enter(CODE: String);
    function GenBarcode(): string;
  end;

var
  edItemForm: TedItemForm;
  bSaving: Boolean;
  NewRec: Boolean;

implementation

{$R *.dfm}

uses DataMod1, funclib;

procedure TedItemForm.FormCreate(Sender: TObject);
begin
  DateSeparator := '-';ShortDateFormat := 'dd/mm/yyyy';
end;

procedure TedItemForm.Edit;
begin
  NewRec:=False;
  with TedItemForm.Create(nil) do
  try
    ShowModal;
  finally
    Free;
  end;
end;

procedure TedItemForm.Enter(CODE: String);
begin
  NewRec:=True;
  DM1.qItemEdit.Append;
  DM1.qItemEdit.FieldByName('ITEMCODE').Value := CODE;
  with TedItemForm.Create(nil) do
  try
    ShowModal;
  finally
    Free;
  end;
end;

procedure TedItemForm.btnSaveClick(Sender: TObject);
var
  SQLp: TZSQLProcessor;
begin
  bSaving:=True;
  try
  DM1.dtaCon.StartTransaction;
  if NewRec then
  begin
    DM1.qItemEdit.FieldByName('CODEBAR').Value:=GenBarcode;
    SQLp:=TZSqlProcessor.Create(nil);
    SQLp.Connection:=DM1.dtaCon;
    with SQLp do
    begin
      Script.Clear;
      Script.Add('INSERT INTO ITEM_PRICE (ITEMCODE,UNITID,MIN,MAX,CURR,SELLPRICE,DEFAU) ');
      Script.Add('VALUES (:nCode,:nUnit,1,1,"RP",1,1);');
      ParamByName('nCode').Value:=DBEDCODE.Field.Value;
      ParamByName('nUnit').Value:=dsSat.DataSet.FieldValues['UNITID'];
      Execute;
    end;
    SQLp.Free;
  end;
  DM1.qItemEdit.ApplyUpdates;
  DM1.dtaCon.Commit;
  except
  DM1.dtaCon.Rollback;
  end;
end;

function TedItemForm.GenBarcode():String;
var
  NoUrut: String;
  nomorjadi: String;
  nomorawal: string;
  nomortengah: integer;
  nomortengahjadi:string;
  nNoUrut:integer;
  qLastNo: TZQuery;
begin
  with TZQuery.Create(qLASTNO) do
  try
  Connection:=DM1.dtaCon;
  Close;
  SQL.Clear;
  SQL.Add('SELECT COUNT(ITEMCODE) as LASTNO FROM ITEM ');
  Open;
  Nourut:=IntToStr(FieldValues['LASTNO']+1);
  nNoUrut:=length(NoUrut);
  nomorawal:=DateToStr(date());
  nomorawal:=StrMid(nomorawal,4,2)+StrRight(nomorawal,4);
  nomortengah:=14-length(nomorawal)-1-nNoUrut;
  nomortengahjadi:=strrepeat('0',nomortengah);
  nomorjadi:=nomorawal+nomortengahjadi+nourut;
  finally
  free;
  end;
  result:=nomorjadi;
end;

procedure TedItemForm.btnCancelClick(Sender: TObject);
begin
  bSaving:=True;
  DM1.qItemEdit.CancelUpdates;
end;

procedure TedItemForm.InputFoto1Click(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then
  with DM1.qItemEdit do
  begin
    Edit;
    //DM.qItemEdit.FieldByName('Foto').LoadFromFile(OpenPictureDialog1.Filename);
  end;
end;

procedure TedItemForm.HapusFoto1Click(Sender: TObject);
begin
  DM1.qItemEdit.Edit;
  DM1.qItemEdit.FieldByName('FOTO').Clear;
end;

procedure TedItemForm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  CanClose:=bSaving;
end;

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

procedure TedItemForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
    if not (ActiveControl is TDBGrid) then
    begin
      key := #0;
      Perform(WM_NEXTDLGCTL, 0, 0);
    end
end;

procedure TedItemForm.btnEdGrupClick(Sender: TObject);
begin
  //edItemGrupForm.Enter;
end;

procedure TedItemForm.btnEdBrandClick(Sender: TObject);
begin
  //edItemBrandForm.Enter;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -