📄 unit_info.~pas
字号:
except
application.MessageBox('连接数据库失败.'+#13+'请进入系统设置,设置ODBC.','提示',MB_OK);
close;
exit;
end;
end;
try
dm.atInfoClass.Open;
except
application.MessageBox('打开信息分类表失败.'+#13+'请与软件作者联系.','提示',MB_OK);
close;
exit;
end;
try
with dm.adsInfo do
begin
close;
commandtext:='SELECT * From news_info ORDER BY iNo DESC LIMIT 0,200';
open;
end;
except
application.MessageBox('打开信息表失败.'+#13+'请与软件作者联系.','提示',MB_OK);
close;
exit;
end;
end;
procedure TForm_Info.N11Click(Sender: TObject);
begin
with dm.adsInfo do
begin
close;
commandtext:='select * from news_info';
open;
end;
end;
procedure TForm_Info.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
{with dm.adsInfo do
begin
if FieldValues['vType']='链接' then
Column.Color:=clMoneyGreen;
if FieldValues['vType']='本站' then
if FieldValues['vImageType']<>'' then
Column.Color:=clInfoBk
else
Column.Color:=clSilver;
end;}
end;
procedure TForm_Info.wwDBGrid1DrawGroupHeaderCell(Sender: TObject;
Canvas: TCanvas; GroupHeaderName: String; Rect: TRect;
var DefaultDrawing: Boolean);
begin
with dm.adsInfo do
begin
if FieldValues['iType']=2 then
Canvas.Brush.Color:=clMoneyGreen;
if FieldValues['iType']=1 then
if FieldValues['vImageType']<>'' then
Canvas.Brush.Color:=clInfoBk
else
Canvas.Brush.Color:=clSilver;
end;
end;
procedure TForm_Info.tbInfoAddClick(Sender: TObject);
begin
application.CreateForm(TForm_Info_Manage,form_info_Manage);
AnimateWindow(form_info_manage.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_info_manage.manage_type:='add';
form_info_manage.caption:='新增信息';
form_info_manage.Show;
form_info_manage.Visible:=false;
form_info_manage.ShowModal;
form_info_manage.Free;
end;
procedure TForm_Info.tbInfoEditClick(Sender: TObject);
begin
if dbgrid1.DataSource.DataSet.RecordCount<1 then
exit;
application.CreateForm(TForm_Info_Manage,form_info_Manage);
AnimateWindow(form_info_manage.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_info_manage.manage_type:='edit';
form_info_manage.caption:='修改信息';
form_info_manage.edCaption.Text:=dbeCaption.Text;
form_info_manage.meLink.Text:=dbelink.Text;
form_info_manage.cbbclass1.Text:=inttostr(dm.adsInfo.FieldValues['iClass1No'])+'.'+dbeClass1name.Text;
form_info_manage.cbbclass2.Text:=inttostr(dm.adsInfo.FieldValues['iClass2No'])+'.'+dbeClass2name.Text;
form_info_manage.cbbclass3.Text:=inttostr(dm.adsInfo.FieldValues['iClass3No'])+'.'+dbeClass3name.Text;
form_info_manage.reContent.Text:=dbmcontent.Text;
form_info_manage.dtpDate.Date:=strtodate(dbedate.text);
if dbetype.Text='本站' then form_info_manage.rbTypebz.Checked:=true
else form_info_manage.rbTypeLink.Checked:=true;
form_info_manage.imagetype:='no';
if (dm.adsInfo.FieldValues['vImageType']<>'') and (dm.adsInfo.FieldValues['vImageType']<>'del') and (dm.adsInfo.FieldValues['vImage'])>4) and (FileExists(format('%s%s',[form_info_manage.localdir,dm.adsInfo.FieldValues['vImage']]))) then
begin
form_info_manage.image1.Picture.LoadFromFile(format('%s%s',[form_info_manage.localdir,dm.adsInfo.FieldValues['vImage']]));
form_info_manage.imagefilename:=dm.adsInfo.FieldValues['vImage'];
form_info_manage.imageType:=dm.adsInfo.FieldValues['vImageType'];
end;
form_info_manage.Show;
form_info_manage.Visible:=false;
form_info_manage.ShowModal;
form_info_manage.Free;
end;
procedure TForm_Info.tbInfoDelClick(Sender: TObject);
begin
if (dm.adsInfo.RecordCount>0) and (application.MessageBox('你确定要删除这条信息吗?','提示',MB_YESNO)=IDYES) then
begin
dm.adsInfo.Delete;
dm.adsInfo.UpdateBatch();
end;
end;
procedure TForm_Info.DBGrid1DblClick(Sender: TObject);
begin
if dm.adsInfo.RecordCount>0 then
begin
pcInfo.ActivePage:=tsParticularInfo;
if (dm.adsInfo.Fieldvalues['vImageType']<>'') and (dm.adsInfo.FieldValues['vImageType']<>'del') and (dm.adsInfo.FieldValues['vImage']<>'') and (FileExists(format('%s%s',[form_info.localdir,dm.adsInfo.FieldValues['vImage']]))) then
begin
showmessage(format('%s%s',[localdir,dm.adsInfo.FieldValues['vImage']]));
image1.Picture.LoadFromFile(format('%s%s',[localdir,dm.adsInfo.FieldValues['vImage']]));
image1.Show;
end
else
image1.Hide;
end;
end;
procedure TForm_Info.tsParticularInfoShow(Sender: TObject);
begin
if length(dbelink.Text)>7 then
speedbutton2.Enabled:=true;
end;
procedure TForm_Info.SpeedButton2Click(Sender: TObject);
begin
ShellExecute(handle,nil,pchar(dbelink.Text),nil,nil,sw_shownormal);
end;
procedure TForm_Info.tsParticularInfoExit(Sender: TObject);
begin
speedbutton2.Enabled:=false;
end;
procedure TForm_Info.dbtvClassChange(Sender: TObject; Node: TTreeNode);
begin
if dbtvClass.Selected<>nil then
begin
with dm.adsInfo do
begin
close;
case dbtvclass.Selected.Level of
0:CommandText:='select * from news_info where iClass1No=' + inttostr(dbtvclass.DBTreeNodes.GetKeyFieldValue(dbtvclass.Selected));
1:CommandText:='select * from news_info where iClass2No=' + inttostr(dbtvclass.DBTreeNodes.GetKeyFieldValue(dbtvclass.Selected));
2:CommandText:='select * from news_info where iClass3No=' + inttostr(dbtvclass.DBTreeNodes.GetKeyFieldValue(dbtvclass.Selected));
else
CommandText:='select * from news_info';
end;
open;
end;
end;
end;
procedure TForm_Info.N7Click(Sender: TObject);
begin
pcinfo.ActivePage:=tsinfolist;
application.CreateForm(TForm_Locate,Form_Locate);
AnimateWindow(Form_Locate.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_Locate.label1.Caption:='标题';
Form_Locate.Show;
Form_Locate.Visible:=false;
Form_Locate.ShowModal;
dm.adsInfo.Locate('vCaption',Form_Locate.edit1.text,[loPartialKey]);
Form_Locate.Free;
end;
procedure TForm_Info.tbInfoListClick(Sender: TObject);
begin
pcinfo.ActivePage:=tsinfolist;
end;
procedure TForm_Info.N8Click(Sender: TObject);
begin
pcinfo.ActivePage:=tsinfolist;
application.CreateForm(TForm_Info_Search,form_info_Search);
AnimateWindow(form_info_Search.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_info_Search.Show;
form_info_Search.Visible:=false;
form_info_Search.ShowModal;
form_info_Search.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -