quinta-feira, 25 de outubro de 2001

0

Senhas Aleatórias com Números e Letras

<%
Function GerarChave(valores)


Dim chr_Array(35)


chr_array(0) = "0"
chr_array(1) = "1"
chr_array(2) = "2"
chr_array(3) = "3"
chr_array(4) = "4"
chr_array(5) = "5"
chr_array(6) = "6"
chr_array(7) = "7"
chr_array(8) = "8"
chr_array(9) = "9"
chr_array(10) = "a"
chr_array(11) = "b"
chr_array(12) = "c"
chr_array(13) = "d"
chr_array(14) = "e"
chr_array(15) = "f"
chr_array(16) = "g"
chr_array(17) = "h"
chr_array(18) = "i"
chr_array(19) = "j"
chr_array(20) = "k"
chr_array(21) = "l"
chr_array(22) = "m"
chr_array(23) = "n"
chr_array(24) = "o"
chr_array(25) = "p"
chr_array(26) = "q"
chr_array(27) = "r"
chr_array(28) = "s"
chr_array(29) = "t"
chr_array(30) = "u"
chr_array(31) = "v"
chr_array(32) = "w"
chr_array(33) = "x"
chr_array(34) = "y"
chr_array(35) = "z"


Randomize
do while len(chave) < 06
num = chr_array(Int(35 * Rnd ))
chave = chave + num
loop
GerarChave = chave
End Function


response.write "Senha gerada:  " & GerarChave(06) '& vbcrlf


%>



Esta matéria foi postada originalmente no ASP4Developers por Marcio Lima (Guardião) (site), que na época era "Programador ASP e VBA, apaixonado por Design, futurismo e ficção.
". Hoje, vai saber...

quinta-feira, 18 de outubro de 2001

0

MSXML4

Estou impressionado. Estava fazendo uns testes com o recém lançado MSXML4, a respeito do divulgado aumento de performance de 4 a 8 vezes. Uma página que levava ~3.5 segundos para ser processada com XSLT, passou a ser em ~0.5 segundo! O único incoveniente foi declarar o namespace do documento XSL, antes de exeutar uns XPaths (o que tem um certo sentido).


Segundo a documentação divulgada em http://msdn.microsoft.com/xml/ , o suporte ao SAX está mais rápido, adere aos padrões do W3C e possui "uma verdadeira funcionalidade side-by-side", o que significa que instalando a versão 4.0 não é perdido o suporte as versões anteriores e nem as futuras. Com a remoção do "replace mode", os recursos da versão 4.0 só serão utilizados caso utilize os Version-Dependent ProgID


Caso vc vá instalar e está confuso em qual pacote baixar, vá direto no "Installer", pois ele já possui o SDK tbém. Mas note, vc precisa desregistrar a msxml4.dll, caso tenha instalado os Tecnology Preview. Para isso faça:


regsvr32 /u msxml4.dll
regsvr32 msxml3.dll


No prompt de comando e depois comece a instalação. Um link para a documentação será colocado no seu desktop. Aí é só correr pro abraço!


Aproveitando o papel, aviso que dentro de pouco tempo o ASP4D 2.0 vai ser publicado. terminei o layout e estou trabalhando no fórum. Não vou prometer datas, mas ressalto que vai ser logo mesmo! Stay tunned!


Cya!



Esta matéria foi postada originalmente no ASP4Developers por Rubens N. Farias (site), que na época era "pós-graduado em análise de sistemas orientados a objetos, MCP, MCSD, MCAD, MCSD.NET e consultor em TI, além de idealizador do projeto ASP4Developers. Desenvolve sistemas sob medida, focados na satisfação do usuário, com qualidade e custo realista.". Hoje, vai saber...

quarta-feira, 17 de outubro de 2001

3

Fade de Texto em ASP

Hahahaha, dpois q tudo q me falam que dá pra fazer isto com CSS, bom agora q já ta feito ...
Hehehehe, espero q sirva para alguem.


Nivel  - Intermediário


<%


' Uma produção dos estudios Half Malf


' Obrigado aos amigos "Underground",
' "Voodoo", "Th3V1rus","ED+","Hand Full", "Xanddinho"
' q constantemente tiram as minhas dúvidas.


' str Variavel a ser "FADEADA"


' R1 A quantidade de vermelho inicial ( 0 - 255 )
' G1 A quantidade de verde inicial    ( 0 - 255 )
' B1 A quantidade de Azul inicial     ( 0 - 255 )


' R2 A quantidade de vermelho final ( 0 - 255 )
' G2 A quantidade de verde final    ( 0 - 255 )
' B2 A quantidade de Azul final     ( 0 - 255 )


function fadeText(str, R1, G1, B1, R2,G2, B2)
   
 Dim htmlTxtxt, X
 
    if str = "" Then Exit function
 
    R2 = ((R2 - R1) / Len(str))
    G2 = ((G2 - G1) / Len(str))
    B2 = ((B2 - B1) / Len(str))
   
 For X = 0 To Len(str) - 1
     R = Abs(Int(R1 + (R2 * X)))
     G = Abs(Int(G1 + (G2 * X)))
     B = Abs(Int(B1 + (B2 * X)))
     
  htmlTxt = htmlTxt & "<FONT color="
     htmlTxt = htmlTxt & Chr(34) & "#"
     
  if R < 17 Then htmlTxt = htmlTxt & "0"
      htmlTxt = htmlTxt & Hex(R)
     if G < 17 Then htmlTxt = htmlTxt & "0"
      htmlTxt = htmlTxt & Hex(G)
     if B < 17 Then htmlTxt = htmlTxt & "0"
      htmlTxt = htmlTxt & Hex(B)
      htmlTxt = htmlTxt & Chr(34)
      htmlTxt = htmlTxt & ">"
      htmlTxt = htmlTxt & Mid(str, X + 1, 1)
      htmlTxt = htmlTxt & "</FONT>"
    Next
 
    fadeText = htmlTxt
 
    End function
