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