Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - generare date
Forum - Visual Basic 6 - generare date

Avatar
piter123 (Normal User)
Pro


Messaggi: 145
Iscritto: 21/05/2008

Segnala al moderatore
Postato alle 9:28
Venerdì, 07/05/2010
salve, avrei bisogno di generare una matrice di date.
Ogni singolo campo dovrebbe corrispondere al terzo venerdi di ogni mese all' interno di un intervallo di date, esempio tra oggi e il 31/12/2014

esempio il risultato dovrebbe essere il seguente:

dato(0)="16/07/2010"
dato(1)="20/08/2010"
dato(2)="17/09/2010"

e così via fino al 31/12/2014

dato(n)="19/12/2014

mille grazie

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6380
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:46
Venerdì, 07/05/2010
Ma non hai nessuna idea? Nessun codice di prova?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
piter123 (Normal User)
Pro


Messaggi: 145
Iscritto: 21/05/2008

Segnala al moderatore
Postato alle 15:11
Venerdì, 07/05/2010
eheheh, purtroppo no, mi manca l'idea di progettazione, partire da un calendario perpetuo?
partire da un terzo venrdì conosciuto e aggiungergi i giorni di di ogni mesi diviso 7, non saprei, le mie idee mi sembrano tanto banali e lacunose

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 17:14
Venerdì, 07/05/2010
Imposti il primo giorno del mese
con weekday guardi che giorno della settimana è
aggiungi in numero di giorni per arrivare al primo venerdì
aggiungi ancora 14 giorni ed hai il terzo venerdì

Codice sorgente - presumibilmente VB.NET

  1. Dim oggi As Date
  2. Dim PrimoGiornoMese As String
  3. Dim g As Integer, PrimoVenerdì As Integer
  4. oggi = Date
  5.  
  6. Do While Year(oggi) < 2015
  7.     PrimoGiornoMese = "01/" & Format(Month(oggi), "00") & "/" & Format(Year(oggi), "00")
  8.     g = Weekday(PrimoGiornoMese, vbMonday) ' vbMondayvbSunday)
  9.     ' considera che venerdì è il 5° giorno della settimana
  10.     Select Case g
  11.         Case Is < 5
  12.             PrimoVenerdì = 5 - g
  13.         Case Is = 5
  14.             PrimoVenerdì = 0
  15.         Case Is > 5
  16.             PrimoVenerdì = 7 - g + 5
  17.     End Select
  18.         g = g + 14
  19.     List1.AddItem DateAdd("d", g, PrimoGiornoMese)
  20.     oggi = DateAdd("m", 1, PrimoGiornoMese)
  21. Loop


Ultima modifica effettuata da Alfonso il 07/05/2010 alle 17:14
PM Quote