: : SCRIPTS HELP : :  O Futuro do Web Design
 

 

 

:: Principal
 :: Downloads
 :: Apostilas
 :: Tutoriais
 :: ASP
 :: CGI
 :: CSS
 :: DHTML

 :: FLASH

 :: JAVA
 :: JAVA APPLET

 :: CURSO HTML
 :: CURSO JAVA SCRIPT
 :: PHP
 :: Destaques
 :: Script do mês


 

 

 :: Concurso
 :: Anuncie

 :: Parceria
 :: Fale Conosco
 :: Tire sua Dúvida

 

 

 

 

 

 

 

 

 

 

 

<<< voltar

:: ASP :: 

 

Temporizador



Quem quer fazer um site que faz um update automático, rapidamente encontra um problema no ASP: porque o ASP não fica sempre ativo mas só durante o tempo que demora  rodando o script das mesmas.
Normalmente pensamos: "então deixo script rodar sempre e mantenho o browser sempre aberto!!?!?". Não me parece uma solução muito prática ;-)
Aqui segue uma solução mais prática, que faz o update à página quando já passou do tempo pretendido.
O script não faz update se ninguém visitar a página, mas se ninguém visita a pagina porquê fazer update!?!?

Temos  dois exemplos o primeiro é mais simples, e usa variável de aplicação. O problema deste primeiro exemplo: se o server fizer o reset perde-se o valor.
O segundo exemplo escreve o valor para um arquivo. A vantagem deste exemplo é poder-se usar mais do que um temporizador dinamicamente.

Ele funciona assim: A função check vê se a variável de aplicação existe e se tem alguma coisa. Caso negativo vai correr o script. A segunda condição é se já passou mais de que o tempo que nós programamos.

Função Check tem dois parâmetros
- o nome que damos a variável de aplicativo
-  o tempo de comparação.

Função VB datediff tem varias hipóteses. O "n" é para minutos, mas veja mais abaixo (na tabela final) todas as hipóteses.

<%
function check(Temporizador,T_comparacao)
 If Application(Temporizador)="" Or datediff ("n",Application(Temporizador),now())> T_comparacao then
  check=true
  Application.Lock
   Application(Temporizador) = Now()
  Application.Unlock
 else
  check=false
 end if
end function
Response.write Application("t2")if check("t2",1) then
 Response.write "Done"
end if
%>

o Segundo exemplo funciona assim: o arquivo time.asp contém a variável da hora e dia (Datum).
O arquivo compare.asp vê se a data e hora são diferentes e faz o update (subrotina write) a time.asp e a outra coisa que pretendermos fazer o update.

arquivo : time.asp

<%tnow="23-04-2001 12:52:04"
%>
arquivo : compare.asp
<!--#include file="time.asp"-->
<%
if datediff ("n",tnow,now())>0 then
 Call Write
end ifsub Write
pat=Server.mappath("time.asp")
Set objfso= CreateObject("Scripting.FileSystemObject")
objfso.createtextfile pat
set objf=objfso.getfile(pat)
set objtxt=objf.openastextstream(2, -2)
''O 3 e a quantidade de horas para fazer o update
objtxt.writeline chr(60) & chr(37) & "tnow=" & chr(34) & now() & chr(34)
objtxt.writeline chr(37) & chr(62)
objtxt.close
''Aqui pode pôr o resto do que tem de fazer update
Response.write "done"
end sub
%>
 

Parâmetro

Descrição

yyyy

Ano

q

Quarter

m

Mês

y

Dia do ano

d

Dia

w

Dia da semana

ww

Semana do ano

h

Hora

n

Minuto

s

Segundo

Bannerlandia
Bannerlandia