public Form1(string[] args) { InitializeComponent(); if (args.Length == 2) // svn 整合 { CompareFile(args[0], args[1]); this.Dispose(); } else if (args.Length == 0) // 批量导出 { string client1 = string.Empty; string client2 = string.Empty; string files = string.Empty; // 读取ini文件 string strIniFile = Application.StartupPath + "/批量输出.ini"; StringBuilder sb = new StringBuilder(25600); FileFolderHelper.ReadIniFile("main", "client1", "", sb, 255, strIniFile); client1 = sb.ToString(); FileFolderHelper.ReadIniFile("main", "client2", "", sb, 255, strIniFile); client2 = sb.ToString(); FileFolderHelper.ReadIniFile("main", "files", "", sb, 25600, strIniFile); files = sb.ToString(); string[] arrFiles = files.Split(','); textOutputCfg.Text = string.Empty; foreach (string file in arrFiles) { textOutputCfg.Text += file; textOutputCfg.Text += "\r\n"; } } }
private void ReadTab(string input) { tblAll = FileToDataTable(input); string strIniFile = Application.StartupPath + "/config_public.ini"; StringBuilder sb = new StringBuilder(255); // 忽略列 string[] arrIgnoreCols = null; FileFolderHelper.ReadIniFile("IgnoreColumns", "Count", "", sb, 255, strIniFile); int IgnoreCount = Convert.ToInt32(sb.ToString()); for (int j = 1; j <= IgnoreCount; j++) { FileFolderHelper.ReadIniFile("IgnoreColumns", "Table" + j.ToString(), "", sb, 255, strIniFile); string tabName = sb.ToString(); FileFolderHelper.ReadIniFile("IgnoreColumns", "Columns" + j.ToString(), "", sb, 255, strIniFile); string columns = sb.ToString(); if (tabName.ToLower() == m_filename.ToLower()) { arrIgnoreCols = columns.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); break; } } // ui int i = 0; foreach (DataColumn col in tblAll.Columns) { string colname = col.ColumnName; // 判断是否被ignore了。 bool bColIsIgnored = false; if (arrIgnoreCols != null) { foreach (string ignoreCol in arrIgnoreCols) { if (ignoreCol.ToLower() == colname.ToLower()) { bColIsIgnored = true; break; } } } if (bColIsIgnored) { continue; } // 没有ignore,添加checkbox CheckBox checkbox = new CheckBox(); checkbox.AutoSize = true; checkbox.Location = CalculateCheckPos(i); checkbox.Name = "checkBox" + i.ToString(); checkbox.Size = new System.Drawing.Size(78, 16); checkbox.TabIndex = i; checkbox.Text = colname; checkbox.UseVisualStyleBackColor = true; checkbox.Checked = true; if (ColIsNames(colname) || ColIsKey(colname)) { checkbox.Enabled = false; } checkbox.CheckedChanged += new System.EventHandler(this.checkBox_CheckedChanged); this.splitContainer1.Panel1.Controls.Add(checkbox); checkboxes.Add(checkbox); i++; } // datagridview this.dataGridView1.DataSource = tblAll; foreach (DataGridViewColumn col in dataGridView1.Columns) { if (ColIsKey(col.Name) || ColIsNames(col.Name)) { col.Frozen = true; } } // 去掉ignore的列。 if (arrIgnoreCols != null) { foreach (string col in arrIgnoreCols) { if (tblAll.Columns.Contains(col)) { tblAll.Columns.Remove(col); } } ReCalculateTable(); } // 着色 FileFolderHelper.ReadIniFile("ColoredColumns", "Count", "", sb, 255, strIniFile); int ColoredTabCount = Convert.ToInt32(sb.ToString()); for (int j = 1; j <= ColoredTabCount; j++) { FileFolderHelper.ReadIniFile("ColoredColumns", "Table" + j.ToString(), "", sb, 255, strIniFile); string tabName = sb.ToString(); FileFolderHelper.ReadIniFile("ColoredColumns", "ColumnColors" + j.ToString(), "", sb, 255, strIniFile); string tabColColors = sb.ToString(); if (tabName.ToLower() == m_filename.ToLower()) { string[] arrColColors = tabColColors.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string colColor in arrColColors) { string[] col_and_color = colColor.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string col = col_and_color[0]; string color = col_and_color[1]; if (dataGridView1.Columns[col] != null) { dataGridView1.Columns[col].DefaultCellStyle.BackColor = Color.FromName(color); } } break; } } }