quinta-feira, 29 de agosto de 2002

0

Função para Compactar Código Fonte (em VB.NET)

Gente, quem nunca teve problemas para compactar códigos fonte, ou quem já precisou utilizar algum programinha e descobriu que esles são um lixo?


Public Function comprime(Str as string)
       'Remove Tabulacao
       Str = Str.Replace(Chr(9)," ")
      
       'Remove Line Feed
       Str = Str.Replace(Chr(13)&Chr(10)," ")
             
       'Remove Espaços em Branco Duplos
       Do While (Str.IndexOF("  ") <> -1)
              Str = Str.Replace("  "," ")
       loop
      
       'Tira os "> <" e coloca "><"
        Str = Str.Replace("""> <""","""><""")
       
       'Optimiza tag > </ para ></
       Str = Str.Replace("> </","></")
   
      'Optimiza tag "> < para "><
       Str = Str.Replace("""> <","""><")
      
       'Optimiza tag > <" para ><"
       Str = Str.Replace("> <""","><""")
      
       'Optimiza tag ">  para ">
       Str = Str.Replace("""> ",""">")
      
       'Optimiza tag  <" para <"
       Str = Str.Replace(" <""","<""")
      
       'Optimiza tag : # para :#
       Str = Str.Replace(": #",":#")
 
       return str
    End Function


Abaixo, uma página em .NET para você utilizar. É o sistema já pronto que calcula até a eficiência.


<%@ Page Language="VB" smartnavigation="true" Debug="false" Trace="false" %>
<%@ Import NameSpace="System" %>
<script runat="server">


    ' Insert page code here
    '
   
    Sub F_BTN_RESETA_Click(sender As Object, e As EventArgs)
       F_STR_COMP.text = ""
       F_STR_NORMAL.text = ""
       LABEL_STRING_ORIGINAL.text = "N/D"
       LABEL_STRING_FINAL.text = "N/D"
       LABEL_STRING_REDUCAO.text = "N/D"
    End Sub
   
    Sub F_BTN_COMPACTA_Click(sender As Object, e As EventArgs)
       F_STR_COMP.text = comprime(F_STR_NORMAL.text)
       Calcula_Tamanho_Eficiencia()
    End Sub
   
    Public Function comprime(Str as string)
       'Remove Tabulacao
       Str = Str.Replace(Chr(9)," ")
      
       'Remove Line Feed
       Str = Str.Replace(Chr(13)&Chr(10)," ")
             
       'Remove Espaços em Branco Duplos
       Do While (Str.IndexOF("  ") <> -1)
              Str = Str.Replace("  "," ")
       loop
      
       'Tira os "> <" e coloca "><"
        Str = Str.Replace("""> <""","""><""")
       
       'Optimiza tag > </ para ></
       Str = Str.Replace("> </","></")
   
      'Optimiza tag "> < para "><
       Str = Str.Replace("""> <","""><")
      
       'Optimiza tag > <" para ><"
       Str = Str.Replace("> <""","><""")
      
       'Optimiza tag ">  para ">
       Str = Str.Replace("""> ",""">")
      
       'Optimiza tag  <" para <"
       Str = Str.Replace(" <""","<""")
      
       'Optimiza tag : # para :#
       Str = Str.Replace(": #",":#")
 
       return str
    End Function
   
    Public Function Calcula_Tamanho_Eficiencia()
       Dim tamanho_original as Integer
       Dim tamanho_final as Integer
       Dim reducao as Integer
   
       tamanho_original = F_STR_NORMAL.text.Length
       tamanho_final = F_STR_COMP.text.length
       reducao = tamanho_original-tamanho_final
   
       LABEL_STRING_ORIGINAL.text = tamanho_original.ToString() + " bytes"
       LABEL_STRING_FINAL.text = tamanho_final.ToString() + " bytes"
       LABEL_STRING_REDUCAO.text = reducao.ToString() + " bytes -> " + Cstr(100-((tamanho_final/tamanho_original))*100) + "%"
    End Function


</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <p align="center">
            <font face="Verdana">Ligeirinho - Sistema de Compressão</font>
        </p>
        <p align="center">
            <table style="WIDTH: 539px; HEIGHT: 328px" align="center">
                <tbody>
                    <tr>
                        <td valign="top">
                            <p align="right">
                                <asp:Label id="Label1" runat="server" Font-Size="8pt" Font-Names="Verdana">String Original:</asp:Label>
                                &nbsp;
                            </p>
                        </td>
                        <td>
                            <asp:TextBox id="F_STR_NORMAL" runat="server" Font-Size="8pt" Font-Names="Verdana" Width="351px" Rows="7" TextMode="MultiLine"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        </td>
                        <td>
                            <div align="center">
                                <asp:Button id="F_BTN_COMPACTA" onclick="F_BTN_COMPACTA_Click" runat="server" Text="Compactar"></asp:Button>
                                &nbsp;
                                <asp:Button id="F_BTN_RESETA" onclick="F_BTN_RESETA_Click" runat="server" Text="Apagar Dados"></asp:Button>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td valign="top">
                            <div align="right">
                                <asp:Label id="Label2" runat="server" Font-Size="8pt" Font-Names="Verdana">String Compactada:</asp:Label>
                                &nbsp;
                            </div>
                        </td>
                        <td>
                            <asp:TextBox id="F_STR_COMP" runat="server" Font-Size="8pt" Font-Names="Verdana" Width="351px" Rows="7" TextMode="MultiLine"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        </td>
                        <td>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <p align="right">
                                <asp:Label id="Label3" runat="server" Font-Size="8pt" Font-Names="Verdana">Tamanho da String Original:</asp:Label>
                                &nbsp;
                            </p>
                        </td>
                        <td>
                            <asp:Label id="LABEL_STRING_ORIGINAL" runat="server" Font-Size="8pt" Font-Names="Verdana">N/D</asp:Label>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <p align="right">
                                <asp:Label id="Label4" runat="server" Font-Size="8pt" Font-Names="Verdana">Tamanho da String Final:</asp:Label>
                                &nbsp;
                            </p>
                        </td>
                        <td>
                            <asp:Label id="LABEL_STRING_FINAL" runat="server" Font-Size="8pt" Font-Names="Verdana">N/D</asp:Label>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <p align="right">
                                <asp:Label id="Label5" runat="server" Font-Size="8pt" Font-Names="Verdana">Redução:</asp:Label>
                                &nbsp;
                            </p>
                        </td>
                        <td>
                            <asp:Label id="LABEL_STRING_REDUCAO" runat="server" Font-Size="8pt" Font-Names="Verdana">N/D</asp:Label>
                        </td>
                    </tr>
                </tbody>
            </table>
        </p>
    </form>
</body>
</html>


Qualquer dúvida, não esqueçam de mandar email ou icq.


Até a próxima



Esta matéria foi postada originalmente no ASP4Developers por Guilherme Bacellar Moralez (site), que na época era "Consultor e Desenvolvedor Web, especializado em ASP, ASP.NET e MySql.
Gosta de se definir como Professor Pardal, pois, cada pepino que lhe aparece... Tem que inventar umas soluções mirabolantes. Talvez vocês encontrem alguns de seus códigos neste site.". Hoje, vai saber...

terça-feira, 20 de agosto de 2002

0

Conversor de consultas SQL, MYSQL, POSTGRESS, ACESS. ORACLE

SQLZOO - http://sqlzoo.net/


Esse site é show galera, eu recomendo
Ele te exibe uma consulta em SQL e você pode converte-la para MYSQL, POSTGRESS, ACESS, ORACLE.


Bom para quem esta migrando de base de dados..



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

sábado, 17 de agosto de 2002

1

Função Gera Senha

<%
Function GerarSenha(maxnum,par1)
IF par1 = 1 Then var_valores = "0,1,2,3,4,5,6,7,8,9,"&_
        "A,B,C,D,E,F,G,H,I,J,K,L,M,"&_
        "N,O,P,Q,R,S,T,U,V,W,X,Y,Z"
IF par1 = 2 Then var_valores = "0,1,2,3,4,5,6,7,8,9"
IF par1 = 3 Then var_valores = "A,B,C,D,E,F,G,H,I,J,K,L,M,"&_
        "N,O,P,Q,R,S,T,U,V,W,X,Y,Z"
xArray = Split(var_valores,",")
Randomize
do while len(chave) < maxnum
num = xArray(Int(Ubound(xArray) * Rnd ))
chave = chave + num
loop
GerarSenha = Trim(chave)


End Function


response.write GerarSenha(8,1)
%>

Onde, 8 é a quantidade de casas que terá sua senha.
o outro parâmetro que pode ser 1, 2 ou 3, determina se será alfanumérico, númerico ou com somente letras.

Esta função teve como base uma com o nome de GeraChave, já postada aqui também.

Bom proveito



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

terça-feira, 6 de agosto de 2002

0

isNull do Sql no ASP

Trabalhar muito com SQL tem disto, digo mais, não só o SQL Server, como qualquer linguagem.
Você se acostuma com uma ae quer usar as mesmas funções na outra.
Neste caso o Função em pauta seria o isNull do SQL Server, que agora também é do ASP .. hahahaha

function se_nulo(de,para)
 if len(trim(de)) = 0 then
  de = para
 end if
 se_nulo = de
end function


Agora vejamos o q isto faz.
vc pega uma var e naum quer q ela seja vazia, se ela for vazia então ela deve assumir o valor 0 ( zero ) q 0 ( zero ) é diferente de vazio.

valor_a_assumir = 0
se_nulo(minha_var,valor_a_assumir)

Espero q possa servir para alguem .. :-P



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

segunda-feira, 5 de agosto de 2002

0

Como usar o "JOIN" do SQL

Joins - Junção de Tabelas


O que são JOINS ?


Quando você trabalha com um banco normalizado, muitas das pesquisas sobre dados que você precisa enviar ao servidor são compartilhadas entre tabelas. Uma das metas da normalização é acabar com colunas que tenham um único propósito e estejam na mesma tabela, com isso seu banco fica com colunas que são compartilhadas entre estas tabelas. Por exemplo imagine as seguintes tabelas:


SELECT * FROM TAB_EMPREGADOS




























NomeSalárioDepartamento
Salas900,001
Zamorano800,004
Fernanda950,003
Thalia450,00
Rodrigo650,005

SELECT * FROM TAB_DEPARTAMENTOS






















IDDescricao
1Banco de Dados
2Desenvolvimento
3Suporte
4Treinamento
5Consultoria

A coluna DEPARTAMENTO da tabela EMPREGADOS serve para identificar o ID do departamento a qual o funcionário pertence, esta coluna aparece novamente na tabela DEPARTAMENTOS através do campo ID. Portanto, podemos unir as duas tabelas.


Como faríamos?


INNER JOIN


SELECT E.NOME, E.SALARIO, D.DESCRICAO
FROM TAB_EMPREGADOS E JOIN TAB_DEPARTAMENTOS D
ON E.DEPARTAMENTO = D.ID
ORDER BY E.NOME


O resultado seria exatamente o desejado, ou seja uma lista de meus funcionários e salários com a respectiva descrição do departamento.























NomeSalárioDepartamento
Fernanda950,00Suporte
Rodrigo650,00Consultoria
Salas900,00Banco de Dados
Zamorano800,00Desenvolvimento

Este resultado é baseado no que é conhecido como INNER-JOIN, este tipo de junção monta o result-set baseando-se naquelas linhas que satisfaçam as condições de junção impostas no join (ON E.DEPARTAMENTO = D.ID).


LEFT JOIN


SELECT E.NOME, E.SALARIO, D.DESCRICAO
FROM TAB_EMPREGADOS E LEFT JOIN TAB_DEPARTAMENTOS D
ON E.DEPARTAMENTO = D.ID
ORDER BY E.NOME



























NomeSalárioDepartamento
Fernanda950,00Suporte
Rodrigo650,00Consultoria
Salas900,00Banco de Dados
Thalia450,00
Zamorano800,00Desenvolvimento

Um LEFT-JOIN define que todos os registros da tabela à esquerda do operador farão parte do result-set, portanto a condição apresentada no modificador ON não será feita na tabela TAB_EMPREGADOS, isso faz com que a funcionári Thalia seja inclusa no resultado mesmo não tendo pertencendo a algum departamento.


RIGHT JOIN


SELECT E.NOME, E.SALARIO, D.DESCRICAO
FROM TAB_EMPREGADOS E RIGHT JOIN TAB_DEPARTAMENTOS D
ON E.DEPARTAMENTO = D.ID
ORDER BY E.NOME



























NomeSalárioDepartamento
Fernanda950,00Suporte
Rodrigo650,00Consultoria
Salas900,00Banco de Dados
Zamorano800,00Treinamento
Desenvolvimento

Um RIGHT-JOIN define que todos os registros da tabela à direita do operador farão parte do result-set, agora a condição apresentada no modificador ON não será feita na tabela TAB_DEPARTAMENTOS, isso faz com que o departamento Desenvolvimento seja listado, mesmo não possuindo nenhum funcionário.


Obs: Em todos os scripts SQL usados aqui foi utilizado o padrão de join do SQL ANSI-92.



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