Пример #1
0
 private void txtCodigoLeitor_Leave(object sender, EventArgs e)
 {
     if (txtCodigoLeitor.Text == "")                                                             // verifica se o campo "txtCodigoLeitor" está vazio
     {
         MessageBox.Show("Digite um código válido!", "Código inv" +
                         "álido", MessageBoxButtons.OK, MessageBoxIcon.Error);       // mostra um erro
     }
     else                                                                            // se houver algo
     {
         var procurado = new Leitor(txtCodigoLeitor.Text);                           // cria um objeto leitor com o codigo passado
         int ondeAchou = 0;
         if (!osLeitores.Existe(procurado, ref ondeAchou))                           // se não entrontou o leitor
         {
             MessageBox.Show("Leitor não encontrado");
             txtNomeLeitor.Clear();
             cbLivro.Enabled = false;
         }
         else                                                                                        // encontrou o código procurado na posição ondeAchou
         {
             osLeitores.PosicaoAtual = ondeAchou;
             txtNomeLeitor.Text      = osLeitores[osLeitores.PosicaoAtual].NomeLeitor.Trim();                // mostra o nome do leitor com base no código passado
             cbLivro.Enabled         = true;
             cbLivro.Items.Clear();
             // percorre e coloca os livros em cada item do ComboBox "cbLivro"
             for (int i = 0; i < osLivros.Tamanho; i++)
             {
                 cbLivro.Items.Add(osLivros[i].TituloLivro.Trim());
             }
         }
     }
 }
Пример #2
0
        private void AtualizarTela()
        {
            if (!osLivros.EstaVazio)
            {
                int indice = osLivros.PosicaoAtual;
                txtCodigoLivro.Text = osLivros[indice].CodigoLivro + "";
                txtTituloLivro.Text = osLivros[indice].TituloLivro;

                (grbTipoLivro.Controls[osLivros[indice].TipoLivro] as
                 RadioButton).Checked = true;

                txtLeitorComLivro.Text = "000000";
                txtDataDevolucao.Text  = "";
                txtNomeLeitor.Text     = "";
                if (osLivros[indice].CodigoLeitorComLivro != "000000") // livro emprestado?
                {
                    int ondeLeitor = 0;
                    var leitorProc = new Leitor(osLivros[indice].CodigoLeitorComLivro);
                    if (osLeitores.Existe(leitorProc, ref ondeLeitor))
                    {
                        txtLeitorComLivro.Text = osLivros[indice].CodigoLeitorComLivro;
                        txtNomeLeitor.Text     = osLeitores[ondeLeitor].NomeLeitor;
                        txtDataDevolucao.Text  = osLivros[indice].DataDevolucao.ToShortDateString();
                    }
                }

                TestarBotoes();
                stlbMensagem.Text =
                    "Registro " + (osLivros.PosicaoAtual + 1) +
                    "/" + osLivros.Tamanho;
            }
        }
Пример #3
0
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (osLeitores.SituacaoAtual == Situacao.incluindo) // está no modo de inclusão
            {
                var novoDado = new Leitor(txtCodigoLeitor.Text,
                                          txtNomeLeitor.Text,
                                          txtEndereco.Text,
                                          0,              // --> 0 é o número de livros emprestados
                                          new string[5]); // vetor com 5 códigos de livro vazios
                osLeitores.Incluir(novoDado, ondeIncluir);
                // para mudar o registro com o qual trabalhamos no momento
                osLeitores.PosicaoAtual = ondeIncluir;
                AtualizarTela();
                osLeitores.SituacaoAtual = Situacao.navegando; // termina o modo de inclusão
            }
            else // verificar se está editando
            if (osLeitores.SituacaoAtual == Situacao.editando)
            {
                osLeitores[osLeitores.PosicaoAtual] =
                    new Leitor(
                        osLeitores[osLeitores.PosicaoAtual].CodigoLeitor,
                        txtNomeLeitor.Text,
                        txtEndereco.Text,
                        osLeitores[osLeitores.PosicaoAtual].QuantosLivrosComLeitor,
                        osLeitores[osLeitores.PosicaoAtual].CodigoLivroComLeitor
                        );

                osLeitores.SituacaoAtual = Situacao.navegando;
                txtCodigoLeitor.ReadOnly = false;
                AtualizarTela();
            }
            btnSalvar.Enabled = false;
        }
Пример #4
0
        private void btnSalvar_Click(object sender, EventArgs e) // click do botão salvar
        {
            if (osLeitores.SituacaoAtual == Situacao.incluindo)  // está no modo de inclusão
            {
                var novoDado = new Leitor(txtCodigoLeitor.Text,  // instanciamos um objeto da classe Leitor com os campos passados como paramêtro
                                          txtNomeLeitor.Text,
                                          txtEndereco.Text,
                                          0,                   // --> 0 é o número de livros emprestados
                                          new string[5]);      // vetor com 5 códigos de livro vazios
                osLeitores.Incluir(novoDado, ondeIncluir);     // incluímos o novo leitor
                // para mudar o registro com o qual trabalhamos no momento
                osLeitores.PosicaoAtual = ondeIncluir;         // alteramos a posição atual para o índice de onde o dado foi incluido
                AtualizarTela();                               // atualizamos a tela mostrando o registro incluído
                osLeitores.SituacaoAtual = Situacao.navegando; // termina o modo de inclusão
            }
            else // verificar se está editando
            if (osLeitores.SituacaoAtual == Situacao.editando)        // se for uma edição
            {
                osLeitores[osLeitores.PosicaoAtual] =                 // alteramos o registro de leitores da posição atual ( a que está sendo exibida na tela ),
                                                      new Leitor(     // onde os novas informações serão as que o usuário digitar nos campos
                    osLeitores[osLeitores.PosicaoAtual].CodigoLeitor, // o código não poderá ser alterado
                    txtNomeLeitor.Text,
                    txtEndereco.Text,
                    osLeitores[osLeitores.PosicaoAtual].QuantosLivrosComLeitor, // a quantidade de livros com o Leitor, bem como os respectivos códigos
                    osLeitores[osLeitores.PosicaoAtual].CodigoLivroComLeitor    // não poderão ser alterados
                    );

                osLeitores.SituacaoAtual = Situacao.navegando; // voltamos para a situação original
                txtCodigoLeitor.ReadOnly = false;              // deixamos o código do leitor habilitado
                AtualizarTela();                               // atualizamos a tela para o novo registro editado
            }
            btnSalvar.Enabled = false;                         // desabilitamos o botão salvar
        }
 void ExibirNoCBX(Leitor qualLeitor)
 {
     for (int i = 0; i < qualLeitor.QuantosLivrosComLeitor; i++)         // enquanto índice é menor que a quantidade de livros com o leitor
     {
         Livro livroVez = new Livro(qualLeitor.CodigoLivroComLeitor[i]); // instanciamos a variável livroVez passando o CodigoLivroLeitor como parâmetor
         int   onde     = -1;
         if (osLivros.Existe(livroVez, ref onde))                        // se o livro procurado ( livroVez ) existe
         {
             cbxLivros.Items.Add(osLivros[onde].TituloLivro);            // exibimos o título do livro no comboBox
         }
     }
 }
Пример #6
0
        private void txtCodLeitor_Leave(object sender, EventArgs e) // ao sair do campodo código do leitor
        {
            Leitor qualLeitor = new Leitor(txtCodLeitor.Text);
            int    ondeLeitor = -1;

            if (!osLeitores.Existe(qualLeitor, ref ondeLeitor))   // se NÃO existe o leitor com o referido código
            {
                MessageBox.Show("O leitor não está cadastrado!"); // alertamos o leitor
                LimparFocar(txtCodLeitor);                        // limpamos e focamos o campo do código do leitor
            }
            else // se existe o leitor
            {
                oLeitor = osLeitores[ondeLeitor]; // atríbuimos o leitor desejado à varíavel oLeitor
                HabilitarBtn();                   // tentamos habilitar o botão
            }
        }
Пример #7
0
        private void AtualizarTela()
        {
            if (!osLivros.EstaVazio)                                                                    // verifica se não está vazio
            {
                int indice = osLivros.PosicaoAtual;                                                     // recebe a posição atual do vetor
                txtCodigoLivro.Text = osLivros[indice].CodigoLivro + "";
                txtTituloLivro.Text = osLivros[indice].TituloLivro;
                dgvTipoLivro.ClearSelection();
                osTipos.PosicaoAtual = osLivros[indice].TipoLivro - 1;
                for (int i = 0; i < dgvTipoLivro.RowCount; i++)                                                                // percorre o data gried view
                {
                    if (int.Parse(dgvTipoLivro.Rows[i].Cells[0].Value.ToString()) == osTipos[osTipos.PosicaoAtual].CodigoTipo) // verifica se o tipo do
                    // livro é igual ao tipo
                    // da posição atual no
                    // data gried view
                    {
                        dgvTipoLivro.Rows[i].Selected = true;                                                                       // seleciona o tipo (coloca e azul)
                        dgvTipoLivro.CurrentCell      = dgvTipoLivro.Rows[i].Cells[0];
                        dgvTipoLivro.BeginEdit(true);
                        dgvTipoLivro.EndEdit();
                    }
                }
                // zera os textbox do groupbox2
                txtLeitorComLivro.Text = "000000";
                txtDataDevolucao.Text  = "";
                txtNomeLeitor.Text     = "";
                if (osLivros[indice].CodigoLeitorComLivro != "000000")                                              // livro emprestado?
                {
                    int ondeLeitor = 0;
                    var leitorProc = new Leitor(osLivros[indice].CodigoLeitorComLivro);                                 // cria um leitor com o código "CodigoLeitorComLivro"
                    if (osLeitores.Existe(leitorProc, ref ondeLeitor))                                                  // verifica se esse leitor existe
                    {
                        // mostra os dados do leitor nos textbox's do groupbox2
                        txtLeitorComLivro.Text = osLivros[indice].CodigoLeitorComLivro;
                        txtNomeLeitor.Text     = osLeitores[ondeLeitor].NomeLeitor;
                        txtDataDevolucao.Text  = osLivros[indice].DataDevolucao.ToShortDateString();
                    }
                }

                TestarBotoes();                                                                                      // atualiza o estado dos botões
                stlbMensagem.Text =
                    "Registro " + (osLivros.PosicaoAtual + 1) +
                    "/" + osLivros.Tamanho;
            }
        }
Пример #8
0
        private void txtMatricula_Leave(object sender, EventArgs e)                                         // ao sair do campo "txtCodigoLeitor"
        {
            if (txtCodigoLeitor.Text == "")
            {
                MessageBox.Show("Digite um código válido!");
            }
            else
            {
                var procurado = new Leitor(txtCodigoLeitor.Text);
                switch (osLeitores.SituacaoAtual)                                                                   // escolhe a operação de acordo com o modo de navegação
                {
                case Situacao.incluindo:                                                                            // INCLUINDO
                    if (osLeitores.Existe(procurado, ref ondeIncluir))                                              // se já existe o código
                    {
                        MessageBox.Show("Código repetido; inclusão cancelada.");
                        osLeitores.SituacaoAtual = Situacao.navegando;                                                      // cancela a inclusão e retorna a navegação
                        AtualizarTela();                                                                                    // restaura o registro visível anteriormente
                    }
                    else                                                                                                    // o código ainda não existe no vetor dados
                    {
                        txtNomeLeitor.Focus();
                        stlbMensagem.Text = "Digite os demais dados. Após isso pressione [Salvar]";
                    }
                    break;

                case Situacao.pesquisando:                                                                              // PESQUISANDO
                    int ondeAchou = 0;
                    if (!osLeitores.Existe(procurado, ref ondeAchou))                                                   // se não achou o codigo procurado
                    {
                        MessageBox.Show("Código não foi cadastrado ainda.");
                        AtualizarTela();                                                                                    // atualiza a tela e colocar na primeira posição
                        osLeitores.SituacaoAtual = Situacao.navegando;                                                      // volta para o modo de navegação
                    }
                    else                                                                                                    // encontrou o código procurado na posição ondeAchou
                    {
                        // para mudar o registro com o qual trabalhamos no momento
                        osLeitores.PosicaoAtual = ondeAchou;
                        AtualizarTela();
                        osLeitores.SituacaoAtual = Situacao.navegando;                                                          // volta para o modo de navegação
                    }
                    break;
                }
            }
        }
Пример #9
0
        private void txtMatricula_Leave(object sender, EventArgs e)
        {
            if (txtCodigoLeitor.Text == "")
            {
                MessageBox.Show("Digite um código válido!");
            }
            else
            {
                var procurado = new Leitor(txtCodigoLeitor.Text);
                switch (osLeitores.SituacaoAtual)
                {
                case Situacao.incluindo:
                    if (osLeitores.Existe(procurado, ref ondeIncluir)) // se já existe o código
                    {
                        MessageBox.Show("Código repetido; inclusão cancelada.");
                        osLeitores.SituacaoAtual = Situacao.navegando;
                        AtualizarTela(); // restaura o registro visível anteriormente
                    }
                    else // o código ainda não existe no vetor dados
                    {
                        txtNomeLeitor.Focus();
                        stlbMensagem.Text = "Digite os demais dados. Após isso pressione [Salvar]";
                    }
                    break;

                case Situacao.pesquisando:
                    int ondeAchou = 0;
                    if (!osLeitores.Existe(procurado, ref ondeAchou))
                    {
                        MessageBox.Show("Código não foi cadastrado ainda.");
                        AtualizarTela();
                        osLeitores.SituacaoAtual = Situacao.navegando;
                    }
                    else // encontrou o código procurado na posição ondeAchou
                    {
                        osLeitores.PosicaoAtual = ondeAchou;
                        AtualizarTela();
                        osLeitores.SituacaoAtual = Situacao.navegando;
                    }
                    break;
                }
            }
        }
Пример #10
0
        private void txtMatricula_Leave(object sender, EventArgs e) // evento disparado ao sair do campo da digitação do código do leitor
        {
            if (txtCodigoLeitor.Text == "")                         // se o campo está vazio
            {
                MessageBox.Show("Digite um código válido!");        // alertamos o usuário
            }
            else // se não está vazio
            {
                var procurado = new Leitor(txtCodigoLeitor.Text);                // instanciamos um objeto da classe Leitor passando o código digitado como parâmetro
                switch (osLeitores.SituacaoAtual)                                // prosseguimos diferentemente para cada situação, por isso o uso do switch
                {
                case Situacao.incluindo:                                         // se for uma inclusão
                    if (osLeitores.Existe(procurado, ref ondeIncluir))           // se já existe o código
                    {
                        MessageBox.Show("Código repetido; inclusão cancelada."); // alertamos o usuário
                        osLeitores.SituacaoAtual = Situacao.navegando;           // voltamos para a situação normal ( navegando )
                        AtualizarTela();                                         // restaura o registro visível anteriormente
                    }
                    else // o código ainda não existe no vetor dados
                    {
                        txtNomeLeitor.Focus();                                                      // focamos no outro campo, o de nome
                        stlbMensagem.Text = "Digite os demais dados. Após isso pressione [Salvar]"; // alteramos a mensagem para o usuário
                    }
                    break;                                                                          // saímos do switch

                case Situacao.pesquisando:                                                          // se for uma pesquisa
                    int ondeAchou = 0;                                                              // variável inteira para alterar a posição do vetordados futuramente
                    if (!osLeitores.Existe(procurado, ref ondeAchou))                               // se o código digitado não existe
                    {
                        MessageBox.Show("Código não foi cadastrado ainda.");                        // alertamos o usuário
                        AtualizarTela();                                                            // atualizamos a tela
                        osLeitores.SituacaoAtual = Situacao.navegando;                              // voltamos para a situação normal ( navegando )
                    }
                    else // encontrou o código procurado na posição ondeAchou
                    {
                        osLeitores.PosicaoAtual = ondeAchou;           // alteramos a posição atual para o indíce de onde o código encontrado está
                        AtualizarTela();                               // atualizamos a tela
                        osLeitores.SituacaoAtual = Situacao.navegando; // voltamos para a situação normal ( navegando )
                    }
                    break;                                             // saímos do switch
                }
            }
        }
Пример #11
0
        private void AtualizarTela()                                     // função que atualiza a tela e exibe os campos para o usuário
        {
            if (!osLivros.EstaVazio)                                     // se o vetor de livros NÃO está vazio
            {
                int indice = osLivros.PosicaoAtual;                      // atribuímos à índice o valor da PosiçãoAtual (que está exibida na tela)
                txtCodigoLivro.Text = osLivros[indice].CodigoLivro + ""; // alteramos o campo de código para o código do livro da posição atual
                txtTituloLivro.Text = osLivros[indice].TituloLivro;      // e o mesmo com o título do livro ^^

                bool achouTipo = false;
                dgvTipos.ClearSelection();                                                                   // limpamos a seleção do datagridview
                for (int i = 0; i < dgvTipos.RowCount && !achouTipo; i++)                                    // enquanto o 'i' for menor que a quantidade de colunas do datagridview, e o tipo não for encontrado
                {
                    if (int.Parse(dgvTipos.Rows[i].Cells[0].Value.ToString()) == osLivros[indice].TipoLivro) // se o valor do código na coluna 'i' for igual ao código do livro da posição atual
                    {
                        dgvTipos.Rows[i].Selected = true;                                                    // selecionamos a coluna do tipo do livro
                        achouTipo = true;                                                                    // deixamos a variàvel booleana achouTipo igual a verdadeira, saindo do 'for'
                    }
                }


                txtLeitorComLivro.Text = "000000";                                                   // alteramos o código do leitor que está com o livro para 000000, que é o padrão, se o livro não estiver emprestado
                txtDataDevolucao.Text  = "";                                                         // também mudamos a data de devolução para vazia
                txtNomeLeitor.Text     = "";                                                         // e o mesmo com o nome do leitor
                if (osLivros[indice].CodigoLeitorComLivro != "000000")                               // se o livro exibido estiver emprestado
                {
                    int ondeLeitor = 0;                                                              // onde encontraremos o leitor futuramente
                    var leitorProc = new Leitor(osLivros[indice].CodigoLeitorComLivro);              // instanciamos o objeto do leitor procurado passando o seu código como parâmetro
                    if (osLeitores.Existe(leitorProc, ref ondeLeitor))                               // procuramos o leitor
                    {
                        txtLeitorComLivro.Text = osLivros[indice].CodigoLeitorComLivro;              // preenchemos o campo leitor com livro
                        txtNomeLeitor.Text     = osLeitores[ondeLeitor].NomeLeitor;                  // preenchemos o campo de nome do leitor como o nome do leitor encontrado
                        txtDataDevolucao.Text  = osLivros[indice].DataDevolucao.ToShortDateString(); // preenchemos a data de devolução
                    }
                }

                TestarBotoes();     // verificamos a validade dos botões
                stlbMensagem.Text = // alteramos a mensagem exibida para o usuário
                                    "Registro " + (osLivros.PosicaoAtual + 1) +
                                    "/" + osLivros.Tamanho;
            }
        }
Пример #12
0
        private void AtualizarTela()
        {
            if (!osLeitores.EstaVazio)                                                      // verifica se não está vazio
            {
                Leitor oLeitor = osLeitores[osLeitores.PosicaoAtual];                       // recebe o leitor da posição atual
                txtCodigoLeitor.Text = (oLeitor.CodigoLeitor + "").Trim();                  // escreve o leitor
                txtNomeLeitor.Text   = oLeitor.NomeLeitor.Trim();                           // escreve o livro
                txtEndereco.Text     = oLeitor.EnderecoLeitor.Trim();                       // escreve o endereço
                dgvLivros.RowCount   = oLeitor.QuantosLivrosComLeitor + 1;                  // adiciona o número de linhas necessárias no data gried view

                for (int umLivro = 0;
                     umLivro < oLeitor.QuantosLivrosComLeitor; umLivro++)                               // percorre os livros com o leitor
                {
                    int ondeLivro      = -1;
                    var livroProcurado =
                        new Livro(oLeitor.CodigoLivroComLeitor[umLivro]);                           // recebe o livro com o leitor
                    if (osLivros.Existe(livroProcurado, ref ondeLivro))                             // verifica se o livro porcurado existe no vetor livros
                    {
                        // escreve os dados do livro no Data Grid View
                        Livro oLivro = osLivros[ondeLivro];
                        dgvLivros.Rows[umLivro].Cells[0].Value = oLivro.CodigoLivro;
                        dgvLivros.Rows[umLivro].Cells[1].Value = oLivro.TituloLivro;
                        dgvLivros.Rows[umLivro].Cells[2].Value = oLivro.DataDevolucao.ToShortDateString();
                        if (oLivro.DataDevolucao < DateTime.Now.Date)                                   // verifica se está atrasado
                        {
                            dgvLivros.Rows[umLivro].Cells[3].Value = "S";
                        }
                        else
                        {
                            dgvLivros.Rows[umLivro].Cells[3].Value = "N";
                        }
                    }
                }

                TestarBotoes();                                                                   // atualiza o estado dos botões
                stlbMensagem.Text =
                    "Registro " + (osLeitores.PosicaoAtual + 1) +
                    "/" + osLeitores.Tamanho;
            }
        }
Пример #13
0
        private void AtualizarTela()
        {
            if (!osLeitores.EstaVazio)
            {
                Leitor oLeitor = osLeitores[osLeitores.PosicaoAtual];
                txtCodigoLeitor.Text = oLeitor.CodigoLeitor + "";
                txtNomeLeitor.Text   = oLeitor.NomeLeitor;
                txtEndereco.Text     = oLeitor.EnderecoLeitor;
                dgvLivros.RowCount   = oLeitor.QuantosLivrosComLeitor + 1;

                for (int umLivro = 0;
                     umLivro < oLeitor.QuantosLivrosComLeitor; umLivro++)
                {
                    int ondeLivro      = -1;
                    var livroProcurado =
                        new Livro(oLeitor.CodigoLivroComLeitor[umLivro]);
                    if (osLivros.Existe(livroProcurado, ref ondeLivro))
                    {
                        Livro oLivro = osLivros[ondeLivro];
                        dgvLivros.Rows[umLivro].Cells[0].Value = oLivro.CodigoLivro;
                        dgvLivros.Rows[umLivro].Cells[1].Value = oLivro.TituloLivro;
                        dgvLivros.Rows[umLivro].Cells[2].Value = oLivro.DataDevolucao.ToShortDateString();
                        if (oLivro.DataDevolucao < DateTime.Now.Date)
                        {
                            dgvLivros.Rows[umLivro].Cells[3].Value = "S";
                        }
                        else
                        {
                            dgvLivros.Rows[umLivro].Cells[3].Value = "N";
                        }
                    }
                }

                TestarBotoes();
                stlbMensagem.Text =
                    "Registro " + (osLeitores.PosicaoAtual + 1) +
                    "/" + osLeitores.Tamanho;
            }
        }