%>
 


<%= fadeText("ASP4Developers ASP4Developers ASP4Developers", 0,0,0,255,255,255) %>


 



Esta matéria foi postada originalmente no ASP4Developers por Ismael Nobre (site), que na época era "Analista.
Quer me contratar ?
Cel. 96420687". Hoje, vai saber...

quarta-feira, 10 de outubro de 2001

0

Diferença entre horas pré-definidas

Uma maneira bem simples de calcular diferenças entre horários.
Eu bati neste problema quando montava um sisteminha para controlar meus horarios ( tipo consultor ).
Assim q ele estiver pronto vou colocar para Download.
Qualquer melhoria, não esqueçam de postar.


<%


function horas(intervalo,Entrada01,Saida01,Entrada02,Saida02)


 'pega a diferença em segundos
 dia01 = DateDiff (intervalo,Entrada01,Saida01)
 dia02 = DateDiff (intervalo,Entrada02,Saida02)


 'faz a somatória dos segundos
 totalSegundos = dia01 - dia02


 'separa horas:minutos do total
 segundos = (totalSegundos) mod  60
 minutos = (( totalSegundos - segundos) / 60) mod 60
 horas = int((totalSegundos) / 3600)
 
 response.write horas &":"&minutos&":"&segundos
end function


response.write horas("s","08:59:0","18:46:00","12:00:00","13:00:00")


%>



Esta matéria foi postada originalmente no ASP4Developers por Ismael Nobre (site), que na época era "Analista.
Quer me contratar ?
Cel. 96420687". Hoje, vai saber...

quarta-feira, 3 de outubro de 2001

0

Função para ajudar a depurar ASP

Esta função é feita em ASP com javascript, basta passa a mensagem ou variável desejada como parâmetro para ser exibida.
Espero ter ajudado!!


<html>
<head>
<title>Função de Depuração - Myers :: mayersk@hotmail.com</title>
</head>


