Newsgroup: it.comp.lang.visual-basic
Titolo: Somma di ore

Salve, vorrei sapere come posso fare un totale delle ore. Mi spiego meglio: 
in un archivio vengono registrate giornalmente le ore di lavoro, ho la 
neccessità di visualizzare in un report  o in una textbox il totale delle 
ore lavorate in un periodo di tempo, c'è un modo per fare la somma in 
maniera veloce o devo scrivere un qualche algoritmo per risolvere il 
problema ( ho già pensato come fare, ma prima di sprecare tempo prezioso mi 
chiedevo che non ci sia qualche metodo bello e pronto che mi risolve il 
problema)
Grazie. 


Io di solito uso l'operatore '+'.
Ciao
Alberto
--
E tutto mi sembrava andasse bene...

 ha scritto nel messaggio 
news:33a4lhF...@individual.net...

Allora fai la somma di 08.15 + 08.30 + 7.45 + 1.20 e dimmi quante ore hai 
lavorato !
Ciao 

 Salve, vorrei sapere come posso fare un totale delle ore. Mi spiego 
Ciao,
Puoi trasformarti le ore lavorate (formattate come campo data, ad esempio
con la timeserial se il formato iniziale non č data) in numero (con la
CDbl); otterrai un numero compreso tra 0 e 1.
A questo punto puoi moltiplicare il risultato per 24.
Ciao,
*Roby*
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

lavorato !
Ti prego, dimmi che stai scherzando, dimmi che non è un post
serio..... :(((
--
Ciao!
Luca Menegotto

Un bel grazie a Albe V° e Luca Menegotto ! 

 Un bel grazie a Albe V° e Luca Menegotto ! 
io, al tuo posto, ringrazierei i tuoi insegnanti di
aritmetica alle elementari...
...e mi fermo qui perche' e' natale...
-- 
ciao, hal

 aritmetica alle elementari...
beh, dai, hal...
i miei insegnanti alle elementari non mi hanno mai spiegato i tipi di dato
che si utilizzano in visual basic.
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo


Certo che se un principiante autodidatta di Vb cerca aiuto su questo 
newsgroup trova un bel po di pezzi di merd..
Ciao e grazie. 

 newsgroup trova...
della gente che gli dà tutti gli spunti necessari a capire in che cosa
sbaglia.


 hai lavorato !
Quelli sono 'orari', non 'periodi'.
Mi auguro, molto sinceramente, che tu non intenda fare le somme di 'orari'.
I periodi si basano su un concetto di unità di misura.
Puoi decidere tu la granularità. Diciamo che ti interessa sapere quanti
minuti hai lavorato.
Allora farai la differenza (datediff) fra ora_inizio e ora_fine, e otterrai
un numero di minuti.
Che poi tu lo voglia rappresentare come ore:minuti, è un discorso di
visualizzazione e non c'entra una fava con i calcoli.
Se parliamo di calcoli (e il tuo post parla di somma, non di
visualizzazione), dopo che hai ottenuto i periodi puoi benissimo sommarli
con l'operatore +, come ti dicevo.
Se ci fai caso, tutto ciò che ho scritto non è legato a vb, ma a pura e
semplice comprensione di cosa sia un orario piuttosto che un periodo di
tempo. Quindi, se tiri in ballo il fatto di essere 'principiante' di vb,
rischi un clamoroso autogol.
Saluti


newsgroup trova un bel po di pezzi di merd..
Grazie, detto da uno che scrive post del genere non puň che essere un
complimento. E VB, se ancora non l'hai capito (cosa di cui non
dubito), non ha nulla a che vedere con la tua domanda, che viceversa
attiene con quell'aritmetica che alle elementari avrebbero dovuto
insegnarti. Il fatto č che magari ti pagano pure per fare il lavoro
che stai facendo.
Sto sempre piů pensando che io come professionista non mi riconosco
piů in questo mondo in cui puň scrivere applicazioni gente con la tua
preparazione.
Ah, visto che ci sono, PLONK!
--
Ciao!
Luca Menegotto

che si utilizzano in visual basic.
Beh, dai, mi dici cosa c'entrano i tipi di dati in VB? stiamo parlando
di aritmetica elementare, qui. Per risolvere il problema basta carta,
penna e un po' di buona volontą. E il mio post era serio, io pensavo
sul serio stesse scherzando: se propongo il problema a mia sorellina,
che ha 12 anni e va in seconda media, me lo risolve in 5 secondi...
--
Ciao!
Luca Menegotto

Ggrazie Albe V°
Erik. 

Comunque pensavo che c'è un modo per calcolare anche gli 'orari', come in 
excel per esempio, dove puoi fare la somma dei campi di tipo ora e nella 
somma basta specificare il formato [h].mm
Grazie ugualmente Albe V° 

 ora e nella somma basta specificare il formato [h].mm
Facendo quello che dici, modifichi appunto un orario in periodo, imponendone
una visualizzazione 
h.mm
Come ti dicevo, non è un discorso di VB.
Prima di chiedersi 'come' realizzare una cosa, occorre capire 'cosa' si
vuole ottenere.


 ha scritto nel messaggio
news:xOQzd.572412$35.24...@news4.tin.it...

Forse la risposta che cercavi (senza sprecare byte in inutili polemiche) è: NO,
non esistono funzioni già pronte per fare la somma di intervalli di tempo
rappresentati come variabili Date. E nemmeno "trucchi" veloci, poiché in
generale la somma di tanti intervalli potrebbe non essere più rappresentabile
come un orario, tipicamente quando il valore della somma supera 23:59:59...
Ti posso dare qualche consiglio:
- scrivi una funzione che userai per convertire le ore di lavoro in minuti (che
è la granularità base per questo tipo di conteggi)
- memorizza sempre i minuti totali in variabili di tipo Long anziché Integer
(altrimenti la somma non potrà superare 32767 = circa 546 ore)
- per visualizzare il totale come se lo aspetta l'utente (e cioè in ore e
minuti) devi naturalmente scrivere un'altra funzione che converta da minuti a
stringa del tipo ad es. "hhhh:mm".
Bye
Raf

> Grazie.
Ciao, magari non ti servirà a niente, se vuoi dai uno sguardo alla
funzione che trovi a questo link:
http://community.visual-basic.it/lucianob/archive/2004/11/28/1473.aspx
=======================================================================
Se mi vuoi scrivere togli le maiuscole
cteniza...@hotmail.com
=======================================================================

 come un orario, tipicamente quando il valore della somma supera
23:59:59...
E no... :)
Io l'ho postata qualche giorno fa proprio per una domanda molto simile (non
c'è nemmeno fantasia nel fare le domande :P)
Ciao