Autore Topic: [risolto] gb.Year e date bisestili  (Letto 619 volte)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
[risolto] gb.Year e date bisestili
« il: 18 Dicembre 2010, 22:26:11 »
ciao raga

oggi il mio programma è andato in titlt mentre registravo una data bisestile 29/02/1984

ho fatto varie prove e ho scoperto che è gb.Year ha creare problemi.

con il seguente codice controllo se la persona è maggiorenne

Citazione
Data = DateAdd(ValueBox2.value, gb.Year, 18)

inserendo una data bisestile mi da invalid.date

come posso risolvere?
« Ultima modifica: 19 Dicembre 2010, 00:00:44 da dex »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: gb.Year e date bisestili
« Risposta #1 il: 18 Dicembre 2010, 23:41:42 »
Adesso non so se uno compie gli anni il 28 di febbraio o il 1° di marzo negli anni non bisestili, pero' potresti risolverla in questo modo:

Codice: gambas [Seleziona]
  TRY Data = DateAdd(Data, gb.Year, 18)
    IF ERROR THEN
      Data -= 1
      Data = DateAdd(Data, gb.Year, 18)
    ENDIF


Ovviamente la parte da cambiare per quanto descritto sopra e' Data += 1

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: gb.Year e date bisestili
« Risposta #2 il: 18 Dicembre 2010, 23:59:45 »
grazie milio

risolto