zoukankan      html  css  js  c++  java
  • StarkSoft题库管理系统

    一、功能介绍
        1、自定义试题库管理系统目录、难易程度,题型,知识库等。
        2、试题录入。
        3、强大的试题编辑功能,并与通常应用编辑工具有共通。
        4、灵活的试卷构造功能,用户可自定义试卷标题、试题分类,试题数量、总分、试题难度系数等。
        5、人工生成试卷和自动生成试卷文档格式标准通用。能够合理使用,有效再编辑,保存,方便浏览和打印输出。
        6、题库管理,可以随时分散和集中管理题库数据。
    二、菜单功能
        1、基础数据维护:试题分类设置;题型设置;难易程度;知识点库设置
        2、题库管理:试题录入
        3、试卷管理:人工生成试卷;自动生成试卷;试卷库管理

    登录界面:

    主界面:

    试题科目设置:

    题型设置:

    .

    试题程度设置:

    知识点设置:

    试题录入:

    人工生成试卷:

    自动生成试卷:

    自动生成试卷:

    试题库管理:

    生成试卷预览生成试卷预览代码:
    /// <summary>
            /// 生成试卷预览
            /// </summary>
            private void PreviewPapaer()
            {
                tabControl1.SelectedTabIndex = 1;//调整到预览选项卡
                richTextBox3.Clear();
                richTextBox4.Clear();
    
                try
                {
                    //1.试卷名称、标题
                    string sjtm = txtSjName.Text.Trim();
                    richTextBox3.AppendText(sjtm + "
    
    ");//试卷名称
                    richTextBox3.Select(0, sjtm.Length);//选中范围
                    richTextBox3.SelectionAlignment = HorizontalAlignment.Center;//居中
                    ChangeFontSize(14, richTextBox3);//设置字体
                    ChangeFont("宋体", richTextBox3);//设置字体大小
    
                    string sjtitle = txtSjTitle.Text.Trim();
                    richTextBox3.AppendText(sjtitle + "
    
    ");//试卷标题        
                    richTextBox3.Select(sjtm.Length, sjtitle.Length);//选中范围
                    richTextBox3.SelectionAlignment = HorizontalAlignment.Center;//居中
                    ChangeFontSize(12, richTextBox3);//设置字体
                    ChangeFont("宋体", richTextBox3);//设置字体大小
    
                    string answername = sjtm + "参考答案";
                    richTextBox4.AppendText(answername + "
    ");//答案试卷名称
                    richTextBox4.Select(0, answername.Length);//选中范围
                    richTextBox4.SelectionAlignment = HorizontalAlignment.Center;//居中
                    ChangeFontSize(14, richTextBox4);//设置字体
                    ChangeFont("宋体", richTextBox4);//设置字体大小
    
                    //2.写入题型(一、单选题 二、多选题......)
                    int xh = 0;
                    DataTable dt = DataBaseAccess.GetDataTable("select * from base_tx order by sort");
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        int txid = Convert.ToInt32(dt.Rows[i]["id"]);//题型ID
    
                        //datatable表中数据按sort排序
                        DataRow[] rows = dtxz.Select("xztxid=" + txid, "xzsort asc");
                        DataTable dttemp = dtxz.Clone();
                        dttemp.Clear();
                        foreach (DataRow dr2 in rows)
                        {
                            dttemp.Rows.Add(dr2.ItemArray);
                        }
    
                        if (dttemp.Rows.Count != 0)//判断该类型是否选择了题目
                        {
                            xh = xh + 1;
                            richTextBox3.SelectionStart = richTextBox3.Rtf.Length;//选中richTextBox3的标题换行后新的行开头    
                            ChangeFontSize(13, richTextBox3);//设置字体
                            ChangeFont("宋体", richTextBox3);//设置字体大小                  
                            string txmc = PublicStaticFun.NumberToChinese((xh).ToString()) + "" + dt.Rows[i]["name"].ToString();
                            richTextBox3.AppendText(txmc + dt.Rows[i]["contents"] + "
    ");//添加题型号(大写)
                            richTextBox4.AppendText(txmc + "
    ");//添加答案题型号(大写)
    
                            //循环读出题目内容、答案
                            for (int k = 0; k < dttemp.Rows.Count; k++)
                            {
                                //3.写入试题号(1、...)
                                richTextBox3.AppendText((k + 1) + "");//题目
                                richTextBox4.AppendText((k + 1) + "");//答案
    
                                string sqlstr = @"select * from base_st where id=" + dttemp.Rows[k]["xzstid"] + "";
                                DataTable dtst = DataBaseAccess.GetDataTable(sqlstr);
                                //4.获取每题目、答案内容
                                //获取题目内容
                                if (dtst.Rows[0]["contents"].ToString() != "")
                                {
                                    byte[] bWrite = (byte[])dtst.Rows[0]["contents"];//从数据库中读出数据
                                    //MemoryStream mstream = new MemoryStream(bWrite, false);//将数组转换成stream
                                    string contents = System.Text.Encoding.UTF8.GetString(bWrite, 0, bWrite.Length);
                                    richTextBox3.SelectedRtf = contents;//关键 数据库中题目内容(rtf格式)
                                }
                                //获取答案内容
                                if (dtst.Rows[0]["answer"].ToString() != "")
                                {
                                    byte[] bWrite2 = (byte[])dtst.Rows[0]["answer"];//从数据库中读出数据
                                    string anwer = System.Text.Encoding.UTF8.GetString(bWrite2, 0, bWrite2.Length);
                                    richTextBox4.SelectedRtf = anwer;
                                }
    
                                
                            }
                        }
                        //换一类题型空一行
                        richTextBox3.AppendText("
    ");
                        richTextBox4.AppendText("
    ");     
                    }
                }
                catch (Exception ex)
                {
                    MessageBoxEx.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                //CreateWordFile(@"F:1.doc");
            }

    完整源代码下载:http://www.51aspx.com/Code/StarkSoftExam

  • 相关阅读:
    SAP库存账龄分析报表
    elasticsearch 同义词配置搜索
    elasticsearch 上下文
    git 修改源路径 修改项目地址
    intellij IDEA 无限试用
    Kubernetes 安装Redis集群
    helm安装ingress
    安装Helm
    Kubernetes Rook + Ceph
    GIT 将工作区恢复到上次提交的内容 commit your changes or stash them before you can merge Your local changes to the following files would be overwritten by merge
  • 原文地址:https://www.cnblogs.com/starksoft/p/3832448.html
Copyright © 2011-2022 走看看