📄 editem.~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 + -