Newsgroup: it.comp.lang.delphi
Titolo: calcolo del'eta?

salve, sono alle prese con il calcolo del'età, sono un principiante, se su
di un archivio database paradox ho un campo tdbedit con la data di nascita,
(a proposito come posso inserire le barre '/' di separazione tra giorno,
mese ed anno in automatico, quando scrivo il campo 'data di nascita' del
database?), come posso calcolare gli anni di quella persona?, mi aiutate,
grazie!
Giovanni
ilar...@tin.it


la funzione DecodeDate ri restituisce anno mese e giorno
partendo dalla data
DecodeDate(DataNascita, AnnoNascita,MeseNascita,GiornoNascita);
DecodeDate(now, AnnoCorrente,MeseCorrente,GiornoCorrente);
if (MeseCorrente>=MeseNascita) and (GiornoCorrente>=GiornoNascita)
 then ETA:=AnnoCorrente-AnnoNascita
 else ETA:=AnnoCorrente-AnnoNascita-1;
dovrebbe andare!
Ciao!
Alan Solo

database?)
Non e' cosi' che vanno salvate le date in un database.
Tutti i database hanno la capacita' di conservare le date nel formato
"data" ed e' *questo* il formato che deve essere utilizzato, a meno di
non voler incorrere in problemi.
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>

non capisco, scusami ma sono alle prime armi, ed allora per avere la
funzione delle barre automatiche?, in paradox di delphi 4.0 ho messo picture
##/##/####, e quando metto sempre in paradox la data lui mette in automatico
le barre, ma quando compilo il campo in delphi non lo fa come mai???, esite
in delphi il comando 'picture'???
grazie anticipate per la risposta, ciao
Giovanni.
Andrea Laforgia ha scritto nel messaggio ...


| mese ed anno in automatico, quando scrivo il campo 'data di nascita' del


[..]
Ciao,
al posto del TEdit ti consiglio di usare il
TDateTimePicker (palette Win32) e' fatto apposta
ed e' molto carino...
poi la procedura
DecodeDate(Date: TDateTime; var Year, Month, Day: Word);
gli passi un TDateTime (che non e' altro che un double, "numero"
che conta i giorni passati dal 1900 o giu' di li'...)
e ti restituisce anno, mese e giorno in tre var word.
quindi puoi fare
DecodeDate(DateTimePicker1.DateTime,Anno,Mese,Giorno)
Come dice Andrea e' meglio trattare le date con campi
data veri e propri e non come stringhe,
in paradox non so se esite, ma penso di si'!
Se hai problemi riscrivi! Ciao!
Alan Solo

...


mi sono ricordato che quando da database desktop, di delphi 4, ho
programmato i campi dell'archivio tipo paradox 7, nel campo 'nascitail' ho
scelto 'D' che sta per Date e picture: ##/##/#### che sta per due caratteri
per giorno, due per mese e quattro per l'anno, e se compilo il datbase da
database desktop nel campo 'nascitail' il programma mi da in automatico le
barre di separazione tra giorno, mese ed anno, mentre se compilo il database
dal programma compilato (runtime) non mi da le barre di separazione in
automatico, comunque il campo 'nascitail'  l'ho messo come campo data.
Era questo che voleva dire Andrea???
ciao
Giovanni Ialri
ilar...@tin.it

| mi sono ricordato che quando da database desktop, di delphi 4, ho
| programmato i campi dell'archivio tipo paradox 7, nel campo 'nascitail' ho
| scelto 'D' che sta per Date e picture: ##/##/#### che sta per due
caratteri
| per giorno, due per mese e quattro per l'anno, e se compilo il datbase da
| database desktop nel campo 'nascitail' il programma mi da in automatico le
| barre di separazione tra giorno, mese ed anno, mentre se compilo il
database
| dal programma compilato (runtime) non mi da le barre di separazione in
| automatico, comunque il campo 'nascitail'  l'ho messo come campo data.
allora direi che la parte Paradox e' ok e hai fatto giusto, ;)
mi sfugge ancora cos'e' sto picture (perche' non lo uso)
ma non penso sia importante...
per l'inserimento in formato data potresti allora impostare
l'EditMask del campo (doppio click sul TTable, selezioni il campo
data e metti come EditMask "Date")..
Ciao!
Alan Solo