/// <summary> /// 進級結果并輸出進級名單porm_list /// </summary> /// <param name="si_id"></param> /// <param name="s_item"></param> /// <param name="rcx"></param> /// <param name="p_si_id"></param> /// <param name="p_s_item"></param> /// <param name="p_rcx"></param> /// <param name="conn"></param> /// <param name="porm_list">進級名單porm_list</param> /// <param name="file_name"></param> /// <param name="pGR"></param> public RC_Prom_Html_Output(string si_id,string s_item,string rcx,string p_si_id,string p_s_item,string p_rcx,OdbcConnection conn,out List<string> porm_list,string file_name,iGR pGR):base(si_id,s_item,rcx,conn,file_name,pGR) { int p_cnt = 0; if (p_s_item.Contains("(初賽)")) p_cnt = group_p_cnt * 4; if (p_s_item.Contains("(複賽)")) p_cnt = group_p_cnt * 2; if (p_s_item.Contains("(決賽)")) p_cnt = group_p_cnt; MPPFORM.InputStrBox inputtxt = new MPPFORM.InputStrBox("進級人數:",p_cnt.ToString()); if (inputtxt.ShowDialog() == System.Windows.Forms.DialogResult.OK) { int out_int=p_cnt; if (int.TryParse(inputtxt.textbox_str, out out_int)) { p_cnt = out_int; System.Windows.Forms.MessageBox.Show("人數修改為:" + p_cnt); } else { System.Windows.Forms.MessageBox.Show("數字格式錯誤:"+inputtxt.textbox_str+" 使用默認值:"+p_cnt); } } StreamWriter sw = new StreamWriter(html_filename, false, Encoding.Default); if (file_name.ToLower().Contains(".htm")) { sw.WriteLine(RC_Html_EXCEL_TAG.html_head); } else { sw.WriteLine(RC_Html_EXCEL_TAG.EXCEL_HEAD); } sw.WriteLine("<B><center>成績公告<br>{0}</center></b>", s_item); sw.WriteLine("<table border=1 width=100%><tr>{0}",TH_STR()); string[] f_ar = fieldnames.Split(','); using (OdbcDataReader dr = new OdbcCommand(String.Format("select rc_id,{0} from sport_rc where si_id='{1}' order by rc;", fieldnames, si_id), conn).ExecuteReader()) { DataTable dt = new DataTable(); dt.Columns.Add("rc_key"); dt.Columns.Add("rc_id"); foreach (string s in f_ar) dt.Columns.Add(s); while (dr.Read()) { DataRow d_row=dt.NewRow(); string key = null; if (dr["rc"].ToString().Trim() == "" ) { key = "NULL"; } else if (dr["note"].ToString().Contains("GR") || dr["note"].ToString() == "") { key = String.Format("{0}-{1}", dr["rc"], dr["rc_id"]); } else { key = String.Format("{0}-{1}-{2}", dr["note"], dr["rc"], dr["rc_id"]); } d_row["rc_key"] = key; for (int i = 0; i < dr.FieldCount; i++) d_row[dr.GetName(i)] = dr[i]; d_row["grk"] = d_row["rank"]; dt.Rows.Add(d_row); } DataView dv =dt.DefaultView; dv.Sort = "rc_key"; int drv_cnt = 0; porm_list = new List<string>(); string[] porm_road_s=null; if(group_p_cnt==7) { porm_road_s= new String[]{ ",4;,5;,3;,6;,2;,7;,8", "二,4;一,4;一,5;二,5;二,3;一,3;一,6;二,6;二,2;一,2;二,7;一,7;一,8;二,8" }; }else if(group_p_cnt==6) { porm_road_s = new String[] { ",4;,5;,3;,6;,2;,7;,8", "二,4;一,4;一,5;二,5;二,3;一,3;一,6;二,6;二,2;一,2;二,7;一,7;一,8;二,8" }; } else { porm_road_s =new String[]{",4;,5;,3;,6;,2;,1;,7;,8","二,4;一,4;一,5;二,5;二,3;一,3;一,6;二,6;二,2;一,2;一,1;二,1;二,7;一,7;一,8;二,8", "三,4;二,4;一,4;一,5;二,5;三,5;三,3;二,3;一,3;一,6;二,6;三,6;三,2;二,2;一,2;一,1;二,1;三,1;一,7;二,7;三,7;一,8;二,8;三,8", "四,4;三,4;二,4;一,4;一,5;二,5;三,5;四,5;四,3;三,3;二,3;一,3;一,6;二,6;三,6;四,6;四,2;三,2;二,2;一,2;一,1;二,1;三,1;四,1;四,7;三,7;二,7;一,7;一,8;二,8;三,8;四,8" }; } int temp_ = p_cnt / group_p_cnt - 1; if (temp_ < 0) temp_ = 0; string[] porm_road=porm_road_s[temp_].Split(';'); foreach (DataRowView drv in dv) { drv_cnt++; sw.WriteLine("<tr>"); if (drv["rank"].ToString().Trim() != "") { sw.Write("<td>{0} ", drv_cnt); } else { sw.Write("<td> "); } for (int j = 5; j < dv.Table.Columns.Count; j++) { sw.Write("<td colspan={0}>{1} ", colspan_ar[j-4],drv[j]); } if (drv_cnt <= p_cnt) { sw.Write("Q"); porm_list.Add(string.Format("{0},{1},{2}", p_si_id, porm_road[(drv_cnt - 1)],drv["rc_id"])); } } } sw.WriteLine("</table><br><br>"); sw.WriteLine(GR_STR(si_id,conn,rcx)); sw.WriteLine(RC_Html_EXCEL_TAG.EXCEL_END); sw.Flush(); sw.Close(); sw.Dispose(); }
static void Main(string[] args) { FileInfo finfo0 = new FileInfo(initxt); if (finfo0.Exists) { using (StreamReader file = new StreamReader(initxt, Encoding.Default)) { Conn_Str = file.ReadToEnd().Replace("\r","").Replace("\n",""); } } else { Console.WriteLine("error not db_config.txt"); return; } String[] f1 = {"男A","男B","男C","男D","女A","女B","女C","女D"}; String[] f2 = {"男子A","男子B","男子C","男子D","女子A","女子B","女子C","女子D"}; Object[] o = new Object[8]; o[0] = new List<String>(); o[1] = new List<String>(); o[2] = new List<String>(); o[3] = new List<String>(); o[4] = new List<String>(); o[5] = new List<String>(); o[6] = new List<String>(); o[7] = new List<String>(); OdbcConnection conn = new OdbcConnection(Conn_Str); conn.Open(); { String sql = "select s_item,rank, name ,classno ,rc,note from sport_rc a inner join sport_item b on a.si_id=b.si_id where lock_item=1 and trim(rank) in ('1','2','3') order by s_item,rank"; OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader(); Console.WriteLine("<Table>"); for (int i = 0; i < dr.FieldCount; i++) { Console.Write(dr.GetName(i)); Console.Write("\t"); } Console.WriteLine(); while (dr.Read()) { if (dr[0].ToString().Contains("初") || dr[0].ToString().Contains("複")) { } else { for(int j=0;j<f1.Length;j++){ if (dr[0].ToString().Contains(f1[j]) || dr[0].ToString().Contains(f2[j])) { String line0 = ""; for (int i = 0; i < dr.FieldCount; i++) { line0+=dr[i].ToString()+"\t"; } List<String> li = (List<string>)o[j]; li.Add(line0); } } } } } { String sql = "select f_item,rank,classno,name,rc,note from field_rc a inner join field_item b on a.fi_id=b.fi_id where lock_item=1 and trim(rank) in ('1','2','3') and rc >'' order by f_item,rank"; OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader(); for (int i = 0; i < dr.FieldCount; i++) { Console.Write(dr.GetName(i)); Console.Write("\t"); } Console.WriteLine(); while (dr.Read()) { if (dr[0].ToString().Contains("初") || dr[0].ToString().Contains("複")) { } else { for(int j=0;j<f1.Length;j++){ if (dr[0].ToString().Contains(f1[j]) || dr[0].ToString().Contains(f2[j])) { String line0 = ""; for (int i = 0; i < dr.FieldCount; i++) { line0 += dr[i].ToString() + "\t"; } List<String> li = (List<string>)o[j]; li.Add(line0); } } } } conn.Close(); for (int i = 0; i < f1.Length; i++) { List<string> li =(List<String>) o[i]; foreach (String s in li) { Console.WriteLine(s); } } // Console.Read(); } }
public RC_Html_Print(string si_id, string s_item, string rcx, OdbcConnection conn,string file_name,iGR pGR) : base(si_id, s_item, rcx,conn,file_name,pGR) { // html_filename = Basic_HTB_Info.baseFilePath + "\\temp\\" + String.Format("{0}_{1}.htm", si_id, s_item); StreamWriter sw = new StreamWriter(html_filename,false,Encoding.GetEncoding(950)); if (file_name.ToLower().Contains(".htm")) { sw.WriteLine(RC_Html_EXCEL_TAG.html_head); } else { sw.WriteLine(RC_Html_EXCEL_TAG.EXCEL_HEAD); } sw.WriteLine("<B><center>成績公告<br>{0}</center></b>",s_item); sw.WriteLine("<table border=1 width=100%><tr>{0}",TH_STR()); string gr_out_str=GR_STR(si_id, conn,rcx); int group_cnt = 0; using (OdbcDataReader dr = new OdbcCommand(String.Format("select rc_id,{0} from sport_rc where si_id='{1}' order by group_id,road;", fieldnames, si_id), conn).ExecuteReader()) { string group_str = null; bool group_flag=false; for(int i=0;i<dr.FieldCount;i++) if(dr.GetName(i)=="group_id"){group_flag=true;break;} while (dr.Read()) { if (group_flag) { if (group_str == null) group_str = dr["group_id"].ToString(); if (group_str != dr["group_id"].ToString()) { sw.WriteLine("</table><br>"); group_str = dr["group_id"].ToString(); group_cnt++; if (group_cnt % 2 == 0) { sw.WriteLine(gr_out_str); sw.WriteLine("<br class=break>"); sw.WriteLine("<B><center>成績公告<br>{0}</center></b>", s_item); } sw.WriteLine("<table border=1 width=100%><tr>{0}",TH_STR()); } } sw.Write( "<tr>"); for(int i=3; i<dr.FieldCount;i++) sw.Write("<td colspan={0}>{1} ",colspan_ar[i-3], dr[i]); } } sw.WriteLine("</table><br><br>"); sw.WriteLine(gr_out_str); sw.WriteLine(RC_Html_EXCEL_TAG.EXCEL_END); sw.Flush(); sw.Close(); sw.Dispose(); }
public override void Set_TablePanel_TextBox_ForData(TableLayoutPanel tablePanel, string feildnames, string si_id, OdbcConnection conn) { TB_ARR=new TextBox[tablePanel.ColumnCount,tablePanel.RowCount]; db_conn = conn; String c_fieldnames = "名\n次,次\n序,比賽\n號,姓名,班級,"; c_fieldnames += "h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16,"; c_fieldnames += "成績,備註"; String[] s_ar = c_fieldnames.Split(','); string hxsql = string.Format("select h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16 from field_item where fi_id={0} ;", si_id); using (OdbcDataReader hxdr= new OdbcCommand(hxsql, conn).ExecuteReader()) { hxdr.Read(); for (int c_i = 0; c_i < tablePanel.ColumnCount; c_i++) { if (s_ar[c_i][0] == 'h') { System.Windows.Forms.TextBox lb = new System.Windows.Forms.TextBox(); lb.Name=String.Format("fieldname_{0}_{1}", s_ar[c_i], si_id); lb.Text = hxdr[s_ar[c_i]].ToString(); lb.TextAlign = HorizontalAlignment.Right; lb.TextChanged += hx_changed; tablePanel.Controls.Add(lb, c_i, 0); TB_ARR[c_i, 0] = lb; } else { System.Windows.Forms.Label lb = new System.Windows.Forms.Label(); lb.Text = s_ar[c_i]; tablePanel.Controls.Add(lb, c_i, 0); } } } string sql = string.Format("select frc_id,{0} from field_rc where fi_id={1} order by BIT_LENGTH( s_number),s_number;", feildnames, si_id); int r_i = 1; Font fnt = new Font("標楷體", 10); using (OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader()) { while (dr.Read()) { string rc_id = dr[0].ToString(); int min_int = tablePanel.ColumnCount; if (dr.FieldCount - 3 < min_int) min_int = dr.FieldCount - 3; for (int i = 0; i < min_int; i++) { if (dr.GetName(i + 3) == "rank" || dr.GetName(i + 3) == "rc" || dr.GetName(i + 3) == "grk" || dr.GetName(i + 3) == "note") { TextBox tb = new TextBox(); tb.TextAlign = HorizontalAlignment.Right; tb.Font = fnt; tb.Name = String.Format("{0}_{1}", dr.GetName(i + 3), rc_id); tb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(tb, i, r_i); TB_ARR[i, r_i] = tb; } else if (dr.GetName(i + 3)[0] == 'h') { TextBox tb = new TextBox(); tb.TextAlign = HorizontalAlignment.Left; tb.Font = fnt; tb.MaxLength = 3; tb.Name = String.Format("{0}_{1}", dr.GetName(i + 3), rc_id); tb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(tb, i, r_i); TB_ARR[i, r_i] = tb; } else { TextBox lb = new TextBox(); lb.ReadOnly = true; lb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(lb, i, r_i); } } r_i++; } } }
public virtual void Set_TablePanel_TextBox_ForData(TableLayoutPanel tablePanel, string feildnames, string si_id, OdbcConnection conn) { TB_ARR=new TextBox[tablePanel.ColumnCount,tablePanel.RowCount]; string sql = string.Format("select frc_id,{0} from field_rc where fi_id={1} order by BIT_LENGTH( s_number),s_number;", feildnames, si_id); int r_i = 1; Font fnt = new Font("標楷體", 10); using (OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader()) { while (dr.Read()) { string rc_id = dr[0].ToString(); int min_int = tablePanel.ColumnCount; if (dr.FieldCount - 3 < min_int) min_int = dr.FieldCount - 3; for (int i = 0; i < min_int; i++) { if (dr.GetName(i + 3) == "rank" || dr.GetName(i + 3) == "rc" || dr.GetName(i + 3) == "grk" || dr.GetName(i + 3) == "note") { TextBox tb = new TextBox(); tb.TextAlign = HorizontalAlignment.Right; tb.Font = fnt; tb.Name = String.Format("{0}_{1}", dr.GetName(i + 3), rc_id); tb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(tb, i, r_i); TB_ARR[i, r_i] = tb; } else if (dr.GetName(i + 3)[0] == 'h' || dr.GetName(i + 3)[0] == 'b') { TextBox tb = new TextBox(); tb.TextAlign = HorizontalAlignment.Right; tb.Font = fnt; tb.Name = String.Format("{0}_{1}", dr.GetName(i + 3), rc_id); tb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(tb, i, r_i); TB_ARR[i, r_i] = tb; }else { TextBox lb = new TextBox(); lb.ReadOnly = true; lb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(lb, i, r_i); } } r_i++; } } }
public void Set_TablePanel_TextBox_ForData(TableLayoutPanel tablePanel, string feildnames, string si_id, OdbcConnection conn) { string sql = string.Format("select rc_id,{0} from sport_rc where si_id={1} order by length(group_id), group_id,road;", feildnames, si_id); int r_i = 1; Font fnt = new Font("標楷體", 10); using (OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader()) { while (dr.Read()) { string rc_id = dr[0].ToString(); int min_int = tablePanel.ColumnCount; if (dr.FieldCount - 3 < min_int) min_int = dr.FieldCount - 3; for (int i = 0; i < min_int; i++) { if (dr.GetName(i + 3) == "rank" || dr.GetName(i + 3) == "rc" || dr.GetName(i + 3) == "grk" || dr.GetName(i + 3) == "note") { TextBox tb = new TextBox(); tb.TextAlign = HorizontalAlignment.Right; tb.Font = fnt; if (Lib.sysfont != null) tb.Font = Lib.sysfont ; tb.Name = String.Format("{0}_{1}", dr.GetName(i + 3), rc_id); tb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(tb, i, r_i); } else { TextBox lb = new TextBox(); if (Lib.sysfont != null) lb.Font = Lib.sysfont; lb.ReadOnly = true; lb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(lb, i, r_i); } } r_i++; } } }
public virtual void main_content(string si_id, string s_item, string rcx,String gr_out_str,OdbcConnection conn, StreamWriter sw) { int group_cnt = 0; using (OdbcDataReader dr = new OdbcCommand(String.Format("select frc_id,{0} from field_rc where fi_id='{1}' order by BIT_LENGTH( s_number),s_number;", fieldnames, si_id), conn).ExecuteReader()) { string group_str = null; bool group_flag = false; for (int i = 0; i < dr.FieldCount; i++) if (dr.GetName(i) == "group_id") { group_flag = true; break; } while (dr.Read()) { if (group_flag) { if (group_str == null) group_str = dr["group_id"].ToString(); if (group_str != dr["group_id"].ToString()) { sw.WriteLine("</table><br>"); group_str = dr["group_id"].ToString(); group_cnt++; if (group_cnt % 2 == 0) { sw.WriteLine(gr_out_str); sw.WriteLine("<br class=break>"); sw.WriteLine("<B><center>成績公告<br>{0}</center></b>", s_item); } sw.WriteLine("<table border=1 width=100%><tr>{0}", TH_STR()); } } sw.Write("<tr>"); for (int i = 3; i < dr.FieldCount; i++) sw.Write("<td class=x133r align=\"right\" colspan={0}>{1} ", colspan_ar[i - 3], dr[i]); } } }