Пример #14
0
        private void AtualizarTela()                                       // função que atualiza a tela e exibe os campos para o usuário
        {
            if (!osLeitores.EstaVazio)                                     // se o vetor de leitores NÃO está vazio
            {
                Leitor oLeitor = osLeitores[osLeitores.PosicaoAtual];      // objeto 'oLeitor' é igual o valor da posição atual da PosiçãoAtual de osLeitores
                txtCodigoLeitor.Text = oLeitor.CodigoLeitor + "";          // alteramos o campo de código do leitor para o seu respectivo código
                txtNomeLeitor.Text   = oLeitor.NomeLeitor;                 // alteramos também os campos de nome
                txtEndereco.Text     = oLeitor.EnderecoLeitor;             //                           &endereço
                dgvLivros.RowCount   = oLeitor.QuantosLivrosComLeitor + 1; // a quantidade de colunas do DataGridView é igual a quantidade de livros que o leitor tem emprestado

                for (int umLivro = 0;
                     umLivro < oLeitor.QuantosLivrosComLeitor; umLivro++)                                  // enquanto o índice for menor que a quantidade de livros com o leitor
                {
                    int ondeLivro      = -1;                                                               // índice de onde encontraremos o livro
                    var livroProcurado =
                        new Livro(oLeitor.CodigoLivroComLeitor[umLivro]);                                  // instanciamos o objeto livroProcurado como um novo Livro com seu código passado como parâmetro
                    if (osLivros.Existe(livroProcurado, ref ondeLivro))                                    // se o livro procurado existe
                    {
                        Livro oLivro = osLivros[ondeLivro];                                                // a variável oLivro fica com o valor do livro encontrado (que está na posição 'ondeLivro')
                        dgvLivros.Rows[umLivro].Cells[0].Value = oLivro.CodigoLivro;                       // mudamos a primeira célula na coluna do indíce com o respectivo código
                        dgvLivros.Rows[umLivro].Cells[1].Value = oLivro.TituloLivro;                       //                                                                título
                        dgvLivros.Rows[umLivro].Cells[2].Value = oLivro.DataDevolucao.ToShortDateString(); //                                          data de devolução
                        if (oLivro.DataDevolucao < DateTime.Now.Date)                                      // se a data de devolução for menor que a data atual
                        {
                            dgvLivros.Rows[umLivro].Cells[3].Value = "S";                                  // a devolução do livro está atrasada, e escrevemos 'S' no campo de atraso
                        }
                        else // se a data de devolução for maior que a data atual
                        {
                            dgvLivros.Rows[umLivro].Cells[3].Value = "N"; // a devolução não está atrasad, e escrevemos 'N' no campo de atraso
                        }
                    }
                }

                TestarBotoes();     // chamamos a função que verifica a validade dos botões
                stlbMensagem.Text = // mudamos a mensagem exibida
                                    "Registro " + (osLeitores.PosicaoAtual + 1) +
                                    "/" + osLeitores.Tamanho;
            }
        }
        private void txtCodLeitor_Leave(object sender, EventArgs e)
        {
            Leitor proc = new Leitor(txtCodLeitor.Text); // váriavel do tipo leitor com o código digitado passado como parâmetro
            int    onde = -1;

            if (osLeitores.Existe(proc, ref onde))                // se o leitor procurado existe
            {
                if (osLeitores[onde].QuantosLivrosComLeitor != 0) // se o leitor tem algum livro emprestado
                {
                    oLeitor = osLeitores[onde];                   // atribuímos a variável oLeitor o valor do leitor encontrado
                    ExibirNoCBX(oLeitor);                         // exibimos os livros emprestados a este leitor no combobox
                }
                else //se o leitor não tem nenhum livro emprestado
                {
                    MessageBox.Show("O leitor digitado não tem nenhum livro!"); // notificamos o usuário
                    LimparFocar(txtCodLeitor);                                  // limpamos e focamos o campo do código do leitor
                }
            }
            else // se o código do leitor não existe no arquivo texto
            {
                MessageBox.Show("O código do leitor não existe"); // notificamos o usuário
                LimparFocar(txtCodLeitor); // limpamos e focamos o campo do código do leitor
            }
        }