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

📄 系统程序文挡2.txt

📁 试卷生成系统 delphi 试卷生成系统 试卷生成系统
💻 TXT
📖 第 1 页 / 共 2 页
字号:
var
  tianchong: Ttianchong; //填充试题窗体 

implementation

{$R *.dfm}

procedure Ttianchong.tjClick(Sender: TObject); //添加试题提交
var
xk,tk:string;
begin
tianchong.SQL.Clear ;
if (timu.Text <>'') and (xuana.Text <>'') and (xuanb.Text <>'') and (xuanc.Text <>'') and (xuand.Text <>'') then
 begin
 if kecheng.Text ='外语' then
   begin
    xk:='外语选择题库';
    tianchong.SQL.Add('select * from 外语选择题库');
   end
 else
   begin
    xk:='线性代数选择题库';
    tianchong.SQL.Add('select * from 线性代数选择题库');
   end;

   tianchong.Open;
   tino.Caption :=inttostr(tianchong.RecordCount+1);
   tianchong.SQL.Clear ;
   tianchong.SQL.Add('insert into '+xk+' (题号,题型,题目,选项A,选项B,选项C,选项D,正确答案,所属课程,是否选中) values(:no,:tx,:tm,:xa,:xb,:xc,:xd,:daan,:kecheng,'+''''+'false'+''''+')');
   tianchong.ParamByName('no').AsString :=tino.Caption ;
   tianchong.ParamByName('tx').AsString :='选择题';
   tianchong.ParamByName ('tm').AsString :=timu.Text ;
   tianchong.ParamByName ('xa').AsString :=xuana.Text ;
   tianchong.ParamByName ('xb').AsString :=xuanb.Text ;
   tianchong.ParamByName ('xc').AsString :=xuanc.Text ;
   tianchong.ParamByName ('xd').AsString :=xuand.Text;
   tianchong.ParamByName ('daan').AsString :=daan.text;
   tianchong.ParamByName ('kecheng').AsString :=kecheng.Text ;
   tianchong.ExecSQL ; //添加选择题
   timu.Text :='';
   xuana.Text :='';
   xuanb.Text:='';
   xuanc.Text:='';
   xuand.Text:='';
   timu.SetFocus ;
   if kecheng.Text ='外语' then
   begin
    tianchong.SQL.Clear ;
    xk:='外语选择题库';
    tianchong.SQL.Add('select * from 外语选择题库');
   end
 else
   begin
    tianchong.SQL.Clear ;
    xk:='线性代数选择题库';
    tianchong.SQL.Add('select * from 线性代数选择题库');
   end;

   tianchong.Open;
   tino.Caption :=inttostr(tianchong.RecordCount+1);

 end
 else
 showmessage('请将试题信息填写完整');
end;
procedure Ttianchong.FormActivate(Sender: TObject);
var
xk:string;
begin

tianchong.SQL.Clear ;
if kecheng.Text ='外语' then
   begin
    xk:='外语选择题库';
    tianchong.SQL.Add('select * from 外语选择题库');
   end
 else
   begin
    xk:='线性代数选择题库';
    tianchong.SQL.Add('select * from 线性代数选择题库');
   end;

   tianchong.Open;
   tino.Caption :=inttostr(tianchong.RecordCount+1);
   //初始化填空题号
   tianchong.SQL.Clear ;
if kecheng.Text ='外语' then
   begin
    xk:='外语填空题库';
    tianchong.SQL.Add('select * from 外语填空题库');
   end
 else
   begin
    xk:='线性代数填空题库';
    tianchong.SQL.Add('select * from 线性代数填空题库');
   end;

   tianchong.Open;
   tinot.Caption :=inttostr(tianchong.RecordCount+1);
   // 初始化完毕
   end;

procedure Ttianchong.BitBtn2Click(Sender: TObject);
var
xk,tk:string;
begin
tianchong.SQL.Clear ;
if k1.Text <>'' then //记录填空题空数
 k1.Tag:=k1.Tag+1;
if k2.text<>'' then
 k1.Tag:=k1.Tag+1;
if k3.text<>'' then
 k1.Tag:=k1.Tag+1;
if k4.text<>'' then
 k1.Tag:=k1.Tag+1;
if inttostr(k1.tag)=kongshu.Text then
 begin
if (timut.Text <>'') and not ((k1.Text ='?') and (k2.Text ='?') and (k3.Text ='?') and (k4.Text ='?')) then
 begin
 if kechengt.Text ='外语' then
   begin
    tk:='外语填空题库';
    tianchong.SQL.Add('select * from 外语填空题库');
   end
 else
   begin
    tk:='线性代数填空题库';
    tianchong.SQL.Add('select * from 线性代数填空题库');
   end;

   tianchong.Open;
   tinot.Caption :=inttostr(tianchong.RecordCount+1);
   tianchong.SQL.Clear ;
   tianchong.SQL.Add('insert into '+tk+' (题号,题型,题目,空1,空2,空3,空4,填空数目,所属课程,是否选中) values(:no,:tx,:tm,:xa,:xb,:xc,:xd,:ts,:kecheng,'+''''+'false'+''''+')');
   tianchong.ParamByName('no').AsString :=tinot.Caption ;
   tianchong.ParamByName('tx').AsString :='填空';
   tianchong.ParamByName ('tm').AsString :=timut.Text ;
   if k1.text='' then
     tianchong.ParamByName ('xa').AsString :='?'
   else
     tianchong.ParamByName ('xa').AsString :=k1.Text ;
   if k2.Text ='' then
     tianchong.ParamByName ('xb').AsString :='?'
    else
     tianchong.ParamByName ('xb').AsString :=k2.Text ;
   if k3.Text ='' then
     tianchong.ParamByName ('xc').AsString :='?'
   else
     tianchong.ParamByName ('xc').AsString :=k3.Text ;
   if k4.Text ='' then
     tianchong.ParamByName ('xd').AsString :='?'
   else
     tianchong.ParamByName ('xd').AsString :=k4.Text;
   tianchong.ParamByName ('ts').AsString :=kongshu.text;
   tianchong.ParamByName ('kecheng').AsString :=kechengt.Text ;
   tianchong.ExecSQL ; //添加填空题
   timut.Text :='';
   if kechengt.Text ='外语' then
   begin
    tianchong.SQL.Clear ;
    xk:='外语填空题库';
    tianchong.SQL.Add('select * from 外语填空题库');
   end
 else
   begin
    tianchong.SQL.Clear ;
    xk:='线性代数填空题库';
    tianchong.SQL.Add('select * from 线性代数填空题库');
   end;

   tianchong.Open;
   tinot.Caption :=inttostr(tianchong.RecordCount+1);
   k1.Text :='';
    k2.Text :='';
    k3.Text :='';
    k4.Text:='';
 end
 else
  showmessage('请将试题信息填写完整');
 end
 else
  begin
   showmessage('对不起!填空数目与实际空数不符,请查证!');

  end;
    k1.Tag:=0;

    timut.SetFocus ;
end;

procedure Ttianchong.kechengtChange(Sender: TObject);
begin
 if kechengt.Text ='外语' then
  begin
    tianchong.SQL.Clear ;
    tianchong.SQL.Add('select * from 外语填空题库');
    tianchong.Open; //查题库中试题数目
  end
 else
  begin
    tianchong.SQL.Clear ;
    tianchong.SQL.Add('select * from 线性代数填空题库');
    tianchong.Open;//查题库中试题数目
  end;
 tinot.Caption :=inttostr(tianchong.RecordCount+1);
end;

procedure Ttianchong.kechengChange(Sender: TObject);
begin
if kecheng.Text ='外语' then
  begin
    tianchong.SQL.Clear ;
    tianchong.SQL.Add('select * from 外语选择题库');
    tianchong.open;//查题库中试题数目
  end
 else
  begin
    tianchong.SQL.Clear ;
    tianchong.SQL.Add('select * from 线性代数选择题库');
    tianchong.open;//查题库中试题数目
  end;
 tino.Caption :=inttostr(tianchong.RecordCount+1);
end;

procedure Ttianchong.timutKeyPress(Sender: TObject; var Key: Char);
begin
 
 if key=#13 then  //提交添加题目
   BitBtn2Click(Sender);

end;

procedure Ttianchong.k1KeyPress(Sender: TObject; var Key: Char);
begin

  if key=#13 then
   BitBtn2Click(Sender);
end;

procedure Ttianchong.k2KeyPress(Sender: TObject; var Key: Char);
begin

 if key=#13 then
   BitBtn2Click(Sender);  
end;

procedure Ttianchong.k3KeyPress(Sender: TObject; var Key: Char);
begin

  if key=#13 then
   BitBtn2Click(Sender);  
end;

procedure Ttianchong.k4KeyPress(Sender: TObject; var Key: Char);
begin

   if key=#13 then
   BitBtn2Click(Sender);
end;

procedure Ttianchong.timuKeyPress(Sender: TObject; var Key: Char);
begin
 
 if key=#13 then
  tjClick(Sender);
end;

procedure Ttianchong.xuanaKeyPress(Sender: TObject; var Key: Char);
begin

 if key=#13 then
  tjClick(Sender);
end;

procedure Ttianchong.xuanbKeyPress(Sender: TObject; var Key: Char);
begin

 if key=#13 then
  tjClick(Sender);
end;

procedure Ttianchong.xuancKeyPress(Sender: TObject; var Key: Char);
begin

 if key=#13 then
  tjClick(Sender); 
end;

procedure Ttianchong.xuandKeyPress(Sender: TObject; var Key: Char);
begin

 if key=#13 then
  tjClick(Sender); 
end;

procedure Ttianchong.kongshuKeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
   BitBtn2Click(Sender);
end;

procedure Ttianchong.daanKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
  tjClick(Sender);
end;

⌨️ 快捷键说明

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