<body bgcolor="#FFFFFF">
<%
'Exibe em uma janela Pop-up a mensagem passada como parêmetro
Function MsgBox(msg)
   MsgBox = "<script>alert('"&replace(msg,"'","""")&"')</script>"
End Function


   variavel = 0
   response.write MsgBox("valor inicial:"&variavel)
   response.write "<br>Valor Inicial:"&variavel


   '-- Seção 1 --
   variavel = variavel + 1
   response.write MsgBox("Secao 1\nvalor:"&variavel)
   response.write "<br>Seção 1 >> valor:"&variavel


   '-- Seção 2 --
   variavel = variavel + 3
   response.write MsgBox("Secao 2\nvalor:"&variavel)
   response.write "<br>Seção 2 >> valor:"&variavel


   '-- Seção 3 --
   variavel = variavel + 1
   response.write MsgBox("Secao 3\nvalor:"&variavel)
   response.write "<br>Seção 3 >> valor:"&variavel


   '-- Seção 4 --
   variavel = variavel + 2
   response.write MsgBox("Secao 4\nvalor:"&variavel)
   response.write "<br>Seção 4 >> valor:"&variavel



   response.write MsgBox("valor final:"&variavel)
   response.write "<br>Valor Final:"&variavel
%>
<br>
<br>
<a href="mailto:mayersk@hotmail.com">
<font face="Arial, Helvetica, sans-serif" size="2" color="#000000" style="text-decoration:none;">Myers
:: mayersk@hotmail.com</font> </a>
</body>
</html>



Esta matéria foi postada originalmente no ASP4Developers por Rafael "M4yers" Rossi (site), que na época era "...". Hoje, vai saber...

terça-feira, 2 de outubro de 2001

0

Execute um script SQL pelo VB

O exemplo a seguir executará um script SQL em um arquivo.  Desta maneira, o arquivo pode conter multiplos comandos, mas somente um único batch (sem comandos 'GO').  Se você precisa executar um arquivo de script contendo mais de um batch, você terá que ler o arquivo linha a linha e executar os comandos contidos nas linhas lidas, quando você encontrar um comando 'GO'.  Note que 'GO' é um delimitador de batches e não um comando T-SQL, portanto, você não pode incluí-lo na string do query enviado ao servidor.

Set oCn = CreateObject("ADODB.Connection")
Set oFSO = CreateObject("Scripting.FileSystemObject")
oCn.Open "Provider=SQLOLEDB;Data Source=MyServer;Initial
Catalog=MyDatabase;Integrated Security=SSPI"
oCn.Execute oFSO.OpenTextFile("C:\SQLScripts\MySQLScript.sql").ReadAll

Esta matéria foi postada originalmente no ASP4Developers por Valmir Cinquini (site), que na época era "Analista/Programador C#, VB.Net, ASP, VB, Javascript e T-SQL

www.cinquini.com.br/vcinquini>". Hoje, vai saber...

segunda-feira, 1 de outubro de 2001

0

Limitar tamanho de palavras

Algumas vezes, é interessante quebrar o conteúdo de uma palavra gigantesca em palavras menores, mesmo que nao necessariamente corretamente separada, mas apenas para preservar o tamanho de uma tabela. Tente o código abaixo:


Function Quebra( texto, maximo )
dim i, retorno, matriz
matriz  = split( texto, " " )
retorno = ""
for i = 0 to uBound( matriz )
    do while len( matriz(i) ) > maximo
       retorno = retorno & left( matriz( i ), maximo ) & " "
       matriz( i ) = mid( matriz( i ), maximo + 1 )
    loop
    retorno = retorno & matriz( i ) & " "
next
Quebra = trim( retorno )
end function


Existem outras formas, envolvendo CSS, mas esta é a mais compatível com os diferentes browsers do mercado.



Esta matéria foi postada originalmente no ASP4Developers por Rubens N. Farias (site), que na época era "pós-graduado em análise de sistemas orientados a objetos, MCP, MCSD, MCAD, MCSD.NET e consultor em TI, além de idealizador do projeto ASP4Developers. Desenvolve sistemas sob medida, focados na satisfação do usuário, com qualidade e custo realista.". Hoje, vai saber...

terça-feira, 25 de setembro de 2001

0

.NET Beta 2

Para aqueles que, como eu, aguardavam ansiosamente pela chegada do Beta 2 da plataforma .Net, deve ter ficado decepcionado com o erro durante o processo de instalação. Segundo a Microsoft, um lote de CDs saiu com defeito, mas a instalação pode ser concluída com sucesso, caso você siga os passos indicados em http://www.microsoft.com/brasil/vstudio/beta2install.stm Vou tentar quando chegar em casa e posto as novidades.

Esta matéria foi postada originalmente no ASP4Developers por Rubens N. Farias (site), que na época era "pós-graduado em análise de sistemas orientados a objetos, MCP, MCSD, MCAD, MCSD.NET e consultor em TI, além de idealizador do projeto ASP4Developers. Desenvolve sistemas sob medida, focados na satisfação do usuário, com qualidade e custo realista.". Hoje, vai saber...

quinta-feira, 20 de setembro de 2001

1

Um "dedo-duro" a seu favor

Neste artigo mostro como o sistema pode encontrar um erro pela página e imediatamente lhe comunicar através do e-mail. Irei usar dois recursos simples para conseguir algo muito útil, ter conhecimento de erros ocorridos no site.

Para facilitar o uso e compreensão, a função que irá processar o erro é um artigo único que deverá ser incluido nas páginas, e quando houver erro, a pagina o chamará automaticamente.


erro.asp -> será o arquivo que pegará os valores referentes ao erro e enviará ao seu e-mail.


teste.asp -> uma página exemplo que estará preparada para reportar o erro caso ocorra algum.

 

Neste artigo irei fazer uso do objeto ERR (para detectar e descrever o erro) e do CDONTS (componente padrão para envio de email).

 

Segue a página teste.asp


<!--#Include File="erro.asp"-->
'aqui faço inclusão do arquivo que irá dedurar o erro caso ocorra

<% On error Resume next %>

'se pegar erro no meio do documento, força a continuar

 

<center><B>Dedo Duro</b></center><BR><BR>

<%

response.write "Teste às " & time

reponse.write "note algo aqui"

'perceba a linha acima "note algo aqui", há um erro proposital pois não existe o objeto REPONSE

'abaixo a instrução que verificará, se o número de erro for maior que zero, então ocorreu algum

If err.number > 0 then

Call ERROS      'erros é a função pra dedar, que está dentro de erro.asp

End if %>

 

 


Agora, o arquivo erro.asp


<%


Function erros

DedoDuro = "Erro ocorrido em: " & now

DedoDuro = DedoDuro & "Pagina: " & request.ServerVariables("SCRIPT_NAME")

DedoDuro = DedoDuro & "Número: " & err.number

DedoDuro = DedoDuro & "Descrição: " & err.description

DedoDuro = DedoDuro & "Fonte: " & err.source

'acima cria a mensagem com a descrição do erro ocorrido

 

Set mail = Server.CreateObject("CDONTS.NewMail")



mail.subject = "Ocorreu um erro"

mail.MailFormat = 0

mail.BodyFormat = 0

mail.body = DedoDuro

mail.send

set mail = nothing

 

response.write "Ocorreu um erro nesta pagina, e um email foi gerado para notificar o webmaster"

End Function

%>

 


Pronto! É isso aí!


Rresumindo, o arquivo teste.asp tem um erro provocado e quando chega ao fim do documento, é verificado que ocorreu, e automaticamente chama a função ERROS, que é o arquivo erro.asp, que monta uma descrição do erro ocorrido e envia ao mail.



Esta matéria foi postada originalmente no ASP4Developers por Oscar Pires (BLADE) (site), que na época era "Desenvolvedor ASP e Visual Basic, desenvolve sites interativos e sistemas para empresas. ". Hoje, vai saber...

sexta-feira, 14 de setembro de 2001

0

Onde está o Wally ?

Olá gente! Esta nota é apenas para deixar claro que nao morri e dar uma satisfação aos amigos e visitantes do site. A enquete sobre o layout do site foi finalizada, onde o "novo" ganhou do "velho" com uma pequena margem de vantagem. Então, resolvi colocar as duas versões, podendo o visitante escolher qual ele prefere.. Mais democrático, não ?


Mas, o tempo anda escasso e, para variar, minha fonte queimou. Estarei redesenhando o ASP4D enquanto toco outros projetos paralelos.


E por falar em projetos paralelos, deixo aqui algumas dicas sobre o que ando estudando, para atiçar a curiosidade dos colegas. Andei analisando de perto os Schemas, em particular o XML-Data Reduced (XDR). Em linhas gerais, funciona basicamente como um DTD, definindo qual a estrutura de um documento XML, mas com dois diferenciais importantes: usa a sintaxe do XML e permite definir tipos de dados. Fica bastante interessante deixar o client fazer a validação de, por exemplo, campos data ou numéricos, sem muito código. Vale a visita.


Uma outra tecnologia que aposto bastante e que atualmente é a minha menina dos olhos, é a Scalable Vector Graphics (SVG). Consiste em um vocabulário XML para descrever gráficos bidimensionais, com recursos fantásticos, que é melhor vendo do que eu explicando. Acessem www.adobe.com/svg/demos/ e entendam o que eu estou falando. Não esqueçam de clicar com o botão direito, olhar o código fonte e exclamar: "putz! pensei que fosse flash... caraca!". Sinceramente recomendo uma análise detalhada da documentação de 600 e tantas páginas no site http://www.w3.org/TR/2001/REC-SVG-20010904/ (lembre-se que é um padrão que será aceito por empresas do porte de Microsoft, Adobe, Corel, etc)


Bom gente, por enquanto é só. Abraços a todos



Esta matéria foi postada originalmente no ASP4Developers por Rubens N. Farias (site), que na época era "pós-graduado em análise de sistemas orientados a objetos, MCP, MCSD, MCAD, MCSD.NET e consultor em TI, além de idealizador do projeto ASP4Developers. Desenvolve sistemas sob medida, focados na satisfação do usuário, com qualidade e custo realista.". Hoje, vai saber...

quarta-feira, 12 de setembro de 2001

0

Checando componentes do servidor

Você pode ver tudo q esta bilitado no servidor com este script! muito Útil!


<% @ Language="VBScript" %>
<% Option Explicit %>
<%
Dim theComponent(11)
Dim theComponentName(11)


' componentes
theComponent(0) = "ADODB.Connection"
theComponent(1) = "SoftArtisans.FileUp"
theComponent(2) = "AspHTTP.Conn"
theComponent(3) = "AspImage.Image"
theComponent(4) = "LastMod.FileObj"
theComponent(5) = "Scripting.FileSystemObject"
theComponent(6) = "SMTPsvg.Mailer"
theComponent(7) = "CDONTS.NewMail"
theComponent(8) = "Jmail.smtpmail"
theComponent(9) = "SmtpMail.SmtpMail.1"
theComponent(10) = "Persits.Upload.1"
theComponent(11) = "UnitedBinary.AutoImageSize"


' apelido do componente!
theComponentName(0) = "ADODB"
theComponentName(1) = "SA-FileUp"
theComponentName(2) = "AspHTTP"
theComponentName(3) = "AspImage"
theComponentName(4) = "LastMod"
theComponentName(5) = "FileSystemObject"
theComponentName(6) = "ASPMail"
theComponentName(7) = "CDONTS"
theComponentName(8) = "JMail"
theComponentName(9) = "SMTP"
theComponentName(10) = "Persits Upload"
theComponentName(11) = "AutoImageSize"


Function IsObjInstalled(strClassString)
 On Error Resume Next
  IsObjInstalled = False
  Err = 0
 Dim xTestObj
 Set xTestObj = Server.CreateObject(strClassString)
 If 0 = Err Then IsObjInstalled = True
 Set xTestObj = Nothing
  Err = 0
End Function
%>

<html>
<head>
<title>O q tem aqui?</title>
</head>
<body>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b>Componentes
      instalados:</b></font></td>
  </tr>
  <tr>
    <td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
      <table border="0" cellpadding="0" cellspacing="0" width="100%">
        <%
  Dim i
        For i=0 to UBound(theComponent)
      If Not IsObjInstalled(theComponent(i)) Then
       
   Else
            Response.Write "<tr>" & vbCrLf
           Response.Write "<td width=""100%"">" & vbCrLf
           Response.Write "<b>" & theComponentName(i) & "</b>" & vbCrLf
          Response.Write "</td>" & vbCrLf
          Response.Write "</tr>" & vbCrLf
      End If
     Next
     %>

   </table>
 </font>
 </td>
  </tr>
</table>


</body>
</html>



Esta matéria foi postada originalmente no ASP4Developers por Ismael Nobre (site), que na época era "Analista.
Quer me contratar ?
Cel. 96420687". Hoje, vai saber...

quinta-feira, 6 de setembro de 2001

0

Calendário ASP

Fiquei um pouco chateado quando coloquei um código de calendário em uma pagina e não funcionou. Para principiantes isso é uma decepção, ele ficaria muito chateado, então resolvi arrumar e mostrar todo o código.


Aceito críticas  e sugestões


[]´s


Myers


<%@ Language="VBScript" %>
<%
fDia = 1 ' Varaivel para iniciar contagem no dia 1


' Nome de como foi salva esta página(neste caso a sugestão é calendario.asp)
sURL = "calendario.asp"


' Matriz que indica o nº máximo de Dias permitidos em cada mês
' Jan. tem 31 Dias, Fev. tem 28 ou 29 Dias, Mar. tem 31 Dias, etc.
' A contagem dos Meses começa a partir do um (1): Jan. = 1, Fev. = 2, Mar. = 3, etc.
Dim aDiasMes
ReDim aDiasMes(12)
   aDiasMes(01) = 31
   aDiasMes(02) = 28
   aDiasMes(03) = 31
   aDiasMes(04) = 30
   aDiasMes(05) = 31
   aDiasMes(06) = 30
   aDiasMes(07) = 31
   aDiasMes(08) = 31
   aDiasMes(09) = 30
   aDiasMes(10) = 31
   aDiasMes(11) = 30
   aDiasMes(12) = 31


' Função que escreve o mês por extenso, passando o numero do Mes como parametro
Function MesExtenso(Mes)
   Select Case Mes
   Case 1
      MesExtenso = "Janeiro"
   Case 2
      MesExtenso = "Fevereiro"
   Case 3
      MesExtenso = "Março"
   Case 4
      MesExtenso = "Abril"
   Case 5
      MesExtenso = "Maio"
   Case 6
      MesExtenso = "Junho"
   Case 7
      MesExtenso = "Julho"
   Case 8
      MesExtenso = "Agosto"
   Case 9
      MesExtenso = "Setembro"
   Case 10
      MesExtenso = "Outubro"
   Case 11
      MesExtenso = "Novembro"
   Case 12
      MesExtenso = "Dezembro"
   End Select
End Function


' Função que escreve os dias da semana
Function DiaSemana(iDia)
   Select Case iDia
      Case 0
         DiaSemana = "Dom"
      Case 1
         DiaSemana = "Seg"
      Case 2
         DiaSemana = "Ter"
      Case 3
         DiaSemana = "Qua"
      Case 4
         DiaSemana = "Qui"
      Case 5
         DiaSemana = "Sex"
      Case 6
         DiaSemana = "Sab"
   End Select
End Function


' Funcao para saber quantas semanas tem o mes
Function nSemanas(Mes, Ano)
Dim nSem
   DtInicial = DateSerial(Ano, Mes, fDia)
   if WeekDay(DtInicial) = 1 then
      nSem = 0
   else
      nSem = 1
   end if
   nDiasMes = aDiasMes(Mes)


   for i = 1 to nDiasMes
      if WeekDay(DtInicial) = 1 then
         nSem = nSem + 1
      end if
      DtInicial = DateAdd("d", 1, DtInicial)
   next
   nSemanas = nSem
End Function


' Subrotina que identifica se o ano é bissexto
Sub SetBissexto
   Data = Request("Data")
   if Trim(data) = "" then
      Data = Date()
   else
      Data = CDate(Data)
   end if
   Ano = Year(Data)
   'Verifica se é Ano bissexto e diz se fevereiro tem 28 ou 29 dias
   if (Ano mod 4 = 0) or (Ano mod 100 = 0) and (Ano mod 400 = 0) then
      aDiasMes(2) = 29
   else
      aDiasMes(2) = 28
   end if
End Sub


   SetBissexto ' Chamada da Subrotina de verificacao


' Subrotina que monta o calendario
Sub MontaCalendario
   Data = Request("Data")
   if Trim(data) = "" then
      Data = Date()
   else
      Data = CDate(Data)
   end if


   Ano = Year(Data)
   Mes = Month(Data)
   DiaInicial = WeekDay(DateSerial(Ano, Mes, fDia))
   DtInicial = DateSerial(Ano, Mes, fDia)


   ' Início da Tabela
   response.write "<table border=""1"" cellpading=""0"" cellspacing=""0""><tr>"&VBCrLf
 
   ' Retroage um mês
   response.write "<th width=""25"">"&VBCrLf
   response.write "<center><input type=""button"" value="" << "" onclick=""javascript:document.location.href='"&sURL&"?data="&DateAdd("m", -1, DtInicial)&"'"">"&VBCrLf
   response.write "</center></th>"&VBCrLf
 
   ' Escreve mês e o Ano no cabeçalho
   response.write "<th colspan=""5"" class=""cel"" align=""center"" nowrap width=""120"">"&MesExtenso(Month(DtInicial))&" - "&Year(DtInicial)&"</th>"&VBCrLf
   ' Avança um mês
   response.write "<th width=""25"">"&VBCrLf
   response.write "<center><input type=""button"" value="" >> "" onclick=""javascript:document.location.href='"&sURL&"?data="& DateAdd("m", 1, DtInicial)& "'"">"&VBCrLf
   response.write "</center></th></tr>"&VBCrLf


   ' Escreve cabeçalho dos Dias da semana
   response.write "<tr>"
   for j = 0 to 6
      if j=0 then
         response.write "<td class=""cel"" align=""center""><div class=""dom"">"&DiaSemana(j)&"</div></td>"&VBCrLf
      else
         response.write "<td class=""cel"" align=""center"">"&DiaSemana(j)&"</td>"&VBCrLf
      end if
   next
   response.write "</tr>"


   ' Escreve tabela de dias
   for i = 0 to (nSemanas(Month(DtInicial), Year(DtInicial)) -1)
      response.write "<tr>"&VBCrLf
      for j = 0 to 6
         if (DiaInicial-1) > j and i = 0 then
            if j=0 and i=0 then
               response.write "<td class=""cel""><div class=""dom"">&nbsp;</div></td>"&VBCrLf
            else
               response.write "<td class=""cel"">&nbsp;</td>"&VBCrLf
            end if
         else
            if Month(DtInicial) > Mes or Year(DtInicial) > Ano then
               response.write "<td class=""cel"">&nbsp;</td>"&VBCrLf
            else
               if weekDay(DtInicial) = 1 then
                  response.write "<td class=""cel"" align=""center""><div class=""dom""><a href=""javascript:upData('"&DtInicial&"')"">"&Day(DtInicial)&"</a></div></td>"&VBCrLf
               else
                  if DtInicial = Date() then
                     response.write "<td align=""center""><div class=""hoje""><a href=""javascript:upData('"&DtInicial&"')"" style=""Color: White;"">"&Day(DtInicial)&"</a></div></td>"&VBCrLf
                  else
                     response.write "<td class=""cel"" id="&Day(DtInicial)&" align=center><a href=""javascript:upData('"&DtInicial&"'); ClickedDay('"&Day(DtInicial)&"')"">"&Day(DtInicial)&"</a></td>"&VBCrLf
                  end if
               end if
            end if
            DtInicial = DateAdd("d", DtInicial, 1)
         end if
      next
      response.write "</tr>"&VBCrLf
   next


   ' Fim tabela
   response.write "</table>"&VBCrLf
End Sub


%>
<html>
<head>
<script language="JavaScript">
<!--
// Função para exibir a data quando clicar no dia
function upData(data){
   alert(data);
   }


function ClickedDay(Dia){
   return
   }
-->
</script>


<style>
th.cel{Font-Family: Verdana; Font-Size: 8 pt; Background : #DDF4FF; Color: #003366;}
td.cel{Font-Family: Verdana; Font-Size: 8 pt;}
.hoje {Font-Family: Verdana; Font-Size: 8 pt; Background : #0000FF; Color: #FFFFFF;}
a{Font-Family: Verdana; Font-Size: 8 pt; Text-Decoration: None; Color: #000000;}
a:hover{Font-Family: Verdana; Font-Size: 8 pt; Text-Decoration: None; Color: #FF0000;}
.dom{Font-Family: Verdana; Font-Size: 8 pt; Text-Decoration: None; Color: #003366;
     background : #DDF4FF;}
p {Font-Family: Verdana; Font-Size: 10 pt;}
td{Font-Family: Verdana; Font-Size: 10 pt;}
</style>


<title>calendario.asp [Atualizado por: Myers :: mayersk@hotmail.com]</title></head>
<body bgcolor="#FFFFFF">
  <p align="center">
      <% MontaCalendario %>
     <br><br>
    <font size="1"><a href="mailto:mayersk@hotmail.com">Atualizado por Myers :: mayersk@hotmail.com</a></font>
  </p>
</body>
</html>



Esta matéria foi postada originalmente no ASP4Developers por Rafael "M4yers" Rossi (site), que na época era "...". Hoje, vai saber...

terça-feira, 4 de setembro de 2001

0

Função para contar a quantidade caracteres na String

' Verifica a qtuantidade que uma string tem de um caractere
Function CaracteresNaString(Str,Caracter)
Dim Contador, i, QtdeChar


   Contador = 0
   for i = 1 to Len(Str)
      Contador = Contador + 1
      'Se existir o caractere na string adiciona 1 ao contador de caracteres
      if mid(Str,Contador,1) = Caracter then
       QtdeChar = QtdeChar + 1
      end if
   next


   CaracteresNaString = QtdeChar
  
End Function



Esta matéria foi postada originalmente no ASP4Developers por Rafael "M4yers" Rossi (site), que na época era "...". Hoje, vai saber...

sexta-feira, 31 de agosto de 2001

0

Download do VisualStudio.net e SDK

http://msdn.microsoft.com/library/default.asp?url=/downloads/list/netdevframework.asp


 


Aqui esta tudo o que você precisa para .NET



Esta matéria foi postada originalmente no ASP4Developers por Thiago Machado Souza (site), que na época era "Programador Desbravador, buscando quebrar todas as fronteiras além do horizonte da arte de programar !
www.thiagomachado.com.br". Hoje, vai saber...

quarta-feira, 29 de agosto de 2001

0

Criar e Ler TXT

Abaixo segue um exemplo simples, de como criar e ler arquivos txt, pois em alguns casos é desnecessário gravar dados num banco de dados, seja pelo volume pequeno, ou apenas por não necessitar maiores cuidados.


* GRAVAR DADOS EM UM TXT
<%
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
caminho = server.MapPath("teste.txt")
Set GRAVAR = FSO.CreateTextFile(caminho,true)
'Foi criado o objeto, e logo apos busca o txt para gravar, se não achar, vai cria-lo (note o TRUE)


gravar.write ("teste de gravação")
gravar.close
response.write "GRAVADO!"
'apos abrir o TXT, gravará a linha com o texto "TESTE DE GRAVAÇÃO" a confirmação no cliente aparecerá como "GRAVADO"
%>


* LER CONTEÚDO DE UM TXT
<%
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
caminho=server.mappath("teste.txt")
Set TXT = FSO.OpenTextFile(caminho)
'cria o objeto, e busca pelo TXT indicado pela variável caminho como acima.

response.write txt.readALL   
'após abrir o TXT, enviará direto ao cliente todo conteúdo do TXT, neste exemplo, retornará "TESTE DE GRAVAÇÃO" como foi gravado acima.
txt.close

%>


Bom é isso, FSO (FileSystemObject) pode auxiliar em diversas funções já que possibilita criar/alterar/excluir arquivos ou pastas.


Falow para todos =)



Esta matéria foi postada originalmente no ASP4Developers por Oscar Pires (BLADE) (site), que na época era "Desenvolvedor ASP e Visual Basic, desenvolve sites interativos e sistemas para empresas. ". Hoje, vai saber...

segunda-feira, 20 de agosto de 2001

0

Mudando a cor das linhas com "Rollovers"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>TR Color</TITLE>
</HEAD>
<BODY>
<SCRIPT language=javascript>
<!--
        function mOvr(src,clrOver) {
                        src.style.cursor = 'hand';
                        src.bgColor = clrOver;
                     }
        function mOut(src,clrIn) {
                        src.style.cursor = 'default';
                        src.bgColor = clrIn;

        }
        function mClk(src) {
                if(event.srcElement.tagName=='TD'){
                        src.children.tags('A')[0].click();
                }
        }
// -->
</SCRIPT>
<table cellspacing=1 cellpadding=3 width="100%" bgcolor=white border=0>
  <tr onMouseOver="mOvr(this,'#cccccc');" onMouseOut="mOut(this,'#0066cc');"
bgcolor="#0066cc">
    <td  width="51%"  onClick="mClk(this)">
      <a class=menu href="http://www.uol.com.br">Texto1</a></td>
    <td onclick="mClk(this)" width="49%">&nbsp;</td>
  </tr>
  <tr onMouseOver="mOvr(this,'#cccccc');" onMouseOut="mOut(this,'#0066cc');"
bgcolor="#0066cc">
    <td  width="51%"  onClick="mClk(this)">
      <a class=menu href="http://www.uol.com.br">Texto1</a></td>
    <td onclick="mClk(this)" width="49%">&nbsp;</td>
  </tr>
    <tr onMouseOver="mOvr(this,'#cccccc');"
onMouseOut="mOut(this,'#0066cc');" bgcolor="#0066cc">
    <td  width="51%"  onClick="mClk(this)">
      <a class=menu href="http://www.uol.com.br">Texto1</a></td>
    <td onclick="mClk(this)" width="49%">&nbsp;</td>
  </tr>
    <tr onMouseOver="mOvr(this,'#cccccc');"
onMouseOut="mOut(this,'#0066cc');" bgcolor="#0066cc">
    <td  width="51%"  onClick="mClk(this)">
      <a class=menu href="http://www.uol.com.br">Texto1</a></td>
    <td onclick="mClk(this)" width="49%">&nbsp;</td>
  </tr>
    <tr onMouseOver="mOvr(this,'#cccccc');"
onMouseOut="mOut(this,'#0066cc');" bgcolor="#0066cc">
    <td  width="51%"  onClick="mClk(this)">
      <a class=menu href="http://www.uol.com.br">Texto1</a></td>
    <td onclick="mClk(this)" width="49%">&nbsp;</td>
  </tr>
  </table>
</BODY>
</HTML>


 



Esta matéria foi postada originalmente no ASP4Developers por Ismael Nobre (site), que na época era "Analista.
Quer me contratar ?
Cel. 96420687". Hoje, vai saber...

0

Criando um "VBGrid" em ASP

Muito bem, para criar a classe é preciso q vc configure algumas coisinhas bem simples.

Crie um aquivo chamado classe.asp com este conteudo:
====================================
<%
'====================================
'Ao "Voodoo" os respectivos creditos que foi
'quem criou a primeira versão da classe
'qualquer mudança q seja feita por favor, envie-nos
'uma cópia.
'cartman@apenas.com
'====================================


class MyGrid
 private DB, strSQL
 private strWidth, strAlign
 public sub Connect(strConnection)
  Set DB = Server.CreateObject("ADODB.Connection")
  DB.Open strConnection
 end sub
 
 public sub Disconnect()
  DB.Close
  Set DB = Nothing
 end sub
  
 public property let SQL(stSQL)
  strSQL = stSQL
   Dim Order
   Dim Field
   Dim gOrder
   Dim gField
   Dim Sort
   
   order = request.querystring("order")
   field = request.querystring("field")
   
   'caso a tabela tenha mais q dois campos eles devem se adicionados aqui!!!
   select case field
    case "1"
     gfield = " order by nome"
    case "2"
     gfield = " order by email"
    case else
     gfiel = ""
   end select
   
   select case order
    case "1"
     gOrder = " ASC"
    case "2"
     gOrder = " DESC"
    case else
     gOrder = ""
   end select
   
   if gOrder = "" or gField ="" then
    srtSQL = strSQL
   else
    strSQL = strSQL + gfield + gOrder
   end if
 end property


 public property let TableWidth(stWidth)
  strWidth = stWidth
 end property


 public property let TableAlign(stAlign)
  strAlign = stAlign
 end property
   
 public sub Display()
  if strWidth = "" then strWidth = "100%"
  Response.Write "<style type=text/css>"& vbCrLf & _
      " a:active {text-decoration: none; color: #000000; cursor: default;}"& vbCrLf & _
      " a:link  {text-decoration: none; color: #000000; cursor: default;}"& vbCrLf & _
      " a:visited {text-decoration: none; color: #000000; cursor: default;}"& vbCrLf & _
      " a:hover  {text-decoration: none; color: #000000; cursor: default;}"& vbCrLf & _
      " .TituloUP {"& vbCrLf & _
      "  background-color: #C0C0C0;"& vbCrLf & _
      "  border-bottom: #000000 solid 1px;"& vbCrLf & _
      "  border-right: #000000 solid 1px;"& vbCrLf & _
      "  border-left: #E8E8E8 solid 1px;"& vbCrLf & _
      "  border-top: #E8E8E8 solid 1px;"& vbCrLf & _
      "  height : 11px;"& vbCrLf & _
      "  cursor: default;"& vbCrLf & _
      "  font-family : Verdana, Arial, Helvetica, sans-serif;"& vbCrLf & _
      "  font-size : 11px;"& vbCrLf & _
      " }"& vbCrLf & _
      " .GridBody {"& vbCrLf & _
      "  background-color: #FFFFFF;"& vbCrLf & _
      "  border-bottom: #AAAAAA solid 1px;"& vbCrLf & _
      "  border-right: #AAAAAA solid 1px;"& vbCrLf & _
      "  height : 16px;"& vbCrLf & _
      "  font-family : Verdana, Arial, Helvetica, sans-serif;"& vbCrLf & _
      "  font-size: 11px;"& vbCrLf & _
      "  cursor: text;"& vbCrLf & _
      "  text-decoration: none;"& vbCrLf & _
      " }"& vbCrLf & _
      "</style>"& vbCrLf
  dim RS
  Set RS = Server.CreateObject("ADODB.Recordset")
   '*********************
   response.write strSQL
   '*********************
   RS.CursorLocation = 3
   RS.Open strSQL, DB
   
   order = request.querystring("order")
   
   select case order
    case 2
     order =1
    case 1
     order =2
    case else
     order =1
   end select
   
    Response.Write "<table width="& strWidth &" align="& strAlign &" cellspacing=0 cellpadding=0 align=center>"& vbCrLf
     Response.Write "  <tr>"& vbCrLf & _
         "    <td width=10 class=TituloUP ><a href="& Request.ServerVariables("SCRIPT_NAME") &">&nbsp;</a></td>"& vbCrLf
     'Desenha o cabeçalho
      Response.Write "    <td class=TituloUP ><a href="& Request.ServerVariables("SCRIPT_NAME") &"?order="& order &"&field=1>&nbsp;Campo1</a></td>"& vbCrLf
      Response.Write "    <td class=TituloUP ><a href="& Request.ServerVariables("SCRIPT_NAME") &"?order="& order &"&field=2>&nbsp;Campo2</a></td>"& vbCrLf
     Response.Write "  </tr>"& vbCrLf
     
     'Desenha os registros
     do until RS.EOF
      Response.Write "  <tr>"& vbCrLf
       Response.write "    <td width=10 class=TituloUP>&nbsp;</td>"& vbCrLf
       Response.Write "    <td class=GridBody>&nbsp;"& RS("nome") &"</td>"& vbCrLf
       Response.Write "    <td class=GridBody>&nbsp;"& RS("email") &"</td>"& vbCrLf
      Response.Write "  </tr>"& vbCrLf
      RS.MoveNext
     loop
    Response.Write "</table>"& vbCrLf & _
        "</td></tr></table>"& vbCrLf
   RS.Close
  Set RS = Nothing
 end sub
end class
%>
========================================

Agora crie outro aquivo qualquer com este conteudo ( no mesmo diretorio onde esta o classe.asp

========================================
<!--#include file="classe.asp"-->
<!--este include é obrigatprio pq é a classe q monta a tabela-->


<%
dim grid
set grid = new MyGrid
 grid.Connect "DBQ=c:\inetpub\wwwroot\webtal\database\webtal.mdb;Driver={Microsoft Access Driver (*.mdb)};"
'Aqui vc coloca sua string de conexão

 grid.SQL = "select codigo,nome,email from mural"
'Aqui vc coloca a sua query

 grid.TableWidth = "98%"
'Aqui vc coloca o tamanho da tabela

 grid.TableAlign = "center"
'Aqui vc coloca o alinhamento da tabela

 grid.Display
 grid.Disconnect
set grid = nothing

%>


=======================================

Caso vc preciso mudar alguma coisa na classe fique a vontade.
Não se esqueçe a ela esta configurada para mostrar, inicialmente um recordset com o nome "nome" e outro com o nome "email".
Mude se necessário.



Esta matéria foi postada originalmente no ASP4Developers por Ismael Nobre (site), que na época era "Analista.
Quer me contratar ?
Cel. 96420687". Hoje, vai saber...

sábado, 18 de agosto de 2001

0

Registro Aleatório

Muitos desenvolvedores buscam exibir registros de um bd aleatoriamente.
Abaixo segue um código simples, que mostra um campo chamado field aleatório numa tabela tbl e outra função gerara numeros aleatórios pra pegar o registro pelos campos auto numeração autoid


1- Set conn = server.CreateObject("ADODB.Connection")
2- Conn.open "dsn"

'criada a conexao (conn), e abre um dsn

3- SQL = "SELECT * FROM tbl"
4- Set RS = Server.CreateObject("ADODB.Recordset")
5- RS.open SQL,Conexao, 3, 3

'o recordset devera conter os parametros acima(os dois 3)

6- Randomize
7- Numero = INT(RND * RS.RecordCount)
8- Randomize

'aqui gerara um numero aleatório inteiro

9- SQL = "SELECT * FROM tbl WHERE autoid=" & numero
10- Set RS2 = Conn.execute(SQL)
11- if rs2.eof then
12- response.write "Numero sorteado não existe"
13- else
14- response.write "Sorteado: " & RS2("field")
15- End if

'agora ele pega o nº aleatorio e manda exibir o registro desse numero e exibe ao cliente

16- conn.close
17- Set conn=nothing
18- set rs=nothing
19- set rs2=nothing

'liberar recursos =)


NOTA: Se no campo autoid houver falhas na sequência e o "numero" sortear isso, não haverá registro a exibir.
Ex: Seu autoid correr de 1 a 30, e apos 25 for direto pra 28, se "numero" for igual a 26 o autoid é invalido, consequentemente não haverá registro a exibir.
MAS NÃO SE PREOCUPE, as linhas 11 e 12 trabalham essa hipótese de erro. =)


Bom é isso, é bem simples e util trabalhar com dados aleatoriamente. Espero ter ajudado! valeu =))



Esta matéria foi postada originalmente no ASP4Developers por Oscar Pires (BLADE) (site), que na época era "Desenvolvedor ASP e Visual Basic, desenvolve sites interativos e sistemas para empresas. ". Hoje, vai saber...

sexta-feira, 3 de agosto de 2001

0

Rotina para capturar a cotação do US$ do dia anterior no BC

A rotina captura a pagina do BC onde fica a cotação do dólar do dia anterior ao corrente e filtra somente os dados que interessam.


Podem ser feitas outras customizações onde os valores capturados são colocados num BD, etc ...


Aproveitem da rotina, mas por favor, mantenham os créditos.


http://asp4developers.cjb.net/uploads/busca_dolar.txt



Esta matéria foi postada originalmente no ASP4Developers por Adriano Dias (site), que na época era "Gerente de Informática que odeia terno e gravata e que gosta mesmo é de análise e programação. Linuxeiro sem ser radical e ASPeiro por prazer.". Hoje, vai saber...

quarta-feira, 1 de agosto de 2001

3

Retirando tags HTML de uma string

'  Função que retorna uma string sem as TAGS HTML passada como parametro


Function LimpaHTML(matriz)
Do While True
   ini     = InStr(1,matriz,"<")
   If ini  = 0 Then Exit Do
   fim     = InStr(ini,matriz,">")
   parcial = Mid(matriz,ini,fim-ini+1)
   matriz  = Replace(matriz,parcial,"")
Loop
LimpaHTML  = matriz
End Function


' Ex. Response.Write LimpaHTML("<B>Exemplo</B>") Retornará somente Exemplo. Teste com HTMLEncode.



Esta matéria foi postada originalmente no ASP4Developers por Adriano Dias (site), que na época era "Gerente de Informática que odeia terno e gravata e que gosta mesmo é de análise e programação. Linuxeiro sem ser radical e ASPeiro por prazer.". Hoje, vai saber...