Stiefo 0 Denunciar post Postado Abril 28, 2015 Eae Galera, Meu primeiro tópico no fórum, vamos ver se consigo me sair bem rsrs Seguinte, estou fazendo uma pequena aplicação para calcular faturamento e estou encontrando alguns empecilhos. Vou tentar explicar certinho o que eu fiz até agora. Eu criei um TextBox, chamado txtBox_Venc onde vão receber o parâmetro string DtaVenc = txtBox_Venc.Text; Criei um Label chamado lbl_Venc e por ultimo umas variáveis que ira armazenar a data de hoje string dHoje = DateTime.Today.Day.ToString(); string mHoje = DateTime.Today.Month.ToString(); string yHoje = DateTime.Today.Year.ToString(); O que o usuário irá fazer basicamente é digitar um numero no txtBox_Venc o sistema irá atribuir a variável string DtaVenc, depois preciso comparar se este numero, que será de 1 a 31(referente a DIAS do mês) é menor ou igual a data de hoje, se for menor ou igual, irá adicionar um mês na data de hoje, supondo que o usuário digite 10 e a data de hoje fosse 28/04/2015, irá mudar para 10/05/2015 se for maior irá pegar o numero inserido pelo usuário e completar com mês e ano atual, supondo que o usuário digite 30 e a data atual fosse 28/04/2015, irá mudar para 30/04/2015. Estes resultados serão apresentado no Label (lbl_Venc). Um dos problemas que estou tendo é que no momento que coloco um If() e comparo se a variável Dta_Venc é <= dHoje, o visual studio me apresenta uma mensagem que não é possível compara duas string. Alguém poderia me ajudar com esta situação? Abaixo segue o código. private void btn_Calc_Click(object sender, EventArgs e) { string dHoje = DateTime.Today.Day.ToString(); string mHoje = DateTime.Today.Month.ToString(); string yHoje = DateTime.Today.Year.ToString(); string DtaVenc = txtBox_Venc.Text; if(DtaVenc <= dHoje) { lbl_Venc.Text = DtaVenc + (mHoje + 1) + yHoje; } } Compartilhar este post Link para o post Compartilhar em outros sites
Dan Borges 26 Denunciar post Postado Abril 28, 2015 O que você deve fazer é usar comparação de inteiros. A propriedade "DateTime.Today.Day" é um inteiro. Então: string diaDigitado = "30"; if(int.Parse(diaDigitado) <= DateTime.Today.Day) { //Seu código. } Compartilhar este post Link para o post Compartilhar em outros sites
Stiefo 0 Denunciar post Postado Abril 28, 2015 Massa, mais eu não posso atribuir o "DateTime.Today.Day" a uma variável? Compartilhar este post Link para o post Compartilhar em outros sites
Dan Borges 26 Denunciar post Postado Abril 28, 2015 Sim, atribua-a a uma variável int. Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Abril 29, 2015 Você pode comparar dois objetos datetime, se você tiver por exemplo: DateTime hoje = System.dateTime.now; DateTime venc = new Datetime(10,5,2015); Você pode comparar: if(hoje>=venc) .... Compartilhar este post Link para o post Compartilhar em outros sites