Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
        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
            }
        }