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.
terça-feira, 25 de setembro de 2001
.NET Beta 2
Marcadores: ASP4Developers
quinta-feira, 20 de setembro de 2001
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.
'aqui faço inclusão do arquivo que irá dedurar o erro caso ocorra
Agora, o arquivo erro.asp
<%
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.
Marcadores: ASP4Developers
sexta-feira, 14 de setembro de 2001
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
Marcadores: ASP4Developers
quarta-feira, 12 de setembro de 2001
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>
Quer me contratar ?
Cel. 96420687". Hoje, vai saber...
Marcadores: ASP4Developers
quinta-feira, 6 de setembro de 2001
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""> </div></td>"&VBCrLf
else
response.write "<td class=""cel""> </td>"&VBCrLf
end if
else
if Month(DtInicial) > Mes or Year(DtInicial) > Ano then
response.write "<td class=""cel""> </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>
Marcadores: ASP4Developers
terça-feira, 4 de setembro de 2001
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
Marcadores: ASP4Developers