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

📄 lspegawai.pas

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

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ImgList, Menus, DB, ComCtrls, Grids, DBGrids, JvExDBGrids,
  JvDBGrid, JvDBUltimGrid, JvExControls, JvComponent, JvStaticText,
  StdCtrls, ExtCtrls, Buttons, DynamicSkinForm, JvExStdCtrls, JvButton,
  JvCtrls, JvFooter, JvExExtCtrls, JvExtComponent, JvExComCtrls,
  JvStatusBar, SkinCtrls;

type
  TlsPegawaiForm = class(TForm)
    GroupBox3: TGroupBox;
    dspegawai: TDataSource;
    PopupMenu1: TPopupMenu;
    EditUbahData1: TMenuItem;
    ItemGrid: TJvDBUltimGrid;
    RadioGroup1: TspSkinRadioGroup;
    edFind: TEdit;
    JvStaticText1: TJvStaticText;
    AddBtn: TSpeedButton;
    StBAR: TJvStatusBar;
    JvFooter1: TJvFooter;
    PrintSellPrice: TJvFooterBtn;
    btnTotalRec: TJvFooterBtn;
    IL1: TImageList;
    spDynamicSkinForm1: TspDynamicSkinForm;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure EditUbahData1Click(Sender: TObject);
    procedure ItemGridDblClick(Sender: TObject);
    procedure AddBtnClick(Sender: TObject);
    procedure edFindChange(Sender: TObject);
    procedure ItemGridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    procedure EditRec;
  public
  end;

var
  lsPegawaiForm: TlsPegawaiForm;
  PrevRec: TBookMark;

implementation

{$R *.dfm}

uses DataMod1, edPegawai, FuncLib;

procedure TlsPegawaiForm.FormCreate(Sender: TObject);
var
  sqltext: String;
begin
  DateSeparator := '-'; ShortDateFormat := 'dd/mm/yyyy';
  Top:=1; Left:=1;
  QueryPerformanceFrequency(Frequency);
  QueryPerformanceCounter(start);
  with DM1.qPegawai do
  begin
    DisableControls;
    Close;
    SQL.Clear;
        sqltext:=('SELECT PEGAWAI.* ')+
                 ('FROM PEGAWAI ')+
                 ('ORDER BY PEGAWAI.PEGNIP, PEGAWAI.PEGNAME ASC ');
    SQL.Add(sqltext);
    Open;
    EnableControls;
  end;
  QueryPerformanceCounter(stop);
  stBAR.Panels[1].Text := ' >> '+format('%.2f',[(stop-start)/frequency])+' detik';
  //stLoad.caption := ' >> '+format('%.2f',[(stop-start)/frequency])+' detik';
end;

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

procedure TlsPegawaiForm.EditRec;
begin
  PrevRec := dsPegawai.DataSet.GetBookmark;
  with DM1.qPegawaiEdit do
  begin
    Close;
    ParamByName('PEGNIP').Value:=DM1.qPegawai.FieldValues['PEGNIP'];
    Open;
  end;
  edPegawaiForm.Edit;
  dsPegawai.DataSet.GotoBookmark(PrevRec);
end;

procedure TlsPegawaiForm.EditUbahData1Click(Sender: TObject);
begin
  EditRec;
end;

procedure TlsPegawaiForm.ItemGridDblClick(Sender: TObject);
begin
  EditRec;
end;

procedure TlsPegawaiForm.AddBtnClick(Sender: TObject);
begin
  with DM1.qPegawaiEdit do
  begin
    Close;
    ParamByName('PEGNIP').Value:=edFind.Text;
    Open;
  end;
  edPegawaiForm.Enter(edFind.Text);
end;

procedure TlsPegawaiForm.edFindChange(Sender: TObject);
var
  sqltext: String;
begin
  if edFind.Text='' then Exit;
  QueryPerformanceFrequency(Frequency);
  QueryPerformanceCounter(start);
  with DM1.qPegawai do
  begin
    DisableControls;
    Close;
    SQL.Clear;
    if RadioGroup1.ItemIndex = 0 then
    begin
        sqltext:=('SELECT PEGAWAI.* ')+
                 ('FROM PEGAWAI ')+
                 ('WHERE PEGAWAI.PEGNIP LIKE:NCari ')+
                 ('ORDER BY PEGAWAI.PEGNIP, PEGAWAI.PEGNAME ASC ');
    end else
    begin
        sqltext:=('SELECT PEGAWAI.* ')+
                 ('FROM PEGAWAI ')+
                 ('WHERE PEGAWAI.PEGNAME LIKE:NCari ')+
                 ('ORDER BY PEGAWAI.PEGNAME, PEGAWAI.PEGNIP 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);
  //stLoad.caption := ' >> '+format('%.2f',[(stop-start)/frequency])+' detik';
  stBAR.Panels[1].Text := ' >> '+format('%.2f',[(stop-start)/frequency])+' detik';
end;

procedure TlsPegawaiForm.ItemGridKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Shift = [ssCtrl]) and (Key = VK_DELETE) then Key := 0;
end;

end.

⌨️ 快捷键说明

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