示例#1
0
        } // fim do método btAbrirArquivo_MouseClick

        private void btProximoRegistro_MouseClick(object sender, MouseEventArgs e)
        {
            // deserialia objetos da classe Registro e armazena os dados nas TextBoxes
            try
            {
                // get next Record available in file
                Registro registro =
                    (Registro)reader.Deserialize(arquivo_entrada);

                // armazena valores de Registro num array de string
                string[] values = new string[] {
                    registro.getConta().ToString(),
                         registro.getPrimeiroNome().ToString(),
                         registro.getUltimoNome().ToString(),
                         registro.getSaldo().ToString()
                };

                // copia os valores do array de string nos valores dos TextBox
                SetTextBoxValues(values);
            }

            // trata excecção, quando não existe Registro no arquivo
            catch (SerializationException)
            {
                // fecha FileStream se não houver Registro no arquivo
                arquivo_entrada.Close();

                // abilita o botão para abrir arquivo
                btAbrirArquivo.Enabled = true;

                // disabilita botão de próximo Registro
                btProximoRegistro.Enabled = false;

                ClearTextBoxes();

                // notifica o usuário se não existe Registro em arquivo
                MessageBox.Show("Não existem mais registros no arquivo", "",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        } // fim do método btProximoRegistro_MouseClick
示例#2
0
文件: Form2.cs 项目: PedruuH/POO
        private void btAbrir_arquivo_Click(object sender, EventArgs e)
        {
            // cria caixa de diálogo para usuário abrir arquivo
            OpenFileDialog fileChooser = new OpenFileDialog();
            DialogResult   result      = fileChooser.ShowDialog();
            string         fileName; // nome do arquivo contendo os dados

            // sai do evento se o usuário clicar Cancel
            if (result == DialogResult.Cancel)
            {
                return;
            }

            // obtém o nome do arquivo para leitura
            fileName = fileChooser.FileName;


            // mostra erro se o usuário digitou arquivo inválido
            if (fileName == "" || fileName == null)
            {
                MessageBox.Show("Nome de arquivo inválido", "Erro",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                // cria FileStream para obter acesso de leitura ao arquivo
                arquivo_entrada = new FileStream(fileName, FileMode.Open,
                                                 FileAccess.Read);

                btSaldo_positivo.Enabled = true;
                btSaldo_negativo.Enabled = true;
                btSaldo_nulo.Enabled     = true;
            }
            while (true)
            {
                try
                {
                    // get next Record available in file
                    Registro registro =
                        (Registro)reader.Deserialize(arquivo_entrada);

                    if (double.Parse(registro.getSaldo().ToString()) == 0)
                    {
                        nulos.Add(registro); nu++;
                    }
                    if (double.Parse(registro.getSaldo().ToString()) > 0.0)
                    {
                        positivos.Add(registro); po++;
                    }
                    if (double.Parse(registro.getSaldo().ToString()) < 0)
                    {
                        negativos.Add(registro); ne++;
                    }
                }
                catch (SerializationException)
                {
                    arquivo_entrada.Close();
                    btFechar_arquivo.Enabled = true;
                    btAbrir_arquivo.Enabled  = false;
                    break;
                }
            }
        }