📄 gq_ulocate.pas
字号:
unit GQ_ULocate;
{
代码单元名称:通用综合查询工具记录定位窗口
从属软件:大连资金清算中心打码机管理信息系统
开发单位:大连理工大学计算机技术研究所软件工程研究室
作者:张玉洁
时间:2001,1,30
}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons, DB, ADOdb;
type
TGQ_FLocate = class(TForm)
ListBox1: TListBox;
Label1: TLabel;
Label2: TLabel;
StaticText1: TStaticText;
Bevel1: TBevel;
LocateVal: TEdit;
StaticText2: TStaticText;
StaticText3: TStaticText;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
CheckBox1: TCheckBox;
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
BookMark: TBookmark;
public
{ Public declarations }
ADOQuery: TADOQuery;
end;
implementation
{$R *.DFM}
procedure TGQ_FLocate.FormShow(Sender: TObject);
begin
ADOQuery.GetBookMark;
end;
{------------------------------------------------------------------------------------}
procedure TGQ_FLocate.ListBox1Click(Sender: TObject);
begin
LocateVal.Text := '';
end;
procedure TGQ_FLocate.BitBtn2Click(Sender: TObject);
var
FVal: string;
FName: integer;
FindOut: Boolean;
begin
if ListBox1.ItemIndex = -1 then
begin
ShowMessage(' 请选择定位目标字段! ');
Exit;
end;
if LocateVal.Text = '' then
begin
ShowMessage(' 请填入目标字段值! ');
Exit;
end;
FVal := LocateVal.Text;
FName := ListBox1.ItemIndex;
FindOut := False;
while True do
begin
ADOQuery.Next;
if (((not CheckBox1.Checked) and (Trim(ADOQuery.Fields[FName].AsString) =
Trim(FVal)))
or ((CheckBox1.Checked) and
(LowerCase(Trim(ADOQuery.Fields[FName].AsString)) =
LowerCase(Trim(FVal))))) then
begin
FindOut := True;
Bookmark := ADOQuery.GetBookmark;
Break;
end;
if (ADOQuery.Eof) then
Break;
end; //of while
if not FindOut then
begin
ADOQuery.Last;
BitBtn2.Enabled := False;
BitBtn1.Default := True;
ShowMessage(' 没有找到符合条件的记录! ');
end
else
ADOQuery.GotoBookmark(Bookmark);
BitBtn1.Enabled := True;
end;
procedure TGQ_FLocate.BitBtn1Click(Sender: TObject);
var
FVal: string;
FName: integer;
FindOut: Boolean;
begin
if ListBox1.ItemIndex = -1 then
begin
ShowMessage(' 请选择定位目标字段! ');
Exit;
end;
if LocateVal.Text = '' then
begin
ShowMessage(' 请填入目标字段值! ');
Exit;
end;
FVal := LocateVal.Text;
FName := ListBox1.ItemIndex;
FindOut := False;
while True do
begin
ADOQuery.Prior;
if (Trim(ADOQuery.Fields[FName].AsString) = Trim(FVal)) then
begin
FindOut := True;
Bookmark := ADOQuery.GetBookmark;
Break;
end;
if (ADOQuery.Bof) then
Break;
end;
if not FindOut then
begin
ADOQuery.First;
BitBtn1.Enabled := False;
BitBtn2.Default := True;
ShowMessage(' 没有找到符合条件的记录! ');
end
else
ADOQuery.GotoBookmark(Bookmark);
BitBtn2.Enabled := True;
end;
procedure TGQ_FLocate.BitBtn3Click(Sender: TObject);
begin
ADOQuery.FreeBookmark(Bookmark);
ModalResult := mrCancel;
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -