Página 1 de 1

Será que com DBEVAL não vai?!...

Enviado: 14 Jul 2010 21:41
por rcb2002
Oi pessoal,
Sem querer abusar, queria uma sugestão pra esse trecho ficar mais 'rápido' na hora de processar: os campos do DBF são Data e Períodos (em segundos): Preciso somar os segundos do dia de hoje. Desse jeito q está não funciona. Tentei usar o DBEVAL mas não achei nenhum exemplo com SUM, só COUNT++...

Código: Selecionar todos

	DO WHILE .NOT. EOF()
		IF DT->DATA = DATE()
			nDura = nDura + SECS(DT->SECS)
		ENDIF
		DT->(DBSKIP())
	ENDDO

Re: Será que com DBEVAL não vai?!...

Enviado: 14 Jul 2010 21:52
por alxsts
Olá!

O equivalente funcional do teu código postado, utilizando DBEval() seria:

Código: Selecionar todos

   LOCAL nDura := 0

   DT->( DBGotop(), DbEval( { || nDura += Secs( DT->secs ) }, { || DT->data == Date() } ) )

Re: Será que com DBEVAL não vai?!...

Enviado: 15 Jul 2010 23:52
por rcb2002
Cara... que mais eu posso dizer! Perfeito! Engraçado q sou autodidata no Clipper por hobby a uns 15 anos e não 'vislumbro' as coisas assim! O que falta?!... tem algum curso q eu não fiz, alguma bibliografia secreta? Me dá essa dica?

Re: Será que com DBEVAL não vai?!...

Enviado: 25 Out 2010 11:30
por rochinha
Amiguinhos,

O Eric tá certo, se voce quer aprender, tem que praticamente pegar uma série de livros, ir para uma ilha deserta e usa-los como alimento.

Se os livros forem daqueles que possuem código completo para exemplo, melhor ainda. Autores como Tom Retting e Jose Ramalho(acho que este é o nome) sempre fizeram livros com muito código.

Acho até que voce possa encontrar estes livros em sebos, não fazem mais livros como antigamente.

Como uma boa localidade de informação on-line, consulte http://www.ousob.com/norton.php e http://www.the-oasis.net/