?? lslgn.pas
字號(hào):
unit lsLgn;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, Menus, DB, StdCtrls, ExtCtrls, JvExControls,
JvComponent, JvStaticText, Grids, DBGrids, JvExDBGrids, JvDBGrid,
JvDBUltimGrid, Buttons, JvGradientCaption, JvDBLookup, SkinCtrls,
JvExStdCtrls, JvButton, JvCtrls, JvFooter, JvExExtCtrls, JvExtComponent,
ComCtrls, JvExComCtrls, JvStatusBar, ZAbstractRODataset,
ZAbstractDataset, ZDataset, DynamicSkinForm;
type THackDBGrid = class(TJvDBUltimGrid);
type
TlsLgnForm = class(TForm)
GroupBox3: TGroupBox;
ItemGrid: TJvDBUltimGrid;
dsCust: TDataSource;
PopupMenu1: TPopupMenu;
EditUbahData1: TMenuItem;
StBAR: TJvStatusBar;
JvFooter1: TJvFooter;
PrintSellPrice: TJvFooterBtn;
btnTotalRec: TJvFooterBtn;
RadioGroup1: TspSkinRadioGroup;
edFind: TEdit;
JvStaticText2: TJvStaticText;
AddBtn: TSpeedButton;
IL1: TImageList;
N1: TMenuItem;
EditUbahKreditLimit1: TMenuItem;
spDynamicSkinForm1: TspDynamicSkinForm;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
procedure edFindChange(Sender: TObject);
procedure dsCustDataChange(Sender: TObject; Field: TField);
procedure RadioGroup1Click(Sender: TObject);
procedure EditUbahData1Click(Sender: TObject);
procedure AddBtnClick(Sender: TObject);
procedure ItemGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure btnTotalRecClick(Sender: TObject);
private
procedure ViewData;
procedure EditRec;
public
end;
var
lsLgnForm: TlsLgnForm;
PrevRec: TBookMark;
implementation
{$R *.dfm}
uses FuncLib, DataMod1, EdLgn;
procedure TlsLgnForm.EditRec;
begin
with DM1.qEdLgn do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM LGN WHERE LGNCODE=:NCode');
ParamByName('NCode').Value := DM1.qLgn.FieldValues['LGNCODE'];
Open;
end;
edLgnForm.Edit;
RefreshRec(DM1.qLgn);
end;
procedure TlsLgnForm.ViewData;
var
sqltext: String;
begin
QueryPerformanceFrequency(Frequency);
QueryPerformanceCounter(start);
with DM1.qLGN do
begin
DisableControls;
Close;
SQL.Clear;
if RadioGroup1.ItemIndex = 0 then
begin
sqltext:=('SELECT LGN.* ')+
('FROM LGN ')+
('WHERE ')+
('LGN.LGNCODE LIKE:NCari ')+
('ORDER BY LGNCODE, NAMALGN ASC ');
end else
begin
sqltext:=('SELECT LGN.* ')+
('FROM LGN ')+
('WHERE ')+
('LGN.NAMALGN LIKE:NCari ')+
('ORDER BY NAMALGN, LGNCODE ASC ');
end;
SQL.Add(sqltext);
ParamByName('NCari').Value:=edFind.Text+'%';
Open;
if (Recordcount = 0) and (RadioGroup1.ItemIndex = 0) then
AddBtn.Enabled := True else AddBtn.Enabled := False;
EnableControls;
end;
QueryPerformanceCounter(stop);
stBAR.Panels[1].Text := ' >> '+format('%.2f',[(stop-start)/frequency])+' detik';
//stLoad.Caption := ' >> '+format('%.2f',[(stop-start)/frequency])+' detik';
end;
procedure TlsLgnForm.FormCreate(Sender: TObject);
begin
DateSeparator := '-'; ShortDateFormat := 'dd/mm/yyyy';
Top:=1; Left:=1; Width := 785; Height := 490;
end;
procedure TlsLgnForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TlsLgnForm.FormActivate(Sender: TObject);
begin
if not (dsCust.DataSet.State in [dsInactive]) then
RefreshRec(dsCust.DataSet);
edFind.SetFocus;
end;
procedure TlsLgnForm.edFindChange(Sender: TObject);
begin
ViewData;
end;
procedure TlsLgnForm.dsCustDataChange(Sender: TObject;
Field: TField);
begin
stBAR.Panels[0].Text := ' >> ' + FormatFloat('#,##0',DM1.qLgn.RecordCount)+' Records';
//stjitems.caption := ' >> ' + FormatFloat('#,##0',dsCust.DataSet.RecordCount)+' Lgn';
end;
procedure TlsLgnForm.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 0 then
begin
edFind.MaxLength := 4;
DM1.qLGN.SortedFields:='LGNCODE'
end else
begin
edFind.MaxLength := 25;
DM1.qLGN.SortedFields:='NAMALGN';
end;
edFind.Clear;
edFind.SetFocus;
end;
procedure TlsLgnForm.EditUbahData1Click(Sender: TObject);
begin
EditRec;
end;
procedure TlsLgnForm.AddBtnClick(Sender: TObject);
begin
with DM1.qEdLgn do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM LGN WHERE LGNCODE=:NCode');
ParamByName('NCode').Value := edFind.Text;
Open;
end;
if DM1.qEdLgn.RecordCount<>0 then
ShowMessage('Kode Langganan : '+edFind.Text+' SUDAH ADA ....'+#13#10+'Tambah Data Langganan BATAL ...!')
else edLgnForm.Enter(edFind.Text);
//edFind.Clear;
end;
procedure TlsLgnForm.ItemGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Shift = [ssCtrl]) and (Key = VK_DELETE) then Key := 0;
end;
procedure TlsLgnForm.btnTotalRecClick(Sender: TObject);
begin
with qSQL do
begin
Close;
SQL.Clear;
SQL.Text:='SELECT COUNT(LGNCODE) AS TOTAL FROM LGN';
Open;
end;
ShowMessage('TOTAL RECORD ITEM : '+#13#10+FormatFloat('#,##0',qSQL.FieldValues['TOTAL'])+' Record...');
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -