⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p_brower_exam.pas

📁 学员管理的软件
💻 PAS
字号:
unit P_brower_exam;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls,StrUtils;

type
  TF_brower_exam = class(TForm)
    ListView1: TListView;
    procedure FormActivate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
    procedure ListView1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_brower_exam: TF_brower_exam;
  orderid:integer=1;
  examid:integer;

implementation
uses main,P_which_key;
{$R *.dfm}

procedure TF_brower_exam.FormActivate(Sender: TObject);
begin
examid:=P_which_key.examid;
  with main.DataModule2 do
  begin
     aq1.Close;
     aq1.SQL.Clear;
     aq1.SQL.Add('select * from 试卷表 where 试卷号='+inttostr(P_which_key.examid));
     aq1.Open;
     if aq1.Eof then
     begin
       messagedlg('数据库内部错误,请检查数据库一致性',mtinformation,[mbok],0);
       exit;
     end;
     F_brower_exam.Caption:='试卷预览('+ trim(aq1.FieldValues['试卷名称'])+
     '['+trim(aq1.FieldValues['出卷人'])+'])';
  end;
end;

procedure TF_brower_exam.FormShow(Sender: TObject);
var
s:string;
begin
s:='SELECT 试题表.题目 AS 题目,题型表.name AS 题型,';
s:=s+'选项1,选项2,选项3,选项4,难度,分值,RTRIM(知识点表.name)';
s:=s+'+''[''+RTRIM(知识点表.subname) + '']'' AS 知识点';
s:=s+' FROM 用户作答表 INNER JOIN 试题表';
s:=s+' ON 用户作答表.题号=试题表.试题号 INNER JOIN';
s:=s+' 题型表 ON 试题表.题型=题型表.id INNER JOIN';
S:=S+' 知识点表 ON 试题表.知识点=知识点表.ID';
S:=S+' WHERE 用户作答表.试卷号='+inttostr(P_which_key.examid);
s:=s+' ORDER BY 题型表.id,试题表.试题号';
listview1.Items.Clear;
with main.DataModule2 do
begin
  aq1.Close;
  aq1.SQL.Clear;
  aq1.SQL.Add(s);
  aq1.Open;
  while not aq1.Eof do
  begin
     with listview1.Items.Add do
     begin
     inc(examid);
     Caption:=inttostr(examid);
     subitems.Add(aq1.FieldValues['题目']);
     subitems.Add(aq1.FieldValues['题型']);
     subitems.Add(aq1.FieldValues['选项1']);
     subitems.Add(aq1.FieldValues['选项2']);
     subitems.Add(aq1.FieldValues['选项3']);
     subitems.Add(aq1.FieldValues['选项4']);
     subitems.Add(aq1.FieldValues['难度']);
     subitems.Add(aq1.FieldValues['分值']);
     subitems.Add(aq1.FieldValues['知识点']);
     end;
  aq1.Next;
  end;
end;
end;

procedure TF_brower_exam.ListView1ColumnClick(Sender: TObject;
  Column: TListColumn);
var
s:string;
begin
examid:=0;
s:='SELECT 试题表.题目 AS 题目,题型表.name AS 题型,';
s:=s+'选项1,选项2,选项3,选项4,难度,分值,RTRIM(知识点表.name)';
s:=s+'+''[''+RTRIM(知识点表.subname) + '']'' AS 知识点';
s:=s+' FROM 用户作答表 INNER JOIN 试题表';
s:=s+' ON 用户作答表.题号=试题表.试题号 INNER JOIN';
s:=s+' 题型表 ON 试题表.题型=题型表.id INNER JOIN';
S:=S+' 知识点表 ON 试题表.知识点=知识点表.ID';
S:=S+' WHERE 用户作答表.试卷号='+inttostr(examid);
if trim(column.Caption)='题目' then
s:=s+' ORDER BY 题目'
else if trim(column.Caption)='选项A' then
s:=s+' ORDER BY 选项1'
else if trim(column.Caption)='选项B' then
s:=s+' ORDER BY 选项2'
else if trim(column.Caption)='选项C' then
s:=s+' ORDER BY 选项3'
else if trim(column.Caption)='选项D' then
s:=s+' ORDER BY 选项4'
else if trim(column.Caption)='难度' then
s:=s+' ORDER BY 难度'
else if trim(column.Caption)='分值' then
s:=s+' ORDER BY 分值'
else if trim(column.Caption)='知识点' then
s:=s+' ORDER BY 知识点'
else
s:=s+' ORDER BY 题型表.id,试题表.试题号';
listview1.Items.Clear;
with main.DataModule2 do
begin
  aq1.Close;
  aq1.SQL.Clear;
  aq1.SQL.Add(s);
  aq1.Open;
  while not aq1.Eof do
  begin
     with listview1.Items.Add do
     begin
     if trim(column.Caption) = '题号' then
     begin
     inc(examid);
     Caption:=inttostr(examid);
     end
     else
     caption:='无';
     subitems.Add(aq1.FieldValues['题目']);
     subitems.Add(aq1.FieldValues['题型']);
     subitems.Add(aq1.FieldValues['选项1']);
     subitems.Add(aq1.FieldValues['选项2']);
     subitems.Add(aq1.FieldValues['选项3']);
     subitems.Add(aq1.FieldValues['选项4']);
     subitems.Add(aq1.FieldValues['难度']);
     subitems.Add(aq1.FieldValues['分值']);
     subitems.Add(aq1.FieldValues['知识点']);
     end;
  aq1.Next;
  end;
end;


end;

procedure TF_brower_exam.ListView1DblClick(Sender: TObject);
var
s,ss:string;
begin
s:='题号:'+listview1.Selected.Caption+#13+#10;
if length(listview1.Selected.SubItems[0])>80 then
ss:=leftstr(listview1.Selected.SubItems[0],80)+'...'
else
ss:=listview1.Selected.SubItems[0];
s:=s+'题目:'+ss+#13+#10;
s:=s+'题型:'+listview1.Selected.SubItems[1]+#13+#10;
s:=s+'选项A:'+listview1.Selected.SubItems[2]+#13+#10;
s:=s+'选项B:'+listview1.Selected.SubItems[3]+#13+#10;
s:=s+'选项C:'+listview1.Selected.SubItems[4]+#13+#10;
s:=s+'选项D:'+listview1.Selected.SubItems[5]+#13+#10;
s:=s+'难度:'+listview1.Selected.SubItems[6]+#13+#10;
s:=s+'分值:'+listview1.Selected.SubItems[7]+#13+#10;
s:=s+'知识点:'+listview1.Selected.SubItems[8];
messagedlg(s,mtinformation,[mbok],0);
end;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -