scrapy Posted August 2, 2013 at 11:43 PM Report #520729 Posted August 2, 2013 at 11:43 PM Estou aqui a fazer umas brincadeiras no vb 2008, mas estou com uma dúvida. Basicamente quero que quando carregar num botão, o programa vá fazendo countdown (de 7min) para um ficheiro .txt (ficheiro este, já existente), ou seja que de segundo a segundo atualize este ficheiro .txt Um dos problemas que estou a ter é ficar no formato mm:ss
nelsonr Posted August 3, 2013 at 11:40 AM Report #520747 Posted August 3, 2013 at 11:40 AM Boas, sendo VB.NET, devia estar nesta secção: http://www.portugal-a-programar.pt/forum/112-visual-basic-net/ Em relação à questão, podes adicionar um timer e no evento tick abres o ficheiro e adicionas o que pretendes. No ficheiro é para ficar o que exactamente? 07:00 06:59 06:58, etc? Ou substitui sempre o conteúdo pelo tempo que falta?
scrapy Posted August 3, 2013 at 01:09 PM Author Report #520754 Posted August 3, 2013 at 01:09 PM Peço desculpa se postei na secção errada, no ficheiro quero que o texto substitua segundo a segundo, ou seja de maneira que só fique um valor. Pelo que sei, para ficar no formato mm:ss vou ter de criar dois timers, um para os minutos e outro para os segundos, estou a pensar bem ?
nelsonr Posted August 3, 2013 at 03:11 PM Report #520760 Posted August 3, 2013 at 03:11 PM Boas, assim por alto podes fazer: Adicionas um Timer ao form, com o intervalo de 1000 (1 segundo) Public Class Form1 ' Adicionas uma variavel global que vai conter a data/hora do fim Dim EndDateTime As DateTime ' No page_load, defines que a hora de terminar é daqui a 7 minutos e activas o timer Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load EndDateTime = DateTime.Now.AddMinutes(7) Timer1.Enabled = True End Sub ' No evento do tick do timer Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick ' Guardas quanto tempo ainda falta para chegar à data/hora final Dim diffDateTime As TimeSpan = EndDateTime - DateTime.Now ' Abres o ficheiro Dim sw As New System.IO.StreamWriter("ficheiro.txt") ' Se já acabou o tempo If diffDateTime.TotalSeconds <= 0 Then ' Guardas 00:00 para indicar que acabou sw.Write("00:00") ' Desligas o timer Timer1.Enabled = False Else ' Se ainda não terminou, guardas o tempo que ainda falta sw.Write(String.Format("{0:00}:{1:00}", diffDateTime.Minutes, diffDateTime.Seconds)) End If ' Fechas a ligação ao ficheiro sw.Close() End Sub End Class 1 Report
scrapy Posted August 3, 2013 at 04:42 PM Author Report #520762 Posted August 3, 2013 at 04:42 PM Funcionou perfeitamente, e obrigado pelos comentários no código, faz com que quem perceba pouco (como é o meu caso) perceba passo a passo. Muito obrigado pela rápida ajuda.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now