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

📄 lslgn.~pas

📁 this is sample for traders
💻 ~PAS
字号:
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.

⌨️ 快捷键说明

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