📄 unit_info.~pas
字号:
unit Unit_info;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMenu, ComCtrls, ToolWin, ExtCtrls, StdCtrls, Grids, Unit_DM,
Buttons, DBGrids, dxtree, dxdbtree, Menus, dxdbtrel, IniFiles,
DBCtrls, Mask,shellapi,Unit_info_locate,DB;
type
TForm_Info = class(TForm)
ControlBar1: TControlBar;
ToolBar1: TToolBar;
tbInfoAdd: TToolButton;
XPMenu1: TXPMenu;
tbInfoEdit: TToolButton;
tbInfoDel: TToolButton;
ToolButton1: TToolButton;
tbInfoList: TToolButton;
tbSearch: TToolButton;
ToolButton2: TToolButton;
tbClose: TToolButton;
pcInfo: TPageControl;
tsInfoList: TTabSheet;
tsParticularInfo: TTabSheet;
Panel1: TPanel;
Splitter1: TSplitter;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
dbtvClass: TdxDBTreeView;
pmClass: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
pmInfoList: TPopupMenu;
N11: TMenuItem;
Shape1: TShape;
Shape2: TShape;
Shape3: TShape;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
dbeNo: TDBEdit;
Label4: TLabel;
Label5: TLabel;
dbeCaption: TDBEdit;
Label6: TLabel;
dbmContent: TDBMemo;
Label7: TLabel;
Label8: TLabel;
dbeType: TDBEdit;
Label9: TLabel;
dbeDate: TDBEdit;
Label10: TLabel;
Label11: TLabel;
dbeLink: TDBEdit;
SpeedButton2: TSpeedButton;
dbeClass1Name: TDBEdit;
dbeClass2Name: TDBEdit;
dbeClass3name: TDBEdit;
Label12: TLabel;
Label13: TLabel;
pmInfoSearch: TPopupMenu;
N7: TMenuItem;
N8: TMenuItem;
tbClass: TToolButton;
ToolButton3: TToolButton;
Image1: TImage;
procedure tbCloseClick(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure wwDBGrid1DrawGroupHeaderCell(Sender: TObject;
Canvas: TCanvas; GroupHeaderName: String; Rect: TRect;
var DefaultDrawing: Boolean);
procedure tbInfoAddClick(Sender: TObject);
procedure tbInfoEditClick(Sender: TObject);
procedure tbInfoDelClick(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure tsParticularInfoShow(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure tsParticularInfoExit(Sender: TObject);
procedure dbtvClassChange(Sender: TObject; Node: TTreeNode);
procedure N7Click(Sender: TObject);
procedure tbInfoListClick(Sender: TObject);
procedure N8Click(Sender: TObject);
private
procedure ReadSetup;
{ Private declarations }
public
{ Public declarations }
localdir,remotedir:string;
end;
var
Form_Info: TForm_Info;
implementation
uses Unit_info_Manage, Unit_info_Search, Unit_Enterprise_locate,
Unit_Class_Add;
{$R *.dfm}
procedure TForm_Info.ReadSetup();
var
meihuisetup:TIniFile;
begin
meihuisetup := TIniFile.Create('meihui.ini');
LocalDir:=meihuisetup.ReadString('Image Setup','LocalSaveDir','');
RemoteDir:=meihuisetup.ReadString('Image Setup','RemoteSaveDir','');
meihuisetup.Free;
end;
procedure TForm_Info.tbCloseClick(Sender: TObject);
begin
close;
end;
procedure TForm_Info.N2Click(Sender: TObject);
var
upNo:integer;
begin
if (dbtvClass.Selected<>nil) and (dbtvClass.Selected.Level<2) then
begin
upNo:=dbtvClass.DBTreeNodes.GetKeyFieldValue(dbtvclass.Selected);
application.CreateForm(TForm_Class_Add,Form_Class_Add);
AnimateWindow(Form_Class_Add.Handle,500,AW_BLEND);
{参数说明:
1。hwnd : 一个你要显示窗体的句柄。
2。dwTime : 完成显示操作的时间。(一般为500-1000,你可以自己调 节)
3。dwFlags : 这是一个关键的东东,它决定了你的子窗体弹出的方 式。
dwFlags其中包括9种基本弹出方式,当然你可以组合它们使用,下面我就对者9种方法做个简单的介绍:
a. AW_SLIDE : 表示用滑动方式显示;
b. AW_BLEND : 表示用淡出或淡入方式显示;(Windows 2000菜单显示)
c. AW_CENTER : 表示窗体从小窗体沿对角线扩大至窗体定义的大小;
d. AW_HIDE : 顾名思义,就是隐藏窗体;
e. AW_HOR_POSITIVE :窗体从左向右生成生成显示
f. AW_HOR_NEGATIVE :窗体从右向左生成生成显示
g. AW_VER_NEGATIVE :窗体从下向上生成生成显示
h: AW_VER_POSITIVE :窗体从上向下生成生成显示
i: AW_ACTIVATE :顾名思义,就是激活窗体;}
Form_Class_Add.caption:='添加下级分类';
Form_Class_Add.Show;
Form_Class_Add.Visible:=false;
Form_Class_Add.ShowModal;
{添加分类}
if length(Form_Class_Add.Edit1.Text)>1 then
begin
with dm.atInfoClass do
begin
append;
fieldvalues['iUpNo']:=upNo;
fieldValues['vName']:=Form_Class_Add.edit1.text;
post;
updatebatch();
Refresh;
end;
end;
Form_Class_Add.Free;
end
else
application.MessageBox('请选择上级分类或不能再添加下级分类.','提示',MB_OK);
end;
procedure TForm_Info.N1Click(Sender: TObject);
var
upNo:integer;
begin
if dbtvClass.Selected<>nil then
upNo:=dbtvClass.DBTreeNodes.GetParentValue(dbtvclass.Selected)
else
upNo:=0;
application.CreateForm(TForm_Class_Add,Form_Class_Add);
AnimateWindow(Form_Class_Add.Handle,500,AW_BLEND);
{参数说明:
1。hwnd : 一个你要显示窗体的句柄。
2。dwTime : 完成显示操作的时间。(一般为500-1000,你可以自己调 节)
3。dwFlags : 这是一个关键的东东,它决定了你的子窗体弹出的方 式。
dwFlags其中包括9种基本弹出方式,当然你可以组合它们使用,下面我就对者9种方法做个简单的介绍:
a. AW_SLIDE : 表示用滑动方式显示;
b. AW_BLEND : 表示用淡出或淡入方式显示;(Windows 2000菜单显示)
c. AW_CENTER : 表示窗体从小窗体沿对角线扩大至窗体定义的大小;
d. AW_HIDE : 顾名思义,就是隐藏窗体;
e. AW_HOR_POSITIVE :窗体从左向右生成生成显示
f. AW_HOR_NEGATIVE :窗体从右向左生成生成显示
g. AW_VER_NEGATIVE :窗体从下向上生成生成显示
h: AW_VER_POSITIVE :窗体从上向下生成生成显示
i: AW_ACTIVATE :顾名思义,就是激活窗体;}
Form_Class_Add.caption:='添加同级分类';
Form_Class_Add.Show;
Form_Class_Add.Visible:=false;
Form_Class_Add.ShowModal;
{添加分类}
if length(Form_Class_Add.Edit1.Text)>1 then
begin
with dm.atInfoClass do
begin
append;
fieldvalues['iUpNo']:=upNo;
fieldValues['vName']:=Form_Class_Add.edit1.text;
post;
updatebatch();
Refresh;
end;
end;
Form_Class_Add.Free;
//dbtvClass.Items.add(dbtvClass.Selected,'新分类,请修改名称');
end;
procedure TForm_Info.N3Click(Sender: TObject);
begin
if dbtvClass.Selected<>nil then
dbtvClass.Selected.EditText;
end;
procedure TForm_Info.N6Click(Sender: TObject);
begin
if dbtvClass.Selected<>nil then
begin
if application.MessageBox('你确定要删除这个分类吗?'+#13+'[注意] 删除分类的同时将删除分类下的所有信息.','警告',MB_YESNO)=IDYES then
begin
case dbtvclass.Selected.Level of
0:dm.adocm.CommandText:='DELETE FROM news_info WHERE iClass1No='+inttostr(dbtvClass.DBTreeNodes.GetKeyFieldValue(dbtvClass.Selected));
1:dm.adocm.CommandText:='DELETE FROM news_info WHERE iClass2No='+inttostr(dbtvClass.DBTreeNodes.GetKeyFieldValue(dbtvClass.Selected));
2:dm.adocm.CommandText:='DELETE FROM news_info WHERE iClass3No='+inttostr(dbtvClass.DBTreeNodes.GetKeyFieldValue(dbtvClass.Selected));
end;
try
dm.adocm.Execute;
dbtvclass.Selected.Delete;
except
application.MessageBox('删除这个分类下的所有信息不成功.'+#13+'删除分类操作失败.','错误',MB_OK);
end;
end;
end;
end;
procedure TForm_Info.FormCreate(Sender: TObject);
begin
Self.Left:= Round(Screen.Width/2-Width/2);
Self.Top :=Round(Screen.Height/2-Height/2);
Form_Info.ReadSetup;
if not dm.adoc.Connected then
begin
try
dm.adoc.open;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -