Файл: Анализ языковой сложности русскоязычных учебных пособий по лингвистике.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.10.2023
Просмотров: 222
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
end; i++)
{
if (streamReader.EndOfStream) break; string line = streamReader.ReadLine(); buff.Append(line+'\n');
if((i-start+1)%buffRowSize == 0)
{
rtbContext.AppendText(buff.ToString());
}
}
}
}
private void bFind_Click(object sender, EventArgs e)
{
long start = Decimal.ToInt64(nudStartLineIndex.Value); long end = Decimal.ToInt64(nudEndLineIndex.Value); string pattern = tbPatternInput.Text;
ContextInfo contextInfo = new ContextInfo(filename, pattern, start, end, encoding); lbPatterns.Items.Add(contextInfo);
}
private void nudEndLineIndex_ValueChanged(object sender, EventArgs e)
{
showText();
}
private void nudStartLineIndex_ValueChanged(object sender, EventArgs e)
{
showText();
}
private void updateContexts(ContextInfo contextInfo)
{
lbContexts.Items.Clear();
foreach (LineMatchInfo matchInfo in contextInfo.matches)
{
lbContexts.Items.Add(matchInfo);
}
}
private void lbPatterns_SelectedIndexChanged(object sender, EventArgs e)
{
ContextInfo contextInfo = (ContextInfo) lbPatterns.SelectedItem; if (contextInfo == null) return;
lcountExtraction.Text = "" + contextInfo.countExtracting(); updateContexts(contextInfo);
}
private void lbContexts_SelectedIndexChanged(object sender, EventArgs e)
{
LineMatchInfo matchInfo = (LineMatchInfo)lbContexts.SelectedItem; if (matchInfo == null) return;
rtbContext.Text = "";
for (int i=0; i < matchInfo.matchs.Count; i++)
{
Match match = matchInfo.matchs[i];
rtbContext.AppendText(matchInfo.indLine + "\t" + matchInfo.line + "\t"); int propOffset = matchInfo.line.IndexOf(matchInfo.proposals[i]); rtbContext.SelectionFont = new Font(rtbContext.Font, FontStyle.Regular);
rtbContext.AppendText(matchInfo.proposals[i].Substring(0, -propOffset + match.Index)); rtbContext.SelectionFont = new Font(rtbContext.Font, FontStyle.Underline); rtbContext.AppendText(match.Value);
rtbContext.SelectionFont = new Font(rtbContext.Font, FontStyle.Regular); rtbContext.AppendText(matchInfo.proposals[i].Substring(-propOffset + match.Index + match.Length) + "\n");
}
}
private void cbIgnoreCase_CheckedChanged(object sender, EventArgs e)
{
ContextInfo.isIgnoreCase = cbIgnoreCase.Checked;
}
private void bSaveFile_Click(object sender, EventArgs e)
{
Stream myStream;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.RestoreDirectory = true;
int buffSize = 10485760;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = saveFileDialog1.OpenFile()) != null)
{
using (var streamWriter = new StreamWriter(new BufferedStream( myStream, buffSize), GetEncoding()))
// буфер в 10 мегабайт
{
ContextInfo contextInfo = (ContextInfo) lbPatterns.SelectedItem; if(contextInfo == null)
{
MessageBox.Show("Не выбран паттерн"); myStream.Close();
return;
}
foreach(LineMatchInfo matchInfo in contextInfo.matches) for (int i = 0; i < matchInfo.matchs.Count; i++)
{
streamWriter.WriteLine(matchInfo.indLine + "\t" + matchInfo.line + "\t" + matchInfo.proposals[i]);
}
}
myStream.Close();
}
}
}
}
}
ПРИЛОЖЕНИЕ 4
Скриншоты словаря
Рисунок 1 – Изображение иллюстрационного фрагмента словаря в эскпортированном формате
{
if (streamReader.EndOfStream) break; string line = streamReader.ReadLine(); buff.Append(line+'\n');
if((i-start+1)%buffRowSize == 0)
{
rtbContext.AppendText(buff.ToString());
}
}
}
}
private void bFind_Click(object sender, EventArgs e)
{
long start = Decimal.ToInt64(nudStartLineIndex.Value); long end = Decimal.ToInt64(nudEndLineIndex.Value); string pattern = tbPatternInput.Text;
ContextInfo contextInfo = new ContextInfo(filename, pattern, start, end, encoding); lbPatterns.Items.Add(contextInfo);
}
private void nudEndLineIndex_ValueChanged(object sender, EventArgs e)
{
showText();
}
private void nudStartLineIndex_ValueChanged(object sender, EventArgs e)
{
showText();
}
private void updateContexts(ContextInfo contextInfo)
{
lbContexts.Items.Clear();
foreach (LineMatchInfo matchInfo in contextInfo.matches)
{
lbContexts.Items.Add(matchInfo);
}
}
private void lbPatterns_SelectedIndexChanged(object sender, EventArgs e)
{
ContextInfo contextInfo = (ContextInfo) lbPatterns.SelectedItem; if (contextInfo == null) return;
lcountExtraction.Text = "" + contextInfo.countExtracting(); updateContexts(contextInfo);
}
private void lbContexts_SelectedIndexChanged(object sender, EventArgs e)
{
LineMatchInfo matchInfo = (LineMatchInfo)lbContexts.SelectedItem; if (matchInfo == null) return;
rtbContext.Text = "";
for (int i=0; i < matchInfo.matchs.Count; i++)
{
Match match = matchInfo.matchs[i];
rtbContext.AppendText(matchInfo.indLine + "\t" + matchInfo.line + "\t"); int propOffset = matchInfo.line.IndexOf(matchInfo.proposals[i]); rtbContext.SelectionFont = new Font(rtbContext.Font, FontStyle.Regular);
rtbContext.AppendText(matchInfo.proposals[i].Substring(0, -propOffset + match.Index)); rtbContext.SelectionFont = new Font(rtbContext.Font, FontStyle.Underline); rtbContext.AppendText(match.Value);
rtbContext.SelectionFont = new Font(rtbContext.Font, FontStyle.Regular); rtbContext.AppendText(matchInfo.proposals[i].Substring(-propOffset + match.Index + match.Length) + "\n");
}
}
private void cbIgnoreCase_CheckedChanged(object sender, EventArgs e)
{
ContextInfo.isIgnoreCase = cbIgnoreCase.Checked;
}
private void bSaveFile_Click(object sender, EventArgs e)
{
Stream myStream;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.RestoreDirectory = true;
int buffSize = 10485760;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = saveFileDialog1.OpenFile()) != null)
{
using (var streamWriter = new StreamWriter(new BufferedStream( myStream, buffSize), GetEncoding()))
// буфер в 10 мегабайт
{
ContextInfo contextInfo = (ContextInfo) lbPatterns.SelectedItem; if(contextInfo == null)
{
MessageBox.Show("Не выбран паттерн"); myStream.Close();
return;
}
foreach(LineMatchInfo matchInfo in contextInfo.matches) for (int i = 0; i < matchInfo.matchs.Count; i++)
{
streamWriter.WriteLine(matchInfo.indLine + "\t" + matchInfo.line + "\t" + matchInfo.proposals[i]);
}
}
myStream.Close();
}
}
}
}
}
ПРИЛОЖЕНИЕ 4
Скриншоты словаря
Рисунок 1 – Изображение иллюстрационного фрагмента словаря в эскпортированном формате