private void btnIncluir_Click(object sender, EventArgs e) { try { //instanciação de nova célula com linha e coluna vindas dos NumericUpDown e valor escrito no TextBox Celula nova = new Celula(double.Parse(txtValor.Text), (int)nudLinhas.Value, (int)nudColunas.Value, null, null); if (cbxMatrizes.SelectedIndex == 0) //incluí-se a célula na matriz selecionada { matriz1.Incluir(nova); } else { matriz2.Incluir(nova); } txtValor.Text = ""; //limpa-se o TextBox MessageBox.Show("Valor incluído", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); if (cbExibir.Checked) { btnExibir.PerformClick(); } } catch (Exception exc) { //caso seja disparada alguma exceção durante a inclusão MessageBox.Show(exc.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void LerMatriz(ref ListaCruzada m) //método com argumento por referência { if (ofdAbrir.ShowDialog() == DialogResult.OK) //quando o arquivo texto for selecionado { StreamReader arq = new StreamReader(ofdAbrir.FileName); //instanciação do leitor de arquivo. int l = int.Parse(arq.ReadLine()); //leitura da quantidade de linhas int c = int.Parse(arq.ReadLine()); //leitura da quantidade de colunas m = new ListaCruzada(l, c); //instanciação da matriz com a dimensão presente no arquivo texto. while (!arq.EndOfStream) //enquanto não é fim do arquivo { string linha = arq.ReadLine(); //string linha armazena toda a linha lida string[] campos = linha.Split(';'); //separam-se os campos por meio do método Split no caractere de ponto e vírgula //armazenam-se os campos conforme o formato '[valor];[linha];[coluna]' double valor = double.Parse(campos[0]); int valorLinha = int.Parse(campos[1]); int valorColuna = int.Parse(campos[2]); m.Incluir(new Celula(valor, valorLinha, valorColuna, null, null)); //por fim, é incluída nova célula com os valores lidos } arq.Close(); //fecha-se o arquivo ExibirComponentes(true); //exibem-se os componentes if (cbExibir.Checked) { btnExibir.PerformClick(); } MessageBox.Show("Matriz lida", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); //ao final de muitos métodos desse formulário, exibe-se uma caixa de texto indicando //que a operação foi feita } }