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 + "\r\n\n");//試卷名稱
                richTextBox3.Select(0, sjtm.Length);//選中范圍
                richTextBox3.SelectionAlignment = HorizontalAlignment.Center;//居中
                ChangeFontSize(14, richTextBox3);//設置字體
                ChangeFont("宋體", richTextBox3);//設置字體大小

                string sjtitle = txtSjTitle.Text.Trim();
                richTextBox3.AppendText(sjtitle + "\r\n\n");//試卷標題        
                richTextBox3.Select(sjtm.Length, sjtitle.Length);//選中范圍
                richTextBox3.SelectionAlignment = HorizontalAlignment.Center;//居中
                ChangeFontSize(12, richTextBox3);//設置字體
                ChangeFont("宋體", richTextBox3);//設置字體大小

                string answername = sjtm + "參考答案";
                richTextBox4.AppendText(answername + "\r\n");//答案試卷名稱
                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"] + "\r\n");//添加題型號(大寫)
                        richTextBox4.AppendText(txmc + "\r\n");//添加答案題型號(大寫)

                        //循環讀出題目內容、答案
                        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("\r\n");
                    richTextBox4.AppendText("\r\n");     
                }
            }
            catch (Exception ex)
            {
                MessageBoxEx.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            //CreateWordFile(@"F:\1.doc");
        }

 

完整源代碼下載:http://www.51aspx.com/Code/StarkSoftExam


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM