Autore Topic: [risolto]calcolo per maggiorenni  (Letto 1179 volte)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
[risolto]calcolo per maggiorenni
« il: 14 Agosto 2010, 00:40:27 »
ciao raga

mi serve una mano con un piccolo calcolo fra date per determinare se una persona è maggiorenne oppure no.
Nel mio programma avevo calcolato i giorni fra le due date aggiunto 1 giorno ogni 4 anni e diviso per 365.
Fino ad ora ha funzionato ma oggi 13/08/10 nel registrare un cliente nato il 12/08/92 il programma si bloccava, evidentemente gli anni bisestili incidono in base al periodo.

Mi serve una formula esatta che allo scadere della mezzanotte mi dice se la persona è maggiorenne o meno.
« Ultima modifica: 15 Agosto 2010, 17:25:29 da dex »

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: calcolo per maggiorenni
« Risposta #1 il: 14 Agosto 2010, 01:05:13 »
ciao raga

mi serve una mano con un piccolo calcolo fra date per determinare se una persona è maggiorenne oppure no.
Nel mio programma avevo calcolato i giorni fra le due date aggiunto 1 giorno ogni 4 anni e diviso per 365.
Fino ad ora ha funzionato ma oggi 13/08/10 nel registrare un cliente nato il 12/08/92 il programma si bloccava, evidentemente gli anni bisestili incidono in base al periodo.

Mi serve una formula esatta che allo scadere della mezzanotte mi dice se la persona è maggiorenne o meno.

Scusa che bisogno c'è di vedere se l'anno è bisesestile. Prima compari gli anni. Se già da questo vedi che la differenza è minore di 18 allora esci dalla funzione ok? se invece vedi che la differenza tra gli anni è maggiore di 18 è sicuramente maggiorenne (un 19enne è sicuramente maggiorenne). Se, ultimo caso, vedi che la differenza tra i due anni è 18 allora confronti mese e giorno. Prima confronti il mese e vedi che se il mese dell'utente è maggiore di quello trascorso allora è sicuramente maggiorenne e toppi qui. In caso contrario confronti anche il giorno. Sono stato chiaro?

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: calcolo per maggiorenni
« Risposta #2 il: 14 Agosto 2010, 04:24:41 »
Puoi anche fare in questo modo:

 
Codice: gambas [Seleziona]
  Data = DateAdd(DataDiNascita, gb.Year, 18)
  IF Data <= Now() THEN
    PRINT "Maggiorenne"
  ELSE
    PRINT = "Minorenne"
  ENDIF

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: calcolo per maggiorenni
« Risposta #3 il: 15 Agosto 2010, 17:24:55 »
risolto con il codice di milio