Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2018, 15:54   #1
arnora
Пользователь
 
Регистрация: 27.11.2017
Сообщений: 14
По умолчанию Помогите исправить ошибку "Исключение не обработано"

Код:
#pragma endregion
		String ^fileName;

	private: System::Void открытьToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
		
		openFileDialog1->ShowDialog();
		if (openFileDialog1->FileName == nullptr) return;
		fileName = openFileDialog1->FileName;
		fileName = "laba.txt";

		try
		{

			System::Text::Encoding^ Кодировка = System::Text::Encoding::GetEncoding(1251);
			auto data = gcnew IO::StreamReader(fileName, Кодировка);
			String^ str;
			array<String^>^split;
			int i = 0;
			while ((str = data->ReadLine()) != nullptr)
			{
				split = str->Split(' ');
				dataGridView1->RowCount++;
				dataGridView1->Rows[i]->Cells[0]->Value = split[0];
				dataGridView1->Rows[i]->Cells[1]->Value = split[1];
				dataGridView1->Rows[i]->Cells[2]->Value = split[2];
				i++;
			}
			data->Close();
		}
		catch (IO::FileNotFoundException^ Error)
		{
			MessageBox::Show(Error->Message + "\n Файл не найден!",
				"Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
		}
	}
private: System::Void сохранитьToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	int i, j;
	fileName = "laba2.txt";
	try
	{
		if (fileName == nullptr)
		{
			
			saveFileDialog1->ShowDialog();
			if (saveFileDialog1->FileName == nullptr) return;

			System::Text::Encoding^ Кодировка = System::Text::Encoding::GetEncoding(1251);
			fileName = saveFileDialog1->FileName;
			auto data = gcnew IO::StreamWriter(fileName, false, Кодировка);
			String^ str2;

			for (i = 0; i < 3; i++)
			{
				str2 = Convert::ToString(dataGridView1->Rows[i]->Cells[i]->Value);
				for (j = 1; j < 3; j++)
					str2 = str2 + " " + dataGridView1->Rows[i]->Cells[j]->Value;
				data->WriteLine(str2);
			}
			data->Close();
		}
		else {
			System::Text::Encoding^ Кодировка = System::Text::Encoding::GetEncoding(1251);
			auto data = gcnew IO::StreamWriter(fileName, false, Кодировка);
			String^ str2;

			for (i = 0; i < 3; i++)
			{
				str2 = Convert::ToString(dataGridView1->Rows[i]->Cells[i]->Value);
				for (j = 1; j < 3; j++)
					str2 = str2 + " " + dataGridView1->Rows[i]->Cells[j]->Value;
				data->WriteLine(str2);
			}
			data->Close();
		}

	}
	catch (IO::FileNotFoundException^ Error)
	{
		MessageBox::Show(Error->Message + "\n Данные не верны!",
			"Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
	}
}
private: System::Void openFileDialog1_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
	openFileDialog1->FileName = "laba.txt";
	openFileDialog1->Filter = "Текстовые файлы (*.txt)|*.txt|All files (*.*)|*.*";
}
private: System::Void saveFileDialog1_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
	saveFileDialog1->FileName = "laba2.txt";
	saveFileDialog1->Filter = "Текстовые файлы(*.txt) | *.txt | All files(*.*) | *.*";
}
private: System::Void сохранитьКакToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	saveFileDialog1->ShowDialog();
	if (saveFileDialog2->FileName == nullptr) return;
	fileName = saveFileDialog2->FileName;

	int i, j;

	try
	{
		if (fileName == nullptr)
		{
			saveFileDialog2->ShowDialog();
			if (saveFileDialog2->FileName == nullptr) return;

			System::Text::Encoding^ Кодировка = System::Text::Encoding::GetEncoding(1251);
			fileName = saveFileDialog2->FileName;
			auto data = gcnew IO::StreamWriter(fileName, false, Кодировка);
			String^ str2;

			for (i = 0; i < 3; i++)
			{
				str2 = Convert::ToString(dataGridView1->Rows[i]->Cells[i]->Value);
				for (j = 1; j < 7; j++)
					str2 = str2 + " " + dataGridView1->Rows[i]->Cells[j]->Value;
				data->WriteLine(str2);
			}
			data->Close();
		}
		else {
			System::Text::Encoding^ Кодировка = System::Text::Encoding::GetEncoding(1251);
			auto data = gcnew IO::StreamWriter(fileName, false, Кодировка);
			String^ str2;

			for (i = 0; i < 3; i++)
			{
				str2 = Convert::ToString(dataGridView1->Rows[i]->Cells[i]->Value);
				for (j = 1; j < 7; j++)
					str2 = str2 + " " + dataGridView1->Rows[i]->Cells[j]->Value;
				data->WriteLine(str2);
			}
			data->Close();
		}

	}
	catch (IO::FileNotFoundException^ Error)
	{
		MessageBox::Show(Error->Message + "\n Данные введины не верны!",
			"Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
	}
}
private: System::Void выходToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	auto Mbox = MessageBox::Show("\nСохранить изменения?", "Моя программа",
		MessageBoxButtons::YesNo, MessageBoxIcon::Exclamation);
	{
		int i, j;

		if (fileName == nullptr)
		{
			saveFileDialog1->ShowDialog();
			if (saveFileDialog1->FileName == nullptr) return;

			System::Text::Encoding^ Кодировка = System::Text::Encoding::GetEncoding(1251);
			fileName = saveFileDialog1->FileName;
			auto data = gcnew IO::StreamWriter(fileName, false, Кодировка);
			String^ str2;

			for (i = 0; i < 3; i++)
			{
				str2 = Convert::ToString(dataGridView1->Rows[i]->Cells[i]->Value);
				for (j = 1; j < 7; j++)
					str2 = str2 + " " + dataGridView1->Rows[i]->Cells[j]->Value;
				data->WriteLine(str2);
			}
			data->Close();
		}
		else {
			System::Text::Encoding^ Кодировка = System::Text::Encoding::GetEncoding(1251);
			auto data = gcnew IO::StreamWriter(fileName, false, Кодировка);
			String^ str2;

			for (i = 0; i < 3; i++)
			{
				str2 = Convert::ToString(dataGridView1->Rows[i]->Cells[i]->Value);
				for (j = 1; j < 7; j++)
					str2 = str2 + " " + dataGridView1->Rows[i]->Cells[j]->Value;
				data->WriteLine(str2);
			}
			data->Close();
		}


	}
}
private: System::Void saveFileDialog2_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
	saveFileDialog2->Filter = "Текстовые файлы(*.txt) | *.txt | All files(*.*) | *.*";
}
};
}
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.
Изображения
Тип файла: jpg 2018-05-12 (2).jpg (101.0 Кб, 130 просмотров)

