Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    82

    [Delphi] Calcolare ore di lavoro

    Ciao a tutti, volevo sapere come è possibile calcolare delle ore, cioè, per esempio, vorrei trovare la differenza tra le due ore, per esempio, uno entra a lavoro alle 8.00 e esce alle 18.00, ecco io vorrei sapere quante ore è stato a lavoro, spero abbiate capito. Grazie.

  2. #2
    Lo so la risposta è banale, ma ... "ora di uscita"-"ora di entrata"
    N.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    82
    Non possiamo con le ore, perchè un'ora è composta da 60 minuti, non è come fare 50+50, non è banale per nulla.

  4. #4
    Tutti i calcoli ci pensa delphi a farli, fondo è solo aritmetica modulare niente di tanto complesso. Hai fatto almeno un piccolo Test??
    Hai provato a definire 2 variabili di tipo TTime e fare una semplice sottrazione ??
    a volte i miracoli esistono

    prova a mettere questo codice dentro un evento OnClick
    Var a,b: TTime;
    begin
    a := StrToTime('08.23.18');
    b := StrToTime('18.23.18');
    ShowMessage(TimeTostr(b-a));
    end;

    oppure butta nella form 2 componenti TDateTimePicker e setta la proprietà Kind := dtkTime poi puoi allegramente fare tutte le operazioni che vuoi ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    82
    Se io volessi che il risultato si visualizzasse in una editbox?Io ho fatto:

    codice:
    var 
      a,b:TTime; begin
    begin   
      a := StrToTime(Edit1.Text);   
      b := StrToTime(Edit2.Text);   
      Edit15.Text=TimeTostr(b-a); 
    end;
    Ma mi da errore, nella penultima riga, quella con Edit15, so anche io di aver sbagliato, ma non so come fare. Grazie mille, mi sei di grande aiuto.

    EDIT: Scusa, mi sono dimenticato i :

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    82
    Grazie dell'aiuto, adesso ho creato un programma che mi è utile, però, ho un'altro problema, forse l'ultimo, volevo abbellire un po' il programma e ho inserito che quando clicco nella edit1, il suo contenuto deve eliminarsi, quindi ecco il codice:

    codice:
    procedure TForm1.Edit1Click(Sender: TObject); 
    begin   
       Edit1.Text:=''; 
    end;
    Però ricevo questo errore sulla linea della procedura:

    codice:
    unit1.pas(194,28) Error: method identifier expected
    perchè mi da questo errore? Ho anche guardato dei tutorial ed il codice era proprio così. Grazie.

  7. #7
    Mi spiace, ma da quel poco che hai postato non credo di riuscire a capire il perchè dell'errore, il clear del componente edit1 nell'evento on click non credo possa causare un simile errore, probabile che ci sia un altro evento collegato che si scatena quando pulisci il campo, un change probabilmente.

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    82
    Originariamente inviato da Nettuno95
    Mi spiace, ma da quel poco che hai postato non credo di riuscire a capire il perchè dell'errore, il clear del componente edit1 nell'evento on click non credo possa causare un simile errore, probabile che ci sia un altro evento collegato che si scatena quando pulisci il campo, un change probabilmente.
    Scusa, ho risolto con una ricerca per tutta la mattina , comunque il mio ultimo problema (questa volta per davvero) è che quando la somma supera le 24 ore torna a 0, come faccio a non farlo tornare a 0? Grazie mille.

  9. #9
    mmm ma cosa ti serve la somma?? non dovevi fare una differenza ????

    cmq la gestione della somma di ore con sforamento delle canoniche 24h non credo sia contemplata da nessun contratto di lavoro dunque non si può fare !!

    A parte gli scherzi, nel caso devi gestire orari che sono a cavallo di più giorni entra in gioco il formato TDateTime (è lo stesso di TTime ma ha una gestione un po' diversa), in pratica devi gestire una data in quanto il superamento delle 24h aumenta di 1 il giorno e resetta l'ora.

    Magari se ci dai qualche info in più qui dentro qualche anima pia più in gamba di me ti indirizza meglio

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    82
    Originariamente inviato da Nettuno95
    mmm ma cosa ti serve la somma?? non dovevi fare una differenza ????

    cmq la gestione della somma di ore con sforamento delle canoniche 24h non credo sia contemplata da nessun contratto di lavoro dunque non si può fare !!

    A parte gli scherzi, nel caso devi gestire orari che sono a cavallo di più giorni entra in gioco il formato TDateTime (è lo stesso di TTime ma ha una gestione un po' diversa), in pratica devi gestire una data in quanto il superamento delle 24h aumenta di 1 il giorno e resetta l'ora.

    Magari se ci dai qualche info in più qui dentro qualche anima pia più in gamba di me ti indirizza meglio
    Io devo fare la somma di quante ore in un mese ho lavorato, per farti capire meglio ti linko il download del progetto: PROGETTO CALCOLO ORE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.