O aplicativo precisa rodar, não necessariamente na taskbar. O que eu faria seria uma classe com dois campos Date, um para pegar a data inicial (ponto de partida) e outro para pegar a data corrente (quando o programa estiver em execução), até coincidir os 30 dias ou mais, pois o computador pode não ser ligado no 30º.
S
SilverHawk
entendi drsmachado… eu estava pensando em fazer algo assim
usuario digita data de expiração, o aplicativo pega a data do sistema e calcula… quando chegar na data dispara o alarme com base na data do sistema
na verdade seria preciso que rodasse da task bar, pois atrapalharia o usuario se ficar aberto… não acha?
drsmachado
Deixar isto por conta do usuário é perigoso. E se ele digita uma data maior?
Eu prefiro estipular esse prazo (também é possível determinar a data final a partir da inicial e ir comparando, dia a dia, se a data é igual ou maior).
S
SilverHawk
veradade…
usuario entrar com data de expiração é perigoso…
fica para o desenvolvedor estipular a data de expiração apartir da data de entrada…
uso a biblioteca timer?
drsmachado
Isso fica a teu critério.
Embora eu ache desnecessário.
S
SilverHawk
entao… o problema é esse… como faço para contar os dias? preciso de dias reais… nao sei como
S
SilverHawk
vou tentar explicar denovo…
fulano entra no aplicativo
escolhe opção X na data YY/YY/YYYY
aplicativo informa que opção X expira na data BB/BB/BBBB
quando chegar na data BB/BB/BBBB o aplicativo dispara um alarme
como controlo os dias?
é minha unica duvida… por favor
Anime
Oi,
Se a data for igual a BB/BB/BBBB então dispara… Acho que não entendi rs…
quando chegar na data 08/08/11, dispara um aviso qualquer…
ou seja quando a data do sistema chegar a 08/08/11, dispara um aviso qualquer
entendi pouca coisa desse código
poderia me explicar?
ps: como se fosse um despertador, porem em vez de horas é dia
Anime
SilverHawk:
por exemplo…
usuario insere algo na data de hoje e
quando chegar na data 08/08/11, dispara um aviso qualquer…
ou seja quando a data do sistema chegar a 08/08/11, dispara um aviso qualquer
entendi pouca coisa desse código
poderia me explicar?
ps: como se fosse um despertador, porem em vez de horas é dia
Como assim insere algo, o que é algo…
Estou supondo que hoje 07/06/2011, seu usuario faz algo e o prazo vence em 07/07/2011 e ai o sistema envia uma mensagem quando chegar na data… Então, cheguei perto?
esse algo é uma entrada qualquer… um texto… uma hipotese
sim é isso mesmo que voce disse… o sistema envia uma msg quando chegar a data…
é isso que o código faz? pq usar um switch? e nao uma verificação na hora do sistema e comparar
exemplo
se data do sistema é == a data de vencimento, entao dispara mensagem…
Anime
SilverHawk:
esse algo é uma entrada qualquer… um texto… uma hipotese
sim é isso mesmo que voce disse… o sistema envia uma msg quando chegar a data…
é isso que o código faz? pq usar um switch? e nao uma verificação na hora do sistema e comparar
exemplo
se data do sistema é == a data de vencimento, entao dispara mensagem…
Ué foi a primeira opção que eu indiquei rsrs…
S
SilverHawk
nossa é verdade… seu código ficou mais claro quando li o conteudo dos links que voce me passou…
muito obrigado!!
…
aproveitando o tópico…
voce sabe como colocar o aplicativo rodando sempre no taskbar?
por exemplo… ao clicar um botao vai para o task bar e fica rodando em background no SO
Anime
Não, vou ficar devendo rs… :oops:
Por nada…
S
SilverHawk
bom dia
fiz diferente, usei o Date mesmo
aqui está minha classe
publicvoiddesperta()throwsException{SimpleDateFormatformat=newSimpleDateFormat("dd/MM/yyyy");Dateminha=format.parse("08/06/2011");// dia atualDateminha2=format.parse("09/06/2011");// um dia depoisif(minha.after(minha2))JOptionPane.showInputDialog("oieeeeeeeeeee");}
teria que aparecer uma mensagem quando clicasse no RadioButton
1 - Para esse caso em particular não vai apresentar nada mesmo, já que o método after() vai retornar false.
2 - Use Calendar para manipulação de datas.
Abraços.
S
SilverHawk
perae que fiz coisa confusa… :?
nel
Por favor, poste o método completo de comparação, como realmente estão as variavéis e a lógica.
Pois postou duas partes e nas duas partes há diferença de nome de variavél.
publicvoiddesperta()throwsException{SimpleDateFormatformat=newSimpleDateFormat("dd/MM/yyyy");//Date minha = format.parse("08/06/2011");Dateminha2=format.parse("09/06/2011");Dateatual=newDate();if(minha2.after(atual))//{ JOptionPane.showInputDialog("oieeeeeeeeeee");//} else if (minha.before(minha2)) { // O dia já aconteceu // }}
pequena alteração... a "minha2" é true e entao exibe a mensagem
Mostrou “after” e “before” perfeitamente.
Não é isso mesmo que você queria ou se testar em seu código, o “after” não é apresentado?
Abraços.
S
SilverHawk
sim o teste que eu queria deu certo… agora tenho que ver se o aplicativo tem que exibir a mensagem 30 dias após (30 dias corridos) ou em uma data especifica…
se for 30 dias após a atual eu teria que usar Calendar para acrescentar dias, certo?
tem como transformar os dias do Calendar para o Date e fazer a comparação com o after?
nel
SilverHawk:
sim o teste que eu queria deu certo… agora tenho que ver se o aplicativo tem que exibir a mensagem 30 dias após (30 dias corridos) ou em uma data especifica…
se for 30 dias após a atual eu teria que usar Calendar para acrescentar dias, certo?
tem como transformar os dias do Calendar para o Date e fazer a comparação com o after?
Sim, com o getTime(). O método lhe retorna o Date.
Mas, para esse caso em particular, trabalhe diretamente com o Calendar, é preferível.
Mas faça o teste, adicione os dias de acordo com a necessidade e posteriormente faça o after.
De qualquer forma, leia sobre o Calendar, há inúmeros exemplos no GUJ e na Net ok?