System::Windows::Forms::DialogResult result;
err = false;
/*result=MessageBox::Show(this, "puskai budet rad", "ошибка",
System::Windows::Forms::MessageBoxButtons::YesNo);
if (result == System::Windows::Forms::DialogResult::No) {
richTextBox3->Text = "niiiit";
}*/
try {
programm();
richTextBox2->Text = code2;
}
catch (String ^ ex) {
char ef = ex[0];
int i = 1,prov = 0,pr=i;
while (digit(ex[i]))
{
i++;
}
String^ st = ex->Substring(1, i - pr);
ex = ex->Substring(i, ex->Length - i);
for (int i = 0; i < code->Length; i++) {
if (code2[i] == '\n')
prov++;
if (prov.ToString() == st)
break;
richTextBox2->Text += code2[i];
}
switch (ef) {
case '1':
MessageBox::Show(st + "-строка\n" + "неопознанный символ: " + ex, "ошибка");
break;
case '2':
MessageBox::Show(st + "-строка\n" + "ошибка чтения константы: " + ex, "ошибка");
break;
case '3':
MessageBox::Show(st + "-строка\n" + "ошибка чтения оператора: " + ex, "ошибка");
break;
case '4':
MessageBox::Show(st + "-строка\n" + "переполнение символов в идентификаторе: " + ex, "ошибка");
break;
}
}
catch (...)
{
richTextBox1->Text = "неопознанная ошибка";
}
}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
err = true;
programm();
richTextBox2->Text = code2;
}
private: System::Void richTextBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e) {
setlocale(LC_ALL, "rus");
}
private: System::Void keyWord1_CellContentClick(System::Object^ sender, System::Windows::Forms::DataGridViewCellEventArgs^ e) {
}
private: System::Void constant1_CellContentClick(System::Object^ sender, System::Windows::Forms::DataGridViewCellEventArgs^ e) {
}
private: System::Void richTextBox2_TextChanged(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void textBox1_TextChanged_1(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
//
ident1->Rows->Clear();
//
keyWord1->Rows->Clear();
//
op1->Rows->Clear();
//
ops1->Rows->Clear();
//
punctuation1->Rows->Clear();
//
constant1->Rows->Clear();
richTextBox2->Text = "";
richTextBox3->Text = "";
richTextBox4->Text = "";
textBox1->Text = "";
}
};
}