?? datasearch.pas
字號:
unit DataSearch;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
BaseDialog, Db, StdCtrls, Buttons, Grids, DBGrids, DBTables, Variants;
type
TfmDataSearch = class(TfmBaseDialog)
EDA: TEdit;
Label1: TLabel;
EDB: TComboBox;
Label2: TLabel;
dsTemp: TDataSource;
cbFieldName: TComboBox;
EDC: TCheckBox;
procedure gdBrowseDblClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure EDAChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmDataSearch: TfmDataSearch;
implementation
uses Loading, PublicFunction;
{$R *.DFM}
procedure TfmDataSearch.gdBrowseDblClick(Sender: TObject);
begin
inherited;
ModalResult:= mrOK;
end;
procedure TfmDataSearch.FormActivate(Sender: TObject);
var
i : Integer;
begin
//DataSe里的字段物件的排列順序是由0算起的,所以總數(shù)要用FieldCount - 1
for i := 0 to dsTemp.DataSet.FieldCount - 1 do
begin
//如果字段物件的Tag為1, 則不加入EDB與cbfieldName
if dsTemp.DataSet.Fields[i].Tag = 1 then
Continue;
//記錄字段的說明
EDB.Items.Add(dsTemp.DataSet.Fields[i].DisplayLabel);
//記錄對應(yīng)的字段在DataSet的順序
cbFieldName.Items.Add(IntToStr(i));
{字段說明(EDB)與字段索引(cbFieldName)的順序是一樣的}
end;
{預(yù)設(shè)一次顯示所有可查詢的字段清單}
EDB.DropDownCount := dsTemp.DataSet.FieldCount;
{給與預(yù)設(shè)的查詢字段}
EDB.ItemIndex := 0;
end;
procedure TfmDataSearch.EDAChange(Sender: TObject);
var
iLocation : Integer;
begin
inherited;
//查詢的數(shù)據(jù)如果是空白,就直接離開不處理
if Trim(EDA.Text) = '' then Exit;
//目前是那一個字段被選取
iLocation := StrToInt(cbFieldName.Items[EDB.ItemIndex]);
//系統(tǒng)里面就只有兩種數(shù)據(jù)類型:字符串與浮點(diǎn)數(shù)
if VarType(dsTemp.DataSet.Fields[iLocation].Value) <> varString then
//字段類型為浮點(diǎn)數(shù),就沒有部分尋找的功能
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -