Rotina de Horário

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Fernando Borges
Usuário Nível 1
Usuário Nível 1
Mensagens: 38
Registrado em: 29 Set 2004 16:43
Localização: Sacramento/MG

Rotina de Horário

Mensagem por Fernando Borges »

Caros colegas, preciso de ajuda.
Tenho um sistema de folha de pagamento e meu cliente me pediu para fazer uma rotina, como se fosse o relógio de ponto, ou seja, ele quer digitar os horários de entrada e saida para um funcionário e que a rotina gere os horários para os outros funcionários, mas com diferença de alguns segundos um do outro, para não ficar todos com horário identico. Para ser sincero não tenho nem ideia como montar esta rotina, pois toda forma que pensei não dá certo, porque tem que quando chegar em 60 segundos adicionar um minuto.

Peço ajuda dos colegas.

Att.

Fernando Borges.
sambomb
Usuário Nível 3
Usuário Nível 3
Mensagens: 250
Registrado em: 24 Out 2008 17:02
Localização: Itaocara - RJ - Brasil

Re: Rotina de Horário

Mensagem por sambomb »

Divida o número de segundos por 60
O resultado sem decimal são os minutos, o resto são os segundos

Divida o número de minutos por 60
O resultado sem decimal são as horas, o resto são os minutos

Divida o número de horas por 24
O resultado sem decimal são os dias, o resto são as horas

Etc....
Imagem

Rca Sistemas - Itaocara - RJ
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Rotina de Horário

Mensagem por alxsts »

Olá!
Fernando Borges escreveu:Para ser sincero não tenho nem ideia como montar esta rotina
Para ser sincero também, achei estranho este procedimento. Nunca vi relógio de ponto marcar segundos. Normalmente os horários são registrados na forma HH:MM, incluindo os sistemas informatizados. Mais estranho ainda é gerar o horário de forma aleatória para os funcionários...

Enfim, a parte de cálculo de tempos é fácil. O colega Sambomb já deu algumas dicas e existem alguns exemplos prontos, fornecidos com o Clipper 5. Você poderia fornecer mais detalhes?
[]´s
Alexandre Santos (AlxSts)
Paulao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 09 Jul 2004 11:03
Localização: Franca
Contato:

Re: Rotina de Horário

Mensagem por Paulao »

Boa noite amigos, segue abaixo link para o download do meu sistema de relogio de ponto, com fontes e tudo mais, espero que sirvam aos amigos



http://www.oscarafeia.com.br/relogioponto.zip
Fernando Borges
Usuário Nível 1
Usuário Nível 1
Mensagens: 38
Registrado em: 29 Set 2004 16:43
Localização: Sacramento/MG

Re: Rotina de Horário

Mensagem por Fernando Borges »

Caros Colegas. Não sei se consegui explicar bem o que estou precisando, mas é o seguinte: No sistema de folha de pagamento, preciso colocar o ponto dos funcionários e para que não fique todos iguais com o mesmo horario, o cliente pediu para montar uma rotina onde ele digita os horarios de um funcionario e o sistema gere os outros horarios para os demais funcionarios. Ex.: horario do funcionario fulano de tal: entrada 07:30:05, saida almoço 11:05:30, retorno almoço 12:30:05, saida 17:30:51, estes seriam os horarios que de um funcionario, agora eu preciso montar um rotina que pegue estes horarios e jogue para os demais funcionarios, mas com diferença de alguns segundos de um para o outro. Sendo que a empresa tem mais de 100 funcionarios e nenhum deles pode ter o horario igual ao outro, tem que ter pelo menos alguns segundos de diferença um do outro. Espero que agora tenha explicado o que preciso.

Desde ja agradeço.

Fernando Borges.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Rotina de Horário

Mensagem por Toledo »

Fernando, segue abaixo um exemplo bem simples:

Código: Selecionar todos

vEntr:=SPAC(8)
vSAlm:=SPAC(8)
vRAlm:=SPAC(8)
vSaid:=SPAC(8)
@ 5,10 SAY "Informe o Horario do Funcionario 1:"
@ 7,10 SAY "+-[Func]--[ Entrada ]--[      Almoco       ]--[  Saida ]-+"
FOR i=1 TO 10
 @ 7+i,10 SAY "|    "+STR(i,1,0)+"                           /                       |"
NEXT
@ 18,10 SAY "+--------------------------------------------------------+"
@ 08,21 GET vEntr PICT "99:99:99"
@ 08,34 GET vSAlm PICT "99:99:99"
@ 08,45 GET vRAlm PICT "99:99:99"
@ 08,57 GET vSaid PICT "99:99:99"
READ
FOR i=1 TO 9
 @ 8+i,21 SAY TSTRING(SECS(vEntr)+i)
 @ 8+i,34 SAY TSTRING(SECS(vSAlm)+i)
 @ 8+i,45 SAY TSTRING(SECS(vRAlm)+i)
 @ 8+i,57 SAY TSTRING(SECS(vSaid)+i)
NEXT
Abraços
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder