Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455

    [VB.NET] Calcolo tra anni,mesi settimane.

    Ciao a tutti,

    questa volta devo fare un altro tipo di calcolo tra gli anni mesi e settimane.

    In un form ho creato un orologio generale che avrà il compito di controllare a che punto è il tempo rimanente di un elemento.

    Devo fare in modo che quando tutte le cifre dell'elemento toccheranno zero (quindi anni,mesi e settimane dell'elemento corrisponderanno a 0) succeda qualcosa.

    Ho creato questo codice:

    (Il subitem 3 corrisponde alle settimane)

    (Il subitem 2 corrisponde ai mesi)

    (Il subitem 1 corrisponde agli anni)

    codice:
     Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
    
            If timeenabled = 1 Then
    
                ListView1.Items(0).SubItems(3).Text -= 1
    
                If ListView1.Items(0).SubItems(3).Text = 0 Then
    
                    ListView1.Items(0).SubItems(2).Text -= 1
                    ListView1.Items(0).SubItems(3).Text = 3
    
                End If
    
                If ListView1.Items(0).SubItems(2).Text = 0 Then
    
                    ListView1.Items(0).SubItems(1).Text -= 1
                    ListView1.Items(0).SubItems(2).Text = 12
    
                End If
    
            End If
    
                timeenabled = 0
                Timer3.Enabled = False
    
        End Sub
    Il codice viene richiamato ogni volta che nell'orologio generale del form ricomincia la settimana.

    In parte funziona, il problema però ovviamente quando il valore dei mesi andrà a 0 ricomincerà a contare da 12,stessa cosa per le settimane...e quindi continuerebbe all'infinito...

    Ho anche tentato ad invetire la formula che mi è stata data in precedenza ma senza risultato.

    Avete qualche idea di come posso fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    edit:Ho dato una sistemata usando sempre la stessa formula solo in un altro modo...solo che adesso se diminuisco i weeks vado sotto zero e il rapporto dei mesi/weeks non cambia...

    il codice è questo:

    codice:
      Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
    
    
            If ListView1.Items(0).SubItems(3).Text = 4 Or ListView1.Items(0).SubItems(3).Text >= 4 Then
    
                ListView1.Items(0).SubItems(2).Text = Int(ListView1.Items(0).SubItems(3).Text / 4)
                ListView1.Items(0).SubItems(3).Text = ListView1.Items(0).SubItems(3).Text Mod 4
    
            End If
    
            If ListView1.Items(0).SubItems(2).Text = 12 Or ListView1.Items(0).SubItems(2).Text > 12 Then
    
                ListView1.Items(0).SubItems(1).Text = Int(ListView1.Items(0).SubItems(2).Text / 12)
                ListView1.Items(0).SubItems(2).Text = ListView1.Items(0).SubItems(2).Text Mod 12
    
            End If
    
        End Sub
    (Il subitem 3 corrisponde alle settimane)

    (Il subitem 2 corrisponde ai mesi)

    (Il subitem 1 corrisponde agli anni)

    le settimane le diminuisco con questo codice che uso in un altro timer...

    codice:
    ListView1.Items(0).SubItems(3).Text -= 3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.