quinta-feira, 30 de maio de 2002

0

Inclusão de Dados com Access (VB)

<%@ Page Language="VB" clienttarget=uplevel %>
<%@ Import Namespace="System.Data.OLEDB" %>
<%@ Import Namespace="System.Data" %>


<script language="VB" runat="server">
Dim cnString as string ="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.mappath("clientes.mdb") & ";"
Dim myCn as OleDBConnection = New OleDBConnection(cnString)


Sub Enviar_Click(Sender As Object, E As EventArgs)
 dim sqlText as string
 dim myCmd as OleDBCommand


 sqlText = "INSERT INTO usuarios (nome, email) VALUES ('"
 sqlText = sqlText & Request("nome") & "','" & Request("email") & "')"


 myCn.Open()
 myCmd = New OleDBCommand(sqlText,myCn)
 MyCmd.ExecuteNonQuery()


  With Label1
                .Text = "Usuário Cadastrado com Sucesso !!!"
                .ForeColor = System.Drawing.Color.DarkBlue
                .Font.Bold = True
                .Font.Name = "Verdana"
  End With


 Mycn.Close()
 MyCn = Nothing
end Sub


</script>


 


<body>


<ASP:DataGrid id="MyDataGrid" runat="server"
Width="700"
CellPadding=3
CellSpacing="0"
Font-Name="Tahoma"
MaintainState="false"
style="BORDER:1px solid #336699"
/>



<p>&nbsp;</p>
<form runat="server">
<asp:TABLE font-name="TAHOMA" style="BORDER:1px solid #336699" runat="server">
<asp:TableRow >
<asp:TableCell ColumnSpan="2" Text="<b>Inserir um novo usuario</b>" />
</asp:TableRow>


<asp:TableRow>
<asp:TableCell Text="Digite seu nome" />
<asp:TableCell>
<asp:TextBox id="nome" runat="server"/>
</asp:TableCell>
</asp:TableRow>


<asp:TableRow>
<asp:TableCell Text="Digite seu email" />
<asp:TableCell>
<asp:TextBox id=email runat="server" />
</asp:TableCell>
</asp:TableRow>


<asp:TableRow>
<asp:TableCell Text="&nbsp;" />
<asp:TableCell>
<asp:Button
Text="Enviar"
onclick="Enviar_Click"
Font-Name="Tahoma"
runat="server"
/>


</asp:TableCell>


</asp:TableRow>
</asp:Table>
</form>


<asp:Label id="Label1" runat="server"/>


</body>
</html>



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, 23 de maio de 2002

0

Filtrar uma região

A algum tempo atrás bati de frente com o probema de remover uma área específica de uma string ( eu estava trabalhando com e-mail, eprecisava remover as tags de header ).
Bom, tá ae a solução do problema ...


s1 = caractere inicial da busca
s2 = caractere final da busca
var = variavel a ser pesquisada
target = substituir tudo q esta entre s1 e s2 ( inclusive ) por isto.


 


<%
function clear(s1,s2,var,target)
 PosI = 0
 PosF = 0


 PosI = instr(1,var,s1)


 PosF = instr(1,var,s2)
 if PosF > 0 then
  PosF  = PosF + (len(s2)-1)
  trash =  mid(var,PosI,PosF)
  clear = replace(var,trash,target)
 else
  clear = var
 end if
end function
%>



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, 22 de maio de 2002

3

Personalizar botão PROCURAR no input type="file"

Muitas vezes gostaríamos de personalizar o botão de procurar ou browser (dependendo da língua do browser) que aparece quando usamos o input type=file. O código abaixo apresenta uma solução de contorno para esta personalização.


<HTML>
<HEAD>
<TITLE>Personalizando INPUT TYPE=FILE </TITLE>
</HEAD>
<BODY>
<INPUT TYPE="file" ID="filUpload" TYLE="display:none" onChange="txtFilename.value = this.value;">
<INPUT TYPE="text" ID="txtFilename" STYLE="FONT-FAMILY:Tahoma;FONT-SIZE:9pt" SIZE="25" DISABLED>
<INPUT TYPE="button" ID="btnBrowse" STYLE="FONT-FAMILY:Tahoma;FONT-SIZE:9pt;
BACKGROUND-COLOR:peachpuff" onClick="filUpload.click()"
 VALUE="Escolha o arquivo">
</BODY>
</HTML>



Esta matéria foi postada originalmente no ASP4Developers por Ben Hur Oliveira, que na época era "Analista de sistemas". Hoje, vai saber...

terça-feira, 21 de maio de 2002

0

Mais uma validação de email?

Antes de ser criticado, por no meu primeiro post colocar mais uma validação de email, só pra explicar... essa tem alvo certo.. se vc é daqueles que nao usa aspas , acha que cada byte vale uma grana em infra estrutura...

é pra vc.

Ralar em portal da nisso.. cada kb é sagrado, por isso

validação de email com ridiculas 4 linhas


<html>
 <head>  
  <script language="javascript">       
    function validarEmail(obj) {     
     if (obj.search(/^([\d\w])+@([\d\w])+(\.[\d\w])+/)==-1)return false;
     else return true;           
    }  
  </script>
 </head>
 <body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
  <form>
    <input type="text" name="frEmail">
    <input type="button" name="btnVerifica" value="validar" onclick="validarEmail(this.form.frEmail.value)">
  </form>
 </body>
</html>


 


Obs:o obj passado como paramentro deve ser :

document.nomedoForm.nomedocampo.value

como todo objeto do form tem a propriedade .form
que cada o nome do form , usei
this ( referencia ao objeto , no caso o botao )
this.form me retornou o obj form
this.form.nomedocampo.value é o meu parametro final.

[]s

the handful of nothing
code is art


 



Esta matéria foi postada originalmente no ASP4Developers por the handful of nothing (site), que na época era "Senior Client-side Dev

". Hoje, vai saber...

sexta-feira, 17 de maio de 2002

0

Criando banco de dados Access

É isso ai pessoal, tá aqui o código que permite a criação de um Banco de Dados MDB completo ou quase completo através do ADOX.
Para definir os tipos dos campos utilizei as constates que tem no arquivo adovbs.inc na parte de DataTypeEnum Values. Nem todos que testei funcionaram, e também não tive muito tempo para testes mais complexos (infelizmente :(). Sugestões e críticas é só enviar um e-mail. Até mais e boa diversão!!!


'## ATENÇÃO : Não esqueça de incluir o arquivo 'adovbs.inc'   ##

Dim objADOXDatabase
Set objADOXDatabase = Server.CreateObject("ADOX.Catalog")


   '## Cria o banco de dados ##
   objADOXDatabase.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                          "Data Source=BANCO_DE_DADOS.MDB;" & _
                          "Jet OLEDB:Engine Type=4;" '## Access 97   ##
                          '"Jet OLEDB:Engine Type=5;" '## Access 2000 ##


'## Cria a variável de tabela ##
Dim objADOXTabela1
'## Indica(seta) o Objeto objADOXTabela1 como uma tabela ##
Set objADOXTabela1 = Server.CreateObject("ADOX.Table")


   '## Especifica o nome da tabela ##
   objADOXTabela1.Name = "Tabela1"


   '## Adiciona o 'CAMPO1' como inteiro ##
   objADOXTabela1.Columns.Append "CAMPO1", adInteger
 
   '## Adiciona o 'CAMPO2' como TEXTO(VarChar), limitando-o a 8 caracteres ##
   objADOXTabela1.Columns.Append "CAMPO2", adVarWChar,8


   '## Adiciona o 'CAMPO3' como TEXTO(Char), limitando-o a 2 caracteres ##
   objADOXTabela1.Columns.Append "CAMPO3", adWChar, 2


   '## Adiciona o 'CAMPO4' como "Booleano" ##
   objADOXTabela1.Columns.Append "CAMPO4", adBoolean


   '## Adiciona o 'CAMPO5' como Data ##
   objADOXTabela1.Columns.Append "CAMPO5", adDate, 1
  
   '## Indica o 'CAMPO1' como chave primária ##
   objADOXTabela1.Keys.Append "PK_CAMPO1", 1, "CAMPO1"


   '## Adiciona a tabela ao Banco de Dados ##
   objADOXDatabase.Tables.Append (objADOXTabela1)



'## Destroi os Objetos ##
Set objADOXTabela1 = Nothing
Set objADOXDatabase = Nothing



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

terça-feira, 14 de maio de 2002

1

Tabela ASCII Interativa

<% Option Explicit %>
<%
Dim iCols, iRows, iChar, sChar


Function StrZero(ifpVal,ifpTam)
Dim sfStr, ifI
   for ifI = 1 to ifpTam
      sfStr = sfStr & "0"
   next
   sfStr = sfStr & CStr(ifpVal)
   StrZero = Mid(sfStr,(Len(sfStr)-ifpTam)+1, ifpTam)
End Function


%>
<html>
<head>
<title>Tabela ASCII por Myers</title>
<script language="javascript">
d = document;
function CharOver(linha, coluna){
   //loop para mudar a cor da coluna
   for (iCols = 0; iCols < coluna; iCols++)
      d.all["r"+linha+"c"+iCols].className = "clOver";


   //loop para mudar a cor da linha
   for (iRows = 0; iRows < linha/10; iRows++)
      d.all["r"+iRows*10+"c"+coluna].className = "clOver";


   d.all["r"+linha].className  = "clOver"; //muda a cor do titulo da linha;
   d.all["c"+coluna].className = "clOver"; //muda a cor do titulo da coluna;
   d.all["r"+linha+"c"+coluna].className = "clSel";//muda a cor da celula do caraceter selecionado
   d.all.charnumber.innerHTML = parseFloat(linha)+parseFloat(coluna);//muda o numero do caractere selecionado e exibe na célula superior direita
   }


function CharOut(linha, coluna){


   for (iCols = 0; iCols < coluna; iCols++)
      d.all["r"+linha+"c"+iCols].className = "clNormal";


   for (iRows = 0; iRows < linha/10; iRows++)
      d.all["r"+iRows*10+"c"+coluna].className = "clNormal";


   d.all["r"+linha].className  = "Row"; //muda a cor do titulo da linha;
   d.all["c"+coluna].className = "Col"; //muda a cor do titulo da coluna;
   d.all["r"+linha+"c"+coluna].className = "clNormal";//muda a cor da celula do caraceter selecionado
   d.all.charnumber.innerHTML = "000";//muda o numero do caractere selecionado e exibe na célula superior direita
   }


</script>
<style type="text/css">
<!--
/* Célula Normal */
.clNormal {  text-align: center; text-decoration: none; background-color: #FFFFFF;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000;
             font-size: 12px;
             border-bottom: 1px solid #E7E7E7; border-right: 1px solid #E7E7E7; }
/* Célula no evento de onMouseOver */
.clOver   {  text-align: center; text-decoration: none; background-color: #93BEE2;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000;
             font-size: 12px;
             border-bottom: 1px solid #E7E7E7; border-right: 1px solid #E7E7E7; }
/* Célula do caractere selecionado */
.clSel    {  text-align: center; text-decoration: none; background-color: #FF0000;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000 ;
             font-size: 12px;
             border-bottom: 1px solid #000000; border-right: 1px solid #000000;
             border-top: 1px solid #000000; border-left: 1px solid #000000; }
/* Célula de título das colunas */
.Col      {  text-align: center; text-decoration: none; background-color: #EFF7FF;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000 ;
             font-size: 12px;
             border-bottom: 1px solid #CEE7FF; border-right: 1px solid #CEE7FF;
             border-top: 1px solid #CEE7FF; /*border-left: 1px solid #E7E7E7; */}
/* Célula de título das linhas */
.Row      {  text-align: center; text-decoration: none; background-color: #EFF7FF;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000 ;
             font-size: 12px;
             border-bottom: 1px solid #CEE7FF; border-right: 1px solid #CEE7FF;
             /*border-top: 1px solid #E7E7E7; */border-left: 1px solid #CEE7FF; }
/* Célula de exibição do numero do caractere selecionado */
.CharSel  {  text-align: center; text-decoration: none; background-color: #EFF7FF;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000 ;
             font-size: 12px; font-weight: bold;
             border-bottom: 1px solid #CEE7FF; border-right: 1px solid #CEE7FF;
             border-top: 1px solid #CEE7FF; border-left: 1px solid #CEE7FF; }
/* Links */
a {font-family: Verdana; color: #990000; font-size: 10px; text-decoration: none;}
a:hover {font-family: Verdana; color: #FF0000; font-size: 10px; text-decoration: none;
         background: #000000; }
-->
</style>
</head>
<body bgcolor="#FFFFFF">
   <div align="center"><b>
    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Tabela ASCII</font></b>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr>
<%
   iCols = 0
   iRows = 0


   '## for...next -> 0 a quantidade de caracteres (255)
   for iChar = 0 to 255
      if iCols = 0 and iRows = 0 then
         '## Cria célula para exibição do número do caractere ##
         response.write "<td class=""CharSel"" id=""charnumber"">000</td>"&vbCrlf


         '## Cria as colunas com seus respecivos números ##
         for iCols = 0 to 9
            response.write "<td class=""Col"" id=""c"&iCols&""">"&iCols&"</td>"&vbCrlf
         next
         iCols = 10 '## Iguala esta variável a 10 para quebrar a linha mais abaixo ##
      end if


      if iCols = 10 then
         '## Zera iCols e cria uma nova linha na tabela ##
         iCols = 0
         response.write "</tr><tr>"&vbCrlf
         response.write "<td width=""5%"" id=""r"&iRows&""" class=""Row"">"&_
                        StrZero(iRows,3)&"</td>"&vbCrlf
         '## São somados 10 a esta variável pq numera as linha de 10 em 10 ##
         iRows = iRows + 10
      end if


      '## Caracteres Nulos são convertidos para [espaço] ##
      if iChar = 0 or iChar = 9 or iChar = 10 or iChar = 11 or iChar = 12 or iChar = 13 or _
         iChar = 32 or iChar = 256 or iChar = 257 or iChar = 259 then
         sChar = "&nbsp;"
      else
         sChar = Chr(iChar)
      end if


      '## Constrói a linha com sua classe CSS, seu numero de linha e coluna
      '(id = rxcx -> 'r' = representa a lina e 'c' = representa a coluna)
      'e seus eventos de onMouseOver e onMouseOut ##
      response.write "<td class=""clNormal"" id=""r"&iRows-10&"c"&iCols&""" "&_
                     "onMouseOver=""CharOver("&iRows-10&","&iCols&")"" "&_
                     "onMouseOut =""CharOut("&iRows-10&","&iCols&")"">"&_
                     sChar&"</td>"&vbCrlf


      iCols = iCols + 1
   next


%>
</table>
<br>
</div>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000">Para ver
  o c&oacute;digo correspondente ao caractere segue-se a coluna mais o linha.<br>
  Ex. @ = coluna 4, linha 60 - corresponde ao c&oacute;digo 64.<br>
  <a href="mailto:malkeivin@yahoo.com">Myers Malkeivin - malkeivin@yahoo.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...

0

Pequena Solução Útil para inclusão e alteraçao de formulários muuito extensos

Bem galera... eu uso um jeito que eu gostaria de compartilhar com vcs, para facilitar a vida na hora de ter que obter os dados de um formulario extenso.


Lembrem se que existe o FOR EACH que é muito util para coleções e o request.form é uma delas.
para facilitar ainda mais, deixe o nome dos campos do formulario com os mesmos nomes dos campos do banco de dados onde você quer cadastrar as informações ou altera-las.

Sendo que a variavel String_Bd seria a sua suposta string de conexao....

para o cadastro no banco de dados ficaria assim:
<%
FOR EACH count in request.form
if request.form.key(count)<>"Submit" then
campos=request.form.key(count)&campos
valores="'"&request.form.item(count)&"',"&valores
end if
NEXT
valores=right(valores,len(valores)-1)
string_bd="insert into minhatabela ("&campos&") values ("&valores&")"
%>

Para Alteração seria assim:
<%
FOR EACH count in request.form
if request.form.key(count)<>"Submit" then
atualizar=request.form.key(count)&"="&request.form.item(count)&","&atualizar
end if
NEXT
atualizar=right(valores,len(atualizar)-1)
string_bd="update minhatabela set "&atualizar" where id="&var_id
%>

Se alguem souber de melhoras para esse script, vamos colaborar!!!



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

quinta-feira, 9 de maio de 2002

0

Pare de concatenar strings SQL!

Pare de concatenar strings SQL! Crie um arquivo, chamado preparaSQL.js, com o seguinte texto:

function prepareSQL(txt){
 var resp,vartxt,rgxp
 while(true){
  vartxt=txt.replace(/[^@]*@([\d\w]*).*/,"$1")
  if(vartxt==txt){
   return vartxt
  }else{
   if(eval("typeof("+vartxt+")")=="undefined"){
    resp="NULL"
   }else if(eval("typeof("+vartxt+")")=="number"){
    resp=eval(vartxt)
   }else{
    resp=(eval(vartxt)+"").replace(/'/g,"''")
    if(resp!="NULL")resp="'"+resp+"'"
   }
   rgxp=eval("/@"+vartxt+"/gi")
   txt=txt.replace(rgxp,resp)
  }
 }
}

Daí, em seus arquivos ASP, basta colocar, por exemplo, o seguinte:

<script src="preparaSQL.js" runat=server>
</script>
<%
nome=request.QueryString("nome")
codigo=request.QueryString("codigo")
preco=request.QueryString("preco")
sql=prepareSQL("update produto set nome=@nome, preco=@preco where codigo=@codigo")
conn.Execute(sql)
%>


Esta matéria foi postada originalmente no ASP4Developers por Elcio Luiz Ferreira (site), que na época era " analista-programador apaixonado por javascript, ex-professor, músico amador, ciclista amador, teólogo amador, filósofo amador, escritor amador e comediante amador.". Hoje, vai saber...

quinta-feira, 2 de maio de 2002

0

Validação de E-mail (v2)

<html>
<head>
<title>[Validação de E-mail] :: Myers</title>
<script language="JavaScript">
function ValidaEmail(mail){
   var ret = "E-mail Inválido!";
   if (typeof(mail) != "undefined"){
      mail = mail.match(/(\w+)@(.+)\.(\w+)$/);
      if (mail != null){
         if ((mail[3].length==2) || (mail[3].length==3))
            ret = "E-mail Válido!";
         }
      }
   return ret;
   }
</script>
</head>


<body bgcolor="#FFFFFF">
<form method="post" action="">
  <input type="text" name="eEmail">
  <input type="button" name="btVerifica" value="Verificar" onClick="alert(ValidaEmail(eEmail.value));">
</form>
</body>
</html>



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