Aug/092
Enviando E-Mail com ASPMail
Script pronto e comentado!
<%
set aspMail = server.CreateObject("SMTPsvg.Mailer")
' Use o SMTP ou o MAIL da sua conta de Hospedagem.
aspMail.RemoteHost = "smtp.dominio.com.br"
' Essa linha é opicional.
aspMail.FromName = "Nome do Remetente"
' Remetente do E-Mail.
aspMail.FromAddress = "remetente@dominio.com.br"
' Nome e Destinatário do E-Mail.
aspMail.AddRecipient "Nome do Destinatário", "destinatario@dominio.com.br"
' Assunto do E-Mail.
aspMail.Subject = "Assunto do E-Mail"
' Tipo de Texto que será enviado.
aspMail.ContentType = "text/html"
' Texto em HTML ou Normal.
aspMail.BodyText = "<b>Esse texto vai em negrito</b>"
' Linha que envia o E-Mail.
aspMail.SendMail
set aspMail = nothing
response.write("E-Mail Enviado com Sucesso!")
%>
Aug/090
Gerando PDF com ABCpdf
Script para gerar PDF com o ABCpdf
<%
set abc = server.createObject("ABCpdf6.DOC")
' Tamanho da Fonte
abc.FontSize = "12"
' Estilo da Fonte
abc.Font = abc.AddFont("Arial")
' Cor da Fonte
abc.Color = "255 0 0"
' Coloque o Texto
abc.AddText "Coloque seu Texto AQUI"
abc.save server.mapPath("arquivo_gerado.pdf")
set abc = nothing
%>
Jul/090
Classe que mostrar dados da Conta do Twitter
Olá a todos, nesse artigo vamos aprender a criar um exemplo simples de como mostrar os dados de uma conta do twitter em sua página, resgatando informações de um XML:
O link é Simples: http://twitter.com/users/show/ted_k.xml
Usando um Objeto para ler o XML e um layout agradável, chegamos a essa conclusão:

Criei uma classe chamada UserTwitter, dentro criei uma sub chamada LerXML() para fazer todo o processo:
página default.class.asp
class UserTwitter
public sub LerXML()
set objXMLDOM = server.createObject("MSXML2.DOMDocument.3.0")
objXMLDOM.async = false
objXMLDOM.setProperty "ServerHTTPRequest", true
objXMLDOM.validateOnParse = false
objXMLDOM.load("http://twitter.com/users/show/"request.queryString("username")".xml")
set raiz = objXMLDOM.getElementsByTagName("*")
OBS: coloquei o request.queryString para ter um resgate do nome do usuário mais objetivo!
E, um laço de repetição para pegar a posição de cada nó e para cada nome no XML, assim:
for i = 0 to raiz.length - 1
select case (raiz.item(i).nodeName)
case ("name") : tw.nome = raiz.item(i).text
case ("screen_name") : tw.screen_name = raiz.item(i).text
case ("location") : tw.location = raiz.item(i).text
case ("profile_image_url") : tw.profile_image_url = raiz.item(i).text
case ("url") : tw.url = raiz.item(i).text
case ("followers_count") : tw.followers_count = raiz.item(i).text
case ("friends_count") : tw.friends_count = raiz.item(i).text
case ("favourites_count") : tw.favourites_count = raiz.item(i).text
case ("statuses_count") : tw.statuses_count = raiz.item(i).text
case ("time_zone") : tw.time_zone = raiz.item(i).text
case ("profile_background_image_url") : tw.profile_background_image_url = raiz.item(i).text
case ("profile_background_color") : tw.profile_background_color = ucase(raiz.item(i).text)
case ("profile_text_color") : tw.profile_text_color = ucase(raiz.item(i).text)
case ("profile_link_color") : tw.profile_link_color = ucase(raiz.item(i).text)
case ("profile_sidebar_fill_color") : tw.profile_sidebar_fill_color = ucase(raiz.item(i).text)
case ("profile_sidebar_border_color") : tw.profile_sidebar_border_color = ucase(raiz.item(i).text)
end select
next
No código dentro do CASE coloquei o nome das tags do XML. fazendo o seguinte:
Quando encontrar o "nodeName" "tal", mostre "tal" case, como uma condicional IF
raiz.item(i).nodeName
Observando também que uso essa propriedade do XML (.text) para imprimir o que há na tag.
raiz.item(i).text
Criando um objeto e chamando ele na tela:
set tw = new UserTwitter tw.LerXML()
criei uma página chamada default.asp
<% Language="VBScript" %> <!--include file="Default.class.asp"--> ... o restante do código
Para ter acesso o código completo e o layout clique aqui para baixar
Jun/090
Simulando herança com ASP
Titulo: Simulando herança com ASP
Herança em ASP? E tem?
A resposta é bem objetiva, NÃO. Mais você pode "simular" uma herança no ASP, como fazer isso?
Primeiro você tem que entender o que é herança.
Permitindo o compartilhamento de atributos entre classes, baseando-se em relacionamentos.
Com herança você pode criar subclasses para herdar operações, métodos e outros atributos semelhantes que sejam usados varias vezes em seu código, resumido evita você ficar criando três, quatro, cinco vezes a mesma coisa.
Com esse conceito vamos usar um exemplo em C#.
using System;
public class ClasseExemplo {
public void printf(){
Console.WriteLine(" Master");
}
}
public class ClasseGeral : ClasseExemplo {
public ClasseGeral(){
Console.WriteLine("Usuário");
}
public static void Main(){
ClasseGeral result = new ClasseGeral();
result.printf();
}
}
o Resultado do compilador sai ( Usuário Master ).
Para simular em ASP a coisa é diferente, precisamos criar duas classes também, a diferença são os setamentos delas e as chamadas na página.
Vamos criar uma classe "Pessoa", com subclasse "setNome"
class Pessoa
public sub setNome()
response.write("Ted k'")
end sub
end class
Desenvolvendo logo abaixo a classe "Frase", com a mesma subclasse "setNome".
class Frase
public sub setNome()
response.write(", É assim que tem que ser!")
end sub
end class
Fora das classes, você agora tem que criar um "sub" para chamar os valores setados logo abaixo, assim:
public sub geral(valor) response.write(valor.setNome()) end sub
E no final gere as impressões:
set ps = new Pessoa set fs = new Frase call geral(ps) call geral(fs)
Vamos para o código completo:
<%
class Pessoa
public sub setNome()
response.write("Ted k'")
end sub
end class
class Frase
public sub setNome()
response.write(", é assim que tem que ser!")
end sub
end class
public sub geral(valor)
response.write(valor.setNome())
end sub
set ps = new Pessoa
set fs = new Frase
call geral(ps)
call geral(fs)
%>
Na tela sai assim: ( Ted k', é assim que tem que ser!)
Pronto galera, conseguimos simular herança em ASP, agora é adaptar a necessidade e usar...
Abraços, até o próximo artigo.
Jun/090
Forçando Downloads com ASP
public function download(arquivo, pasta)
dim objStream
set objStream = server.createObject("ADODB.Stream")
with (response)
.buffer = true
.addHeader "Content-Type","application/x-msdownload"
.addHeader "Content-Disposition","attachment; filename="&arquivo
.flush
end with
with (objStream)
.open
.type = 1
.loadFromFile server.mapPath(pasta)
end with
response.binaryWrite objStream.read
set objStream = nothing
response.flush
end function


