亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hwseldata.pas.svn-base

?? 這是一個功能齊全的,代碼完整的ERP企業信息管理系統,現在上傳和大家分享
?? SVN-BASE
字號:
{***********************************************}
{                                               }
{       名    稱:通用查找選擇程序              }
{       作    者:李洪輝                        }
{       創建日期:2003-05-02                    }
{       修改日期:2003-05-02                    }
{                                               }
{***********************************************}
unit HwSelData;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids, DBGrids, Buttons, DBCtrls, ExtCtrls, Db, DBTables, ADODB;

type
  THwSelDataForm = class(TForm)
    DBGrid1: TDBGrid;
    bbtnEdit: TBitBtn;
    bbtnOK: TBitBtn;
    bbtnExit: TBitBtn;
    dsSelData: TDataSource;
    gpLocateType: TGroupBox;
    cbCaseSensitive: TCheckBox;
    rbExactMatch: TRadioButton;
    rbPartialMatchStart: TRadioButton;
    rbPartialMatchAny: TRadioButton;
    Panel1: TPanel;
    gpFieldValue: TGroupBox;
    edtLocateValue: TEdit;
    btnLocate: TButton;
    gpFields: TGroupBox;
    cbFieldName: TComboBox;
    btnNext: TButton;
    procedure DBGrid1DblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure bbtnOKClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnLocateClick(Sender: TObject);
    procedure btnNextClick(Sender: TObject);
    procedure edtLocateValueKeyPress(Sender: TObject; var Key: Char);
    procedure bbtnEditClick(Sender: TObject);
  private
    AOptions:TLocateOptions;
    AFrmClass:TFormClass;
    FDataSet:TDataSet;
    ABookmark:TBookmark;
    AFields:TStringList;
    { Private declarations }
  public
    function OpenSelData(ADataSet:TDataSet;AFormClass:TFormClass):variant;
    procedure FindMatch;
    procedure FindNextMatch;
    { Public declarations }
  end;

var
  HwSelDataForm: THwSelDataForm;

implementation

uses CommFun;

{$R *.DFM}

function THwSelDataForm.OpenSelData(ADataSet:TDataSet;AFormClass:TFormClass):variant;
var
  I:integer;
begin
  AFrmClass:=AFormClass;
  if AFrmClass=nil then bbtnEdit.Visible:=False;

  dsSelData.DataSet:=ADataSet;
  FDataSet:=ADataSet;
  if not ADataSet.Active then
  begin
    try
      ADataSet.Open;
    except
      ShowMsg('UMS10000184');  //打開數據集失敗,檢查您是否為數據集組件設置了正確的信息
      Abort;
    end;
  end;
  AFields:=TStringList.Create;
  cbFieldName.Clear;
  for I:=0 to ADataSet.FieldCount-1 do
  begin
    if ADataSet.Fields[I].Visible then
    begin
      cbFieldName.Items.Add(ADataSet.Fields[I].DisplayLabel);
      AFields.Add(ADataSet.Fields[I].FieldName);
    end;
  end;
  cbFieldName.ItemIndex:=0;
end;

procedure THwSelDataForm.FindMatch;
var
  ACalcFields,AAfterScroll:TDataSetNotifyEvent;
begin
  ACalcFields:=FDataSet.OnCalcFields;
  AAfterScroll:=FDataSet.AfterScroll;
  FDataSet.OnCalcFields:=nil;
  FDataSet.AfterScroll:=nil;
  try
    Screen.Cursor:=crHourGlass;
    FDataSet.DisableControls;
    AOptions:=[];
    //忽略大小寫
    if cbCaseSensitive.Checked then AOptions:=AOptions+[loCaseInsensitive];  //忽略大小寫
    if rbExactMatch.Checked then  //精確查找
    begin
      AOptions:=AOptions-[loPartialkey]
    end else
    if rbPartialMatchStart.Checked then  //起始部份匹配查找
    begin
      AOptions:=AOptions+[loPartialkey]
    end else
    if rbPartialMatchAny.Checked then  //模糊查找
    begin
      FDataSet.First;
      while not FDataSet.Eof do
      begin
        if cbCaseSensitive.Checked then  //忽略大小寫
        begin
          if Pos(Uppercase(edtLocateValue.Text),Uppercase(FDataSet.FieldByName(AFields[cbFieldName.ItemIndex]).AsString))<>0 then
          begin
            ABookmark:=FDataSet.GetBookmark;
            Break;
          end;
        end else  //區分大小寫
        begin
          if Pos(edtLocateValue.Text,FDataSet.FieldByName(AFields[cbFieldName.ItemIndex]).AsString)<>0 then
          begin
            ABookmark:=FDataSet.GetBookmark;
            Break;
          end;
        end;
        FDataSet.Next;
      end;
      if FDataSet.Eof then
      begin
        FDataSet.GotoBookmark(ABookmark);
        ShowMsg('UMS10000004');  //找不到符合查找條件的記錄
        edtLocateValue.SetFocus;
        Abort;
      end;
    end;

    if not rbPartialMatchAny.Checked then
    begin
      if not FDataSet.Locate(AFields[cbFieldName.ItemIndex],Variant(edtLocateValue.Text),AOptions) then
      begin
        ShowMsg('UMS10000004');  //找不到符合查找條件的記錄
        edtLocateValue.SetFocus;
        Abort;
      end;
    end;
  finally
    FDataSet.OnCalcFields:=ACalcFields;
    FDataSet.AfterScroll:=AAfterScroll;
    FDataSet.EnableControls;
    Screen.Cursor:=crDefault;
  end;
end;

procedure THwSelDataForm.FindNextMatch;
var
  ACalcFields,AAfterScroll:TDataSetNotifyEvent;
begin
  ACalcFields:=FDataSet.OnCalcFields;
  AAfterScroll:=FDataSet.AfterScroll;
  FDataSet.OnCalcFields:=nil;
  FDataSet.AfterScroll:=nil;
  try
    Screen.Cursor:=crHourGlass;
    FDataSet.DisableControls;
    while not FDataSet.Eof do
    begin
      FDataSet.Next;
      if rbExactMatch.Checked then  //精確查找
      begin
        if cbCaseSensitive.Checked then  //忽略大小寫
        begin
          if Uppercase(edtLocateValue.Text)=Uppercase(FDataSet.FieldByName(AFields[cbFieldName.ItemIndex]).AsString) then
          begin
            ABookmark:=FDataSet.GetBookmark;
            Break;
          end;
        end else  //區分大小寫
        begin
          if edtLocateValue.Text=FDataSet.FieldByName(AFields[cbFieldName.ItemIndex]).AsString then
          begin
            ABookmark:=FDataSet.GetBookmark;
            Break;
          end;
        end;
      end else
      if rbPartialMatchStart.Checked then  //起始部份匹配查找
      begin
        if cbCaseSensitive.Checked then  //忽略大小寫
        begin
          if Pos(Uppercase(edtLocateValue.Text),Uppercase(FDataSet.FieldByName(AFields[cbFieldName.ItemIndex]).AsString))=1 then
          begin
            ABookmark:=FDataSet.GetBookmark;
            Break;
          end;
        end else  //區分大小寫
        begin
          if Pos(edtLocateValue.Text,FDataSet.FieldByName(AFields[cbFieldName.ItemIndex]).AsString)=1 then
          begin
            ABookmark:=FDataSet.GetBookmark;
            Break;
          end;
        end;
      end else
      if rbPartialMatchAny.Checked then  //模糊查找
      begin
        if cbCaseSensitive.Checked then  //忽略大小寫
        begin
          if Pos(Uppercase(edtLocateValue.Text),Uppercase(FDataSet.FieldByName(AFields[cbFieldName.ItemIndex]).AsString))<>0 then
          begin
            ABookmark:=FDataSet.GetBookmark;
            Break;
          end;
        end else  //區分大小寫
        begin
          if Pos(edtLocateValue.Text,FDataSet.FieldByName(AFields[cbFieldName.ItemIndex]).AsString)<>0 then
          begin
            ABookmark:=FDataSet.GetBookmark;
            Break;
          end;
        end;
      end;
    end;
    if FDataSet.Eof then
    begin
      FDataSet.GotoBookmark(ABookmark);
      ShowMsg('UMS10000185');  //找不到下一個符合查找條件的記錄
      Abort;
    end;
  finally
    FDataSet.OnCalcFields:=ACalcFields;
    FDataSet.AfterScroll:=AAfterScroll;
    FDataSet.EnableControls;
    Screen.Cursor:=crDefault;
  end;
end;

procedure THwSelDataForm.DBGrid1DblClick(Sender: TObject);
begin
  if FDataSet.IsEmpty then Exit;
  ModalResult:=mrOk;
end;

procedure THwSelDataForm.FormCreate(Sender: TObject);
begin
  //設置界面信息
  Aoptions:=[];
end;

procedure THwSelDataForm.btnLocateClick(Sender: TObject);
begin
//查找(&L)
  FindMatch;
end;

procedure THwSelDataForm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then ModalResult:=mrOk;
end;

procedure THwSelDataForm.bbtnOKClick(Sender: TObject);
begin
  ModalResult:=mrOk;
end;

procedure THwSelDataForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_return then perform(WM_NEXTDLGCTL,0,0);
end;

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

procedure THwSelDataForm.btnNextClick(Sender: TObject);
begin
//下一個(&N)
  FindNextMatch;
end;

procedure THwSelDataForm.edtLocateValueKeyPress(Sender: TObject;
  var Key: Char);
begin
  if key=#13 then btnLocate.Click;
end;

procedure THwSelDataForm.bbtnEditClick(Sender: TObject);
begin
//編輯(&E)
  AFrmClass.Create(Application).ShowModal;
  FDataSet.Close;
  FDataSet.Open;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲日本国产| 日本一区二区久久| 欧美日韩精品是欧美日韩精品| 成人免费观看av| 成人免费视频caoporn| 国产精品一区二区三区四区| 精品在线你懂的| 捆绑调教一区二区三区| 麻豆91在线看| 国产在线不卡一区| 国产精品伊人色| 成人黄色网址在线观看| 成人av网址在线| 972aa.com艺术欧美| 99精品视频在线播放观看| 成人激情午夜影院| 91亚洲精品一区二区乱码| 色综合激情久久| 欧美日韩一区久久| 精品三级在线观看| 国产精品午夜春色av| 亚洲婷婷在线视频| 亚洲小少妇裸体bbw| 日韩电影在线一区| 狠狠色丁香久久婷婷综合_中| 粉嫩嫩av羞羞动漫久久久| 北条麻妃国产九九精品视频| 色成年激情久久综合| 6080午夜不卡| 久久精品人人做人人爽97| 国产精品第五页| 午夜精品福利一区二区蜜股av| 另类人妖一区二区av| 成人午夜视频在线观看| 欧美在线啊v一区| 日韩三级视频在线看| 国产日韩欧美电影| 一区二区三区四区高清精品免费观看| 五月天国产精品| 国产精品911| 欧美亚洲综合另类| 国产亚洲欧美在线| 亚洲自拍偷拍av| 韩国精品在线观看| 色欧美88888久久久久久影院| 91精品国产综合久久精品| 中文字幕av在线一区二区三区| 亚洲成人午夜电影| 国产99久久久国产精品| 欧美日精品一区视频| 久久久国产精华| 亚洲国产一区视频| 国产一区二区中文字幕| 91极品美女在线| 国产欧美日本一区视频| 天堂在线一区二区| jlzzjlzz亚洲日本少妇| 91精品一区二区三区久久久久久| 国产精品国产三级国产普通话三级| 亚洲第一久久影院| 成人av在线网| 日韩精品一区二区三区swag| 亚洲乱码国产乱码精品精小说 | 91国偷自产一区二区三区成为亚洲经典 | 91久久精品一区二区三区| 日韩精品一区二区三区swag | 久久99最新地址| 欧美午夜一区二区三区免费大片| 国产日韩欧美不卡在线| 青草国产精品久久久久久| 日本道在线观看一区二区| 久久亚洲精品国产精品紫薇| 日韩av网站在线观看| 日本高清不卡aⅴ免费网站| 欧美激情在线免费观看| 久久99热国产| 欧美精品三级日韩久久| 亚洲一区二区欧美| 一本到一区二区三区| 中文字幕免费不卡| 国产精品一区二区三区乱码| 欧美xxx久久| 日韩成人dvd| 制服丝袜亚洲播放| 天天色天天爱天天射综合| 一本色道久久综合亚洲aⅴ蜜桃| 日本一区二区高清| 国产a久久麻豆| 国产亚洲欧美激情| 国产一区福利在线| 免费在线观看日韩欧美| 欧美日韩在线直播| 亚洲一区二区欧美激情| 在线观看日韩精品| 亚洲男人的天堂在线aⅴ视频| 成人黄色大片在线观看| 中文字幕精品一区| 丰满少妇久久久久久久| 中文字幕乱码久久午夜不卡| 丁香网亚洲国际| 国产精品伦理一区二区| a在线播放不卡| 国产精品久久久久久久久果冻传媒| 国产成人免费视频网站高清观看视频 | 日韩欧美成人一区| 裸体歌舞表演一区二区| 精品国产乱码久久久久久浪潮| 麻豆成人综合网| 久久久美女毛片| 国v精品久久久网| 国产精品视频yy9299一区| 99国产精品久久久久久久久久| 中文字幕一区二区三区在线播放 | 亚洲国产va精品久久久不卡综合| 欧美在线影院一区二区| 亚洲成a人v欧美综合天堂下载 | 亚洲精品视频一区二区| 日本精品视频一区二区三区| 一区二区三区免费观看| 欧美日本一道本| 麻豆国产精品视频| 国产女人aaa级久久久级| av网站免费线看精品| 亚洲精品久久嫩草网站秘色| 欧美精品视频www在线观看| 久久91精品久久久久久秒播| 日本一区二区综合亚洲| 91日韩在线专区| 色婷婷亚洲婷婷| 天天免费综合色| 日韩精品一区二区三区视频在线观看| 国产露脸91国语对白| 中文字幕亚洲区| 欧美日韩亚洲综合在线| 开心九九激情九九欧美日韩精美视频电影 | 成人精品免费网站| 午夜精品视频一区| 日韩欧美美女一区二区三区| 成人性生交大片免费看在线播放| 亚洲欧美另类小说视频| 欧美老人xxxx18| 国产成人在线观看| 一区二区三区四区蜜桃| 精品入口麻豆88视频| 99综合电影在线视频| 亚洲电影视频在线| 国产亚洲一本大道中文在线| 91国产福利在线| 狂野欧美性猛交blacked| 亚洲日本中文字幕区| 日韩视频在线你懂得| www.欧美.com| 美日韩一区二区| 亚洲日本在线视频观看| 日韩亚洲欧美成人一区| 99视频在线精品| 精品一区二区三区影院在线午夜| 综合av第一页| 精品久久五月天| 欧美综合在线视频| 国产成人精品三级| 午夜成人免费视频| 国产精品私房写真福利视频| 欧美一级艳片视频免费观看| 91色婷婷久久久久合中文| 激情丁香综合五月| 日韩精品1区2区3区| 国产精品妹子av| 欧美不卡视频一区| 欧美二区三区91| 一本大道久久a久久综合婷婷| 国产美女主播视频一区| 水蜜桃久久夜色精品一区的特点| 中文字幕国产精品一区二区| 日韩视频一区二区在线观看| 在线观看欧美黄色| 成人综合婷婷国产精品久久 | 91小视频免费观看| 国产麻豆一精品一av一免费 | 激情av综合网| 日韩成人一级片| 亚洲午夜一区二区三区| 日韩美女久久久| 国产拍揄自揄精品视频麻豆| 日韩精品在线网站| 欧美日韩不卡一区| 欧美日韩亚洲不卡| 色av成人天堂桃色av| jlzzjlzz亚洲日本少妇| 国产91精品在线观看| 国产高清在线观看免费不卡| 久久草av在线| 蜜臀av性久久久久蜜臀aⅴ| 日韩经典一区二区| 亚洲一卡二卡三卡四卡| 亚洲乱码国产乱码精品精的特点 | 日韩一区二区三区电影在线观看| 欧美日韩一区二区三区视频| 色狠狠色噜噜噜综合网| 97久久久精品综合88久久|