📄 qureyf.pas
字号:
unit qureyf;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, StdCtrls, Buttons, ExtCtrls, ComCtrls, ImgList, ToolWin;
type
TqueryForm = class(TForm)
MainMenu1: TMainMenu;
F1: TMenuItem;
Q1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
StatusBar1: TStatusBar;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Edit1: TEdit;
SpeedButton3: TSpeedButton;
QTreeView: TTreeView;
Splitter1: TSplitter;
QRichEdit1: TRichEdit;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
PopupMenu1: TPopupMenu;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
ColorDialog1: TColorDialog;
Panel2: TPanel;
N10: TMenuItem;
H1: TMenuItem;
N11: TMenuItem;
PopupMenu2: TPopupMenu;
N3: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
procedure FormShow(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure QTreeViewGetSelectedIndex(Sender: TObject; Node: TTreeNode);
procedure SpeedButton3Click(Sender: TObject);
procedure QTreeViewChange(Sender: TObject; Node: TTreeNode);
procedure FormCreate(Sender: TObject);
procedure QRichEdit1KeyPress(Sender: TObject; var Key: Char);
procedure QTreeViewChanging(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure N6Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure QTreeViewGetImageIndex(Sender: TObject; Node: TTreeNode);
private
{ Private declarations }
public
{ Public declarations }
end;
var
queryForm: TqueryForm;
implementation
uses mainform;
{$R *.DFM}
var qedited:boolean;
scref:boolean;//确定屏幕是否刷新
procedure TqueryForm.FormShow(Sender: TObject);
begin
top:=mainwin.Top;
left:=mainwin.left;
height:=mainwin.height;
width:=mainwin.width;
scref:=true;
end;
procedure TqueryForm.SpeedButton4Click(Sender: TObject);
begin
Qrichedit1.ReadOnly:=not SpeedButton4.Down;
N6.Checked:=SpeedButton4.Down;
end;
procedure TqueryForm.SpeedButton5Click(Sender: TObject);
begin
close;
end;
procedure TqueryForm.QTreeViewGetSelectedIndex(Sender: TObject;
Node: TTreeNode);
begin
node.selectedIndex:=3;
end;
procedure TqueryForm.SpeedButton3Click(Sender: TObject);
var s,nn:integer;
begin
if edit1.text='' then
begin
showmessage('请输入查询关键字符串!');
exit;
end;
Qtreeview.Items.Clear;
nn:=mainwin.treeview1.Items.Count-1;
SendMessage(Qtreeview.Handle,WM_SETREDRAW,0,0); //禁止重绘
for s:=0 to nn do
begin
if pos(lowercase(trim(edit1.text)),lowercase(mainwin.treeview1.items[s].text))>0 then
Qtreeview.Items.Add(Qtreeview.topitem,mainwin.treeview1.items[s].text);
end;
Qtreeview.AlphaSort;
SendMessage(Qtreeview.Handle,WM_SETREDRAW,-1,0); //禁止重绘
Qtreeview.Refresh;
if Qtreeview.items.Count>0 then
begin
showmessage('一共找到'+inttostr(Qtreeview.items.Count)+'条资料!');
Qtreeview.Items[0].selected:=true;
end
else
begin
showmessage('没有找到符合条件的资料!');
edit1.Setfocus;
edit1.SelectAll;
end;
SpeedButton4.Enabled:=qtreeview.Items.Count>0;
end;
procedure TqueryForm.QTreeViewChange(Sender: TObject; Node: TTreeNode);
begin
if not scref then exit;
if fileexists(datpath+trim(node.text)+'.sfd') then
begin
SendMessage(qRichEdit1.Handle,WM_SETREDRAW,0,0); //禁止重绘
qrichedit1.Lines.LoadFromFile(datpath+trim(node.text)+'.sfd');
SendMessage(qRichEdit1.Handle,WM_SETREDRAW,-1,0); //重绘目录树
qRichEdit1.Refresh;
end
else qrichedit1.Lines.Clear;
statusbar1.Panels[0].text:=node.text;
SpeedButton4.Down:=false;
N6.Checked:=SpeedButton4.Down;
Qrichedit1.ReadOnly:=true;
end;
procedure TqueryForm.FormCreate(Sender: TObject);
begin
qedited:=false;
qtreeview.Width:=inifn.ReadInteger('quewindow','treevwidth',qtreeview.Width);//标题框宽度
qtreeview.Color:=inifn.ReadInteger('quewindow','treevcolor',qtreeview.Color);//标题框背影色
qtreeview.font.Color:=inifn.ReadInteger('quewindow','treefontcolor',qtreeview.font.Color);//标题框字体色
QRichEdit1.Color:=inifn.ReadInteger('quewindow','editcolor',QRichEdit1.Color);//查询编辑框背影色
QRichEdit1.font.Color:=inifn.ReadInteger('quewindow','editfontcolor',QRichEdit1.font.Color);//查询编辑框字体色
end;
procedure TqueryForm.QRichEdit1KeyPress(Sender: TObject; var Key: Char);
begin
qedited:=true;
end;
procedure TqueryForm.QTreeViewChanging(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
begin
if not scref then exit;
if qedited and (qtreeview.Selected<>nil) then
begin
qrichedit1.Lines.SaveToFile(datpath+trim(qtreeview.Selected.Text)+'.sfd');
qedited:=false;
end;
end;
procedure TqueryForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
scref:=false;
SendMessage(qtreeview.Handle,WM_SETREDRAW,0,0);
qtreeview.Items.Clear;
qrichedit1.Lines.Clear;
edit1.Clear;
SpeedButton4.Down:=false;
qrichedit1.ReadOnly:=true;
SendMessage(qtreeview.Handle,WM_SETREDRAW,-1,0);
end;
procedure TqueryForm.N6Click(Sender: TObject);
begin
n6.Checked:=not n6.Checked;
qrichedit1.ReadOnly:=not n6.Checked;
SpeedButton4.Down:=not qrichedit1.ReadOnly;
end;
procedure TqueryForm.SpeedButton2Click(Sender: TObject);
begin
if qtreeview.Items.Count<=0 then exit;
Savedialog1.InitialDir:=quepath;
if SaveDialog1.Execute then
Qtreeview.SaveToFile(Savedialog1.FileName);
end;
procedure TqueryForm.SpeedButton1Click(Sender: TObject);
begin
Opendialog1.InitialDir:=quepath;
if openDialog1.Execute then
Qtreeview.LoadFromFile(Opendialog1.FileName);
end;
procedure TqueryForm.N8Click(Sender: TObject);
begin
colordialog1.Color:=qrichedit1.Font.Color;
if colordialog1.Execute then
qrichedit1.Font.Color:=colordialog1.Color;
end;
procedure TqueryForm.N9Click(Sender: TObject);
begin
colordialog1.Color:=qrichedit1.Color;
if colordialog1.Execute then
qrichedit1.Color:=colordialog1.Color;
end;
procedure TqueryForm.N14Click(Sender: TObject);
begin
colordialog1.Color:=qtreeview.Font.Color;
if colordialog1.Execute then
qtreeview.Font.Color:=colordialog1.Color;
end;
procedure TqueryForm.N15Click(Sender: TObject);
begin
colordialog1.Color:=qtreeview.Color;
if colordialog1.Execute then
qtreeview.Color:=colordialog1.Color;
end;
procedure TqueryForm.FormDestroy(Sender: TObject);
begin
if qtreeview.Width>0 then
inifn.WriteInteger('quewindow','treevwidth',qtreeview.Width)
else
inifn.WriteInteger('quewindow','treevwidth',180); //标题框宽度
inifn.WriteInteger('quewindow','treevcolor',qtreeview.Color);//标题框背影色
inifn.WriteInteger('quewindow','treefontcolor',qtreeview.font.Color);//标题框字体色
inifn.WriteInteger('quewindow','editcolor',QRichEdit1.Color);//查询编辑框背影色
inifn.WriteInteger('quewindow','editfontcolor',QRichEdit1.font.Color);//查询编辑框字体色
end;
procedure TqueryForm.N11Click(Sender: TObject);
begin
showmessage('此查询器版权属:'+#10+'奥博软件创制室 林晓舟 所有!'+
#10+'作者保留所有版权。'+#10+#10+'Copyright CNOPSOFT bolen 1999-2000')
end;
procedure TqueryForm.QTreeViewGetImageIndex(Sender: TObject;
Node: TTreeNode);
begin
node.imageIndex:=5;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -