terça-feira, 23 de março de 2010

A Criatividade da Apple é Incrivel

Confiram as novidades que o Steve Jobs guardou para 2012 e 2014









Meu Lockerz

Mais um site muito legal de prêmios, tudo gratuito e 100% confiável.

O MeuLockerz é um sistema que da pontos aos usuários todas as vezes que eles acessam o site, basta acessar responder a uma enquete, convidar alguns amigos, participar dos sorteios e ir acumulando pontos que você pode trocar na mesma hora por vários itens.



Muito legal e eu já estou participando, entrem vocês também




segunda-feira, 22 de março de 2010

Wibi - O buscador mucho loco

Seguinte galera, vou ensinar hoje a ganhar dinheiro, rsrs. Claro que todos os tutos que eu dou aqui server para vocês ganharem dinheiro, mais esse aqui é especial.


Vejam só o site Wibi e um indexador de varias lojas que vendem produtos diversos, e você pode buscar através dele varias informações na net, e em troca disso ganhar alguns centavos.


Centavos? realmente não da para ganhar muito assim, mas a idéia na verdade é que você indique pessoas para participar e assim quando elas lucram você lucra também, e assim mantemos uma corrente de alegria.


Para participar clique aqui e efetue seu cadastro, você pode efetuar 4 pesquisas diárias e ganhar, aproveitem e pesquisem qualquer coisa só para ganhar, mas tomem cuidado para que nenhum administrador perceba e cancele a conta.


Mais uma dica do seu amigo adriano - adrianoaruom@hotmail.com


e cliquem no banner abaixo, eu não sei qual é pq é randômico mais clique que vc vai gostar
|
 |
|
 |
\/




Easter Egg no Yahoo

To ligado que essa aqui já e velha, mas tem gente que não sabe.





Entrem no www.yahoo.com (tem que ser .com porque só na versão americana tem isso).


Porém você será redirecionado para o Yahoo Brasil, então na barra roxa que aparece no topo peça para ir para yahoo.com.

Pronto vc já pode ver o easter egg.

Espere o site carregar completamente e clique no sinal ! (exclamação) no logotipo Yahoo.


Interessante não, o legal é que o som é novo e eu fiquei sabendo disso esses dias quando resolvi testar novamente, então mesmo quem já conhecia entrem lá para ver que legal.


obs.:será que em breve iremos ouvir: Microsoooooooooooooooooooooft.? srsrsrs





Captcha Aritmético - Proteja-se de Spam

Olá a todos, hoje iremos aprender a fazer uma página de validação Captcha em ASP, porém diferente da comum, nessa o usuário terá que efetuar uma conta simples para autenticar.


Se você não viu confira aqui o nosso tutorial sobre Captcha.

Agora iremos bolar no mesmo esquema citado acima.

criaremos aqui uma página que ira criar o Captcha.

Proteja seu site de robos 



captchaAritmetico.asp

   <%

    ' aqui randomizamos o valor funcao1 e funcao2 que irão ser os números da conta
    randomize  
   funcao1 = Int(10 * Rnd )
   funcao2 = Int(10 * Rnd )
  
   'randomizamos um valor que vai de 0 até 2 e representara o operador
   operacao =  cInt(2 * Rnd )
  
   'geramos o resultado e o operador baseando-se no valor sorteado anteriormente
   select case operacao
       case 0
        result     = funcao1 + funcao2
        oper     = "+"
       case 1
        result     = funcao1 - funcao2
        oper     = "-"
       case 2
        result     = funcao1 * funcao2
        oper     = "x"   
    end select
    'arquivamos na sessão senha o resultado
   Session("Senha") = cstr(result)
  
   'e criamos a variavel que será exibida ao usuário
   operac = cstr(funcao1) & " " & oper & " " & cstr(funcao2)

   'Cria o objeto Jpeg

   Set Jpeg = Server.CreateObject("Persits.Jpeg")
  
  

   'Imagem usada como fundo no caso mandei um JPG com o 1px de largura e altura e fundo branco apenas para compor a área

   Path = Server.MapPath("blank.jpg")

   'Abre a imagem existente

   Jpeg.Open Path

   'Salva a imagem. Aqui foi usada a pasta teste, que obrigatoriamente deve ter permissão de escrita.

   'Altere-a pela pasta onde será salva a imagem.

   'LEMBRE-SE A PASTA DEVERÁ TER PERMISSÃO DE ESCRITA

   Jpeg.Save Server.MapPath("captcha.jpg")

   'Define altura e largura da imagem.

   Jpeg.Width = 100

   Jpeg.Height = 40


   'Define cor, tamanho e tipo de qualidade do texto

   Jpeg.Canvas.Font.Color = &H800000
   
   Jpeg.Canvas.Font.Size = 40

   Jpeg.Canvas.Font.Bold = True

   Jpeg.Canvas.Font.Quality = 4

    'aqui inserimos a operação que sera vista pelo usuário
   Jpeg.Canvas.PrintText 0, 0, operac
  
   'Envia a imagem para o navegador.

   Jpeg.SendBinary

   'Remove a instância do objeto da memória

   Set Jpeg = Nothing

   %>
 


Agora iremos exibir essa imagem gerada acima e também criaremos um campo de texto para que o usuário possa digitar o resultado.


envia.asp

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Captcha</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="valida.asp">
<img id="cap" src="captchaAritmetico.asp" width="100" height="40">
<label>
<input type="text" name="captcha" id="captcha" />
</label>
</form>
</body>
</html>


Agora sim iremos fazer a mágica acontecer, reparem que na página envia.asp existe um imagem, porém a propriedade src dela é apontada para página captchaAritmetico.asp, vcs estão entendendo?

Beleza, agora iremos autenticar isso e conferir o projeto trabalhando.

valida.asp

<%
if request("captcha") = session("Senha") then
    response.Write "Correto"
    else
    response.Write "Errado"
end if
%>

resolvido, agora abram a página envia.asp e divirtam-se


Eu estarei aqui para tirar as dúvidadas da galera e se precisarem mandem um e-mail.


adrianoaruom@hotmail.com

sexta-feira, 19 de março de 2010

Papervision 3D - a classe 3D no flash

http://imasters.uol.com.br/artigo/16081/flash/utilizando_papervision_3d_nos_seus_projetos/

O link acima leva a um tuto muito bom sobre PaperVision 3D. Realmente o unico tutorial que eu entendi até hoje. rsrs
Basicamente, o Papervision 3D é um pacote de classes que lhe oferece diversas ferramentas profissionais para produção de filmes em Flash com a ilusão de três dimensões. Digo ilusão pois, apesar de o Flash suportar atualmente 3D nativo (que ainda perde feio para o que o Papervision nos oferece), o Papervision 3D já existia muito antes disso, simulando o efeito ótico tridimensional apenas manipulando as propriedades de objetos bidimensionais.
Hoje o Papervision 3D é a ferramenta de produção tridimensional no Flash mais utilizada e mais popular, com diversos plugins e efeitos impressionantes. A grande maioria dos sites 3D mais impressionantes do mundo foram todos produzidos com a ferramenta......





Removendo acentos com ASP

Essa função é ótima para sistemas de busca, pois o ASP ignora os acentos dos registros no banco de dados porém os leva em consideração quando as páginas os recebem via método GET.

essa função remove os acentos

<%
Function RemoveAcentos(Texto)
    'Conjunto de Caracteres com acentos
    ComAcentos = "Á Í Ó Ú É Ä Ï Ö Ü Ë À Ì Ò Ù È Ã Õ Â Î Ô Û Ê á í ó ú é ä ï ö ü ë à ì ò ù è ã õ â î ô û ê Ç ç"
    ComAcentosA = split(comAcentos," ")
    'Conjunto de Caracteres sem acentos
    SemAcentos = "A I O U E A I O U E A I O U E A O A I O U E a i o u e a i o u e a i o u e a o a i o u e C c"
    SemAcentosA = split(SemAcentos," ")

    Resultado = Texto
   
    for o = 0 to ubound(ComAcentosA)
    Resultado = Replace(Resultado, ComAcentosA(o), SemAcentosA(o))
    next
    RemoveAcentos = Resultado
End Function

E para chama-la basta

removeAcentos("canção")

e então ela retorna cancao





SELECT - INSERT - UPDATE em Banco de dados sem Refresh e sem AJAX

Tive que fazer isso recentemente e fiquei pensando como?
Fiquei sabendo que faria em AJAX, mas como sempre existe gente boa nesse mundo, pesquisei bastante e encontrei um sistema que utiliza unicamente ASP ou PHP e JavaScript
Precisei disso pois estava criando uma WEB TV e gostaria de um sistema de comentários que não atualiza-se a página para poder enviar o comentário.


Vejam aqui.


Comecem criando a página que você quer que tenha as informações do Banco de Dados.

No caso abaixo é um exemplo de um recordset ASP

<%
Set con = Server.CreateObject("ADODB.connection")
con.open ("DRIVER={MySQL Driver};SERVER=servidor;PORT=3306;DATABASE=bd;USER=usuario;PASSWORD=senha;OPTION=3;")
%>

<%

set rs= server.CreateObject("ADODB.recordset")

rs.open "SELECT * FROM tabela",con

%>


após isso coloque em qualquer lugar do BODY a listagem

<%
while not rs.eof
%>
<div id="item<%=rs("cod")%>"><%=rs("campo1")%></div><input type="submit" name="button" id="button" value="enviar" onClick="apaga('<%=rs("cod")%>')">
<%
rs.movenext
wend
%>

Trata-se de um exemplo simples mas tentem adaptar isso para algo melhor, o importante é entender o conceito.

Foi feita uma conexão com o bd e logo após um recordset com o nome rs para pegar os dados da tabela chamada tabela e então fizemos um loop que retorna os dados da tabela, gerando divs com nomes que variam dependendo do campo cod da tabela.

Vejam como ficaria isso ao ser executado pelo IIS

<div id="item1">Registro 1</div><input type="submit" name="button" id="button" value="enviar" onClick="apaga('1')">
<div id="item2">Bla bla bla</div><input type="submit" name="button" id="button" value="enviar" onClick="apaga('2')">
<div id="item3">bla bla</div><input type="submit" name="button" id="button" value="enviar" onClick="apaga('3')">
<div id="item4">123 testando</div> <input type="submit" name="button" id="button" value="enviar" onClick="apaga('item1')">

Espero que tenham entendido

Agora criaremos a função JavaScript que ira efetuar todo o processo e compartilhar as informações com mais uma página ASP que iremos criar

<script language="javascript">
function apaga(cod) {

    var head    = document.getElementsByTagName('head').item(0);

    var eScript    = document.createElement('script');

    eScript.setAttribute('src','apaga.asp?item='+cod);

    head.appendChild(eScript);
}
</script>

O script acima recebe daquele botão que nós criamos a ID do objeto. e depois manda para página apaga.asp via método GET.

Ao todo poderia ficar assim


<%
Set con = Server.CreateObject("ADODB.connection")
con.open ("DRIVER={MySQL Driver};SERVER=servidor;PORT=3306;DATABASE=bd;USER=usuario;PASSWORD=senha;OPTION=3;")
%>

<%

set rs= server.CreateObject("ADODB.recordset")

rs.open "SELECT * FROM tabela",con

%>
<html>
<head>
<script language="javascript">
function apaga(cod) {

    var head    = document.getElementsByTagName('head').item(0);

    var eScript    = document.createElement('script');

    eScript.setAttribute('src','apaga.asp?item='+cod);

    head.appendChild(eScript);
}
</script>

<title>teste de edição sem AJAX</title>
<body>
<%
while not rs.eof
%>
<div id="item<%=rs("cod")%>"><%=rs("campo1")%></div><input type="submit" name="button" id="button" value="enviar" onClick="apaga('<%=rs("cod")%>')">
<%
rs.movenext
wend
%>
</body>
</html>


Agora criaremos a página responsavel pelo processo de apagar o registro do Banco de Dados

apaga.asp

<%
Set con = Server.CreateObject("ADODB.connection")
con.open ("DRIVER={MySQL Driver};SERVER=servidor;PORT=3306;DATABASE=bd;USER=usuario;PASSWORD=senha;OPTION=3;")
%>
<%
codigo = request.QueryString("item")

exclui= con.execute("DELETE FROM tabela WHERE cod = '"&codigo&"'")

response.write "document.getElementById('item"&codigo&"').style.display='none';"
%>

resolvido, está pronto nosso sistema, simples eu confesso mas usual e pronto para ser melhorado.

Explicando esse ultimo pedaço ai. A página apaga.asp recebe via GET o valor de item e guarda na variavel codigo e então executa uma SQL que apaga os dados com o cod = a variavel codigo mas o mais legal é que depois ele imprime um JavaScript que manda a div com a ID "item"&codigo&" sumir.

quando executamos tudo isso é concatenado e ai faz sentido.

Apenas tive problemas com o IE, por que não consigo executar corretamente a função setAttribute, se algume tiver uma luz comenta ai.


Valeu galera e até a proxima




quinta-feira, 18 de março de 2010

Nova Cara

O MEU BLOG ESTÁ DE CARA NOVA ENTREM E CONFIRAM, O MESMO CONTEÚDO E A MESMA QUALIDADE, MAS COM UM VISUAL MAIS LEGAL, APROVEITEM





quarta-feira, 17 de março de 2010

Modificando Fotos no ASP - ASPJpeg

Nesse tutorial vou ensinar um truque legal para modificar-mos fotos aumentando e diminuindo seu tamanho

Um erro comum entre os Web designers é que as vezes quando puxamos uma imagem de um banco de dados queremos utiliza-las diversas vezes como Thumbnai, só que acabamos modificando o tamanho na tag IMG, e isso gera 2 problemas
  •  Imagem pequena, porém que leva muito tempo para carregar
  • Queda de definição pois a imagem acaba sendo totalmente apertada

A solução é simples se chama AspJpeg


Porém é necessário que vocês vejam se esse componente está instalado no servidor porque senão não vai funcionar.


OK Vamos Começar


crie um arquivo chamado jpgResize.asp e coloque o seguinte código.

<%
'arquivo é a variavel que levara o diretorio do arquivo, lembre-se que deve ser o diretório fisico e não o virtual
arquivo = request.QueryString("arquivo")


'W é largura
w = request.QueryString("w")


'H é altura
h = request.QueryString("h")

'Criando o thumbnail:
Set Jpeg = Server.CreateObject("Persits.Jpeg")

'Caminho da Imagem
Path = server.MapPath(arquivo)

'Busca a Imagem
Jpeg.Open Path

'Especifica o tamanho da imagem
Jpeg.Width = w
Jpeg.Height = h

'Esse método é opcional, usado para melhorar o visual da imagem
Jpeg.Sharpen 1, 150


'Para enviar o thumbnail para o browser do cliente utilize o método SendBinary:
Jpeg.SendBinary
%>

Pronto esse arquivo acima irá gerar a imagem solicitada, agora iremos a página que exibe essa imagem e coloquemos a seguinte tag IMG

<img src="jpegResize.asp?arquivo=fotos\imagem.jpg&w=300&h=100>

A tag acima ira pegar a imagem01.jpg que esta na pasta fotos do diretório atual e colocara com 300px de largura e 100px de altura.

Percebam que a tag imagem recebe como imagem o arquivo jpgResize.asp e ao mesmo tempo envia pelo metodo GET os parametros, do meu ponto de vista mais facil e simples do que criar uma função. Além de proteger a imagem contra cópia.

A partir daqui você pode pegar o diretorio da foto a partir de um recordset


<img src="jpegResize.asp?arquivo=<%=fotos("foto")%>&w=300&h=100>

Pesquise por ASPJpeg e saiba outras funções desse componente









segunda-feira, 15 de março de 2010

CSS Transparente - criando transparência em qualquer objeto usando o CSS

Crie transparencia em qualquer objeto usando css. basta utilizar o código abaixo no seu css

    filter:alpha(opacity=65);
    -moz-opacity:.65;
    opacity:.65;


Colocando em um div sobre uma foto por exemplo ficara com o seguinte efeito





SQL - Seleção randômica - para sistema randomico de banners

Hoje veremos técnicas para randomizar registros de uma tabela usando apenas SQL, ou seja isso é compativel com qualquer sistema de banco de dados, seja ASP, PHP, VB, DELPHI, JAVA, etc. Pois o mesmo só depende do servidor SQL que você está utilizando.

Confira aqui as listas com alguns Servidores SQL

MySQL
SELECT column FROM table
ORDER BY RAND()
LIMIT 1

PostgreSQL
SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

SQL Server
SELECT TOP 1 column FROM table
ORDER BY NEWID()

IBM DB2
SELECT column, RAND() as IDX
FROM table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY

ORACLE
SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1