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

📄 findlgn.pas

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

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Grids, DBGrids, JvExDBGrids, JvDBGrid,
  JvDBUltimGrid, Buttons, JvExControls, JvComponent, JvDBLookup, DBCtrls,
  DB;

type
  TFindLgnForm = class(TForm)
    RadioGroup1: TRadioGroup;
    Panel1: TPanel;
    edFind: TEdit;
    AddBtn: TSpeedButton;
    GroupBox1: TGroupBox;
    FindItemGrid: TJvDBUltimGrid;
    btnCancel: TSpeedButton;
    btnOke: TSpeedButton;
    dsFindLgn: TDataSource;
    procedure FindItemGridDblClick(Sender: TObject);
    procedure edFindChange(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FindItemGridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edFindKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure btnOkeClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure AddBtnClick(Sender: TObject);
  private
    function GetCODE: string;
    procedure SetCODE(NewCODE: string);
  public
    property CODE: string read GetCODE write SetCODE;
    function ShowModalCODE: integer;
  end;

var
  FindLgnForm: TFindLgnForm;

implementation

{$R *.dfm}

uses DataMod1, edItem;

function TFindLgnForm.GetCODE: string;
begin
  if DM1.qFindLgn.FieldByName('LGNCODE').Value <> Null Then
    Result := DM1.qFindLgn.FieldByName('LGNCODE').Value
end;

function TFindLgnForm.ShowModalCODE: integer;
begin
  Result:=ShowModal;
end;

procedure TFindLgnForm.SetCODE(NewCODE: string);
begin
  NewCODE := DM1.qFindLgn.FieldByName('LGNCODE').Value;
end;

procedure TFindLgnForm.FindItemGridDblClick(Sender: TObject);
begin
  ModalResult := mrOK;
end;

procedure TFindLgnForm.edFindChange(Sender: TObject);
begin
  if edFind.Text='' then Exit;
  with DM1.qFindLgn do
  begin
    DisableControls;
    Close;
    SQL.Clear;
      if RadioGroup1.ItemIndex = 0 then
      begin
        SQL.Add(
        'SELECT LGN.LGNCODE, LGN.NAMALGN, LGN.CREDLIMIT, LGN.CURBAL, '+
        'LGN.ADDRESS, LGN.CITY '+
        'FROM LGN '+
        'WHERE '+
        'LGN.LGNCODE LIKE:NCari ORDER BY LGN.LGNCODE ASC ');
        ParamByName('Ncari').AsString:=edFind.Text+'%';
        Open;
        if Recordcount = 0 then AddBtn.Enabled := True else AddBtn.Enabled := False;
      end else
      begin
        SQL.Add(
        'SELECT LGN.LGNCODE, LGN.NAMALGN, LGN.CREDLIMIT, LGN.CURBAL, '+
        'LGN.ADDRESS, LGN.CITY '+
        'FROM LGN '+
        'WHERE '+
        'LGN.NAMALGN LIKE:NCari ORDER BY LGN.NAMALGN ASC ');
        ParamByName('Ncari').AsString:=edFind.Text+'%';
        Open;
      end;
    EnableControls;
  end;
end;

procedure TFindLgnForm.RadioGroup1Click(Sender: TObject);
begin
  edFind.SetFocus;
end;

procedure TFindLgnForm.FormActivate(Sender: TObject);
begin
  edFind.SetFocus;
end;

procedure TFindLgnForm.FindItemGridKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_return then ModalResult:=mrOk;
end;

procedure TFindLgnForm.edFindKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=VK_DOWN then FindItemGrid.SetFocus;
end;

procedure TFindLgnForm.btnOkeClick(Sender: TObject);
begin
  ModalResult := mrOK;
end;

procedure TFindLgnForm.btnCancelClick(Sender: TObject);
begin
  ModalResult := mrCancel;
end;

procedure TFindLgnForm.AddBtnClick(Sender: TObject);
begin
  with DM1.qItemEdit do
  begin
    Close;
    ParamByName('LGNCODE').Value:=edFind.Text;
    Open;
  end;
  edItemForm.Enter(edFind.Text);
end;

end.

⌨️ 快捷键说明

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