Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

José Alexandre Fagundes

Incremetar o mês da data do DataTimePicker

Recommended Posts

Sou novo no fórum e no Visual Basic 2010 Express.
Já li um livro sobre este programa e estou iniciando nesta área a título de hobby.
Estou fazendo uma aplicação Windows para inserir parcelas de pagamento de um cartão de crédito. Escolhi o objeto DateTimePicker no Visual Basic 2010 para que o usuário entre com a primeira data de pagamento do cartão. Do valor selecionado , tipo data de hoje 06/11/2013, gostaria que ele incrementasse os meses de acordo com o número de parcelas informada pelo usuário.
Usei um TextBox para o usuário informar as parcelas, tipo "5"
Usei uma laço For .... Next para incrementar as parcelas e deu certo.
Consegui o resultado: Parcela 1/5, Parcela 2/5 e assim por diante até Parcela 5/5. Junto a isto queria implementar um incremento para o mês, ficando assim: Parcela 1/5 Vencimento 06/11/2013, Parcela 2/5 Vencimento 06/12/2013, e assim por diante até a parcela 5/5.
Não encontrei no Visual Basic 2010 um procedimento/comando que incremente o mês. Para incrementar o mês das parcelas utilizei um contador e do resultado acumulado a cada loop For, ele aumenta o numero da parcela.
Gostaria de fazer a mesma coisa com a data de pagamento. Alguma sugestão ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dentro do for você faz isso:

 

 

For...


//Função que você já tem


TextboxMesVencimento.text =  SeuDateTimePicker.Value.AddMonths(contador).ToString()


Next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá KhaosDoctor

 

O código funcionou para variar os meses, más sem o comando "Next" no final. dá erro quando eu coloco ele.

Ele calcula iniciando pelo mês anterior ao do comando datatimepicker. Aí acho que é um problema no meu código. Vou ter que achar. O outro problema é que ele considera o ano 2014 e na virada já para 2015.

 

Vou ver se consigo inserir o código abaixo:

 

Public Class Form1

    'Declaração de variáveis

    Dim TotalParcelas As Integer
    Dim mes As Integer
    Dim total As Integer
    Dim contagem As Integer
    Dim candidatos, somaidades, ctdhomens As Integer
    Dim valor As Decimal

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        If TextBox1.Text <> "" Then

            TotalParcelas = TextBox1.Text
            mes = DateTimePicker1.Value.Month
            total = mes + (TotalParcelas - 1)
            valor = TextBox2.Text

            'Estes dois comandos é para ver os valores das variáveis na tela e ver se estão saindo corretos.

            TextBox3.Text = mes
            TextBox4.Text = total

            'Aqui começa o loop

            For ContadorMes = mes To total

                'Criei este listbox para ver na tela na execução se as variáveis estavam calculando certo

                contagem = contagem + 1
                ListBox1.Items.Add("Parcela " & contagem & "/" & TotalParcelas & "  " & TextBox2.Text)

                'Aqui jogo os valores das variáveis em uma grade para depois mandar para a base de dados que ainda nem criei.
                'E tambpem ainda não sei como conectar. Vai ser o Próximo passo

                Dim contadorgrelha As Integer
                contadorgrelha = 0

                Grelha.Rows.Add()
                Grelha.Item(0, candidatos).Value = candidatos + 1
                Grelha.Item(1, candidatos).Value = "Parcela " & contagem & "/" & TotalParcelas
                Grelha.Item(2, candidatos).Value = TextBox2.Text
                Grelha.Item(3, candidatos).Value = DateTimePicker1.Value.AddMonths(ContadorMes).ToString()
                candidatos = candidatos + 1

            Next



        Else

            MsgBox("Digite um número")

        End If

    End Sub

End Class

Não consegui colar o printscreen da tela do programa para veres. Vou pesquisar no fórum como faz isto.

 

 

 

 

 

 

 




Public Class Form1

    'Declaração de variáveis

    Dim TotalParcelas As Integer
    Dim mes As Integer
    Dim total As Integer
    Dim contagem As Integer
    Dim candidatos, somaidades, ctdhomens As Integer
    Dim valor As Decimal

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        If TextBox1.Text <> "" Then

            TotalParcelas = TextBox1.Text
            mes = DateTimePicker1.Value.Month
            total = mes + (TotalParcelas - 1)
            valor = TextBox2.Text

            'Estes dois comandos é para ver os valores das variáveis na tela e ver se estão saindo corretos.

            TextBox3.Text = mes
            TextBox4.Text = total

            'Aqui começa o loop

            For ContadorMes = mes To total

                'Criei este listbox para ver na tela na execução se as variáveis estavam calculando certo

                contagem = contagem + 1
                ListBox1.Items.Add("Parcela " & contagem & "/" & TotalParcelas & "  " & TextBox2.Text)

                'Aqui jogo os valores das variáveis em uma grade para depois mandar para a base de dados que ainda nem criei.
                'E tambpem ainda não sei como conectar. Vai ser o Próximo passo

                Dim contadorgrelha As Integer
                contadorgrelha = 0

                Grelha.Rows.Add()
                Grelha.Item(0, candidatos).Value = candidatos + 1
                Grelha.Item(1, candidatos).Value = "Parcela " & contagem & "/" & TotalParcelas
                Grelha.Item(2, candidatos).Value = TextBox2.Text
                Grelha.Item(3, candidatos).Value = DateTimePicker1.Value.AddMonths(ContadorMes).ToString()
                candidatos = candidatos + 1

            Next



        Else

            MsgBox("Digite um número")

        End If

    End Sub

End Class


A imagem via printscreen não cola e usando o comando "Imagem" do tópico responder, não sei qual a URL.

Vou tentando ver qual o problema do código que inicia o ano em 2014.

Agradeço .



Ok KhaosDoctor

 

A função funcionou. O erro do ano 2014 era porque eu estava utilizando como início de variável o mês atual que é 11, aí a função estava calculando 11 meses para frente e iniciava em outubro de 2014.

Problema resolvido. Só não sei ainda como colar uma tela do computador no fórum para melhor visualização do projeto.

Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.