private void btnAdd_Click(object sender, EventArgs e) { //using (var FE = new Variables.Dictionary.GetLessonContext(Properties.Settings.Default.ChineseStudyConnectionString)) using (var fe = new ChineseStudyDataContext()) { var newrow = new _3000_Character { FEseq = dataGridFE_3000.CurrentRow?.Cells[1].EditedFormattedValue.ToString(), Zhuyin = dataGridFE_3000.CurrentRow?.Cells[2].EditedFormattedValue.ToString(), Traditional = dataGridFE_3000.CurrentRow?.Cells[3].EditedFormattedValue.ToString(), English = dataGridFE_3000.CurrentRow?.Cells[4].EditedFormattedValue.ToString(), Numpinyin = dataGridFE_3000.CurrentRow?.Cells[5].EditedFormattedValue.ToString(), CritPinyin = dataGridFE_3000.CurrentRow?.Cells[6].EditedFormattedValue.ToString(), Simplified = dataGridFE_3000.CurrentRow?.Cells[7].EditedFormattedValue.ToString(), Cji = dataGridFE_3000.CurrentRow?.Cells[8].EditedFormattedValue.ToString() }; switch (newrow.FEseq.Length) { case 1: newrow.FEseq = "00000" + newrow.FEseq; break; case 2: newrow.FEseq = "0000" + newrow.FEseq; break; case 3: newrow.FEseq = "000" + newrow.FEseq; break; case 4: newrow.FEseq = "00" + newrow.FEseq; break; case 5: newrow.FEseq = "0" + newrow.FEseq; break; } fe._3000_Characters.InsertOnSubmit(newrow); fe.SubmitChanges(); Close(); } }
private void listPinyin_SelectedIndexChanged(object sender, EventArgs e) { if (WorkTraditional.Text.Length == 0) { listNumPinyin.Items.Clear(); listNumPinyin.Visible = false; listZhuyin.Items.Clear(); listZhuyin.Visible = false; return; } _current = Cursor.Position; IList <string> checkBoPo; var workPin = listNumPinyin.SelectedItem.ToString(); var pinUsit = Traditional.TryGetPinBo(workPin, out checkBoPo); if (!pinUsit) { Status.Text = @"PinBo failed on: " + workPin; return; } string outCrit; var critUsit = Traditional.TryGetBopoCrit(checkBoPo[0], out outCrit); if (!critUsit) { Status.Text = @"BopoCrit failed on: " + checkBoPo[0]; return; } if (checkBoPo.Count >= 1) { WriteNumPinyin.Text = WriteNumPinyin.Text + listNumPinyin.SelectedItem + @" "; textBopo.Text = checkBoPo[0]; WorkNumPinyin.Text = ""; WriteTraditional.Text += WorkTraditional.Text; IList <string> foundCrit; var pincrit = Traditional.TryGetPinCrit(listNumPinyin.SelectedItem.ToString(), out foundCrit); if (!pincrit) { Status.Text = @"PinCrit failed on: " + listNumPinyin.SelectedItem; return; } WriteCritPinyin.Text = WriteCritPinyin.Text + foundCrit[0] + @" "; WriteZhuyin.Text = WriteZhuyin.Text + checkBoPo[0] + @" "; WorkNumPinyin.Text = ""; IList <string> foundSimp; var charsimp = Traditional.TryGetCharSimp(WorkTraditional.Text, out foundSimp); if (!charsimp) { Status.Text = @"CharSimp failed on: " + WorkTraditional.Text; return; } WriteSimplified.Text = WriteSimplified.Text + foundSimp[0]; listZhuyin.Items.Clear(); listZhuyin.Visible = false; listNumPinyin.Items.Clear(); listNumPinyin.Visible = false; //Status.Text = ""; Cursor.Position = _current; try { var chinChars = WorkTraditional.Text.ToCharArray(); var uniHex = ExpandUnihex(chinChars); using (var ceDictionary = new ChineseStudyDataContext(Properties.Settings.Default.ChineseStudyConnection)) { var definitions = from ed in ceDictionary.CeDictFulls where ed.Traditional == WorkTraditional.Text where ed.BoPoMoFo == checkBoPo[0] select ed; foreach (var definition in definitions) { textDefinition.Text = definition.English; break; } } WorkTraditional.Text = ""; using (var uniHan = new ChineseStudyDataContext(Properties.Settings.Default.ChineseStudyConnection)) { var characters = from q in uniHan.UniHans where q.cp == uniHex select q; try { foreach (var character in characters) { textCangjie.Text = character.kCangjie; WriteCji.Text = WriteCji.Text + textCangjie.Text + @" "; break; } } catch (System.Data.StrongTypingException ex) { textCangjie.Text = @"DBNull"; Status.Text = ex.Message; } } } catch (System.Data.StrongTypingException ex) { textDefinition.Text = @"OUTERex"; textCangjie.Text = @"OUTERex"; Status.Text = ex.Message; } } else { Status.Text = @"Please select desired BoPoMoFo"; WorkZhuyin.Text = ""; listZhuyin.BeginUpdate(); listZhuyin.Items.Clear(); foreach (var t in checkBoPo) { listZhuyin.Items.Add(t); } listZhuyin.EndUpdate(); listZhuyin.Visible = true; listNumPinyin.Visible = false; } //SendKeys.Send("\t"); }
private void WorkChinese_TextChanged(object sender, EventArgs e) { InputLanguage.CurrentInputLanguage = _myLanguages[Properties.Settings.Default.Studying]; WorkTraditional.ImeMode = ImeMode.On; IList <string> foundPin; IList <string> foundBo; if ((WorkTraditional.Text == "") || (WorkTraditional.Text == @" ")) { Variables.InputsBopo = null; WorkTraditional.Text = ""; return; } if ((Variables.InputsBopo != null) && (Variables.InputsBopo == "xxxx")) { Variables.InputsBopo = null; textBopo.Text = ""; } var pinUsit = Traditional.TryGetCharPin(WorkTraditional.Text, out foundPin); if (!pinUsit) { Status.Text = @"CharPin failed on: " + WorkTraditional.Text; WorkTraditional.Text = ""; textBopo.Text = ""; return; } var boUsit = Traditional.TryGetCharBo(WorkTraditional.Text, out foundBo); if (!boUsit) { Status.Text = @"CharBo failed on: " + WorkTraditional.Text; WorkTraditional.Text = ""; textBopo.Text = ""; return; } var boCount = foundBo.Count; var pinCount = foundPin.Count; if ((Variables.InputsBopo != null) && (foundPin.Count > 1) && (foundBo.Count > 1)) { var working = Variables.InputsBopo; textBopo.Text = ""; for (var j = 0; j <= 3; j++) { if (working.Substring(j, 1) != "x") { textBopo.Text += working.Substring(j, 1); } } for (var i = 0; i < foundBo.Count; i++) { if (textBopo.Text != foundBo[i]) { continue; } foundBo[0] = foundBo[i]; boCount = 1; var pin1 = Traditional.TryGetBoPin(textBopo.Text, out foundPin); if (!pin1) { Status.Text = @"BoPin failed on: " + textBopo.Text; WorkTraditional.Text = ""; textBopo.Text = ""; return; } pinCount = 1; textBopo.Text = ""; break; } } if ((pinCount == 1) && (boCount == 1)) { textBopo.Text = foundBo[0]; WriteZhuyin.Text += foundBo[0]; WriteZhuyin.Text += @" "; WorkZhuyin.Text = ""; WriteTraditional.Text += WorkTraditional.Text; WriteNumPinyin.Text = WriteNumPinyin.Text + foundPin[0] + @" "; WorkNumPinyin.Text = ""; var chinChars = WorkTraditional.Text.ToCharArray(); var uniHex = ExpandUnihex(chinChars); using (var uniHan = new ChineseStudyDataContext(Properties.Settings.Default.ChineseStudyConnection)) { var characters = from q in uniHan.UniHans where q.cp == uniHex select q; try { foreach (var character in characters) { textCangjie.Text = character.kCangjie; WriteCji.Text = WriteCji.Text + textCangjie.Text + @" "; textDefinition.Text = character.kDefinition; break; } } catch (System.Data.StrongTypingException ex) { textCangjie.Text = @"DBNull"; Status.Text = ex.Message; } } IList <string> foundCrit; var critUsit = Traditional.TryGetPinCrit(foundPin[0], out foundCrit); if (!critUsit) { Status.Text = @"PinCrit failed on: " + foundPin[0]; WorkTraditional.Text = ""; textBopo.Text = ""; return; } IList <string> foundSimp; var simpUsit = Traditional.TryGetCharSimp(WorkTraditional.Text, out foundSimp); if (!simpUsit) { Status.Text = @"CharSimp failed on: " + WorkTraditional.Text; WorkTraditional.Text = ""; textBopo.Text = ""; return; } WriteCritPinyin.Text = WriteCritPinyin.Text + foundCrit[0] + @" "; WriteSimplified.Text = WriteSimplified.Text + foundSimp[0]; listZhuyin.Items.Clear(); listZhuyin.Visible = false; listNumPinyin.Items.Clear(); listNumPinyin.Visible = false; //using (var ceDictionary = new ChineseStudyDataContext(Properties.Settings.Default.ChineseStudyConnection)) //{ // var definitions = from ed in ceDictionary.CeDictFulls // where ed.Traditional == WorkTraditional.Text // where ed.BoPoMoFo == foundBo[0] // select ed; // try // { // foreach (var definition in definitions) // { // textDefinition.Text = definition.English; // break; // } // } // catch (System.Data.StrongTypingException eng) // { // Status.Text = eng.Message; // textDefinition.Text = @"DBNull"; // } //} WorkTraditional.Text = ""; return; } listNumPinyin.BeginUpdate(); listNumPinyin.Items.Clear(); foreach (var t in foundPin) { listNumPinyin.Items.Add(t); } listNumPinyin.EndUpdate(); listNumPinyin.Visible = true; listZhuyin.BeginUpdate(); listZhuyin.Items.Clear(); foreach (var t in foundBo) { listZhuyin.Items.Add(t); } listZhuyin.EndUpdate(); listZhuyin.Visible = true; }
private void button5_Click(object sender, EventArgs e) { if (radioACER0.Checked) { Properties.Settings.Default.ActiveSQL = Properties.Settings.Default.acer0; SetFolders("ACER0"); } if (radioAMAZON1.Checked) { Properties.Settings.Default.ActiveSQL = Properties.Settings.Default.amazon1; SetFolders("AMAZON1"); } if (radioBAX2ZAONV6.Checked) { Properties.Settings.Default.ActiveSQL = Properties.Settings.Default.bax2zaonv6; SetFolders("BAX2ZAONV6"); } if (chkCharBopo.Checked) { FileStream writing1 = new FileStream(OutputCharBopoName.Text, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); StreamWriter outputLine1 = new StreamWriter(writing1, Encoding.UTF8); string fileLine1 = "ID\tChar\tBopo\tCji"; outputLine1.WriteLine(fileLine1); using (ChineseStudyDataContext myChineseStudy = new ChineseStudyDataContext(Properties.Settings.Default.ActiveSQL)) { var myChars = from q in myChineseStudy.CharBopos orderby q.Char, q.Bopo select q; foreach (var myChar in myChars) { fileLine1 = myChar.ID + "\t" + myChar.Char + "\t" + myChar.Bopo + "\t" + myChar.Cji; outputLine1.WriteLine(fileLine1); } } outputLine1.Close(); } if (chkPinBopo.Checked) { FileStream writing2 = new FileStream(OutputPinBopoName.Text, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); StreamWriter outputLine2 = new StreamWriter(writing2, Encoding.UTF8); string fileLine2 = "ID\tPin\tBopo"; outputLine2.WriteLine(fileLine2); using (ChineseStudyDataContext myChineseStudy = new ChineseStudyDataContext(Properties.Settings.Default.ActiveSQL)) { var myBopos = from q in myChineseStudy.PinBopos orderby q.Bopo, q.Pin select q; foreach (var myBopo in myBopos) { fileLine2 = myBopo.ID + "\t" + myBopo.Pin + "\t" + myBopo.Bopo; outputLine2.WriteLine(fileLine2); } } outputLine2.Close(); } if (chkPinMypin.Checked) { FileStream writing3 = new FileStream(OutputPinMypinName.Text, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); StreamWriter outputLine3 = new StreamWriter(writing3, Encoding.UTF8); string fileLine3 = "ID\tPin\tMyPin"; outputLine3.WriteLine(fileLine3); using (ChineseStudyDataContext myChineseStudy = new ChineseStudyDataContext(Properties.Settings.Default.ActiveSQL)) { var myPins = from q in myChineseStudy.PinMypins orderby q.MyPin, q.Pin select q; foreach (var mypin in myPins) { fileLine3 = mypin.ID + "\t" + mypin.Pin + "\t" + mypin.MyPin; outputLine3.WriteLine(fileLine3); } } outputLine3.Close(); } if (chkFullFarEast.Checked) { FileStream writing4 = new FileStream(OutputFullFarEastName.Text, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); StreamWriter outputLine4 = new StreamWriter(writing4, Encoding.UTF8); string fileLine4 = "ID\tBopo\tChar\tFeNumber\tEnglish\tHex\tCji"; outputLine4.WriteLine(fileLine4); using (ChineseStudyDataContext myChineseStudy = new ChineseStudyDataContext(Properties.Settings.Default.ActiveSQL)) { var myFes = from q in myChineseStudy.FullFarEasts orderby q.Char, q.Bopo select q; foreach (var myFe in myFes) { fileLine4 = myFe.ID.ToString(); fileLine4 += "\t"; fileLine4 += (String.IsNullOrEmpty(myFe.Bopo) ? " " : myFe.Bopo); fileLine4 += "\t"; fileLine4 += myFe.Char; fileLine4 += "\t"; fileLine4 += myFe.FeNumber ?? "0"; fileLine4 += "\t"; fileLine4 += (String.IsNullOrEmpty(myFe.English) ? " " : myFe.English); fileLine4 += "\t"; fileLine4 += myFe.Hex; fileLine4 += "\t"; fileLine4 += String.IsNullOrEmpty(myFe.Cji) ? " " : myFe.Cji; outputLine4.WriteLine(fileLine4); } } outputLine4.Close(); } if (chkCeDict.Checked) { FileStream writing5 = new FileStream(OutputCeDictName.Text, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); StreamWriter outputLine5 = new StreamWriter(writing5, Encoding.UTF8); string fileLine5 = "ID\tBopo\tChar\tFeNumber\tEnglish\tHex\tCji"; outputLine5.WriteLine(fileLine5); using (ChineseStudyDataContext myChineseStudy = new ChineseStudyDataContext(Properties.Settings.Default.ActiveSQL)) { var myFes = from q in myChineseStudy.CeDicts orderby q.Char, q.Bopo select q; foreach (var myFe in myFes) { fileLine5 = myFe.ID + "\t" + myFe.Bopo + "\t" + myFe.Char + "\t" + myFe.English + "\t" + myFe.Pinyin + "\t" + myFe.Hex; outputLine5.WriteLine(fileLine5); } } outputLine5.Close(); } if (chk_3000_.Checked) { FileStream writing6 = new FileStream(Output_3000_Name.Text, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); StreamWriter outputLine6 = new StreamWriter(writing6, Encoding.UTF8); string fileLine6 = "ID\tFEseq\tZhuyin\tTraditional\tEnglish\tNumPinyin\tCritPinyin\tSimplified\tCji"; outputLine6.WriteLine(fileLine6); using (ChineseStudyDataContext myChineseStudy = new ChineseStudyDataContext(Properties.Settings.Default.ActiveSQL)) { var my3000S = from q in myChineseStudy._3000_Characters orderby q.FEseq select q; char[] charsToTrim = { '\"' }; foreach (var my3000 in my3000S) { int fromFEseq; var isInteger = int.TryParse(my3000.FEseq, out fromFEseq); if (!isInteger) { textStatus.Text = "FEseq is non-integer; ID= " + my3000.ID + " FEseq = " + my3000.FEseq; return; } var english = my3000.English.Trim(charsToTrim); fileLine6 = my3000.ID + "\t" + my3000.FEseq + "\t" + my3000.Zhuyin + "\t" + my3000.Traditional + "\t" + english + "\t" + my3000.NumPinyin + "\t" + my3000.CritPinyin + "\t" + my3000.Simplified + "\t" + my3000.Cji; outputLine6.WriteLine(fileLine6); } } outputLine6.Close(); } if (chkPinBopo.Checked) { FileStream writing2 = new FileStream(OutputPinBopoName.Text, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); StreamWriter outputLine2 = new StreamWriter(writing2, Encoding.UTF8); string fileLine2 = "ID\tPin\tBopo"; outputLine2.WriteLine(fileLine2); using (ChineseStudyDataContext myChineseStudy = new ChineseStudyDataContext(Properties.Settings.Default.ActiveSQL)) { var myBopos = from q in myChineseStudy.PinBopos orderby q.Bopo, q.Pin select q; foreach (var myBopo in myBopos) { fileLine2 = myBopo.ID + "\t" + myBopo.Pin + "\t" + myBopo.Bopo; outputLine2.WriteLine(fileLine2); } } outputLine2.Close(); } if (chkCharBopoPinCrit.Checked) { FileStream writing7 = new FileStream(OutputCharBopoPinCrit_Name.Text, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); StreamWriter outputline7 = new StreamWriter(writing7, Encoding.UTF8); string fileline7 = "ID\tChar\tBopo\tPin\tCrit\tCji"; outputline7.WriteLine(fileline7); using (ChineseStudyDataContext myChineseStudy = new ChineseStudyDataContext(Properties.Settings.Default.ActiveSQL)) { var myPinCrits = from q in myChineseStudy.CharBopoPinCrits orderby q.Cji, q.Char, q.Pin select q; foreach (var myPinCrit in myPinCrits) { fileline7 = myPinCrit.ID + "\t" + myPinCrit.Char + "\t" + myPinCrit.Bopo + "\t" + myPinCrit.Pin + "\t" + myPinCrit.Crit + "\t" + myPinCrit.Cji; outputline7.WriteLine(fileline7); } } outputline7.Close(); } }