📄 fdbc.~pas
字号:
unit fdbc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, ComCtrls, StdCtrls, ImgList, Buttons,
ToolWin, Menus;
type//treeview指针类型类定义
myrec=^tmyrec;
tmyrec=record
name:string;
end;
type
TF_dbc = class(TForm)
Panel1: TPanel;
Panel3: TPanel;
Panel2: TPanel;
Splitter2: TSplitter;
Panel4: TPanel;
DBGrid1: TDBGrid;
TreeView1: TTreeView;
ToolBar1: TToolBar;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
Panel5: TPanel;
Label1: TLabel;
PopupMenu1: TPopupMenu;
N5: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
ImageList1: TImageList;
procedure order(sender:tobject);
procedure addsubclick(sender:tobject);
procedure TreeView1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure N5Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N7Click(Sender: TObject);
private
{ Private declarations }
public
con_bio:string;//当前操作表名
{ Public declarations }
end;
var
F_dbc: TF_dbc;
node:TTreenode;
implementation
uses fdata,faddx;
{$R *.dfm}
procedure Tf_dbc.order(sender:tobject);
var
number:integer;
begin
number:=0;
datamodule3.carse.DataSet.First;
while datamodule3.carqy.eof=false do
begin
number:=number+1;
datamodule3.carqy.Edit;
datamodule3.carse.DataSet.Fields[0].AsString:=inttostr(number);
datamodule3.carqy.Post;
datamodule3.carse.DataSet.Next;
end;
datamodule3.carse.DataSet.First;
end;
procedure TF_dbc.addsubclick(sender:Tobject);//treeview加入子节点
var
dname:string;//数据库中科目表的名称
dindex:integer;
begin
dindex:=0;//初始化dindex
datamodule3.treese.DataSet.First;
while (datamodule3.treeqy.Eof=False) do //动态加入treeview目录
begin
datamodule3.treese.DataSet.Edit;
datamodule3.treese.DataSet.Fields[1].AsString:=inttostr(dindex);
dname:=datamodule3.treese.DataSet.Fields[0].AsString;
Treeview1.items.AddChildObject(node,dname,nil);
dindex:=dindex+1;
datamodule3.treeqy.Next;
end;
end;
procedure TF_dbc.TreeView1Click(Sender: TObject);
var
selectindex:integer;
begin
selectindex:=treeview1.Selected.Index;//将被选择科目节点的索引号
with datamodule3 do
begin
treese.DataSet.First;
while (datamodule3.treeqy.Eof=False) do
begin
if ((selectindex)=strtoint(trim(treese.DataSet.Fields[1].AsString))) then
begin
con_bio:=trim(treese.DataSet.Fields[3].asstring);//con_bio为操作的表名
carqy.Close;
carqy.SQL.Clear;
carqy.SQL.Add('select*from'+' '+con_bio);
carqy.Open;
label1.Caption:='当前操作表:'+treese.DataSet.Fields[0].asstring;
dbgrid1.Columns[0].Title.caption:='编号';
dbgrid1.Columns[1].Title.caption:='题目';
dbgrid1.Columns[2].Title.caption:='选项A';
dbgrid1.Columns[3].Title.caption:='选项B';
dbgrid1.Columns[4].Title.caption:='选项C';
dbgrid1.Columns[5].Title.caption:='选项D';
DBGrid1.Columns[6].Visible := False;//不显示此字段
dbgrid1.Columns[7].Title.caption:='答案';
Dbgrid1.Columns[8].Visible:=False;
dbgrid1.Columns[1].Width:=100;
dbgrid1.Columns[2].Width:=100;
dbgrid1.Columns[3].Width:=100;
dbgrid1.Columns[4].Width:=100;
dbgrid1.Columns[5].Width:=100;
break;
end;
datamodule3.treeqy.Next;
end;
end;
end;
procedure TF_dbc.SpeedButton1Click(Sender: TObject);
begin
F_addx.change:=false;
f_addx.ComboBox1.Visible:=true;
f_addx.GroupBox1.Visible:=true;
f_addx.Label6.Visible:=true;
f_addx.ShowModal;
end;
procedure TF_dbc.SpeedButton5Click(Sender: TObject);
begin
F_addx.change:=false;
f_addx.ComboBox1.Visible:=true;
f_addx.Label6.Visible:=true;
f_addx.GroupBox1.Visible:=false;
f_addx.ShowModal;
end;
procedure TF_dbc.SpeedButton4Click(Sender: TObject);
begin
close;
end;
procedure TF_dbc.SpeedButton3Click(Sender: TObject);
begin
if application.MessageBox('是否删除。','提示!',mb_yesno)=6 then
begin
datamodule3.carse.DataSet.Delete;
order(sender);
end
else
begin
end;
end;
procedure TF_dbc.SpeedButton2Click(Sender: TObject);
begin
f_addx.change:=true;
f_addx.ComboBox1.Visible:=true;
f_addx.Edit1.Visible:=true;
f_addx.Edit2.Visible:=true;
f_addx.Edit3.Visible:=true;
f_addx.Edit4.Visible:=true;
if trim(datamodule3.carse.DataSet.Fields[2].AsString)='' then
f_addx.GroupBox1.Visible:=false
else
f_addx.GroupBox1.Visible:=true;
f_addx.Memo1.Text:=datamodule3.carse.DataSet.Fields[1].AsString;
f_addx.Edit1.Text:=datamodule3.carse.DataSet.Fields[2].AsString;
f_addx.Edit2.Text:=datamodule3.carse.DataSet.Fields[3].AsString;
f_addx.Edit3.Text:=datamodule3.carse.DataSet.Fields[4].AsString;
f_addx.Edit4.Text:=datamodule3.carse.DataSet.Fields[5].AsString;
f_addx.ComboBox1.Text:=datamodule3.carse.DataSet.Fields[7].AsString;
f_addx.image1.Picture.Assign(datamodule3.carse.DataSet.Fields[6]);
f_addx.ShowModal;
end;
procedure TF_dbc.FormShow(Sender: TObject);
begin
datamodule3.carqy.Close;
node:=Treeview1.items.AddObject(nil,'数据库',nil);
F_dbc.addsubclick(sender);// 添加子节点
node.Expanded:=True;//开启节点
end;
procedure TF_dbc.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
treeview1.Items.Clear;
end;
procedure TF_dbc.N5Click(Sender: TObject);
begin
speedbutton1.Click;
end;
procedure TF_dbc.N1Click(Sender: TObject);
begin
speedbutton5.Click;
end;
procedure TF_dbc.N2Click(Sender: TObject);
begin
speedbutton2.Click;
end;
procedure TF_dbc.N4Click(Sender: TObject);
begin
speedbutton3.Click;
end;
procedure TF_dbc.N7Click(Sender: TObject);
begin
speedbutton4.Click;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -