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

📄 u_stlr.pas

📁 试卷管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:

     tbl_stk.FieldByName('gwzlxh').AsInteger:=integer(combo_gwzl.Items.Objects[combo_gwzl.ItemIndex]);
     tbl_stk.FieldByName('khdxxh').AsInteger:=integer(combo_khdx.Items.Objects[combo_khdx.ItemIndex]);
     tbl_stk.FieldByName('txxh').AsInteger:=integer(combo_sttx.Items.Objects[combo_sttx.ItemIndex]);

     tbl_stkTMIFWB.AsBoolean:=CheckBox1.Checked;
     tbl_stkDAIFWB.AsBoolean:=CheckBox2.Checked;

     if RadioGroup1.ItemIndex=0 then
       tbl_stkZWCD.Value:=true
     else
       tbl_stkZWCD.Value:=false;

     tbl_stkWBTM.AsString:=memo1.Text;

     if OleContainer1.State<>OsEmpty then
     begin
       olestream:=Tstringstream.Create('');
       olecontainer1.savetostream(olestream);
       if olestream.Size>0 then
       begin
         olestream.position:=0;
         tbl_stkTWTM.AsString:=olestream.DataString;
       end
       else
         tbl_stkTWTM.AsString:='';
       olestream.Free;
     end
     else
         tbl_stkTWTM.AsString:='';


     tbl_stkWBDA.AsString:=memo2.Text;

     if olecontainer2.State<>OsEmpty then
     begin
       olestream:=Tstringstream.Create('');
       olecontainer2.savetostream(olestream);
       if olestream.Size>0 then
       begin
         olestream.position:=0;
         tbl_stkTWDA.AsString:=olestream.DataString;
       end
       else
         tbl_stkTWDA.AsString:='';
       olestream.Free;
     end
     else
         tbl_stkTWDA.AsString:='';

     tbl_stk.Post;

  end
  else
  if  tbl_stk.State=dsEdit	then
  begin
     if RadioGroup1.ItemIndex=0 then
       tbl_stkZWCD.Value:=true
     else
       tbl_stkZWCD.Value:=false;

     tbl_stkTMIFWB.AsBoolean:=CheckBox1.Checked;
     tbl_stkDAIFWB.AsBoolean:=CheckBox2.Checked;

     tbl_stkWBTM.AsString:=memo1.Text;

     if OleContainer1.State<>OsEmpty then
     begin
       olestream:=Tstringstream.Create('');
       olecontainer1.savetostream(olestream);
       if olestream.Size>0 then
       begin
         olestream.position:=0;
         tbl_stkTWTM.AsString:=olestream.DataString;
       end
       else
         tbl_stkTWTM.AsString:='';
       olestream.Free;
     end
     else
         tbl_stkTWTM.AsString:='';


     tbl_stkWBDA.AsString:=memo2.Text;

     if olecontainer2.State<>OsEmpty then
     begin
       olestream:=Tstringstream.Create('');
       olecontainer2.savetostream(olestream);
       if olestream.Size>0 then
       begin
         olestream.position:=0;
         tbl_stkTWDA.AsString:=olestream.DataString;
       end
       else
         tbl_stkTWDA.AsString:='';
       olestream.Free;
     end
     else
         tbl_stkTWDA.AsString:='';

     tbl_stk.Post;

  end;

  btn_insert.Enabled:=true;
  btn_edit.Enabled:=true;
  tbl_stkAfterScroll(tbl_stk);
end;

procedure Tfrm_stlr.tbl_stkAfterScroll(DataSet: TDataSet);
var
  blobstream:Tblobstream;
begin
  if outing then exit;
  if tbl_stk.RecordCount=0 then
  begin
    btn_first.Enabled:=false;
    btn_next.Enabled:=false;
    btn_last.Enabled:=false;
    btn_priror.Enabled:=false;

    btn_insert.Enabled:=true;

    btn_delete.Enabled:=false;
    btn_edit.Enabled:=false;
    btn_save.Enabled:=false;
    btn_cancel.Enabled:=false;

    memo1.Text:='';
    memo2.Text:='';

    if OleContainer1.State<>OsEmpty then
      OleContainer1.DestroyObject;
    if OleContainer2.State<>OsEmpty then
      OleContainer2.DestroyObject;

    exit;
  end;

  btn_first.Enabled:=true;
  btn_next.Enabled:=true;
  btn_last.Enabled:=true;
  btn_priror.Enabled:=true;

  btn_insert.Enabled:=true;
  btn_edit.Enabled:=true;
  btn_delete.Enabled:=true;

  btn_save.Enabled:=false;
  btn_cancel.Enabled:=false;

  memo1.Text:='';
  memo2.Text:='';

  if OleContainer1.State<>OsEmpty then
    OleContainer1.DestroyObject;
  if OleContainer2.State<>OsEmpty then
    OleContainer2.DestroyObject;

  if tbl_stkTMIFWB.AsBoolean then
  begin
    memo1.Visible:=true;
    olecontainer1.Visible:=false;

    CheckBox1.Checked:=true;
    memo1.Text:=tbl_stkWBTM.AsString;
  end
  else
  begin
    memo1.Visible:=false;
    olecontainer1.Visible:=true;

    CheckBox1.Checked:=false;
    olecontainer1.DestroyObject;
    blobStream := TBlobStream.Create(tbl_stkTWTM, bmRead);
    if blobStream.Size <> 0 then
    begin
      blobstream.position:=0;
      olecontainer1.loadfromstream(blobstream);
    end;
    blobStream.Free;
  end;

  if tbl_stkDAIFWB.AsBoolean then
  begin
    memo2.Visible:=true;
    olecontainer2.Visible:=false;

    CheckBox2.Checked:=true;
    memo2.Text:=tbl_stkWBDA.AsString;
  end
  else
  begin
    memo2.Visible:=false;
    olecontainer2.Visible:=true;

    CheckBox2.Checked:=false;
    olecontainer2.DestroyObject;
    blobStream := TBlobStream.Create(tbl_stkTWDA, bmRead);
    if blobStream.Size <> 0 then
    begin
      blobstream.position:=0;
      olecontainer2.loadfromstream(blobstream);
    end;
    blobStream.Free;
  end;

  if tbl_stkZWCD.Value then
    RadioGroup1.ItemIndex:=0
  else
    RadioGroup1.ItemIndex:=1;

end;

procedure Tfrm_stlr.btn_firstClick(Sender: TObject);
begin
  tbl_stk.First;
  btn_first.Enabled:=false;
  btn_priror.Enabled:=false;
  btn_next.Enabled:=true;
  btn_last.Enabled:=true;
end;

procedure Tfrm_stlr.btn_nextClick(Sender: TObject);
begin
  tbl_stk.Next;
  if tbl_stk.Eof then
  begin
    btn_first.Enabled:=true;
    btn_priror.Enabled:=true;
    btn_next.Enabled:=false;
    btn_last.Enabled:=false;
  end;
end;

procedure Tfrm_stlr.btn_prirorClick(Sender: TObject);
begin
  tbl_stk.Prior;
  if tbl_stk.Bof then
  begin
    btn_first.Enabled:=false;
    btn_priror.Enabled:=false;
    btn_next.Enabled:=true;
    btn_last.Enabled:=true;
  end;
end;

procedure Tfrm_stlr.btn_lastClick(Sender: TObject);
begin
  tbl_stk.Last;
  btn_first.Enabled:=true;
  btn_priror.Enabled:=true;
  btn_next.Enabled:=false;
  btn_last.Enabled:=false;
end;

procedure Tfrm_stlr.btn_cancelClick(Sender: TObject);
begin
  tbl_stk.Cancel;
  tbl_stkAfterScroll(tbl_stk);
end;

procedure Tfrm_stlr.btn_editClick(Sender: TObject);
begin
  btn_edit.Enabled:=false;
  tbl_stk.Edit;

  if not tbl_stkTMIFWB.AsBoolean then
  begin
    OleContainerOpen('1');
    OleContainer1.OleObject.Application.Selection.Font.Name := '宋体';
    OleContainer1.OleObject.Application.Selection.Font.Size := 14;

    If OleContainer1.OleObject.ActiveWindow.View.SplitSpecial = wdPaneNone Then
        OleContainer1.OleObject.ActiveWindow.ActivePane.View.Type := wdWebView
    Else
        OleContainer1.OleObject.ActiveWindow.View.Type := wdWebView ;

    OleContainer1.OleObject.ActiveWindow.ActivePane.DisplayRulers := false;
  end;

  if not tbl_stkDAIFWB.AsBoolean then
  begin
    OleContainerOpen('2');

    If OleContainer2.OleObject.ActiveWindow.View.SplitSpecial = wdPaneNone Then
        OleContainer2.OleObject.ActiveWindow.ActivePane.View.Type := wdWebView
    Else
        OleContainer2.OleObject.ActiveWindow.View.Type := wdWebView ;

    OleContainer2.OleObject.ActiveWindow.ActivePane.DisplayRulers := false;
    OleContainer2.OleObject.Application.Selection.Font.Name := '宋体';
    OleContainer2.OleObject.Application.Selection.Font.Size := 14;
  end;

  if not tbl_stkTMIFWB.AsBoolean then
  begin
    OleContainer1.DoVerb(ovShow);
  end;
  
  btn_save.Enabled:=true;
  btn_cancel.Enabled:=true;
end;

procedure Tfrm_stlr.OleContainerOpen(flag: string);
begin
  if flag='1' then
  begin
    if (olecontainer1.State=OsLoaded) and ((tbl_stk.State=dsInsert) or (tbl_stk.State=dsEdit)) then
       olecontainer1.DoVerb(ovOpen)
    else
    if olecontainer1.State=OsRunning then
      olecontainer1.DoVerb(ovShow)
    else
    if (olecontainer1.State=osEmpty) and ((tbl_stk.State=dsInsert) or (tbl_stk.State=dsEdit)) then
    begin
      olecontainer1.CreateObject('word.document',false);

      OleContainer1.DoVerb(ovOpen);
      OleContainer1.OleObject.Application.Selection.Font.Name := '宋体';
      OleContainer1.OleObject.Application.Selection.Font.Size := 14;
      If OleContainer1.OleObject.ActiveWindow.View.SplitSpecial = wdPaneNone Then
          OleContainer1.OleObject.ActiveWindow.ActivePane.View.Type := wdWebView
      Else
          OleContainer1.OleObject.ActiveWindow.View.Type := wdWebView ;

      OleContainer1.OleObject.ActiveWindow.ActivePane.DisplayRulers := false;
    end;
  end
  else
  if flag='2' then
  begin
    if (olecontainer2.State=OsLoaded) and ((tbl_stk.State=dsInsert) or (tbl_stk.State=dsEdit)) then
      olecontainer2.DoVerb(ovOpen)
    else
    if olecontainer2.State=OsRunning  then
     olecontainer2.DoVerb(ovShow)
    else
    if (olecontainer2.State=osEmpty) and ((tbl_stk.State=dsInsert) or (tbl_stk.State=dsEdit)) then
    begin
      olecontainer2.CreateObject('word.document',false);

      OleContainer2.DoVerb(ovOpen);
      OleContainer2.OleObject.Application.Selection.Font.Name := '宋体';
      OleContainer2.OleObject.Application.Selection.Font.Size := 14;
      If OleContainer2.OleObject.ActiveWindow.View.SplitSpecial = wdPaneNone Then
          OleContainer2.OleObject.ActiveWindow.ActivePane.View.Type := wdWebView
      Else
          OleContainer2.OleObject.ActiveWindow.View.Type := wdWebView ;

      OleContainer2.OleObject.ActiveWindow.ActivePane.DisplayRulers := false;
    end;
  end;
end;

procedure Tfrm_stlr.btn_deleteClick(Sender: TObject);
begin
  if MessageBox(Handle,'确实要删除此试题吗?','试题管理',MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON2)=IDYES  then
  begin
    tbl_stk.Delete;
  end;
end;

procedure Tfrm_stlr.BitBtn2Click(Sender: TObject);
begin
  close;
end;

procedure Tfrm_stlr.BitBtn1Click(Sender: TObject);
var
  Save_Cursor:TCursor;
  v1,v2,v3,wDoc1,wDoc2,wDoc:OleVariant;
  strfrom,strto1,strto2:string;
  i,k:integer;
  blobstream:Tblobstream;
begin
  if combo_gwzl.ItemIndex=-1 then exit;
  if combo_khdx.ItemIndex=-1 then exit;

  Query1.Close;
  Query1.SQL.Text:='select zyxh from stkdb where zyxh=:zyxh and gwlbxh=:gwlbxh'
                 + ' and gwzlxh=:gwzlxh and khdxxh=:khdxxh';
  Query1.ParamByName('zyxh').AsInteger:=integer(combo_zy.Items.Objects[combo_zy.ItemIndex]);
  Query1.ParamByName('gwlbxh').AsInteger:=integer(combo_gwlb.Items.Objects[combo_gwlb.ItemIndex]);
  Query1.ParamByName('gwzlxh').AsInteger:=integer(combo_gwzl.Items.Objects[combo_gwzl.ItemIndex]);
  Query1.ParamByName('khdxxh').AsInteger:=integer(combo_khdx.Items.Objects[combo_khdx.ItemIndex]);
  Query1.Open;

  k:=Query1.RecordCount;
  if k=0 then
  begin
   MessageBox(Handle,'本岗位试题为空!','试题管理',MB_OK+MB_ICONINFORMATION);
   exit;

⌨️ 快捷键说明

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