quinta-feira, 26 de julho de 2001

0

Funções de formatação

'Verifica se duas datas pertencem a mesma semana do ano
function IsWeek(data1,data2)
 if DatePart("ww",data1) = DatePart("ww",data2) then
  IsWeek = true
 else
  IsWeek = false
 end if
end function

'-----------------------------------------------
'Preenche com zeros a esquerda do numero

function formata_numero(numero,qtd_zero)
dim tam
 tam = qtd_zero - len(numero)
 if tam < 0 then tam = 0
 formata_numero = string(tam,"0") & numero
end function

'-----------------------------------------------
'Retira acentos de palavras
function tirar_acentos(strTexto)
 dim com_acentos, sem_acentos, strResultado
 
 com_acentos = "ÁÍÓÚÉÄÏÖÜËÀÌÒÙÈÃÕÂÎÔÛÊáíóúéäïöüëàìòùèãõâîôûêÇç"
 sem_acentos = "AIOUEAIOUEAIOUEAOAIOUEaioueaioueaioueaoaioueCc"


 i = 0
 strResultado = strTexto
 while i < Len(com_acentos)
  i = i + 1
  strResultado = Replace(strResultado,Mid(com_acentos, i, 1), Mid(sem_acentos, i, 1))
 wend


 tirar_acentos = strResultado
end function



Esta matéria foi postada originalmente no ASP4Developers por Eduardo Ferrari (site), que na época era "Programo nas linguagens ASP, VBScript, JavaScript, Visual Basic, Delphi.

Bases de Dados Access, SQL Server, Paradox 7.". Hoje, vai saber...

domingo, 22 de julho de 2001

0

Formas de passar e requisitar informações

Aqui mostrarei como passar informações à uma pagina ASP, existem duas formas:

- Formulario (vai embutido nos headers)
- QueryString (vai na URL)


Por FORM:
form.html
<FORM ACTION="form.asp" METHOD="POST">
<INPUT TYPE="text" NAME="nome" VALUE="Seu Nome"><INPUT TYPE=SUBMIT VALUE=Enviar></FORM>


form.asp
<%
dim nome
nome = request("nome") 'ñ especifiquei se .form ou .querystring, ele pegara ambos
%>
OLÁ SEU NOME É <%=nome%>
<a href="form.asp?nome=<%=nome%>">click aqui para repassar</a>


Importante; o valor da variavel ficara disponivel ate o final do processamento do script, ou seja, ate o final deste arquivo, caso queira pegar este valor e passar pra frente, use:


<% Session("MeuNome") = Request("NOME") %>
e pra pegar <%=session("Meunome")%>


é isso, aki testei com um texto de nome normal, mas esses valores podem ser cores, numeros, qualquer coisa.


falo pessoal :)



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...

0

Recordsets desconectados

Se você desenvolve aplicações que requerem constantes acessos a um banco de dados, deve-se codifica-los de forma a otimizar os acessos e obter notáveis ganhos de desempenho na aplicação. Um recurso que resulta numa incrível melhora na aplicação (dependendo do código) é o uso de recordsets desconectados. Segue o código comentado:


<!--#INCLUDE FILE="Adovbs.INC"-->
'Inclusao obrigatoria para se alterar os cursores
<%
Dim Conexao, RS, SQL
'declaro as variaveis
Set conexao=Server.CreateObject("ADODB.Connection")
'crio objeto p/ conexão
Conexao.open "dsn"  'com dsn
Conexao.open "PROVIDER=Microsoft.jet.OLEDB.4.0; Data Source=" & Server.MapPath("banco.mdb") 'sem dsn
Set RS=Server.CreateObject("ADODB.RecordSet") 'Crio o recordset


RS.CursorLocation = adUseClient
'isso permite fecha a conexão e deixa ativa no cliente
RS.CursorType = adOpenStatic
RS.LockType = adLockReadOnly


SQL = "SELECT * FROM suatabela"
RS.Open SQL,Conexao, , ,adCmdText  

Set RS.ActiveConnection = nothing 
'fecha a conexao
conexao.close 
'fecha o objeto e o destrói
set conexao=nothing
%>


Pronto, agora você pode usar os recordsets normalmente, ex: <%=RS("Seu Campo")%>
no fim feche o objeto recordset:


<% RS.Close
Set RS=nothing %>


Espero que esta seja util, caso nao tenha o arquivo pra inclusao, o mesmo esta nesta mensagem incluido.


Falow galera!



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...

terça-feira, 17 de julho de 2001

0

CODECHARGE - Gerador de códigos ASP, ColdFusion, JSP, PHP, Perl and ASP.NET/C# (Beta)

Gerador de códigos ASP, ColdFusion, JSP, PHP, Perl and ASP.NET/C# (Beta)
está ai uma coisa que eu pensei nunca ver...


http://www.codecharge.com



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...

segunda-feira, 16 de julho de 2001

1

Como usar corretamente Condições de Repetição(For...Next, While...Wend e Do...loop)

Para as pessoas que estão iniciando ! este é um passo muito imporante... pois a má utilização das condições de repetição sempre gera error e lentidão nos scripts pre-desenvolvidos vejamos então quando e como utilizar cada uma dessas condições.


For... Next
A Codição For... Next executa uma rotina a um certo numero de vezes, de acordo com um contador, sendo assim ela é terminada quando o numero do contador chega ao seu limite desejado

<%
For n=1 to 10
response.write n & "<br>"
next
%>


O Código acima vai imprimir na página numerais de 1 à 10, a variavel definida em um FOR não precisa ser incrementada pois a estrutura se encarrega totalmente disso. Se necessária a saida brusca de um FOR, utilize o comando EXIT


WHILE WEND
Este executa uma rotina até que a sua condição se torne verdadeira
<%
ConnString = "Provider=SQLOLEDB.1;Password=gozaimasu;User ID=mrkoga;Initial Catalog=selecao;Data Source=255.255.255.255
Set RS = Server.CreateObject("ADODB.Connection")
set RS = conn.execute("SELECT * from mulheres where nacionalidade='Japonesa'")
While not RS.EOF
response.write RS("nome") & "<br>"
rs.movenext
wend
%>


DO UNTIL
O Estrutura, Do Until, executa uma rotina até que a condição imposta se torne verdadeira.


<% 
n = 0
Do Until n=10
n = n + 1
Loop
response.write n
%>
Esse LOOP, que o DO UNTIL provoca pode ser interrompido através do comando EXIT DO 


Existem os operadores lógicos que seria tambem muito interessante de se usar em conjunto com as estruturas de repetição, pesquise sobre...



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...

0

Exibindo o conteúdo de um txt.

<%


Set fso = Server.CreateObject("Scripting.FileSystemObject")


Set listar = fso.OpenTextFile("c:\InetPub\wwwroot\teste.txt",1,0)


Do while listar.AtEndOfStream <> true
conteudo = listar.readline
response.write conteudo & "<br><br>"
Loop


Set fso = Nothing
Set listar = Nothing


%>



Esta matéria foi postada originalmente no ASP4Developers por Francisco Hárley Diniz (site), que na época era "Programador ASP, frequenta o canal #asp da Brasnet (rede de irc).". Hoje, vai saber...

quinta-feira, 12 de julho de 2001

0

O uso prático de Server.HTMLEncode

Server.HTMLEncode é uma função que serve para codificar uma string em HTML. Ah tá, tudo bem. E pra que raios serve isso? Bem aqui vai um exemplo prático:


Suponha que você tenha um site que permita o usuário cadastrar-se à vontade. Então, um engraçadinho resolve cadastrar o nome dele da seguinte maneira:


<font color="red" style="font-size: 30pt">Adriano Nântua</font>


Pronto. De agora em diante, toda vez que o nome dele for escrito no site estará vermelho e bem grande, diferente das outras pessoas (isso se o palhaço não resolver botar tamanho 800 e esculhambar de vez o seu site).


Para evitar isso, na hora de escrever o nome, ao invés de fazer o usual:


<%=nome%>


faça o funcional:


<%=Server.HtmlEncode(nome)%>


Desta maneira, nome do espertinho, será escrito da mesma maneira que ele informou, pois a função codifica a string em HTML, escrevendo &lt;  ao invés de  <.


Obviamente, a função não serve somente para se proteger de usuários humoristas. Em geral serve para que os caracteres cadastrados sejam escritos fielmente.
Imagine que você vá jogar a string O filme "A Rocha" ganhou 20 prêmios no value de um input de texto. Só vai dar O Filme, pois o browser vai ler o " como fim do value, e o resto da string vai ficar fazendo sujeira na Tag. Um desmantelo.
Basta usar, então, o Server.HTMLEncode para consertar as coisas.



Esta matéria foi postada originalmente no ASP4Developers por Adriano Nântua, que na época era "Engenheiro de software e analista de sistemas; Desenvolvedor ASP, Delphi, C/C++ e Java/JSP/Servlets; InterBase fan; Linux fan; Alvirrubro inveterado.". Hoje, vai saber...

quarta-feira, 11 de julho de 2001

0

Equivalente a LIKE

bom, essa duvida eu tive quando queria exibir certo texto de acordo com o nome de um registro, logo veio na cabeça o LIKE, mas como seriam vários usos tentei algo melhor, e no news surgiu a ajuda.


Usando a função inStr


teste = Request.QueryString("Teste")
'o 1 é pq ta procurando desde o 1º caracter
If InStr(1,teste,"COMBO") <> 0 then
    Response.Write "Existe a substring COMBO dentro da variavel teste"
else
    Response.Write "Não existe a substring COMBO dentro da variavel teste"
end if

É isso :)
Espero que lhes seja util essa!



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...

domingo, 8 de julho de 2001

0

Bloquear acesso externo

Quando desenvolvia uma aplicacao que pegava valores de um form, e os processava e gravava num banco de dados, notei uma possibilidade importante; q se fosse enviado tais informacoes de outro site c/ o mesmo input ele ia processar como se fosse do meu site.. ai o bixo pega né


A solucao é, bloquear totalmente o acesso externo, inclusive acesso nulo (por exemplo o cara entra arquivo.asp direto no browser)


Segue o código comentado:


<%
'Se ñ vier do meu dominio ou vim em branco vai bloquear
IF Request.ServerVariables("HTTP_REFERER") <> Request.ServerVariables("SERVER_NAME") and Request.ServerVariables("HTTP_REFERER") = "" THEN
response.write "ACESSO BLOQUEADO"
ELSE%>Aqui ficará sua página normal<%End IF%>


Até mais! espero q seja util !! :))



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...

sábado, 7 de julho de 2001

0

Index Server , esse desconhecido

Quando um site começa a crescer , torna-se necessário um sistema de procura . Você pode instalar vários daqueles produtos de terceiros , os chamados "search engines" , ou criar um desnecessário banco de dados e perder horas com rotinas para fazer isso , ou pode utilizar o Index Server que vem juntamente com o IIS , que pode realizar esse serviço para você , e até mesmo para outros tipo de procura de documentos .
Mas o que é Index Server ? Na documentação on-line da Microsoft , é definido de maneira direta :


Indexing Service is a Microsoft® Windows® 2000 service that indexes files on your disks and their properties as well as your Internet Information Services (IIS) Web files and properties. Indexing Service stores the resulting information in catalogs that you can efficiently search using a variety of queries.


Isto é :


O Indexing Service é um serviço do Microsoft® Windows® 2000 que organiza arquivos nos seus discos , assim como seus aquivos Web do Internet Information Services (IIS) e propriedades . O Indexing Service guarda o resultado da informação em catálogos para que você possa procurar de forma eficiente usando uma variedade de solicitações .


O Index Server permite que você execute "Queries" (Solicitações) para o servidor utilizando ADO e OLE DB . Isso permite o uso e a flexibilidade de maneira a facilitar a procura de algum arquivo .


O Objeto Index Server


O Index Server é criado como qualquer outro objeto COM do seu servidor :


dim ixQuery   ' O Obejto query do Index Server .
set ixQuery = Server.CreateObject("ixsso.Query")


Esse objeto tem um número de propriedades que podem ser definidas antes de rodar a query. As mais utilizadas são :


Columns


-Permite você especificar quais os campos que serão retornados para a sua query . Para uma lista completa de tudo que pode ser definido aqui , aconselho procurara no help , mas para o nosso exemplo vamos retornar o seguinte :


doctitle - O título da página (especificado pela tag <TITLE>...</TITLE> ) ;
vpath - O caminho virtual da página ;
characterization - A descrição da página ;
rank - O valor especificado como padrão para bater com o critério da procura ;


ixQuery.Columns = "doctitle, vpath, size, characterization, rank"


Sortby


-Especifica como os resultados encontrados serão ordenados . Lista os campos em uma ordem relevante , e usa "[d]" para especificar que o campo deve ser ordenado de forma descendente .


ixQuery.SortBy = "rank[d], doctitle"


MaxRecords


- Você deve limitar o número máximo de resultados que a query pode retornar .


ixQuery.MaxRecords = 300


Catalog


Um Catalogo representa o resultado da indexação para um diretório específico (ou diretórios ) . Se você não especificar um catálogo então o Index Servcer usará o catalogo do Default Web Site ( cuja indexação começa em /inetpub/wwwroot ). Algumas vezes você pode querer especificar um catálogo . Se seu site estiver em um diretório diferente você poderá criar catálogos multiplos para diferentes páginas de procura .


Para definir um Catálogo , vá até o Index Server , que se encontra na opção "Services and Applications" , dentro do item do "Administrative Tools"  , Computer Managment (Start -> Programs -> Admin. Tools ) . Clique com o botão direito em "Indexing Services" e selecione New -> Catalog . Entre o nome do novo catálogo e a localização do diretório que você quer indexar . Você também pode especificar diretórios dentro da árvore de diretórios que não devem ser indexados , mantendo o controle e a privacidade de determinados diretórios .


Especifique o catalogo que você irá utilizar com o seguinte código ( No meu exemplo , indexaria o diretório Lula_Pro ) :


ixQuery.Catalog = "Lula_Pro"


Abra o Internet Service Manager ( também conhecido como IIS ) , abra a caixa de propriedades do seu site , selecione o tab "Home Directory" e verifique que a opção "Index this resource" esteja selecionada .


Query


A Query atual . É ela quem faz toda a operação de indexação . O index Server suporta 3 linguagens para a construção da query : Dialect 1 (Index Server 1.0), Dialect 2 (Index Server 3.0) and SQL (Index Server 2.0 and above). Dê uma olhada no MSDN sobre "Query Languages for Indexing Service^ para uma explicação completa das diferentes linguagens .


Em nosso caso , vamos trabalhar com o mais simples , que é o dialect 1 , mas se sinta a vontade para utilizar sintaxes SQL , se preferir .
A grosso modo , você pode simplesmente definir a propriedade Query do seu Objeto Index Server como o alvo da sua procura . Por exemplo , se você estivesse procurando por todas as páginas que contenham a palavra "Lula" , você usaria :


ixQuery.Query = "Apples"


Pode pode refinar essa procura especificando quais arquivos devem e quais arquivos não devem ser procurados , O modo como a target do query deve ser interpretada ( como uma frase, um texto livre ou uma procura exata ) e também o tipo de páginas que será procuradas (por exemplo , páginas escritas em uma certa data , ou menores que um determinado tamanho) .


Um exemplo de uma procura livre por um texto , na frase 'ASP 4 Developers' , nós usuariamos :


$contents ASP 4 Developers


Para defnir restrições utilizamos o prefixo arroba "@" em um campo pré-definido e uma expressão . Por exemplo :


@size < 1000000     ' O tamanho do arquivo deve ser menor que  1,000,000 bytes
@contents Lula   ' O conteúdo precisa conter a palavra "Lula"
@write > 74/09/30   ' A página deve ter sido escrita no dia 30 de setembro de 1974 (aa/mm/dd , usando default )


Restrições do nome do arquivo devem conter o prefixo "#" para especificar a procura regular da expressão :


#filename *.asp        ' pesquisar apenas arquivos .ASP
#vpath *\artigos*     ' procurar apenas no subdiretório artigos


Todas as expressões podem ser combinadas utilizando os operadores booleanod AND , NOT , OR etc . Supondo que você queira procurar a palavra "Lula" apenas em páginas ASP , e você gostaria de ignorar aqueles diretórios criados pelas Front Page Server Extensions , os "_vti"  sei lá o que . A sintaxe ficaria :


ixQuery.Query = "(#filename *.asp) AND (NOT #vpath *\_vti*) AND (Lula)"


O objeto Utility


O Objeto relacionado com o Index Server . Permite você definir até onde irá a sua procura . Pode ser "shallow" ( para a procura apenas no diretório ) ou "deep" (para uma procura recursiva em todos os diretórios e subdiretórios ) .


dim util
set util = Server.CreateObject("ixsso.Util")
util.AddScopeToQuery ixQuery, Server.MapPath("/"), "deep"


O primeiro parâmetro especifica para qual objeto Index Server relacionado a associação deve ser feita . O segundo especifica o caminho físico onde a procura irá iniciar ( no exemplo , no diretório raíz ) . O terceiro por fim especifica onde vai qual é o tipo da procura .


Fazendo a procura


Para rodar a Query atual , basta Query.CreateRecordset


dim queryRS   ' Query recordset.
set queryRS = ixQuery.CreateRecordSet("nonsequential")


Mostrando os resultados :


Para mostrar os resultados da pesquisa , faça um loop pelo recordset


Response.Write "<table width=100>"
do while not queryRS.EOF


 ' Recebe o título do documento . Se estiver em branco é mostrado "Untitled".
 dim docTitle
 docTitle = queryRS("doctitle")


 if docTitle = "" then docTitle = "Untitled"


 ' Mostra o # do registro , o link para o documento , a URL e a caracterização
 Response.Write "<tr>"
 Response.Write "<td valign=top>" & recordNumber & ".</td>"
 Response.Write "<td valign=top>"
 Response.Write "<a href='" & queryRS("vpath") & "'>" & docTitle & "</a><br>"
 Response.Write "<b>URL: </b> http://" & Request.ServerVariables("server_name") & queryRS("vpath") & "<br>"
 Response.Write Server.HTMLEncode(queryRS("characterization"))
 Response.Write "</td>"
 Response.Write "</tr>"


 recordNumber = recordNumber + 1
 queryRS.MoveNext()
 
loop
Response.Write "</table>"



Esta matéria foi postada originalmente no ASP4Developers por Luigi Paolo ( Lula ) (site), que na época era "Professor e Analista de Sistemas .". Hoje, vai saber...

quinta-feira, 5 de julho de 2001

0

Rotina para escrever números (moeda em reais) por extenso

function unidades(num)
 dim vet_unidades, str, aux
 vet_unidades = Array("um", "dois", "três", "quatro", "cinco", "seis", "sete", "oito", "nove", "dez", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove")
 aux = Right(num,2)
 if int(aux) < 20 then
  if int(aux) > 0 then
   str = vet_unidades(int(aux)-1)
  else
   str = ""
  end if
 else
  str = vet_unidades(int(right(num,1)) - 1)
 end if
 unidades = str
end function


function dezenas(num)
 dim vet_dezenas, aux, str
 vet_dezenas = Array(VBNullString, "vinte", "trinta", "quarenta", "cinquenta", "sessenta", "setenta", "oitenta", "noventa")
 aux = Right(num,2)
 aux = Left(aux,1)
 if len(num) >= 2 then
  if int(aux) >= 2 then
   str = vet_dezenas(int(aux)-1)
   if right(num,1) > 0 then
    str = str &" e "&unidades(num)
   end if
  else
   str = unidades(num)
  end if
 else
  str = unidades(num)
 end if
 dezenas = str
end function


function centenas(num, numero)
 dim vet_centenas, aux, str
 vet_centenas = Array("cem", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos")
 if int(num) > 99 then
  aux = Right(num, 3)
  aux = Left(aux, 1)
  if int(right(num,2)) > 0 then
   vet_centenas(0) = "cento"
  end if
  str = vet_centenas(aux-1)
  if int(right(num, 2)) > 0 then
   str = str & " e "
  end if
 else
  str = ""
 end if
 centenas = str & dezenas(num)
end function


function milhares(num, numero)
 dim str, aux, auxstr
 aux = right(numero,3)
 aux = left(aux,1)
 if int(aux) > 0 then
  auxstr = ", "
 else
  auxstr = " e "
 end if
 if int(num) <> 0 then
  str = centenas(num, numero)&" mil"&auxstr
 else
  str = ""
 end if
 milhares = str
end function


function milhoes(num, numero)
 dim str, aux, strmilhao
 aux = int(num)
 if aux > 0 then
  if aux = 1 then
   strmilhao = "milhão,"
  else
   strmilhao = "milhões,"
  end if
  str = centenas(num, numero)&" "&strmilhao&" "
 else
  str = ""
 end if
 milhoes = str
end function


function bilhoes(num, numero)
 dim str, aux, strbilhao
 aux = int(num)
 if aux > 0 then
  if aux = 1 then
   strbilhao = "bilhão,"
  else
   strbilhao = "bilhões,"
  end if
  str = centenas(num, numero)&" "&strbilhao&" "
 else
  str = ""
 end if
 bilhoes = str
end function


function centavos(num)
 dim str, aux, strcent
 num = "0"&num
 if int(num) > 0 then
  if int(num) = 1 then
   strcent = " centavo"
  else
   strcent = " centavos"
  end if
  str = centenas(num, num)&strcent
 else
  str = ""
 end if
 centavos = str
end function


function extenso(num)
 dim sizenum, strsinal, inteiro, cents, aux_array, aux, bilhar, milhao, milhar, centena, dezena
 dim strreal, strvirgula
 dim strextenso
 
 num = Replace(num, ".", "")
 aux_array = split(num, ",")
 if num = "" then
  extenso = ""
  exit function
 end if
 if UBound(aux_array) > 0 then
  inteiro = aux_array(0)
  cents = left(aux_array(1),2)
 else
  inteiro = aux_array(0)
  cents = "00"
 end if
 if InStr(1, inteiro, "-") > 0 then
  inteiro = right(inteiro, len(inteiro) - 1)
  strsinal = "menos "
 else
  strsinal = ""
 end if
 sizenum = len(inteiro)
 aux = string(12 - sizenum, "0")
 inteiro = aux & inteiro
 bilhar = mid(inteiro, 1, 3)
 milhao = mid(inteiro, 4, 3)
 milhar = mid(inteiro, 7, 3)
 centena = mid(inteiro, 10, 3)
 if int(inteiro) = 1 then
  strreal = " real "
 else
  if int(inteiro) = 0 then
   strreal = ""
  else
   strreal = " reais "
  end if
 end if
 if int(cents) > 0 and int(inteiro) > 0 then
  strvirgula = "e "
 else
  strvirgula = ""
 end if
 strextenso =  bilhoes(bilhar, inteiro)
 strextenso = strextenso & milhoes(milhao, inteiro)
 strextenso = strextenso & milhares(milhar, inteiro)
 strextenso = strextenso & centenas(centena, inteiro)
 strextenso = strsinal & strextenso & strreal & strvirgula & centavos(cents)
 extenso = strextenso
end function


use include file e chame a função:


Response.Write extenso(numero)


[]s


PEST



Esta matéria foi postada originalmente no ASP4Developers por João Márcio Gonçalves Prado, que na época era "Webmaster Santanense Tecidos.
Diversos programas e sistemas ASP feitos para todo o tipo de empresas em MG.
". Hoje, vai saber...

quarta-feira, 4 de julho de 2001

2

Download de DLL,PDF,ASP,PHP,JPG,DOC e qualquer tipo de arquivo sem abrir no navegador

Com este código vc vai poder fazer o download de arquivos que estejam no seu servidor sem que o navegador abra ou interprete qualquer tipo de arquivo que passe por esse script !


Eu aconselharia a usar este arquivo como um link e não como uma página diretamente.

Mudando somente a parte onde está o nome do arquivo tup.jpg para um arquivo qualquer que vc queria baixar sem o navegador interpretar !

OBS: Não dá para fazer isso com arquivos remotos de outros servidores


Clique aqui para exibir o código


Script desenvolvido por Darkness e Creed
www.fatorx.com.br

Mil perdões amigos....



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...

0

String de Conexão para InterBase utilizando o SIBProvider

Eis a String de Conexão para o InterBase, utilizando o SIBProvider (ver artigo "ASP com Interbase"):


<%
StrConn = "Provider=SIBProvider;Location=localhost:;Data Source=C:\Program Files\Interbase\Examples\Employee.gdb;Character Set=ISO8859_1;Role=Operador;User Id=SYSDBA;Password=marsterkey;"
%>


Parâmetros:


Location: Nome ou IP do servidor InterBase na rede. (localhost quando o InterBase e o IIS estiverem no mesmo servidor);
DataSource: Caminho, no servidor, do arquivo GDB (arquivo de Banco de Dados do InterBase);
CharacterSet: O conjunto de caracteres a ser usado (ISO8859_1 é o padrão para o Português);
Role: Define o Role ("Papel" que indica conjunto de regras no BD) a ser usado por essa conexão;
User Id: Identificador do usuário InterBase (Login);
Password: Senha do usuário InterBase.

Note que você pode ter uma rede interna TCP/IP com NT rodando o IIS e Linux rodando InterBase e para configurar uma conexão, basta indicar o nome (se houver DNS na rede) ou o IP do servidor InterBase (Linux) no parâmetro Location.



Esta matéria foi postada originalmente no ASP4Developers por Adriano Nântua, que na época era "Engenheiro de software e analista de sistemas; Desenvolvedor ASP, Delphi, C/C++ e Java/JSP/Servlets; InterBase fan; Linux fan; Alvirrubro inveterado.". Hoje, vai saber...

0

Evite aborrecimento com Mail Delivery Subsystem em seu site

Quem já teve experiência de enviar emails para usuários cadastrados em um site, já teve problemas com o famoso Mail Delivery Subsystem.


Nunca vamos resolver totalmente esse problema, mas podemos amenizar.


Abaixo, escrevi uma função que conserta a maioria dos erros dos usuários.


<%
'--------------------------------------------------------------------
' limpaemail
' Função que conserta a maioria dos erros dos usuários na hora de digitar um email
' Criado por Rafael Martins de Ascenção

' Email: iamaz@ig.com.br
 - ICQ: 118036283
'--------------------------------------------------------------------

function
limpaemail(email)
dim aux

aux = replace(email,",",".")
aux = replace(aux,"@.","@")
aux = replace(aux,".@","@")
aux = replace(aux,"@globo.com.br","@globo.com")
aux = replace(aux,"@globo.br","@globo.com")
aux = replace(aux,"@aol.com.br","@aol.com")
aux = replace(aux,"@globomail","@globo")
aux = replace(aux,"@hotmail.com.br","@hotmail.com")

if right(aux,7) = "@ig.com" then
   aux = replace(aux,"@ig.com","@ig.com.br")
elseif right(aux,6) = "@globo" then
   aux = replace(aux,"@globo","@globo.com")
elseif right(aux,8) = "@hotmail" then
   aux = replace(aux,"@hotmail","@hotmail.com")
elseif right(aux,8) = "@zipmail" then
   aux = replace(aux,"@zipmail","@zipmail.com.br")
elseif right(aux,15) = "@cidadeinternet" then
   aux = replace(aux,"@cidadeinternet","@cidadeinternet.com.br")
end if

if
left(aux,4) = "www." then
   aux = replace(aux,"www.","")
elseif left(aux,3) = "ww." then
   aux = replace(aux,"ww.","")
end if

limpaemail = aux

end function
%>


Claro que essa função pode ser personalizada acrescentando outros erros mais comuns.


Peço que enviem as atualizações para o meu email (iamaz@ig.com.br) para poder modificar esta função aqui neste site. Sempre colocando os nomes dos autores.



Esta matéria foi postada originalmente no ASP4Developers por Rafael Martins de Ascenção (site), que na época era "também conhecido como Iamaz do news do FX. Programador ASP, ColdFusion. ". Hoje, vai saber...

terça-feira, 3 de julho de 2001

0

Ligação a Base de Dados tipo DNS-Less

Na ligação a Base de Dados via ODBC, temos que ter acesso físico à maquina ou então solicitar ao nosso provider que crie essa ligação.


Testes realizados por várias pessoas mostram que as ligações DNS-Less utilizando o Provider são mais rápidas do que as ODBC.


Ligação DNS-Less a uma Base de Dados Microsoft Access


Utilizando o Driver ODBC


<%
Dim DNS
DNS = "Driver={Microsoft Access Driver (*.mdb)};Dbq=\somepath\mydb.mdb;Uid=Admin;Pwd=Admin;"
%>


Utilizando o OLE DB Provider para Access 2000


<%
Dim DNS
DNS = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=admin;"
%>


Ligação DNS-Less a uma Base de Dados Microsoft SQL


Utilizando o Driver ODBC


<%
Dim DNS
DNS = "Driver={SQL Server};Server=127.0.0.1;Database=pubs;Uid=sa;Pwd=;"
%>


Utilizando o OLE DB Provider para SQL Server


<%
Dim DNS
DNS = "Provider=sqloledb;Data Source=127.0.0.1;Initial Catalog=pubs;User Id=sa;Password=;"
%>


Ligação DNS-Less a uma Base de Dados ORACLE


Utilizando o Driver ODBC


<%
Dim DNS
DNS = "Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=demo;Pwd=demo;"
%>


Utilizando o OLE DB Provider para ORACLE ( ORACLE )


<%
Dim DNS
DNS = "Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=carl;Password=;"
%>


Utilizando o OLE DB Provider para ORACLE ( MICROSOFT )


<%
Dim DNS
DNS = "Provider=msdaora;Data Source=OracleServer.world;User Id=carl;Password=;"
%>


Ligação DNS-Less a um Catalogo do Index Server


Utilizando o OLE DB Provider para o Microsoft Index Server


<%
Dim DNS
DNS = "Provider=msidxs;Data source=MeuCatalogo;"
%>



Esta matéria foi postada originalmente no ASP4Developers por Rafael Martins de Ascenção (site), que na época era "também conhecido como Iamaz do news do FX. Programador ASP, ColdFusion. ". Hoje, vai saber...

0

Outra forma de incluir as Constantes do ADO

Quando utilizamos Bases de Dados para criar Páginas, utilizamos frequentemente as Constantes do ADO que são conseguidas através da inclusão do arquivo adovb.inc.


Outra forma é especificar o valor do cursor e do tipo de lock que vamos utilizar.


Neste pequeno exemplo vou indicar outra forma de aceder às contantes sem as incluir nas páginas.


Através do arquivo Global.asa podemos incluir a referência a essas constantes através do seguinte método:


Ficheiro Global.asa


<SCRIPT LANGUAGE="VBScript" RUNAT="Server">


Sub Application_OnStart
' Aqui coloca-se tudo o que se executa quando o servidor arranca
End Sub


Sub Application_OnEnd
' Aqui coloca-se tudu o que ser quer executar quando o servidor se vai desligar
End Sub


Sub Session_OnStart
' Neste espaço coloca-se o que se vai executar quando se inicia um sessão
End Sub


Sub Session_OnEnd
' Neste espaço coloca-se o que se vai executar quando uma sessão finaliza
End Sub

</SCRIPT>


Esta é a estrutura mais simples do Global.asa que se deve colocar na raiz do site.


Para colocar as constantes do ADO 2.6 no global.asa coloque a seguinte linha no início do arquivo:


<!--METADATA TYPE="typelib" FILE="c:\program files\common files\system\ado\msado15.dll"-->


ou


<!-- METADATA TYPE="typelib" UUID="00000206-0000-0010-8000-00AA006D2EA4" NAME="ADO Type Library" -->


Deste modo tem as constantes sempre disponíveis sem ter que inclui-las nos arquivos.



Esta matéria foi postada originalmente no ASP4Developers por Rafael Martins de Ascenção (site), que na época era "também conhecido como Iamaz do news do FX. Programador ASP, ColdFusion. ". Hoje, vai saber...

domingo, 1 de julho de 2001

0

Mostrar todos registros

Um dos meus problemas no começo era exibir um recordset, com todos os registros em determinado campo. Porem isso é uma tarefa facil,que vou explicar detalhando:


<%
'cria o objeto pra conexao
Set conexao=server.createobject("adodb.connection")
'cria o recordset
set rs=server.createobject("adodb.recordset")
'informa a conexao p/ o recordset
rs.activeconnection = "PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("teste.mdb")
'abre e pegara todos campos da tabela de nome table
rs.open "SELECT * FROM table"
%>
<%
'aqui informa q enqto nao for o fim..
While (NOT RS.EOF)
'execute esta instrução
response.write RS("nome") & "<BR>"
'e mova para o proximo!
rs.movenext()
WEND
'pra terminar feche o objeto e libere recursos :)
rs.close
%>


pronto! simples nao? :)
na parte response.write RS("nome") pode-se editar como quiser, q ele vai repetir ate q nao tenha mais registros.


valeu galera :)



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...

0

Hospedagem 4 FREE

Fiz teste com diversas hospedagens, e há uma excelente, tanto na velocidade quanto no cadastro, e ainda o envio é via web/ftp.


http://www.7host.com


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...