Последний раз редактировалось Alex11223; 12.05.2018 в 16:08.
arnora вне форума Ответить с цитированием
Старый 12.05.2018, 16:08   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так в ней же все написано.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 12.05.2018, 16:54   #3
arnora
Пользователь
 
Регистрация: 27.11.2017
Сообщений: 14
По умолчанию

А как это исправить?
arnora вне форума Ответить с цитированием
Старый 12.05.2018, 17:05   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Для начала определить что именно выходит за пределы (в этой строке 2 варианта).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 12.05.2018, 17:36   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Так ясно, что j. Иначе оно вывалилось бы на 0,1 или 0,2. Может ТС забыл, что нумерация с 0?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите исправить ошибку в строке for(p=s; (p=strstr(p, "000"))!=NULL; ) (значение типа char нельзя присвоить сущности типа char DEXTER322 Помощь студентам 1 22.02.2017 17:51
Помогите исправить ошибку: вывести все "недопалиндромы" из указанного диапазона (от a до b). "недопалиндром" - число которое само не является палиндромов,но сумма его цифр является jeppa Паскаль, Turbo Pascal, PascalABC.NET 8 06.10.2016 10:57
Не могу исправить ошибку "Сортировка массива" Snejok.dav.2580 Помощь студентам 2 11.10.2015 07:16
как исправить ошибку "chacheManager error: Writing index data failed!" spravka Помощь студентам 3 07.11.2010 01:42
как исправить ошибку "File not found: 'IdTCPConnection.dcu'" Даниил_глазко Работа с сетью в Delphi 4 02.11.2010 12:44